I am with little success, or to express myself more correct - in very time consuming way building couple communities with Drupal 7. The centerpiece of them has to be some kind of a forum.
At the beginning I was designing them with the Advanced_forum as a centerpiece, but then one day one idea just struck my head like a lightning: why not OG??? There is a perfect example of OG community done exactly right... groups.drupal.org :) There is Commons distro, but the creators not very exactly got to the point of building communication based community - that distro is more content-between-users or whatever else, but not communication, seems they missed smth.
Disclaimer and purpose: Stop for a minute! This is not offensive post, I will show an example, how I am going to build or already implemented some of the critical features with already available modules, instead of Forum and ask the others to concentrate more on OG-based solutions and leave under-appreciated Artesian forum maintainer alone and work on other things
You think the main problem with Drupal based forums if we compare them to other BB software is the lack of features? No! And one more time no! So, lets start with common features, which can be implemented in D7:
EASILY DONE:
Forum containers/forums: Organic Groups. It is the head and the backbone of all the community. It gives lots of control to the content on the specific group, depending on your permission level. As of 7.x-2.x version it is very, very powerful system. Translation to BB: users are allowed to view, to write, to moderate/change content, depending on their status in that particular OG (forum).
Post: drupal built in "Node" ecosystem with all the power of CCK/Fields, WYSIWYG editors, IMCE/Fields file managing for attachments and so on. There is possible to make different post for discussion, event, wiki, gallery, poll and so on. Most of simpler BB cannot do that much.
Reply: as of D7 comments are fully fieldable! You can get almost as much as from original Post, the only significant problems are that you cannot for example make reply gallery type to gallery post and comments are of different entity type to original post - more about it later.
Topic: Post + Reply. There is possible to select comment form to be on the same page as topic. Nice, quick and simple.
Private message: there is powerful module with
the same name.
Poll: 1 core module and at least 2 maintained and widely used 3rd party poll modules.
List of topics: Views. It is possible to get easily all the posts with their titles in one particular group or all of them and sort by replies count.
Social integration - AddThis and location
WHAT DRUPAL HAS, OTHER BB DO NOT:
Contextual display of content - most of the BB have just few hardcoded supplemental stuff which can be displayed in different piece of content. Context (which I like very much) or Panels are far more powerful than any of them.
Theming/templating - from my shallow experience in other CMS, Drupal has really good theming system, far more flexible, extensible and separated form site logic than most of the other BB's.
Fielding, displaying of fields - Fields and Display Suite have enormous power over how content is structured and how it is presented.
Menu/navigation - none of the BB's have such complex and at the same time flexible and easy to build navigation
SEO ready - Proper use of Path, Pathauto, Metatag, robots.txt modules alone will solve 50%+ of on-site optimization tasks, also most of popular themes are out of the box SEO friendly, like AT or Omega. Other BB's have very narrow or paid SEO modules, usually maintained by 1 or very small group of devs, which can lead to "vendor traps"
Hundreds of usable and maintained small modules instead of few do-it-all - there are many of the small community modules, which can be combined to make different "mashups" of functionality far more powerful than any of BB's
Voting - Voting API and other are much more flexible that any of the BB's I have seen. Of course, with the help of Views and Rules some interesting display combinations can be made.
Radioactivity - one simple module on the league of its own. I am a huge fan of it! Lists of currently hot content are already pre-installed for you!
Imagecache- easily transform image into the size you want. No alternatives in most other BB's. For example, such a feature like "display image in header of forum container" is implemented as separate module in other BB's, but it is done easily with Views.
Security/Antispam - lost of modules on most popular cases. Really. Your forum will be safe from spammers/script kiddies. Drupal security team has serious attitude to their tasks.
Views. Views is like an UI to SQL command line. You can tweak your lists of topics all day long, instead of only few hardcoded options in other CMS. No alternatives there.
Many small modules - many different modules for many different purposes, with very little chance to get into "CMS trap"
DONE WITH SOME EFFORT:
List of topics - how many times topic is viewed?: Views + some stats module. You have to choose between GA or some internal ones. There are some caveats as GA "Do not track" or caching compatibility in internal ones.
Subscription to topics - There are some useful modules to get emails, but currently I am going with Message + Rules + Flags. The others to try: Watcher, Subscription framework
Marking content - Flag module + some Rules can be used to mark content as abusive, to bookmark it, to "view it later" and other similar user-related operations
Displaying author info - sadly the most used module - Author Pane is the most buggy, but there are many other ways to display contextual info about author in the topic page. Some PHP code may be needed.
Management of topics- VBO is your toolkit. I have not much experience with it, but am certainly sure that operations, such as topic moving between forums, deleting, closing and so on are very doable.
Management/promotion of users - built-in Drupal tools + VBO + Userpoints. Probably you will need to think some logic if you want to manually or automatically promote/punish users, but tools are there
Various permissions - Drupal has many of them built-in, but this is (at least for me) very time and effort consuming part and has to be thought and implemented carefully. There are many helpful 3rd party modules
SSO - Sign on with FB/Google and other popular services usernames. There are some modules which already matured, but still need to test out extensively - have little experience.
At this moment I cannot remember of more important features. I am sure there are more, but at one stage or another I have solved them in site or at least in my head.
Now, the dealbreakers...
WHAT IS VERY IMPORTANT, BUT CANNOT BE DONE IN DRUPAL (at least easily)
Topics and replies are different entities. It sounds simple, but is a huge problem. Why? Because the bread and butter of Drupal - Views cannot construct a list of different entities. There are some workarounds but they are only suitable for simple lists. Nodecomments module solved this for D6, but the maintainer has no plans to work on D7 version.
No statistics for OG. You cannot sort OG group by last reply, post count, topics count, replies, members, etc, also to display last topic or reply. Yep, the similar problem - it is available only for D6, but not D7. There is workaround... Not to use OG, Forum module has this part of these features but then again - we are in the closed loop of having Michelle with no help and far less inferior to OG system. https://drupal.org/project/og_statistics is available for D6, with no work being done on D7.
WHY I AM WRITING THIS?
I am not a coder, at least not in the level to rewrite D6 modules to D7, so... There are 470(!) members on this group, I hope that some part of them is able to code Drupal module. If someone has spare time/resources, please:
-
Stop relying on Forum/Advanced forum. It is already at its best and is not designed to be a substitute for fully featured BB. Drupal way to build things it to write a small modules which can help to work with big ones: Views, Fields, OG, DS, Context, Panels and so on. It makes no sense to have do-everything forum module as most of the functionality is already here! Please, transfer your efforts on writing how-to's, provide help to OG maintainer, make "bridge" type modules, but forget Forum/Advanced forum.
-
Rewrite for D7 https://drupal.org/project/og_statistics and https://drupal.org/project/nodecomment. With those modules done I can show you how to build Drupal BB site, comparable to MyBB, IPB and similar, with more features and easier to use than groups.drupal.org
END

Comments
Few questions
First, this is a fantastic write up.
1.) I wonder if the two items you listed that drupal can't do, could be done with custom views fields and custom views filters? I've only just started coding with views, but if no one smarter than me comes along, I'd be happy to look into that.
2.) Being that D8 is just around the corner, should we focus this as a D8 initiative?
Focus on D7
1) I haven't tried all of them yet. One module in the sandbox appeared ~2weeks ago, which may let combine nodes and comments info one view, but there are no other ones. If you know something - half of the headache is solved. Please, post about that in this thread. OG_statistics could be recreated with some custom magic, It is doable with my skills, but too much time consuming. I even think, that to learn to code for D7 and to rewrite that module will take as much time as to make workaround.
2) It will take 2-3 years until all of the modules used for such a site are stable on D8. I hope to finish my projects in ~3 months... Time is always against us. There is nothing to "initiative", because 90% of functionality is already available!
Have a plan to make 10-20 parts of writeup on my blog (under construction...), how to re-create what I have already done, but right now I would consider to take Commons and rebuild it, as I re-created big part of its functionality. Re-invented a wheel, but understood many new things.
drupal+me: jeweler portfolio
Also Open Atrium 2.0
You might also want to keep up with the development news on the Open Atrium 2.0 for Drupal 7 here: https://community.openatrium.com/dev/, since it is designed to do exactly what you mention in #1 (building a bridge between existing modules). I'm the lead maintainer of Open Atrium and the Discussions plugin is basically a forum system for Organic Groups. It uses a single content-type for the original post and for replies. In fact, you'll be able to "reply" to any other content-type in the system (such as replying to an Event, or Issue ticket, etc). It is based upon the Panopoly distribution, so is fully integrated with the Panels modules. One of our core goals with Open Atrium 2 is "Proudly Invented Elsewhere" where we leverage the best Drupal modules that already exist.
I expect to have the code released to the community in early Alpha form by the end of this week. Right now the main hold-up is actually trying to figure out if we will use the drupal.org issue queue or continue to use our existing JIRA instance for ticket tracking (or some combination of both).
It's possible that it might be more efficient for you to help contribute to this effort. We are trying to improve the openness of this project with the community and there will be many ways to help improve it rather than starting from scratch and re-inventing the wheel.
As the tech-lead on Open Atrium who has spent over a year collecting requirements and building a strong technical architecture, and knowing Ezra from Acquia who is in charge of Drupal Commons who has put in a similar effort, you should not take lightly the amount of work you are talking about with this functionality. Just re-inventing the wheel isn't going to work well within the Drupal world. Figuring out where you might contribute to either Open Atrium, or Drupal Commons, or even continuing with Advanced Forums would be much better.
I do agree with your D8 comments. We decided to stick with D7 with Open Atrium 2 because it will be quite a while before the modules we need are stable enough in D8. But at the same time we are trying to architect the distribution to minimize the big changes from D7 to D8 in the future.
Q. about Open Atrium / Commons
Thanks mpotter for your comments.
What is the best way for us to decide between Open Atrium and Drupal Commons? There seems to be a lot of overlap. Any elevator speech you have handy would be welcome. We want groups, forums, and eventually Drupal Commerce woven together, and would love to start with an on-going package.
I agree, that contributing to an existing effort is a great investment compared to rolling one's own.
Thanks,
m
The problem with commons and atrium
I'm just going to be 100% honest here... I think what you're doing in atrium is awesome, but I've written it off a LONG time ago because there was no D7 version.
Same with commons. These giant pre-packaged communities are cool, and you're doing wonderful things, but releasing a D7 version (commons D7 just released a short while ago as well) a few months before D8 release is just plain too slow for those of us with progressive communities.
I've always seen Atrium and Commons as "Great for those people that just want to set something up and leave it alone for 3 years.".... but for people like me, and the organizations I work for, we're constantly looking for ways to better ourselves, try something new, improve our community.
There's nothing worse than seeing great new modules and new functionality available, and realizing you can't use it because you're stuck on D6.
I think any serious forum improvement work done for drupal needs to understand that locking yourself into one of these options means slow upgrades.
That's fine.
That's fine and it means that these larger distributions are not for you. As I've said, the modules that form the core of these distributions are many many months away from having stable D8 versions. If you have been involved in past major Drupal releases you'll have seen that it probably takes at least a year for contrib modules to catch up with the actual Drupal core release. D8 has even larger changes for contrib modules in most cases, so it might be longer. That puts a D8 version of Atrium several years from now, and we were not willing to make the community wait for that...it's honestly already taken too long to get the D7 release.
If this is too slow for you and you want to have a faster timescale, then you'll be stuck doing it yourself, which is probably fine for you and your clients. At Phase2 we do both: we push the edge for clients and will likely be building D8 sites while it's still in Beta testing, but we also build large distributions and products meant for more end-users and site builders who need something more stable don't want to be on the ragged edge of new adoption.
Featuritis desease
No offense, but true to most of the Drupal developers and for most of the other CMS devs. Until this in not cured - we will get very long release cycles. Although I do not agree with the point that forum needs a work to be done. It is perfect small module for small needs. If you try to bloat it - it will be unmaintainable. There are some examples of great do-everything modules which became unmaintained after original authors quit.
For me Atrium or Commons is just a base to start with - then you are free to modify it as any other Drupal site! Yes, then you are not able to upgrade it, but who said there will be totally free lunch? The only problem is when backbone architecture is not suitable for your needs, then you will have bigger problem than migration between D6 to D7.
drupal+me: jeweler portfolio
oops
my post http://groups.drupal.org/node/287553#comment-899013 was supposed to be reply to this post, but marqpdx already asked similar question: There is some massive overlap between Atrium and Commons
drupal+me: jeweler portfolio
Thank you, sir! It is indeed
Thank you, sir! It is indeed a great news - I am glad that you solved that different entities problem:
"Discussions plugin is basically a forum system for Organic Groups. It uses a single content-type for the original post and for replies. In fact, you'll be able to "reply" to any other content-type in the system (such as replying to an Event, or Issue ticket, etc)."
I of course do not take lightly on an effort of Commons and Atrium maintainers - it is indeed a huge projects. I almost gone Commons way for my current projects, but there were the same deal breakers: too little of forum-like functionality and too much other rarely used things.
Now there is a question: If you were in charge to build project to combine best of Drupal forums AND Drupal groups AND some advanced (but easily done with D modules) features from IPB/MyBB/vBulletin etc, would you go with OpenAtrium v2 or Commons? I am talking about architecture only. I do not see any problem if there is one feature already available in one distro and not available in the other but can be easily implemented like by enabling modules and building views.
drupal+me: jeweler portfolio
Atrium and Commons
See the comments of my blog post here: http://www.agileapproach.com/blog-entry/announcing-community-plugin-tool... about Commons and Atrium. Yes, there is overlap, but the targets for the two products is actually pretty different.
If you want something more like Facebook (social) where you have Friends and you "like" posts and the most-liked posts go to the top of a discussion, then probably start with Commons. More social-community focused.
If you want a more traditional forum topic structure that is time-ordered without the whole "social" framework, then probably start with Atrium. More traditional project-forum focused.
If you want to use Panopoly, start with Atrium.
Great thinking here!
Hello, nice write up. Sorry if I'm late to the party :D
I appreciate this thinking.
No offence to forum modules developers, as Michelle and others. I appreciate your hard work!
I just started playing with this concept (OG to replace "classic" forums), I must say I'm impressed thinking what it could deliver. As you say a lot of modules are already there (and actively maintained).
There are a lot of deal breakers, but also a lot of nice features that weren't available as polished on forum platforms too.
It could have non-ending power if those deal breaker issues you listed would be fixed.
About "reply" issues not being nodes, check https://drupal.org/project/reply Reply module, it allows the creation of replies as entities, which you can attach fields to like nodes.
It's in dev phase. It's young and a few patched bugs, but it does delivery once you get into it.
Fixing those dealbreakers could be easier than starting a new "all-around" HUGE forum module, and could delivery way more flexibility to the website/content in some ways.
Do you have some updates to report?
Yes you got the point, I am
Yes you got the point, I am keep on saying in all the discussion about stand-alone-forum-module vs OG vs other forum cms: almost (I say like 90-95%) all the functionality is already there - Commons distribution is almost "right" made example of OG based forum/community site. Commons maintainers also made in one of the content types the replies to the original post to be nodes (!!!!!) but I do not understand why only on one???????????
Reply module is not the right example of the solution - I could state that, because if anyone just played a little in a real site would see it is not suitable for practical implementation. I only see that module only as a proof of a concept.
Currently the dealbreakers are:
1. Comments being the different type of entity... That is partially solved in Commons example, it is possible to copy that.
2. OG stats - it seems to be some work going on that module. Even some of the functionality can be created with the help of Rules.
3. Hard to implement notification system: again I could say Commons is the example how to do it but I do not like the hard coded logic there. It is very possible to recreate with the help of Message, Flag, Rules and couple of other modules. There is no easy way to do this, as another do-everything module will create unmaintainable monster like Subscribtions or Notifications.
That is pretty most of everything I know - of course, still it is very very time consuming to recreate forum cms basic functionality, but if you trying to build at least something where community will come - probably buying vB licence will be not enough anyway.
drupal+me: jeweler portfolio
Open Atrium 2 Discussion Forums
If looking for an OG based system you should also look at the recent Open Atrium 2 distribution. Like Commons it uses OG. But unlike Commons it does the following for forums:
OA2 is in Beta now with release for this fall.
To chime in, OG can be an
To chime in, OG can be an excellent solution depending on what your aim is.
Organic groups in my experience is fine as long as everything stays as nodes, this is only due to the fact that access control only exists for Nodes out of the box, and OG is coded to be full on true entity. Entities aren't supported in the same way for access and context (what group am I currently in). Understandably so as entity is a giant thing to tackle.
With this in mind you can create a decent basic forum with OG, though if you're after things like private sub-forums and more tied together features then specific software will be what you'd want. The ability to glue together modules to provide what you want is what makes Drupal so great and makes it fun to work with. All the best :)
comments as entities
you're right. I gave a quick search and there's a lot to read about that (and issues too).
will report here if I'll find something useful.
btw gl with harmony
Paradigms for forums and user-friendliness
It seems to me that, as its name suggests, OG uses the paradigm of groups that one may or may not be a member of.
I think that, for many users, groups are not the same thing as forums. A group might want to have a forum. I think that, for many users, forums have topics and, possibly, sub-topics. People using the forum may wish to subscribe to certain topics.
Perhaps its just semantics, but I'm not sure that's the case. Sometimes, it's hard enough getting people who aren't tech-savvy to move from email-based approaches to a bulletin-board type forum.
Particularly in the case of a single group wanting a forum-based solution, it seems like an added layer of complexity to add a group that all site-members have to join, unless it can be done seamlessly, behind the scenes.
Also, if Open Atrium is like Commons in terms of needing to stay on the distribution upgrade path (all or nothing), that is something to keep in mind. I was used to being able to update my Drupal site using drush, but with Commons I found the updating procedure significantly more complicated.
Jonathan Sibley
Personal & Executive Coaching and Psychotherapy
Helping people to do better, be better, and feel better
Groups are definitely not the
Groups are definitely not the same thing as forums. I don't think anybody was trying to imply that. Forums are collections of topics (at least in Open Atrium). A Group is used to create separate forum areas, such as Private forums, or forums that need to be restricted to a certain set of members of a certain role on the site. Groups help with moderation, privacy, etc. Groups are not forums themselves.
Yes, a distribution requires more care for upgrading. But a distribution is also doing all of the work to determine which modules (plus patches) are needed to work well together. You ultimate will have the same problem yourself whether you use a distribution or not. You don't just go and upgrade modules when a new version comes out via drush as that can break something else on your site. With distributions you have the choice of dealing with upgrades yourself (same as when not using a distribution) or letting the distro handle the updates. When letting the distro handle it you can still use drush, but you'll want to learn "drush make" vs just "drush dl".
Yes, but groups can be made
Yes, but groups can be made as a forum containers - which is basically the same thing but with more features. If your forum site is small-talk or casual chat type forum for then simplicity is a must and OG is overkill but we are more talking about the sites like groups.drupal.org - forum for fully grown adults talking about topics they know (or want to know) with more than 100 chars in one post.
With Views it is possible to make it look and feel like the "industry standard" bb.
drupal+me: jeweler portfolio
Hello
I think groups would be perfect for my site. You said earlier you would write up how you did all of this in your blog? If you don't mind me asking. Where is your blog located? I can't use commons as I have a pinboard theme I purchased off themesnap and the theme and drupal come as one together. So I would have too manually go in and make these additions.
I do have 2 lifetime IPB licenses. It's just trying to bridge the two together seamlessly seems more trouble than its worth. I think organic groups would be better. Setting up a small forum inside the groups would be great! I would rather everything be done in drupal anyway.
I especially like the browse groups Geographical option. Then groups can be setup all around the world. I would be really interested to find out how you put these things together.