Hi all, As ever from me, this is long. Sorry about that, it's a habit. Here's the TL;DR:
* What: move Google Groups -> Discourse * Why: https://blog.discourse.org/category/use-cases/ * Can I try? - Scroll to the end for login details So, as some of you know, I'm a big fan of the Discourse[1] forum software - I use it for another community, and it's just lovely. I've been testing it out recently with a view to using it for Foreman, and I think it's time to explain my reasoning and ask for your thoughts. # What? Firstly, the "what" - what do I want to do? Simply put, I want to migrate from Google Groups to Discourse. That means locking the groups from further emails and using Discourse for our "written" discussions. Obviosuly there's data migration that needs to happen there, but we'll get to that. Before all the die-hard mailing list fans stop reading here - please keep reading. Discourse has options to interact entirely by email. Your workflow may not be broken :) # Why? Why do I want this? The short version is "because anything is better than Google Groups", but more seriously, I think Discourse is great. The reasons are different for each of our mailing lists though, so let me break it down: ## foreman-users When it comes to supporting our users, what matters is that they can ask a question, get a reply, and feel confident in that reply. For those who do the replying, they need to be highlight and in some way rewarded for the work they do. The problem with a mailing list is that neither of these things is really achievable. If a user (new to our list, who knows no-one) gets 2 different replies, who is (s)he to trust? A forum can display user levels, and badges, making the developer reply stand out from the other new user's reply. A mailing list has nothing - and worse, the Groups API is so bad that I barely know who our mailing list regulars are (I have to webscrape it using a crawler ...) so I can reach out to them for help, questions etc. Discourse also searches for likely similar topics *while* you're typing yours. This should hopefully help users to find existing support for their issue before they make duplicate posts :) For hard-working supporters, Discourse provides automatic "trust levels" (in additional to manually promoting admins and moderators). These trust levels allow you to unlock extra powers as you participate in the community, which helps to reward the people who do help out on the boards. Gamifying? yes, but it works. It'll also help me know who to speak to when there's some swag to send out ... To make this worse (for Groups) there is a confounding of data in the users-list today - we also use it for plugin announcements, and events & CFPs, and so on. This is because making a new mailing list would have a much smaller membership, making it not suitable for purpose. Yes, you can say "hey we created a new mailing list for X, sign up!" but the reality is that people just don't. Discourse gives us the flexibility to create new boards for things as-and-when we feel the need to. Discourse also supports plugins (its a rails app), so we can look at things like templates for new support issues, and so on. It also has bots which can be used to deal with some things (I have not investigated the bots too much yet). ## foreman-dev In contrast to the -users list, which is primarily support and notifications, dev is all about discussion. Here I think we'll see a real benefit in a couple of areas. Firstly, back when we discussed how to handle RFCs, one of the criticisms of a mailing list was the lack of rich format support (markdown, images, code snippets etc) - Discourse supports all of that. Quality of discussions should improve, I hope. Discourse also has "like" buttons which can be used in place of "+1" emails, and hopefully would encourage some of the quiter voices in the community to click the like button, even when they might not have emailed a +1. There are also polling options, so taken together I *hope* this will help us to resolve discussions better than we have historically. The ability to create dedicated boards for popular plugins is also pretty nice, if we decide to go that way. ## foreman-announce This list has historically been very low traffic. On Discourse, the most useful feature for this purpose is the "global banner". This allows a single post to be show at the top of *every* page, a global pin if you like. Cleverly though, individual users can dismiss it once they've seen it - so it's not that intrusive. This would be excellent for new releases, but also CFPs etc, and would free up the announce board for more general things like plugin releases etc. ## General notes Discourse has a lot of other things going for it. Here's a few I found: * Great set of metrics and APIs which allow us to do all sorts of interesting things that I simply cannot do with Google Groups * Much better search support Private messages may be useful (although I can't really see a big use, but perhaps when people are offline on IRC?) * Groups support (think, writing "hey @packagingteam is this going to work?" in a post). People can self-select to join groups, or they can be invite-only. There's almost certainly more nice things I havent found yet. # You said email would work? For those who want to continue doing everything in their inbox, that's fine. Discourse has a number of flags for how to email you with topic updates (very similar to how Redmine and Github do), and it can be told to only email you if you haven't been on the site recently (in the last 10mins). You can also enable "mailing list mode" which is the nuclear option that mails you *every* update - this is global however, so unless you're signed up to all 3 lists already you may get more mail that you used to. Watching invidual boards whould probably be better in that situation. Discourse can also ingest email. I have a mailforward set up so that you can email to Discourse (on the backend its a POP3 mailbox that Discourse checks every 10 mins). Each board will get a dedicated email address (eg community+...@theforeman.org) that you can email new topics and replies to. That said, you won't get all the other shinyness, but the UI will be there for you if you decide you want it :) # What now? The short version, then, is that I think moving from a closed, limited, un-extendable mailing list to an open source, self-hosted discussion platform gives us much greater flexibility in how to handle things in the future. To that end, I have set up community.theforeman.org[2] as a trial server. I've imported all ~30,000 emails from our lists (I know, right? It took 7 hours...) so you can see what it looks like. There's probably a few quirks caused by the crawler, mostly in foreman-announce, and some of the inline replies, so don't judge the quality of Discourse by the quality of the importer (which is in turn limited by the quality of Google Groups, so ...). I have been testing email replies, and things like in-line replies, formatting etc. seem fine when processed natively. We can use the "testing" category if others want to try this. The site is currently private while we test, but if you've ever sent a m ail to the list, you have an account. For now I've "staged" all accounts so that we don't mass-spam people. I've unlocked the most frequent posters to dev-list. If that's you, just use your email address that you send to the list from as login, and select the Forgot Password option to get a reminder. If that's not you (i.e. you get no email when you click Reset Password) then contact me and I'll unstage you. This is a very unstyled out-of-the-box Discourse server - almost everything is tweakable / themeable, but I didn't want to spend time on it until I was sure it was worth it. Therefore, take visuals with some salt, and focus on functionality. Have a play and tell me what you think. If you want to see some other Discourse setups try [3,4,5]. Then tell me if you'd be in favour of moving to Discourse permanently. I have a follow-up email coming with what I think will be common questions, and the answers to them. [1] https://discourse.org/ [2] https://community.theforeman.org/ [3] https://meta.discourse.org/ [4] https://community.ubuntu.com/ [5] https://help.nextcloud.com/ Thanks, the-guy-who-wants-to-uproot-everything-just-now Greg -- You received this message because you are subscribed to the Google Groups "foreman-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: This is a digitally signed message part