I'm currently searching for the best fit for my next project. I'm currently on the way to check if there is a product on the market, which fits my needs or if I really have to re-invent the wheel again.
What do I want to have? What do I plan to achieve?
Well first of all, I want a CMS or maybe a blog which is able to serve content like normal webpages and videos (maybe embedded from YouTube/Vimeo or on premise). Additionally I want to publish article-like content, maybe in the style of an online book/magazin.
Besides that, it would be nice to have, if there is a good community support build in to the system itself. Which means, a support for comments, maybe for a board support too.
Besides that, a support for a newsletter system may be appreciated, but not directly needed. A support for OpenId would be great.
- User management (locally)
- Article management (link to other similar articles - ideally automatically)
- Tag management (tag articles to group them easily)
- RSS support
- Video support (on premise and linked from YouTube/Vimeo)
- Code highlighting
- Community features (comments, board)
- Mobile friendly (I know, it's just the CSS + JS, but it would be nice if even the backend is mobile friendly. Weather using an iOS app or the page itself)
- Extension/plugin support (if something isn't already included, just include it using a new plugin)
- Easy to use template system
- SEO friendly
- Role-based rights management (this way, I want to achieve that some people have the right to post own articles, other are able to approve comments and the next one will be able to delete posts - for example)
- Multi-language support
- Multi-site / multi-domain support (for example site1.com and site2.com should be able to have the same user base, but different articles/tags/groups/boards etc.)
Features (nice to have):
- User management (login via Facebook/Twitter or other ID provider)
- OpenID support
- Private messages between users
- Follow users (see their recent activity)
- Ideally Open Source and free of charge
- Optimized for search engines (SEO)
If there is no system which can handle this together, I would also like to have a suggestion of a proven team of applications, which may handle it and integrate in each other as well.
Which technology should be used?
I would prefer a software which runs on Ruby/Ruby on Rails, PHP or even NodeJS. Maybe Python, but I haven't that deep experience in Python at the moment.
As database backend, I would prefer MySQL or PostgreSQL.
I would prefer a software which runs on a CentOS/RedHat properly, but if needed I would also use a Windows-based software.
What have I checked before?
Well I have already checked some different systems. Here is a short list:
- TYPO3: Well a great piece of software, a bit older and the core need some love, as he gets older and older. But one of my favorite CMS. The developers currently working on the next great Release (currently 7.3.1) which has a good mobile support. But it's a real business application, it can be integrated in many systems, but it needs many work to do it properly. The quality of the extensions is excellent, but if some extension won't fit, it's not that easy to extend it to your own needs due to the huge PHP-API and the self-developed frameworks just for the CMS itself.
- Joomla!: I've used Joomla! years ago and I hated it just from the start. The content concept was awful. I need workarounds to place my content in the way I wanted it. I don't know if this is still the case, but I've read not really good news about the system at all. The plugin support is there, yes. But if your using 10 Plugins, you need an ad-blocker in your backend to avoid to be flashed by all those adds and banners which will be integrated in the plugins to show that your using a light version of an plugin or anything like that. I don't know if its getting better in the last years but I avoided it where I can.
- Drupal: Well I've heard pretty good news about Drupal - besides the last exploit news. It should be a good system for communities. I haven't tried it on my own system. But I've heard about it, that it should be awful to maintain or to style.
- Django CMS: As far as I know is Django CMS not a new one on the market. It seems to be pretty old but with a good codebase. It should be easy to extend. I don't know anything about the template system or anything like that. But it sounds pretty interesting. I've read about the possibility to integrate other Python/Django applications easily into Django CMS. Maybe that way, there is a good solution to integrate missing features into the system.
- Wordpress: The well-known Wordpress. Well, it's used on many systems, and I know that there are many possibilities to extend it. But I also know that it may be very inefficient on bigger installations. The codebase of Wordpress is pretty awful. There is nearly no month without any new exploit in Wordpress or any of its shipped plugins. It's not my intention to harm someone who likes it, but I haven't seen many good news about it. I'm not sure if I want to use it.
- Ghost: The new one in the ring - Ghost. It's pretty nice as you can just write your content using Markup and it displays everything you need in a clean interface. It's lack of many features, but it's fast and simple. Maybe there is a way to integrate it if some part of the other applications won't fit.
- XenForo: XenForo is the son-in-mind of the well known VBulletin. It's pretty awesome what's already supported. I like the feature set for the community building, but it lacks the article management and some other core features. Maybe it's possible to integrate it using OpenID or something like that with another System?
- Discourse: I really like the style and user interface of Discourse! It has not so much features but quite some good ideas. Like the possibility of achievements in the community and so on. I know that it supports OpenID, which may be a good idea to integrate it in another System.