1# Discourse Migration Guide 2 3This document is intended to help LLVM users to migrate from the mailing lists to 4Discourse. Discourse has two basic ways for interaction: Via the [web 5UI](https://llvm.discourse.group/) and via emails. 6 7## Setting up your account 8 9The easiest way is to create an account using your GitHub account: 10 111. Navigate to https://llvm.discourse.group/ 121. Click on "Sign Up" in the top right corner. 131. Choose "With GitHub" on the right side and log in with your GitHub account. 14 15## Structure of Discourse 16 17Discourse's structure is similar to a set of mailing lists, however different 18terms are used there. To help with the transition, here's a translation table 19for the terms: 20 21<table border=1> 22<tr><th>Mailing list</th><th>Discourse</th></tr> 23<tr><td><i>Mailing list</i>, consists of threads</td><td><i>category</i>, consists of topics</td></tr> 24<tr><td><i>thread</i>, consists of emails</td><td><i>topic</i>, consists of posts</td></tr> 25<tr><td>email</td><td>post</td></tr> 26</table> 27 28## Setting up email interactions 29 30Some folks want to interact with Discourse purely via their email program. Here 31are the typical use cases: 32 33* You can [subscribe to a category or topic](https://discourse.mozilla.org/t/how-do-i-subscribe-to-categories-and-topics/16024) 34* You can reply to a post, including quoting other peoples texts 35 ([tested](https://llvm.discourse.group/t/email-interaction-with-discourse/3306/4) on GMail). 36* [Quoting previous topics in an reply](https://meta.discourse.org/t/single-quote-block-dropped-in-email-reply/144802) 37* **TODO:** Creating new topics via email is 38 [supported](https://meta.discourse.org/t/start-a-new-topic-via-email/62977) 39 but not configured at the moment. We would need to set up an email address 40 per category and give Discourse POP3 access to that email account. This sounds 41 like a solvable issue. 42* You can filter incoming emails in your email client by category using the 43 `List-ID` email header field. 44 45## Mapping of mailing lists to categories 46 47This table explains the mapping from mailing lists to categories in Discourse. 48The email addresses of these categories will remain the same, after the 49migration. Obsolete lists will become read-only as part of the Discourse 50migration. 51 52 53<table border=1> 54<tr><th>Mailing lists</th><th>Category in Discourse</th></tr> 55 56<tr><td>All-commits</td><td>no migration at the moment</td></tr> 57<tr><td>Bugs-admin</td><td>no migration at the moment</td></tr> 58<tr><td>cfe-commits</td><td>no migration at the moment</td></tr> 59<tr><td>cfe-dev</td><td>Clang Frontend</td></tr> 60<tr><td>cfe-users</td><td>Clang Frontend/Using Clang</td></tr> 61<tr><td>clangd-dev</td><td>Clang Frontend/clangd</td></tr> 62<tr><td>devmtg-organizers</td><td>Obsolete</td></tr> 63<tr><td>Docs</td><td>Obsolete</td></tr> 64<tr><td>eurollvm-organizers</td><td>Obsolete</td></tr> 65<tr><td>flang-commits</td><td>no migration at the moment</td></tr> 66<tr><td>flang-dev</td><td>Subprojects/Flang Fortran Frontend</td></tr> 67<tr><td>gsoc</td><td>Obsolete</td></tr> 68<tr><td>libc-commits</td><td>no migration at the moment</td></tr> 69<tr><td>libc-dev</td><td>Runtimes/C</td></tr> 70<tr><td>Libclc-dev</td><td>Runtimes/OpenCL</td></tr> 71<tr><td>libcxx-bugs</td><td>no migration at the moment</td></tr> 72<tr><td>libcxx-commits</td><td>no migration at the moment</td></tr> 73<tr><td>libcxx-dev</td><td>Runtimes/C++</td></tr> 74<tr><td>lldb-commits</td><td>no migration at the moment</td></tr> 75<tr><td>lldb-dev</td><td>Subprojects/lldb</td></tr> 76<tr><td>llvm-admin</td><td>no migration at the moment</td></tr> 77<tr><td>llvm-announce</td><td>Announce</td></tr> 78<tr><td>llvm-branch-commits</td><td>no migration at the moment</td></tr> 79<tr><td>llvm-bugs</td><td>no migration at the moment</td></tr> 80<tr><td>llvm-commits</td><td>no migration at the moment</td></tr> 81<tr><td>llvm-dev</td><td>Project Infrastructure/LLVM Dev List Archives</td></tr> 82<tr><td>llvm-devmeeting</td><td>Community/US Developer Meeting</td></tr> 83<tr><td>llvm-foundation</td><td>Community/LLVM Foundation</td></tr> 84<tr><td>Mlir-commits</td><td>no migration at the moment</td></tr> 85<tr><td>Openmp-commits</td><td>no migration at the moment</td></tr> 86<tr><td>Openmp-dev</td><td>Runtimes/OpenMP</td></tr> 87<tr><td>Parallel_libs-commits</td><td>no migration at the moment</td></tr> 88<tr><td>Parallel_libs-dev</td><td>Runtimes/C++</td></tr> 89<tr><td>Release-testers</td><td>Project Infrastructure/Release Testers</td></tr> 90<tr><td>Test-list</td><td>Obsolete</td></tr> 91<tr><td>vmkit-commits</td><td>Obsolete</td></tr> 92<tr><td>WiCT</td><td>Community/Women in Compilers and Tools</td></tr> 93<tr><td>www-scripts</td><td>Obsolete</td></tr> 94</table> 95 96 97## FAQ 98 99### I don't want to use a web UI 100 101You can do most of the communication with your email client (see section on 102Setting up email interactions above). You only need to set up your account once 103and then configure which categories you want to subscribe to. 104 105### How do I send a private message? 106 107On the mailing list you have the opportunity to reply only to the sender of 108the email, not to the entire list. That is not supported when replying via 109email on Discourse. However you can send someone a private message via the 110Web UI: Click on the user's name above a post and then on `Message`. 111 112Also Discourse does not expose users' email addresses , so your private 113replies have to go through their platform (unless you happen to know the 114email address of the user.) 115 116### How can my script/tool send automatic messages?** 117 118In case you want to [create a new 119post/topic](https://docs.discourse.org/#tag/Posts/paths/~1posts.json/post) 120automatically from a script or tool, you can use the 121[Discourse API](https://docs.discourse.org/). 122 123### Who are the admins for Discourse? 124 125See https://llvm.discourse.group/about 126 127### What is the reason for the migration? 128 129See 130[this email](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150823.html) 131 132### How do I set up a private mailing list? 133 134If needed categories can have individual [security 135settings](https://meta.discourse.org/t/how-to-use-category-security-settings-to-create-private-categories/87678) 136to limit visibility and write permissions. Contact the 137[admins](https://llvm.discourse.group/about) if you need such a category. 138 139### What will happen to our email archives? 140 141The Mailman archives will remain on the web server for now. 142 143### What are advantages of Discourse over the current mailing lists? 144 145* Users can post to any category, also without being subscribed. 146* Full text search on the Web UI. 147* Sending/replying via the Web UI (email is still possible). 148* View entire thread on one page. 149* Categories are a more light-weight option to structure the discussions than 150 creating new mailing lists. 151* Single sign on with GitHub. 152* User email addresses are kept private. 153 154### I have another question not covered here. What should I do? 155 156Please contact [email protected] or raise a 157[ticket on GitHub](https://github.com/llvm/llvm-iwg/issues). 158