Using discourse to replace buddypress groups and mailman (and phpBB)

groups
email
wordpress

(gingerling) #1

Hi, phplist.org is launching next week, and we are using discourse to condense many other apps into one. So far we have wordpress (with buddypress extended profiles) SSO using the official plugin (GitHub - discourse/wp-discourse: WordPress plugin that lets you use Discourse as the community engine for a WordPress blog)

I am trying to get my head around how we will use Discourse to replace budypress groups and mailman.

Where we came from

We used to have community.phplist.com (still active for another week). When a user signed up they would tick a group, either users, documenters, translators, developers (or several groups) - they would then be able to chat with other people in the group. Additionally, we have 4 mailman lists, one for each group. All our blogs and newsletters are categorised into the same four groups.

Obviously this was over complex, especially as we had a phpBB forum as well.

Where we are hoping to go

I am hoping that we will have something like:

  • user signs up
  • ticks group, eg “developers”
  • then they are “joined” to, or told how to use, a discourse category, so the “developers” category - this replaces the buddypress group chat
  • They can then use that category either in the discourse or by email - this replaces themailman

And so we have a combining of mailman and buddypress groups into one place: super!

But I don’t quite see how

I am struggling to understand how discourse deals with “groups” of people, both technically and also in terms of the intended use/design/idea.

I can see there is a groups feature in my admin, but I am not sure if that will help, and I know there is the email-in feature Replacing Mailing lists: Email-In but I cant seem to figure out what this might look like when it’s all put together.


(gingerling) #2

It seems like groups are a security feature, so the configuration to get my idea working is a little quirky in my mind. What I can do is this:

Create group, add users

Create group called Developers in admin section.

Join a user (gingerling) to developers group: can set so they then get , developer after their name, which is a nice touch! Gingerling, Developer…

Connect group to category

Then, in the front end where you edit categories, set up the category settings like this

Developers can… Create / Reply / See
Everyone can… See

This gives you a group which can entice people to join. Having people join is great for Community Managers as I get to show how the teams are growing perhaps… wonder if I can get stats on when people joined group?

Also, how to get people to join the group? So far it’s just manual… wonder if I can integrate it with my WordPress sign up Discourse Meta ? and also a button to join group would be nice.

The odd thing is groups in themselves are kind of invisible. You can see them at /groups/developer but I can only seem to get to that in a very convoluted way - clicking user name, then group name in profile…


(Jens Maier) #3

So far, public user groups have been shoved far, far down on the totem pole because Discourse isn’t supposed to replace Facebook. That said, a few features are coming up within, most likely, the next minor version – most importantly, group managers (i.e. non-staff users who can add and remove other users from a group that they manage; the backend already exists but UI is still missing).


I SO get it! This thing rocks :)
(gingerling) #4

It’s interesting that this is viewed as facebook/linked etc replacement, I have seen this in a few places: I would see groups as a natural part of discourse’s behaviour as a forum which also replaces mailman. Essentially, what we mean by groups in this sense is “lists.” Not sure that this approaches facebook in it’s magnitude - it’s not like there would be hundreds.

I guess the most important parts for me right now are:

how to add people automatically to a group when they sign up - is there an API that could do this?


(Jens Maier) #5

Ah well, I guess in the end everyone’s definition of “groups” is a bit different. There’ve been quite a few feature requests for Facebook-like groups with walls, following users, group-private categories and all that jazz, and all completely user-configurable… and that’s what I was talking about here.

It sounds to me that what you want is already covered by Discourse’s categories. Users can simply set the categories they want to “join” as watched categories in their profile:


That way, they’ll automatically receive email notifications for all topics created in these categories and see unread posts bubbles in the web UI’s topic lists.

Finally, you can exclude individual categories from the “latest” topic list as seen in the top menu with a bit on undocumented mojo: latest,-special,-secret,-private,-etc

Putting these together, you can have public categories that won’t clutter the latest posts list but which users can subscribe to whenever they wish… :slight_smile:


(gingerling) #6

mmm, or event automatically “watching” those categories for them when they check the box in their profile… Or perhaps watching a certain category could define them as being a team member… the one bit I would miss is having the gingerling, documentor, developer thing next to the user name.

Thanks for the help - it does sound better to keep it just using watch rather than using groups. It’s just joining this up the dots really


Feedback from a community about Mailing List feature
(Michael Downey) #7

You could probably work out the SQL code for badges that look at what categories people are watching, and then grant a badge for doing so. The badge title could then be used as a user title which would be displayed next to their name.

Edit: One other thing that we learned in migrating from mailing lists of hundreds of people, is that a lot of people end up not wanting the email notifications. They may start with them and then remove them. The web UX (for better or for worse) is so much better than the email UX that people prefer to make the move. We were surprised. So don’t count on everyone to automatically want to “Watch” a category!


(gingerling) #8

Yeah, I hope for this :slight_smile: I guess, even without emails, I would still like for there to be a sense of people “belonging” to a particular team. While this cannot be artificially created, I think a badge type thing can help.

Also, struggling with this https://github.com/discourse/discourse/blob/master/docs/MAILING-LIST-SETUP.md#troubleshooting - cant seem to find where this “enable mailing list mode” button is.


(Michael Downey) #9

That page seems out of date, I’m afraid. I’d suggest looking at this:

and this brand-new post:

https://meta.discourse.org/t/howto-set-up-start-topic-via-email-functionality/27686?source_topic_id=27681

(gingerling) #10

ok, great - I passed both on to my sysadmin. We will also add some docs.


(gingerling) #11

One idea for groups, is it possible to have a url which 1) takes you to the category and 2) makes you follow that category if you are logged in etc?