I'm asked to recommend and possibly set up a CMS (or similar system) for a small community. We have typical Linux-Apache-MySQL-PHP shared hosting where this should run. With the exception of perhaps a public page or two, all the other pages will be restricted to approximately 30 to 50 users. There will be around 2 admins and an additional 3 moderators / high privilege users.
Usage by Members
The website will be used for different purposes, depending on the person:
- Anonymous visitors
- Will merely get basic contact information, nothing else.
- Regular members
- Almost all of them will be coming in to get information: see announcements, find links and general info about the community and its organization;
- About half of these members (I suspect) may also come in to participate in the forum, and comment on news posts and announcements;
- Publishers
- Are some users that may get termporary/page-specific publishing rights, e.g. when they organize a community event;
- Include a few users (the board, mostly) who will be maintaining the regular content. They will probably also be forum mods (though heavy moderation will probably not be needed).
- Can share documents (PDF, Office documents, pictures) with other "Regular members
Main Requirements
These are the imporant bits:
- CMS (or alike) that runs on a LAMP stack on a shared host;
- Suitable for 30-50 users, ± 2 admins, ± 3 mods;
- Easy to have pages/modules restricted to members, preferably as a default for new items;
- Private member registration or approval of some sort;
- System itself and (most) modules must be responsive (think tablets/smartphones);"
- Secure sharing of documents (PDFs, Office docs, pictures);
- Gratis.
An important bit of context: the site's not for tech-savvy users. It should be easy to use and/or like typical everyday software (Office, browsers, etc). In other words another important requirement:
- Friendly learning curve of the CMS and its modules for regular members.
With those requirements I guess I could pick just about any PHP CMS from the Wikipedia list, but I can narrow down my requirements some more.
Additional requirements
Here are some additional requirements, in order of importance:
- Plenty of modules to choose from, here are some I probably want to get:
- A simple forum module, but with the option for users to get updates by mail.
- A basic calendar module to announce specific dates in at least two categories (own/important events, and less important events).
- Either integration with Google Documents or a built in way to share and collaborate in office documents.
- A way for members to share contact information and keep it up to date;
- A way to create simple pages for publishing bits of information. (Possibly a wiki-like system? Editors will probably be the more tech savvy folks.)
- Low maintainance / easy to update.
As always, there's also nice to haves:
- Actively developed;
- Open source;
- Pretty themes available with some customization options.
Finally, what I don't need or want is extensive ways to extend it myself. I'm happy to use pre-existing modules and plugins.
Tried
I've got some experience with the following systems:
- WordPress. Very tempting, as it's extremely easy to set up and maintain, but I've had some trouble in the past using what seems to be a blogging engine at its core as a CMS or plain website. After writing this question originally I've also gone and tried to set up Wordpress for my scenario above, but I get really stuck on the authorization bit. I tried using the Members plugin, but it is lacking. For one, making pages private will only hide them from my menu, but access via the link is still open to unregistered users. Also, the news feed powered by the blogging enging can only hide post content, but meta-info and titles are still shown to anonymous users. Etc. etc., a maddening experience. (Perhaps I chose the wrong way to manage security? Or perhaps I need to use specific themes that listen to the settings?)
- MediaWiki. Which is great for collaborating, but has a steep learning curve, not really forum-like features, etc.
- DotNetNuke. Just for reference, as this doesn't run on a LAMP stack, but it does have some of the features I'm asking for. In fact, after trying some other options, I wish this would've been an option.
- Joomla! 3. Given the limited response this question got I decided to just try considered options. The installer was easy (with only a minor hickup), but after that I got confused. The admin interface is extensive, but very complex. Given, it was a better experience than Wordpress, at least for the security bit. However, creating new pages and adding some modules was not trivial at all to me. In addition, I had a tough time getting a forum to work. Kunena seemed to be the poison of choice, but dear heavens: so many things on your screen, my users will run off crying. But perhaps I just need to dive a little deeper.
I have not tried Drupal or Joomla before, but I reckon they are among my main choices (and probably not all that different to set up?).
I've also looked at similar questions here ([1], [2]), but they have different (order of) requirements, it seems.
Considered / Considering
Based on my own knowledge and research I feel like I have three main/safe choices:
These also happen to be the choices for which my hosting provider has default setups (though I'm not worried at all about setting something up myself).
Bottom line then, I really don't know how to choose between the three. What would you recommend?