Drupal for CentOS portal and forums ?

Submitted by dag on Fri, 2008/09/26 - 12:43

The CentOS development team is looking into another solution for the CentOS website and forums. But there is no real knowledge or experience about Drupal (especially for forums).

So this is a request to the CentOS or Drupal community for people that have experience with Drupal for forums to join the discussion and help with the requirement and question to see whether Drupal would be an option for the CentOS Infrastructure team.

If you are involved in both projects and want to see Drupal being used for CentOS, now is the time to assist in that :-)

Thanks in advance.

I have about 30 Drupal sites hosted on CentOS

I have about 30 Drupal sites hosted on CentOS. It is an excellent combination. I put a lot of scripts and useful tips for the CentOS/Drupal combination on http://drup.org

Drupal module maintainers, and security issues addressed

Here is an outline of the module/projects maintainers and their qualifications, regarding the modules I recommended, as well as the relevant modules for use on Drupal forums. Almost 100% of these are highly qualified developers (most are core contributors... this is not the case for "all" areas of Drupal modules of course, but the forum-related modules are maintained by a very strong group):

http://drupal.org/project/userpoints
Maintainer: kbahley ... one of the top contributors to the Drupal project, member for over 5 years. Owner of 2bits.com, gives talks/presentations on Drupal, often releases useful performance benchmarks and other tests on Drupal.

http://drupal.org/project/flag
Maintainer: quicksketch ... core contributor (for instance, added Drupal 6's drag and drop functionality), employee of Lullabot, which is the largest Drupal training and development company. Member for about 3 years. Also maintainer and/or heavy contributor to several others of Drupal's most popular modules: Webform, Fivestar, Link, ImageField, ImageCache, etc.

http://drupal.org/project/print
Maintainer: jcnventura ... member for over 1.5 years, has 1625 commits to Print module in that time.

http://drupal.org/project/votingapi
Maintainer: Eaton ... core contributor, works for Lullabot, extremely active in the Drupal community.

http://drupal.org/project/fivestar
Maintainer: Eaton ... see above. Also this module is "a tentatively officially supported Acquia Carbon project" (Carbon is a commercially-supported release of Drupal 6 + a predetermined set of modules for guaranteed functionality and support, run by Dries Buytaert, the founder of Drupal).

http://drupal.org/project/plus1
Maintainer: Chill35 ... member for 1.75 years, runs popular blog 11heavens.com. This module is also completely optional (unnecessary unless you desire digg-like voting).

http://drupal.org/project/notifications
Maintainer: Jose A Reyero ... member for over 5 years. Also contributor of the i18n module and runs the Drupal Spanish site.

http://drupal.org/project/subscriptions
Maintainer: salvis ... member for 2 years, also maintainer of ACL module (one of the most popular access control modules), Forum Access. Has 418 commits to Subscriptions module.

http://drupal.org/project/forum_access
Maintainer: salvis ... see above.

http://drupal.org/project/notify
Maintainer: matt2000 ... As the other subscription modules are much preferred, only mentioned this one for completeness.

Here is info on the relevant forum-related add-on modules that are listed here: http://drupal.org/node/227121

http://drupal.org/project/privatemsg
Maintainer: litwol ... Works for fastcompany.com (which converted to Drupal), member for over 2 years, is the organizer/manager for the New York Drupal group.

http://drupal.org/project/user_badges
Maintainer: Heine ... member for over 3.5 years, well-known and respected member of the Drupal community, member of the Drupal security team.

http://drupal.org/project/flatcomments
Maintainer: Heine ... see above. This module is only necessary if you dislike threaded discussions and want to ensure that all comments occur in sequence from oldest to newest or vice-versa.

http://drupal.org/project/user_stats
Maintainer: Liam McDermott ... member for almost 2 years, also contributed the vBulletin to Drupal converter. He runs a popular Drupal-powered forum http://www.webmaster-forums.net

http://drupal.org/project/signature_forum
Maintainer: Liam McDermott ... see above. This module is unnecessary, but useful if you want a variety of expanded functionality for signatures.

http://drupal.org/project/user_titles
Maintainer: Agileware ... member for almost 2 years

http://drupal.org/project/bueditor
Maintainer: ufku ... member for over 4 years, also contributor of one of the most popular media/image management modules for Drupal, IMCE.

http://drupal.org/project/quote
Maintainer: Zen ... member for 3.5 years, contributes to a variety of popular modules such as Privatemsg, Organic Groups, and Devel.

http://drupal.org/project/smileys
Maintainer: Gurpartap Singh ... member for almost 3 years, contributes to a wide variety of modules and themes.

http://drupal.org/project/commentrss
Maintainer: Gábor Hojtsy ... he was the core commiter for the version 6 branch of Drupal core. Member for over 5 years and prolific contributor.

Module security

Regarding the "Brilliant Gallery" module's security issue that was brought up in the mailing list: that was caught by the Drupal security team, which does go through (as best they can of course due to the volume) all of the contributed modules seeking out security issues. The Brilliant Gallery module is not likely used by any serious Drupal site admin (its low quality is pretty clear viewing the demo or trying it out).

Since literally "any" member can contribute a module to Drupal.org, it is important to assess the quality and security of any module you choose to use on a Drupal site (similar of course to choosing what programs are safe to install on your OS). A good plan of action that tends to be effective if you don't know already from experience which modules to choose, would be to read several of the highly detailed case studies that have been written about a number of high-profile Drupal powered sites. The case studies almost always list the modules that were used. Here is a link to case studies: http://drupal.org/success-stories ... particularly helpful ones include: New York Observer - a newspaper site, The Rake Magazine, The Vintage Aviator - Build Story, Popular Science, and many others.

Benefits Drupal modules (both core and contributed) have regarding Security and future upgrades:

- All module projects are hosted locally on drupal.org, where they can be easily located and tracked. Detailed history of every step of development is available. And there is a direct line of communication to report issues/bugs and request support the maintainer. Unlike other systems, you don't have to go to countless 3rd party sites to download modules. Even if the module is abandoned by its creator, that has no effect on its continued availability to users.

- Maintainership of abandoned modules can be easily taken over or assisted by following a pre-defined set of simple steps by any member of the community.

- All modules are 100% GPL (some modules may contain non-GPL components but those pieces are not distributed with the module itself... an example is TinyMCE).

- Update notifications... Drupal 6 core comes with "Update Status" which monitors all installed modules and immediately informs you the instant any new versions come out. Security releases are highlighted and pushed harder to convince you to upgrade those sooner. Adding on the Update status advanced settings module also adds enhanced options and email notification.

- The Drupal Security team searches through not only core modules but also contributed modules for security flaws. After a patch is prepared for any security flaw that is discovered, a security bulletin is sent out to subscribers of the Security newsletter (which of course "every" Drupal site admin should be a member of).

- In the future, helpful metrics on module use, ratings, etc will be available on drupal.org module project pages. For the time being there is this excellent resource: http://drupalmodules.com

Performance

I am currently learning how to bring the out-of-the-box forum module up to the performance level seen on the example sites I've mentioned. This info is a bit harder to find, since the "average" Drupal site is nowhere near the size where this becomes an issue. I'll be sure to share my findings.

Probably better to discuss on the mailinglist

Hey,

Could you discuss this with the infrastructure team on the mailinglist ? They are looking for people to set up an installation and test functionality.

I doubt many people are revisiting this blog-post to read new comments :-/

Sure

Sure, I'll go ahead and repost the most recent 2 replies to the mailing list so they will be seen, and continue any future discussion there. Thanks dag :)

Hmmm

Looking at their requirements and their existing forums, I doubt they'd be happy with core Drupal forums. And I don't think Advanced Forum is up for the task of such a major site, yet.

Michelle

I think it could work

I'm working on converting a community site of mine to Drupal's core forum (it's currently a custom CMS/forum). The site has about 20,000 users, 100,000 threads, and 800,000 replies. I've been doing some performance tests ahead of time, and Drupal's forum definitely needs a proper caching setup to scale at that level, at least until a few slow queries are tweaked in the hopefully-near future (it's generally great, but there are a few lousy queries that need a tuneup). I know it can be done though, as various large forums run Drupal core forums (to name a few, drupal.org of course, as well as Gallery2, libcom.org, etc).

Anyhow, so far as functionality (added by a few add-on modules) and look/theming, Advanced Forum looks like a close match for the current forum on centos.org. Performance (of Drupal's core forum that underlies Advanced Forum) needs some help though. I have been working on charting out the performance as more nodes/comments are added over the last few days actually and will post my results as soon as possible. Just "off hand" (will post the full details asap) I'd expect a forum the size of centos.org to take 2-4 seconds to run the queries for the main forum listing, maybe less on fast hardware and with more careful setup than my thrown-together test system. Other pages of the forum are substantially faster. Performance degrades as 10's of thousands of nodes are added (again, my test is uncached), but it's quite likely Drupal's forum development (which is finally a bigger priority than ever) will outpace the growth of the forum.

It would be a pleasure to see my favorite server OS paired with my favorite open source CMS :) I will be happy to lend as much assistance as I can.

How much time is there expected to be before rolling out this new forum/portal?

Drupal answers for CentOS forum user requests, theme, multi-site

Here are a few Drupal-related answers to the needs brought up by CentOS forum members (point D in the requirements):

- Remember me checkbox
Persistent Login module: http://drupal.org/project/persistent_login

- Convenient for longer threads that you keep revisiting.
Drupal's "updated" flag on unread messages when you revisit a thread that has new posts since you last viewed it. Clicking the "# new" link in your Tracker or the forum takes you to the first unread post. This "new/updated" status is tied to your user account, not the computer you are viewing from, so you can switch to any other computer and pick up where you left off.

- One of those Thanks icons, so that one can thank someone for a post... able to thank someone when they've helped you.
Not quite sure, but probably User Points module: http://drupal.org/project/userpoints

- Quick links.
Not quite sure, though sounds like it could simply be a basic JavaScript / jQuery fly-out menu, pre-populated with a number of relevant links to tools (e.g. view a list of Subscribed threads, Subscribe to the current thread using Flag module, etc). Probably no module required, just a little bit of theming work.

- Ability to see subscribed threads from the login page.
Flag module (various other choices as well, but this one is often recommended): http://drupal.org/project/flag

- See the threads with which you're involved.
Drupal core Tracker module.

- Let me change my contact email address.
Drupal users can fully control their account data. The core Profile module supports required, hidden, and public fields.

- Its got to be mainstream, its got to be something with a secure reputation and its got to be something that is going to be around for a while.
Drupal :)

-----

Also to cover some current features of the forum that weren't mentioned:

- Print thread
Print module: http://drupal.org/project/print

- Rate this thread
Voting API paired with Fivestar module. Also possibly useful for other voting needs is the digg-like Plus1 module.

- Post counts, user stats, and other "postbit" data
Various modules to pick and choose from: http://drupal.org/node/227121
Using Advanced Forum pre-assembles many of these into place if they are installed.

-----

Nice to have

a. Gateway to Email
Not sure I understand, but if this means subscribing to threads and receiving email updates, there are options like Notifications, Subscriptions, and Notify.

b. Capable of running multiple instances from a single deployment
Drupal's built-in multi-site capability, which can run an unlimited number of separate sites off a single code-base (the sites can even use both shared and/or separate modules and themes).

c. Responsive community and developers
Drupal's the best I know of :D

-----

Theming...

Drupal (particularly version 6) is fantastic to theme. The theming system is powerful and (in my opinion) pretty easy to use for just about everything most people need to do. The HTML is solid and standards-compliant, ready for customization by CSS, and in almost all cases HTML that is hard-coded in modules is over-ridable without hacking code. I wrote an article the other day about easily converting any template into a Drupal theme: http://drupal.org/node/313510

-----

So far as importing data from the current system... the most "automatic" (no coding) transition appears to be from punbb -> phpbb -> Drupal (also here are more threads about punbb to Drupal). However in my case I was able to write SQL queries to port data from my custom CMS/forum (and I am not even a "slightly" capable programmer haha... the custom CMS was written for me not by me), so it shouldn't be too hard. I shared my SQL Queries and procedure for importing to the Drupal forum the other day in case they are helpful. I'll be happy to help if you need it. Forum nodes are essentially the same as any nodes in Drupal, so any "node importing" script/module can import them... I personally went with raw SQL queries due to the huge amount of data I had to transform (thus avoiding PHP timeouts, etc). Categorization is handled by Taxonomy module. In my case I came up with a bit of a convoluted way to convert my forum categories into Drupal, but it worked (someone else may be able to do it more efficiently).

-----

Back to the performance topic... haven't quite finished organizing my test results, but will post them asap. Regarding my above post's estimated time for the CentOS forum main page loading, I re-read that and realized I forgot to mention that would be "without" proper caching, just straight out of the box. With proper setup it could be much faster.

In any case, I'd suggest considering Drupal for the site portal even if you decide to go with a 3rd party forum (e.g. looks like there's a nice Drupal 6 bridge for phpbb). I've been working with Drupal for about 2 years now and never cease to be impressed with what it can do.

Drupal forum performance test results

I've completed my performance testing. I hope this is helpful: http://drupal.org/node/314443

As you can see from the graph, the CentOS forum at its current size would run acceptably well (taking into account running on a better-tuned system than my thrown together test system... for instance my Xeon server with CentOS runs Drupal vastly faster than my laptop). With caching added (which I'm seeking out the best solution for in my post) it should perform great. I'll be personally investing funds/resources to ensure the slow queries are fixed by D7, eliminating the "necessity" of caching.

Hope this helps :)

why not

While it's true Drupal core will not provide all the features, there are many contrib modules to fulfill the requirements.
A: done by default by core
B: don't know how it compares to other systems in terms of scalability, but I don't see why it would not. see drupal.org forums.
C: LDAP contributed module: http://drupal.org/project/ldap_integration
D: N/A
E: UTF8 is default in Drupal core. i18n support etc...
F: security: I think it's quite good. disclaimer: I'm in the sec team :)
G: lots of themes http://drupal.org/project/Themes
H: I don't know of anything specific to forums, but there is the import/export API.
I: GPLv2.

Other forum specific applications might have more features than Drupal out of the box, but if you plan to extend your forum into a multi feature site (like a portal), Drupal is definitely worth considering.

I think the best solution is

I think the best solution is joomla or drupal for the main site (announces, docs etc) and phpbb for the main forum, this is a solution that works for me (joomla and phpbb)

:)

agree

think the best solution is joomla or drupal for the main site .(announces, docs etc) and phpbb for the main forum, this is a solution that works for me (joomla and phpbb)

Sample of CentOS.org implementation using Drupal

I decided today to create an outline of the CentOS.org current Information Architecture, and note with each page how it could be implemented using Drupal.

IA and implementation of CentOS.org with Drupal:
http://www.davidnewkerk.com/book/52

Also I've compiled a listing (or "recipe") of which modules it would require to build the CentOS.org website using Drupal (not including those required for the forum, which could be added if you decide to go that route versus a 3rd party forum). It's an estimate and might take a few more or a few less modules depending on the actual requirements of the site.

http://www.davidnewkerk.com/module-recipes/r-centos

I have included information about the Maintainers of each contributed module, so their record can be assessed. There are some modules out there that should be avoided, but all I will list here are considered of excellent quality, and are by long-term, serious, quality Drupal contributors, many of which contribute to Drupal core.

Also I didn't yet have a chance to include the Drupal core modules in my "recipe system" (which I built tonight using CCK, Views, and Nodequeue), so here are my thoughts on the Core modules that might be needed:

Definitely

Content translation
Forum (unless using a 3rd party forum)
Help
Locale
Menu
Path
Poll
Profile
Search
Taxonomy
Throttle
Tracker (seamlessly switch to efficient Tracker 2 when released)
Update status
Upload

Maybe

Aggregator
Blog
Book
Contact (might use Webform instead)
OpenID
Statistics

Drupal does have a lot of modules, however they are much easier (due to the reasons/tools I mentioned in my last post) to actually keep up to date in reality (e.g. central download location, security bulletins, update status module, etc). I work with other systems as well as Drupal (for instance Joomla), and Drupal has ended up being substantially easier to manage in the long run. I always advise using only precisely as many modules as you actually "need" (which goes for any CMS), and preferably only reputable modules, like the ones I've mentioned, unless you have a programmer on staff to check their security out. The advent of CCK and Views modules in the last few years has been rapidly decreasing the need for as many "self-contained" modules that do too much on their own (now when you build up similar functionality with CCK and Views, you rely less on other modules, and also get to customize things closer to how you want, rather than being stuck with what the all-in-one modules offer).

Personally I update Drupal and modules using SSH (wrote this guide on how to do it), and it is very fast.

Anyhow, I noticed in the mailing list that a custom demo of Drupal might be desired. If you'd like I will set up a copy on my local server tailored for your needs, and send you a tar.gz of the files and a database dump, so you can set it up on your server. If you want to grant any access I will be happy to set it up that way.

Hope to hear from you. Keep up the great work on CentOS! :)