Looking for open source CMS and portal software options

Over the past year or so we’ve seen a definite increase in the number of questions we get about open source content management and portal software at NetRelations. I’m not quite sure of the reason for this trend, but nevertheless it’s refreshing to see people beginning to “think different” in the otherwise very Microsoft-dominated country that Sweden is.

It may be a welcome change, but I find choosing a CMS incredibly difficult, and evaluating them is very time consuming and often frustrating. There are hundreds of options, one worse than the other. To date I have never come across a CMS that doesn’t have serious flaws. Even if a CMS looks good at a glance, once you start digging deeper you will always encounter problems with usability, accessibility, and front-end code.

Content Management Systems

A couple of times in the past I have asked my readers for CMS suggestions, but it’s been a while now. Last time we ended up using Plone, which was a real pain to work with. I don’t know if the situation has improved by now (it’s been three years), but just thinking about working with it gives me a stomach ache. So we want to look at other options, and I’d like to ask what you all think.

We’ve been looking around for a while and two of the very few systems that look like they could be worth spending more time with are ModX and Drupal. Their approaches to content handling are quite different, so they would most likely suit different kinds of clients.

The first thing I would like to get some input on is how good ModX and Drupal really are. I’m thinking both for developers who will need to customise the CMS to fit the clients’ needs and for the end users who will work with the admin interfaces to create content and structure sites. I’m looking for answers to the following questions:

  • How easy (or hard) are ModX and Drupal to develop for?
  • How easy (or hard) is using them to create content and administer websites?
  • Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes?
  • Are their admin interfaces reasonably accessible? If not, can they be made accessible?

That’s one bunch of questions. Next, the vague topic of “portals”.

Portal Software

Some large organisations are asking about open source portal software to use instead of commercial solutions like IBM WebSphere (WPS) or Microsoft Sharepoint (MOSS). I have some experience with both WPS and MOSS, and while making a public-facing website based on either system standards compliant and accessible is achievable with a bit of work, fixing the interface presented to a logged-in user seems more or less impossible. In other words, to be better than either of those two in the web standards, accessibility and usability departments should be really easy.

It seems that most open source portal platforms are Java based. Liferay, JBoss Portal, and Apache Jetspeed are some. They all seem like incredibly complicated pieces of software that are beyond my capability to understand. That has got me thinking… would it be possible to use Plone or Drupal as a portal? Yes, I know I complained about Plone being hard to develop for earlier, but compared to others it is pretty good at web standards and accessibility.

Does anyone reading this have experience from open source portal software? The questions I’m looking for answers to are the same as for the content management systems.

Their standards aren’t our standards

As a sidenote it’s pretty fascinating to note that when CMS and portal software vendors boast about “Standards compliance”, “Open standards”, and “Interoperability” they do not mean what you might think they mean.

To them, those terms have little to do with the front-end, so having a “Standards compliant, interoperable” portal solution does not mean that it outputs valid HTML and CSS and will work in any browser. Instead, it means it will run on any server that means the requirements. Huge difference.

To summarise this little call for input: any suggestions, hints, and recommendations on open source content management and portal software are welcome.

Comments

1. February 7, 2008 by Henrik

I use Drupal for all the sites I'm building and it is easy to extend or customize. Drupal has hooks which pretty much let you act on almost any aspect of the system: adding/changing/deleting content, users etc.

Drupal has a very good site with lots of information for developers, users of Drupal sites etc. Drupal is the easiest system I've come across when it comes to customizing it.

http://api.drupal.org/api/ is a good resource for the functions available to the developer from the core.

The only downside is that Drupal needs lots of resources. Lots of Memory and a database than can handle lots of queries.

But hardware is getting cheaper and cheaper so it's not a big problem.

In my experience Drupal is the only option available...

2. February 7, 2008 by Alexander Radsby

The only cms system I know about in this bunch is drupal. I've made a couple of modules for it and it's very easy to work with. But their administration system is horrible. It took me a couple of weeks to get used to their menu choices.

I think that drupal creates standard compliant code. That's actually all I can say, I only worked with it for a couple of weeks.

I would actually recommend something else like Expression Engine.

3. February 7, 2008 by Grant Palin

I use WordPress as a basic CMS to run my website. Not the foremost example, but it works for me...

I have read some good things about Drupal. I've been meaning for some time to fiddle with it a bit, it's somewhere on my to-do list.

I use a couple of CMSs at work, for different clients. One is decent, the other is IMO horrid. I imagine all the options run the spectrum of quality, just like any other software.

4. February 7, 2008 by Christer Josefsson

If it's not a requirement that the admin interface is standards compliant, then I would recommend using Umbraco. With Umbraco you have full control over the HTML, with the exception of what the built in end user/editor (TinyMCE) produces. It's definitely worth looking at.

5. February 7, 2008 by Krzychu Danek

New kid on the block - SilverStripe. I haven't tested it out much yet, but it looks quite powerful.

6. February 7, 2008 by Jean

Have a look at our hosted CMS: http://www.ugal.com. We do our best to be compliant with the standards.

7. February 7, 2008 by Morgan Roderick

My team has used the Comatose plugin (http://code.google.com/p/comatose-plugin/) for Rails on a couple of projects, and have been very happy with the results.

It's deceptively simple, and that's just what we needed for those projects.

Comatose does give you absolute control over the output, as you build everything yourself, and with Rails I can do that a lot faster than I can bend something like Typo3 into shape.

One of the major issues I see with CMS's is that once you've got it bent to fit the clients design, a new release comes out, and you have to repeat a lot of the work you've put into the customisations in the first place. Now this kind of work hardly motivates anyone.

8. February 7, 2008 by Joeri Poesen

I fully recommend Drupal. Even though I came from a C# background myself, and miss some of its syntactic sugar, I have no regrets of having returned to php

Development: Drupal uses a straightforward system of hooks that let you inject code into the execution path. You can also just hijack the process and turn it around to do whatever you want.

There is a set of API's that's ever growing and being refined. Example: the Forms API is used for all the form building and lets you add/remove fields/widgets from a form, customize their appearance, add custom validation code, etc.

There are strict coding guidelines, and a security team constantly scans Drupal core and contributed modules for vulnerabilities (sql injection, xss, malformed headers, ...)

Design: The entire visual layer (called 'theme') is decoupled from the business logic. Themes can be set based on URL's user roles, time of day, whatever.

The standard theme engine is a pure php-based one (so no overhead for template tag parsing) but others like smarty are supported too.

Drupal dictates that every bit of html output that is generated by a module, must be returned by a so-called themeable function that can be overridden in the theme layer.

If your module's name is foo, you have a function called themelistbars() which, let's say, outputs a list of bars as a table. Let's say you make theme called 'berea': you can define a function in your theming layer called berealistbars() which gets an array of bars and outputs it as an ordered list.

This means you have full control over the way the output is presented. Note: not all contributed modules actually go through the trouble of creating themeable functions, but most do. And you can always just extend any contrib module with a set of themeable functions if you really need to, thus making the world a better place.

Admin interface: actually there's no real separation between front-end and admin interface in Drupal. There's a very fine grained system of role based access which you use to define permissions. However, there is a notion of 'admin interface': everything that starts with /admin/. Those parts can be given a separate theme if you so desire.

Conclusion: All in all, there is a certain learning curve, but not nearly as steep as, say, typo3. The only main advantage is the lack of usability considerations and attention to user experience design in the current 'default' (admin) themes, though this is a major focus for the next release.

Any questions, don't hesitate to contact me or consult your local Drupal user group.

9. February 7, 2008 by Ross Bruniges

I think this upcoming year is going to see a big increase in the use of django. It may be paying it a bit of a diservice to call it simply a CMS but as that it is very powerful indeed.

10. February 7, 2008 by Jonas Myrenås

Joomla just came out with a new version, 1.5. I made a site some years ago that went quite smooth. Lots of apps and add-ons to choose from.

I have no other open source CMS to compare with, though, but I think it's worth considering.

11. February 7, 2008 by Roger Johansson

Grant: We've looked at WordPress for very very simple sites, but nearly all of the sites we build are way too complex for WordPress.

Christer: If at all possible we really want to find something with a standards compliant and accessible admin interface. And yeah, Umbraco is nice and all but I really want to get away from .Net. Platform lock-in sucks big time. Besides, I'm on a Mac, so...

Jonas: We've looked at Joomla and it may be an option. Seriously confusing UI though, at first glance at least.

12. February 7, 2008 by Jens Wedin

I recommend SiteVision as CMS/portal. It isn't opensource but it contains a lot of opensource parts. It isn't all perfect but has come a long way in it's standards crusade. The admin area is really nice and product has some really nifty features.

http://www.senselogic.se/4.2f85b5f110c3d24f346800086.html

13. February 7, 2008 by Bas

What about Joomla ?

14. February 7, 2008 by Erik Töyrä

About a year ago I investigated a couple of available CMS. In the end it stood between Drupal, Joomla! and a rather unknown CMS called Midgard CMS. After having tested the different systems a lot I have finally decided to use Drupal because it has a clean and powerful API and gives you the possibility to override markup output in a very powerful and easy way. The quality of the markup is quite good to start with but there are some modules (like CKK and Views) that tend to generate some really bloated markup. But you can always change that.

Joomla! looks promising at a first glance but it can really drive you insane with it's very rude "Get results the Joomla! way or else hit the highway..." kind of approach to everything. Also, it's very hard to modify the markup since you often has to hack the core files instead of overriding how the output is generated. This will give you problems when updating the CMS in the future.

OK... now to your questions. :)

* How easy (or hard) are ModX and Drupal to develop for?

- Drupal has a very good API which allows you to write your own modules and modify existing ones quite easy. I recommend you to buy the book Pro Drupal Development to get the best possible introduction to the API. Overall the Drupal documentation is very good.

* How easy (or hard) is using them to create content and administer websites?

- So far I have done a website and a intranet using Drupal. I think it works really well for both purposes. You should install the CKK module which allows you to create your own content types with custom form fields that facilitates the edtiting of content.

* Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes?

- So far Drupal seems to allow developers to customize and have full control of at least HTMLM and CSS. At least I haven't found anything that is not customizeable. I have not tried to modify the JavaScript yet - but there is not much JavaScript in drupal either. They use the jQuery framework.

* Are their admin interfaces reasonably accessible? If not, can they be made accessible?

- Drupals admin interface can be quite hard to wrap your head around at a first glance if you login as an administrator with rights to modify everything. But there is a very easy way to set rules for what type of administrator rights each user group should have. So you can easily give the authors a very clean and stripped version of the admin interface with only the parts they need to create content. You can also modify the admin interface HTML and CSS in the same way as you do with the front-end.

I have only tested Drupal 5.1 to 5.5 so I have not tested Drupal 6.0 which currently is in RC3. It is said that they have worked very hard on this release to improve on accesibility and web standards. They also have a team of developers consentrating on these questions. http://groups.drupal.org/accessibility

Some articles to read: http://juicystudio.com/article/choosing-an-accessible-cms.php

Other things you sould consider when using a CMS is if there is an active community.

I hope you will have some use for this Roger. I tried to live up to the "Be willing to give back" post you published yesterday. :D

15. February 7, 2008 by simon

Forget Joomla all the sites look the same and its really bloated, I use modx, it's really the best open source cms system I have used (I have tried almost all of them), and can create clean code, or as clean as you wish to make it.

Expression engine looks really good, but you have to pay for the commercial version.

I see wordpress as more of a blogging tool but it is very good, and you can adapt it.

I'm going to check silverstrip looks interesting

16. February 7, 2008 by Jonny Haynes

Just looked at Drupal now and used the demo. It crashes in FF2 on the PC and Mac. Thats not very standards compliant is it?

Using Wordpress is good for small projects like Roger says, but for larger ones there needs to be something better.

17. February 7, 2008 by Arpan

I'm a designer, and I was disappointed with the different CMS's available.

But recently, I decided to start learning Django, and I've found that it is extremely powerful. And with it's Admin interface it makes a wonderful CMS. You are in full control of the HTML & CSS, the admin interface allows you to user all types of data, not just plain articles. Just thought this could be something you should consider.

If you prefer Rails, there are similar admin interfaces that can be used with Rails as well.

18. February 7, 2008 by Arpan

I think I also remember that you had learnt Python for a previous project, so picking up Django ought to be a lot easier for you. (It's taking me time, as I have to learn Python too)

19. February 7, 2008 by Ellen

I'm not an expert on CMSes, but I'm really fond of Symphony. Probably not suitable for complicated sites though.

20. February 7, 2008 by Alex

I'm a standards-centric designer, and have also been very disappointed with the range of CMSs available today. Every one seems to be a compromise, normally between accessibility, ease of use (very important when handing over to non technical clients) and features.

However, I've recently come across TYPOlight and have been blown away. It's LGPL, has tons of well organised features, an extremely clean admin interface, a good developer community, and a well documented API.

I know I'll be using it.

21. February 7, 2008 by BulletProofPoet

I've used Exponent (http://www.exponentcms.org) on a couple of projects, and really like it. It's PHP-based, templates are easy to create (so can be as standards-compliant as you like) and all module output is created using smarty templates (http://www.smarty.net/), so these can be easily customised as required.

I re-wrote a couple of the navigation templates a while ago to use floated divs for horizontal menus instead of tables.

It may be worth a look, Roger.

22. February 7, 2008 by Spir

I work myself in a OS Web oriented company. We are working a lot with EZPublish (for PHP CMS) or Jahia (for J2EE). If your projects are not that big Drupal will be better. EZPublish will be the solution for big project. About the Portal the only solutions I know are in Java : http://portals.apache.org/pluto/ http://www.uportal.org/ And the one you talk about. The only PHP Solutions are PHPNuke like (PHP Portal) but they are not very nice.

23. February 7, 2008 by Lee Jorgensen

I'm using ModX now for all my projects after checking out a few of the other contenders on http://www.opensourcecms.com

To answer your questions:

How easy/hard is ModX to develop for:

a sharp immediate learning curve that flattened out very quickly. Once you get your head around the architecture and terminology it's remarkably straightforward – no pain, no gain!

How easy is it for clients to create content and administer their sites: A couple of hours demo and training usually does the trick even for fairly technophobic clients I find. I’ve recently been making good use of the ManagerManager plugin which allows you as developer to hide unused input fields and code chunks by user group so you don’t need to keep using the “pay no attention to that man behind the curtain!” spiel in training sessions anymore – your clients see only what you want them to.

Any problems creating standards compliant accessible sites: None whatsoever – total control over templates and sub –templates (chunks) mean that ModX spits out the code you want it to, where you want it. There is total control over HTML, CSS and Javascript – no black boxes, everything and anything can be changed. There’s also a very supportive growing user community providing support and also recently added commercial support service.

Accessible admin interface? I have to admit I looked to hard at this angle but I believe there are big advancements coming in the next release (0.9.7) that will address many of the backend interface issues that users have commented on in the forums.

Anyway, that’s my tuppence worth – ModX, like garlic bread, is the future…

24. February 7, 2008 by Michael Eichelsdörfer

I have looked at many systems, but I have used only Expression Engine (EE) and Symphony to actually build websites. EE is feature-rich, it is clearly documented, and the team (programmers and support) does a wholehearted job. But using such a huge admin area, having to dive deeper and deeper just to change a small bit of your site logic is not always fun... EE is not open source (but it is worth the money).

Symphony 2 is more fun. This system does not use its own special template language, nor does it bother you with a big admin area. It is built around XSLT as templating language, it is small, fast and extremely flexible (including extensibility via APIs). At the moment version 2, which will be open source, is in beta stage. (In the main forum you will find a link to the beta forum.) Symphony 2 looks very very promising.

So here are my answers for Symphony (version 2):

  • It is easy to develop sites if you have learned XSLT
  • creating content in the backend is very easy, because the pages will be customized to the content you actually need for a content section (fields may be text input, checkboxes, select boces etc.)
  • standards compliance is easy to achieve; (plus: PHP's XSLT parser will "assist" you in throwing errors if you do not care...)
  • the backend is using AJAX, and so it is not accessible. But it will be rather easy to build front end editing pages/tools for Symphony 2
25. February 7, 2008 by Andreas

I'm using Radiant (http://www.radiantcms.org) in two projects att the moment. I really like it becaused it is focused on content and not on all the fluff around. The backend isn't that good for bigger teams, but I think it would be pretty easy to fix that.

26. February 7, 2008 by banal

Last year we did a (shallow) evaluation of Drupal, Typo3 and MODx to find the CMS we'd like to use for our Website.

Typo3 was out of competition pretty soon, simply because it was too complicated to administrate and we didn't want to learn "typoscript" first.

Drupal and MODx were in the "final" round but MODx just seemed better to get started (for example you can just start creating documents in the Backend whereas Drupal needs way more steps for a good setup).

Apart from the Multi-Language issue that isn't covered so well with MODx, everything went fine and we were able to bring the site online on time. And believe me, the schedule was tight.

Here are some pros for MODx:

  • Very customizable/extendable
  • You can get stunning results if you're (X)HTML/CSS and PHP savvy (that might be a con for others, since it might cause you trouble if you're not into web programming that much)
  • It has a great supporting community over at http://modxcms.com/forums/
  • It's easy to create SEO sites with valid markup
  • Backend is really easy to understand even to novice users. We had several People who didn't have any previous Web-Publishing experience working with the MODx Manager. Thanks to the fine grained access controls we were able to hire external Translators that translated parts of the Site for us directly in the Manager.

Cons:

  • Might not be so easy if you have no idea about HTML/CSS. Requires PHP programming pretty soon. Although there are lots of Community contributions/solutins for a lot of common problems/needs.
  • Not very well documented. Docs for Extensions from the community are sometimes hard to find or even non-existent. The forum makes up for this though.
  • No native multi-language support

That's just my personal experience. I think MODx will make a big step forward when 0.9.7 is being released. : Look here for more information on that matter

27. February 7, 2008 by Ole

I second Typolight. It’s a joy to work with.

Very, very clean admin interface and (don’t forget your customers!) its german translation is very good. This is no surprise, the main developer lives in Munich, Germany…

28. February 7, 2008 by Susan Ottwell

This self-taught grandmother uses MODx. It was the easiest of all of them that I tried from *nukes to Drupal. Since then I've freelanced and built dozens of sites with all kinds of custom template designs and functionality from AJAX to XML with no problems. Even my clients are all happy with the management interfaces I can easily customize for them.

29. February 7, 2008 by LucaPost

Great to find out MODx ('Most Promising Open Source CMS' award by Packt Publishing) came out as a preliminary winner in your CMS researches too !

I have been using it successfully for almost 2 years to run our institution's website. Before deciding on it I tested Drupal briefly, and Plone, which made me feel completely stupid and uncapable. I also know my way around with WordPress which I use for a personal blog.

With MODx I implemented a valid/accessible 3-cols css layout, microformats, and we're also using various jQuery modules inside it.

The site is bilingual, MODx provides a module to manage foreign terms automatically, marking them up with the correct <span lang=...; great feature, it would be impossible to have editors understand the issue and remember about it!

  • How easy (or hard) are ModX and Drupal to develop for?

Your plain HTML + CSS go straight into the MODx templates. Anything else you might need is managable with standard PHP/MySQL. Many ready made PHP snippets are available on the MOdx website; the Dev Forum is a great resource to learn using and adapting them to your needs.

  • How easy (or hard) is using them to create content and administer websites?

A medium-skilled CSS designer and PHP developer will feel at home from the start.

  • Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes?

As described above, this is 'the fullest control' I could find amongst the CMS I tested, this issue was very crucial to me in choosing MODx over other CMS packages.

  • Are their admin interfaces reasonably accessible? If not, can they be made accessible?

Ouch, the current admin Interface is Frames&Tables based; but I believe the 1.0 release will take care of this also. It should be available in a few months.

30. February 7, 2008 by Justin

I use MODx, and have built about 10 websites using this excellent CMS.

Each time I build a new site I always find more amazing features.

Its as flexible as the developer who uses it and there are a wealth of snippets and modules already written that can be deployed in minutes.

10 out of 10 MODx!

31. February 7, 2008 by Adrian Simmons

@Roger I've been using Drupal for the last 3 years, so can't comment about anything else. There's been some other excellent comments about Drupal so I'll not rehash to much.

Black boxes: historically a bit of a problem for Drupal, but there's been major effort to remove them in Drupal 6 (currently at release candidate stage).

Accessibility (and Usability): also an issue, has received a lot of attention in Drupal 6 and will also be a focus for Drupal 7. See http://buytaert.net/drupal-usability-testing

One thing I would say to anyone choosing an open source CMS is that it's not just about picking up free software that you can modify - it's also about the community and what you can give back. Ultimately you'll find it a lot more rewarding if you get involved in development of the software itself, not just treating it as a freebie.

A few more people contributing advice and code to improve accessibility of Drupal certainly wouldn't go amiss :)

One final point to make that is that Drupal is undergoing exponential growth at the moment, lots of people joining the community, lots of development going on - the end result is that there are pretty big changes in every Drupal release, new API's, API changes, interface changes and so on. It's a bit of a roller-coaster ride, but ultimately for the better.

Take a look at Dries Buytaert's list of sites using Drupal to get an idea of what is possible: http://buytaert.net/tag/drupal-sites

@Jonny Haynes what Drupal demo crashes FF? There is no official Drupal demo site AFAIK.

32. February 7, 2008 by Steven Hambleton

I'd go with ExpressionEngine. It isn't Open Sauce but their license does allow you to open it up and modify it to your needs.

Obviously there is no CMS to rule them all but I guess it depends on your needs.

Only then will you know what is the 'best' CMS (for the job).

33. February 7, 2008 by Ole

I'm also using ModX for small to medium sites and i'm very happy with it.

PROS:

  • Fast learning curve
  • Easy to install
  • Full code control in development (and I mean "FULL")
  • Very helpful and polite support forum (Hi Susan ;-))

CONS:

  • It uses WYSIWYG-Editor (TinyMCE) in the "admin area" to change site contents. So you have no more code-control when a clients edits the site :-(

I'm also waiting for the 0.9.7 release (or even better the 1.0).

34. February 7, 2008 by Christian Johansen

I only see one reference to eZ Publish (www.ez.no) which is a great Open Source CMS with as much flexibility as you will need in most projects.

Disclaimer: I'm just a normal web developer with no connection to eZ Publish other than as a user.

Even though you didn't ask for it, I'll address your questions for eZ Publish CMS:

  • How easy (or hard) is eZ Publish to develop for?

The learning curve is a bit steep, but development is painless once you know the system.

  • How easy (or hard) is using them to create content and administer websites?

Pretty easy. Content is stored in a tree structure, yielding logical URLs aswell. Easy to move around subtrees and single pieces of content. One installation can be used for several websites (or intranet, extranet) if you wish.

  • Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes?

Every single piece of output from the system i template based. The standard installation uses XHTML1 and conforms OK, but the semantics aren't that great. Fortunately eZ Publish has a great override-system that let's you override the templates you don't like. If you want you can create ALL the templates from scratch, from simple string output to a full page layout.

CSS, Javascript, Images and other resources are stored directly on the file system, so no problems there either.

  • Are their admin interfaces reasonably accessible? If not, can they be made accessible?

The admin interface is XHTML 1.0, and even though I didn't make a formal analysis, I think it's rather accessible. It is however a not the most intuitive interface, but it still beats most competition in my mind. In addition, the admin is just an interface to the CMS, created just like the site you will create, and if you like you can craft a simpler admin and use that instead. Once you know how to develop a website with eZ Publish, you may use the same knowledge to craft admins or add admin functionality into the frontend for logged in users.

Hope you give it a spin, I have used it several times with great success. My own site is built with it as well, you can use it as a reference if you will: www.cjohansen.no

35. February 7, 2008 by Christian Johansen

Forgot one thing... eZ Publish stores content in "eZXML" which is transformed to HTML by the means of templates, either standard ones, or your own custom ones. The users produce content with a WYSIWYG editor (or without), that produces eZXML, not HTML, and requires content to be well formed.

This is a great feature that none of the other alternatives have.

36. February 7, 2008 by Anders Ytterström

Not sure if it's relevant, but Django is co-developed by Chris Willison, and I think he do sympathize with interface developers.

37. February 7, 2008 by Adam McGrath

Another vote here for Symphony, I've used it on several projects.

It's flexible, light and you have complete control over the markup. Plus the templating language is XSLT (A web standard).

They're in the process of rolling out version 2, which is well worth a look.

38. February 7, 2008 by Peter

I only have experience with Drupal and Joomla (and a bit of Mambo, which is what Joomla forked from).

In my experience, Joomla is very hard to customize and to make it output sane HTML/CSS. Out of the box many components just output table layout, inline CSS and more such nonsense. Lots of code is a horrible mess where business logic is mixed with output and pretty hard to extend. The admin interface looks a bit confusing at first, but you get used to it quickly. I hear they've been trying to make the code cleaner in the new 1.5 version, but I wouldn't bet on it being much better.

Joomla has a very big and active community, resulting in a huge number of add on modules. However, the majority of the community seems to be in the hobbyist/amateur market. This shows in the huge number of security holes that Joomla and its contributions have historically had. If you decide to use it, lock down your server's PHP settings tightly.

As far as Drupal is concerned, I can only agree on the earlier comments about its admin interface being confusing. It's a bit of a CMS by geeks, for geeks, so to speak. The interface is not based on tasks but on functionality and it takes a while before you understand its node-based structure. Once you understand how it works "under the hood", its menu starts making sense.

Drupal is indeed highly customizable and the default HTML/CSS it outputs is quite accessible and standards-compliant in most cases. It's very rough around the edges, though, and you must be willing to customize quite a bit if you want to use it for big projects. It's more of a CMS toolkit for hackers than a complete CMS product you can just take and install as an end-user. Of course this means that the community (which is active and growing at a very fast pace) is quite knowledgeable technically. There are loads of add-on modules for Drupal, too. The documentation is very good.

Hope this info is useful for you.

39. February 7, 2008 by Joram Oudenaarde

One thing I personally have been looking for for a while now, is a CMS that provides a nice amount of control for users who aren't developers, but dó have some experience with xhtml/css.

A lot of CMS's are pointed slighty more towards people with some more experience, but to date I haven't found a CMS that gives the user/admin the kind of easy-to-adjust control like Tumblr's adminpanel seems to do. Nearly all of them require you to get your hands "dirty" with PHP, although you don't actually need to knów PHP itself.

A CMS that gives the admin the opportunity to change the looks by using API for example: near impossible to find, if it exists at all.

A tumblr-like CMS? Chyrp is one of them, but the backbone still makes it rather hard for simple mortals :)

(I would like to mention I can make W3C-compliant xhtml/css websites pretty well, but when it comes to changing a CMS's theme to my liking, I run into a wall)

40. February 7, 2008 by Joeri Poesen

Did I mention that Drupal's interface is fully localized (L10n) and that a set of advanced modules allows content translation (i18n) with translation/publishing workflow?

Drupal 6 core contains most of the i18n module set that you still need to install separately in D5.

41. February 7, 2008 by Sigurd Magnusson

I might be a little biased since I helped create it, but do have a look at SilverStripe because all of your concerns are felt by us. We're constantly seeing the options out there lack in ways like;

a) overly complicated geeky admin interfaces b) non-elegant code to hack (compare with the elegance of Django & Rails conventions) c) simpler systems (e.g moveabletype/wordpress-esque) often lack versioning, security, multi-language, themes, widgets, etc d) Inflexibility of template freedom

And so we designed the SilverStripe platform with usability and technical elegance in mind. You get an admin interface for content authors rather than programmers, and the developers get to hand-craft their HTML and (object oriented, elegant) PHP code.

How easy (or hard) are SilverStripe, ModX and Drupal to develop for? - All let you get something off the ground quickly, although you might find ModX lacking in themes and widgets, and that you will spend lots of time customising Drupal to get the admin interface to work the way you wish.

How easy (or hard) is using them to create content and administer websites? - SilverStripe focuses on reducing the steps it takes to perfrom tasks like adding pages, resizing images, etc; whereas ModX and Drupal expend their effort elsewhere.

Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes? - All permit this, its a matter of ease. We were building web (XHTML, CSS) standards compliant websites before we designed SilverStripe, and so these just drop out of SilverStripe. In terms of design diversity see our themes and showcase , then see that we've built XML sites that feed flash, e.g. TheLowDown depression site

Are their admin interfaces reasonably accessible? If not, can they be made accessible? - We strongly focus on usability (rather than accessibility per se, meaning "reasonably accessible" is certainly a comfortable statement to make).

And finally, there's a swedish translation of the admin interface (along with dozens of others)! We'd like to thank Google very much for inviting us into their Summer of Code program that let that happen.

Read back over the SilverStripe Blog to get a feel for our vision, progress, etc :)

42. February 7, 2008 by Pirkka Hartikainen

I think the whole CMS paradigm is very much passé, while web frameworks such as Ruby On Rails, Django and CakePHP are a better option for many projects. I don't know which frameworks are hot in the Java and .Net world.

Web frameworks are ultimately easier to work with when your user requirements start to grow beyond the straightjacket of content management systems (something that can easily happen even in the very beginning of the project). Traditional content management systems also come equipped with TONS of functionality that is plain unnecessary for most clients.

Out of the existing options, Drupal is the one I would probably choose if wanted to pick a CMS for a project. It's the one I've heard most good things about and what sensible people seem to be using.

I have consulted on CMS systems for living and was part of a team that built a commercially available CMS that still sells 7 years after it was first written.

43. February 7, 2008 by Maaike

+1 for MODx. I've built 6 or 7 sites with MODx and I really like its templating system. Basically you just write your own html and then replace the content with MODx tags.

PROS:

  • templating is a piece of cake, outputting clean code is not a problem

  • there are plugins available that can do all sorts of things, but it's also relatively easy to create new ones (if you're a php programmer)

  • large and friendly user base

  • my clients find the back-end easy to work with

CONS:

  • no out-of-the box multilingual capabilities

  • back-end not fully accessible

  • the documentation is incomplete and scattered all over the place (site, wiki, forums...), there certainly is a learning curve. I found it worth the effort, though :-)

44. February 7, 2008 by Nick

Around 18 months ago we evaluated many CMSs, and eventually chose ModX as our standard CMS.

It gives us absolute control over the output -- whether it's outputting XHTML, or various XML formats (e.g. to integrate with Flash, etc.).

The admin is by far the easiest and most straightforward of any CMS we evaluated, as previously commented we can have clients trained and using it within an hour.

I wrote the ManagerManager plugin Lee mentioned, which helps to make admin-ing much easier for non-technical users, as we can hide everything unneccssary.

However I do not think it is an accessible manager in any way -- using frames and javascript (it won't work with JS turned off) - it depends how much you feel you can compromise.

45. February 7, 2008 by Shane

MODx all the way here. I did the CMS rounds and was very disappointed in what was available, no solution covered all of my needs ...until I found MODx that is. I won't be specific about the competition since they each have something of value, however none offered an extendable, flexible and complete solution as MODx. The only problem is that once you start using MODx there is no way to stop.

What sets it aside from the rest is that it is not simply a CMS and is not designed to be just a CMS. It is often referred to as a CMF (content management framework). Another thing that sets it apart is that MODx will not dictate how you do things (as most other CMS's will), in MODx there are many solutions ranging from simply using an existing user contributed snippet (modx's answer to the widget) to coding a complete custom solution (which any php enthusiast can do). MODx's flexibility was a fundamental factor in my decision to embrace this solution and I must say that there is no longer any competition as far as I am concerned...and it will just get better as the project matures.

46. February 7, 2008 by Franck

A big vote for Symphony. I can't say "Content Management" if I'm unable to create my own types of content. Symphony allows you to do this. With XSLT templating, you can have the front code you want. The admin is also very simple and well made.

47. February 7, 2008 by Jay Gilmore

After hacking several Wordpress installs into submission and fighting with Mambo, Drupal and Open-Realty to just build a site with a straigforward HTML/CSS exterior, I found MODx. I have become a bit of a MODx nut.

Here is the beauty of it:

  1. Build static or Copy your (X)HTML/CSS (or tag soup--not that you would Roger) templates into the Template section of MODx.
  2. Assign specific templates to specific pages or sections of your site.
  3. Place your CSS, JS, other scripts wherever you want. Just reference them as you normally would.
  4. If you want to create a custom function there are API hooks for many controls for MODx and its DB as well you can write your own PHP scripts that can be used to extend MODx.
  5. Built in caching.
  6. Choice of backend RTeditors TinyMCE (preloaded), FCKEditor or None. Integrating others is at your skill level.

One of the issues that will likely go away in 0.9.7 is the non-Accessible/invalid (W3C) manager interface. In addition O.9.7 allows you completely customize or redesign whatever you want inlcuding the JS actions of the interface.

What really turned me from a MODx user to a MODx Evangelist is that I can work the way I want. If I want to edit a live site I can. I don't build any static sites any more for anyone. Even if the client wants me to manage the site I will build it on MODx and edit/update content and features as needed.

Wordpress is easy to set up but building templates requires calling functions in the template and messy multipart loops. MODx's parser handles all that so despite what many people see as a long learning curve to build a site it is actually that they are faced with much freedom to do what they want.

Often people come to the MODx forums asking things like, "Where to I put my CSS files? How to I make my template valid" the response is always, "Wherever you'd like. However you'd like."

Just insert the appropriate tags or references to the included elements and away you go.

What I really liked is that building addon elements I could write it pretty much however I want. If it is a piece of procedural code that echos an element or a whole OOP mini-app to work with MODx I don't have horribly rigid addon syntax to learn. I just write php.

Where MODx lacks currently is documentation for WYSYWYG designers who want to setup a blog in 5 seconds (although custom builds are coming in future releases of MODX). And some of the organization of the documentation being spread between the Wiki (0.9.7s prerelease docs are shaping up nicely and the API will docs will be exhaustive) , Docs and the forums and Addon author sites can be frustrating but you'll not find a friendlier bunch than the MODx community.

48. February 7, 2008 by Louis Simoneau

Hi. I'm going to wholeheartedly recommend Drupal. In terms of ease of development, it's leaps and bounds above anything else I've worked with. If you're a developer, the Drupal API is godly. If you're concerned with standards, ditto. Every (every) function in drupal that spits out HTML can be overridden in your theme, so you're never stuck with ugly or broken HTML that some developer decided on.

In terms of ease of use for content management, it's a little less user friendly than other systems (like WordPress, for example), but I think that simply comes with the territory of being so complete. No problems with accessibility that I know of, and if there are, like I said, all the output is customizable (even for the admin interface).

Sorry to hear about your experience with Plone. I tried that once too, but as I recall it took me two days to figure out installation and a basic theming function, and then I gave up.

49. February 7, 2008 by Ryan

Drupal has one huge problem. Documentation. Oh, and clunky code. Customizing anything feels like you hacking it.

I can suggest ExpressionEngine, or Codeigniter (framework). Complete control. Code is organized. Documentation is superb.

When people tell you Drupal "can do anything", you have to remember you can make any code do anything. Problem is it's just one big hack of a mess.

50. February 7, 2008 by Brian

I would look at ExpressionEngine. EE is more of a framework than a blogging engine. If you think of each 'blog' as a separate database table, then the possibilities are limitless. Documentation and community support is top notch.

www.expressionengine.com

51. February 7, 2008 by Tim Shortt

A quick point of clarification is in order:

Expression Engine is open source software. It just isn't free. There's a difference.

http://en.wikipedia.org/wiki/Free_software

52. February 7, 2008 by EC

You might want to get in touch with Roxen. Not for free but versatile and just about anything is possible.

Might come in handy for you: they're in Sweden too ;) (Linköping, www.roxen.se) They just got Metro started, first in Sweden, now in Holland too. Besides them, many other respectable companies use Roxen CMS too.

Depending on the size of the website (and/or back-end data connections) you might consider giving them a call. Tell them I said so ;) (and no, there's nothing in it for me!)

53. February 7, 2008 by Shaun McCormick

As a core 097 developer on MODx, I'd like to make a few comments. I'll try and be objective as possible.

I've worked with both MODx and Drupal (as well as other CMSs). I've found MODx to be far more flexible, and Drupal to have more pre-built options out-of-the-box. Drupal fits YAPS profiles, MODx fits flexibility and do-it-your-own-way Framework profiles. Drupal has a lot of pre-built things for you that will let you set up a robust site quickly. That's it's strength. However, it's weakness is that if you don't fit the Drupal mold, or want to do advanced customizations, it takes a lot of time to figure out how.

You'll find a lot of people telling you that "you can override the functions in Drupal that output HTML." Here's the thing: MODx doesn't do that. You spit out the HTML - however you want it. MODx works with things on an abstract level - templates give you the vehicle (not the parts!) to put XHTML and CSS on your site. You can make it nearly as close to a static site as you want in terms of the header/footer (or a site that doesn't even form with header/footer, etc, if you like!). There's no limitations on design schemes in MODx.

This brings me to a further point. There are no Themes specifically built for MODx. People who say they build themes for MODx really mean that they build CSS/XHTML themes. Because, if you look, that's how MODx works with templating. Your XHTML/CSS, templated across the site. Period. No constraints. No definitions. Your way.

So, to your questions:

Q. How easy (or hard) are ModX and Drupal to develop for?

A. If you can code PHP or XHTML/CSS, you can do it in MODx. For PHP scripts (called Snippets in MODx), you can use the MODx API, or not use it. It's your choice. I've run MODx with it's own API, and I've also run it including my own API (yes, this means you can pretty much straight incorporate PHP scripts into it).

Q. How easy (or hard) is using them to create content and administer websites?

A. Drupal has a confusing manager interface because there's lots of framework ideology to learn, design concepts, and the navigational structure (imho) is cluttered. MODx has it's quirks, like any other, but I've found it much more intuitive.

Let me further this point: Where I work - the University of Texas at Austin, College of Education - we're currently deploying MODx for our current website. This means a few things: one, we needed a CMS that education faculty and staff could learn and understand. This means it had to be simple - very simple. We also needed something that to them, felt intuitive and made sense. And we needed something that let them design their pages however they want.

And finally, I needed security - I didn't want some administrative assistant somewhere to mess with another department's pages.

Drupal provided the security, as well as the power to do a lot of the out-of-the-box features - but was a pain in the arse to try and customize, and scared the crap out of some people in its "too deep" manager interface. MODx was simple, easy-to-learn (it took 1 hour-and-a-half long training session), had a WYSIWYG editor built-in (as well as a front-end editor), and could do all the security things we needed. We're using MODx to deploy the 2000+ page / 30+ content editors (people) website now.

Q. Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes?

A. Drupal does, but you have to override a lot of things, and work at it for a while. You have to work within Drupal's "mode of operation" (meaning learning all of its terms and sections and what "nodes/blocks/menus/modules/themes" mean and how they work.

MODx offers full control - immediately. It never purports to do otherwise. Templates give you straight XHTML/CSS access to design the layout however you want. Template Variables allow you to do the same thing in dynamic content.

Q. Are their admin interfaces reasonably accessible? If not, can they be made accessible?

A. From what I've seen of Drupal 6, it looks pretty accessible. I'm not sure about Drupal 5. MODx 0.9.7 uses Ext2, and will be XHTML compat. It allows full control over manager templating, so we're confident a full 508/Jaws-compat manager (if the Ext-powered default one doesn't for some reason; I haven't tested it on Jaws and like clients yet) can easily be created. MODx 0.9.6 is not accessible, from what I know, but again, has customizable manager templates that you can easily modify.

Summary

Drupal is a YAPS - a great out-of-the-box portal system. It has a lot of pre-built options, but like any big pre-built-provider, that means you have to work with Drupal's system to do what you want. It takes some time.

MODx allows you to immediately have full control of the XHTML/CSS that goes to what your visitors see on your website. It doesn't insert anything in it. You do. So the "does MODx create HTML/CSS-standard websites" question doesn't apply here; MODx does what you do with it. If you don't create standardized websites, it wont. If you do, it does.

Hope this helps.

54. February 7, 2008 by Matt

I vote for secret option number three: Expression Engine.

Beautiful, elegant, clean, efficient and a designers dream. Build your site exactly the way you want, standards compliant and all, then just wrap the EE code that you want around your design. Doesn't get much simpler.

I used to use Drupal and Joomla, but about an hour with EE and I never looked back.

It IS Open Source, but it's not free. At the same time if you can't afford to plunk down a paltry $250 for the corporate version for a business site you are building, then perhaps it's time to consider how well your business is actually doing.

55. February 7, 2008 by Christophe

Have a look at Textpattern. Being a designer it is very easy to customize, no PHP needed, it works with build in tags. You even don't have to learn them, with 3-4 clicks you can make your own personilized tags. Very powerful with the "if individual article" property you can customize each page like you want it to be. Very easy to style with the modules where you can insert html code combined with the TXP tags and insert them in the template. Also possiblity to create custom fields which is very helpful. And a lot of great plugins with a very helpful userforum. Looks like TXP is always forgotten between the open source CMSes, maybe because the lack of publicity of it.

For me the best CMS all time, no big learning curve, easy-to-use and you can use it for sites with over 1000's of pages like I do and just sttyle them exactly like you designed them.

http://www.textpattern.com/ http://textpattern.org/ for the resources.

56. February 7, 2008 by Beat Beer

After going through testing most of the well known CMS's like Typo3 Mambo, Joomla ect. I desided to use MODx. The more I do in MODx the more I get addicted to it. Just released a accessible WAI AA Site with no hassle at all. Also my clients are getting immediatly used to the backend and like to work with MODx. A great feature is QuickEdit which for a lot of clients makes it not even necessary to go into the backend. To edit and adjsut content, they can simply do this in the Frontend itself.

You want a hassle free CMS, I think MODx would have to be your first choice.

57. February 7, 2008 by Sammy Hendrick

Well I work for a company and we've been developing an open source java based platform that sits on liferay. It's called dotCMS and the nice thing is pretty much all of the HTML comes from the user putting together the site. It uses velocity to pull out dynamic listing of content. It also includes the abillity to create content structures (same idea as CCK in drupal), so that users who need to enter content can fill in a simple form. There is also categorization of content and even the ability to create relationships between content nodes. It scales very well. Most of our clients are universities and colleges that need thousands of users and need to deal with alot of traffic. Check it out.

58. February 7, 2008 by Sammy Hendrick

oopps.. it's dotcms.org

59. February 7, 2008 by craig

Just want to reiterate the recommendation that you look at Symphony, especially version 2, which is in beta and will be open-sourced once released.

I've used almost every other CMS mentioned here (Drupal, WP, Textpattern, Expression Engine, etc.) and have come to prefer Symphony for just about every imaginable project. I haven't seen anything else as flexible, or that gives you as much control over your site's architecture and design layer.

Switching to Symphony was like when I first switched to CSS.... remember that feeling?

60. February 7, 2008 by Mark Ferree

I've been through quite a few of the above options mostly as a front end developer.

My first CMS site was done with Joomla, it was an extremely frustrating experience, and I ended up purchasing a template to meet a deadline after trying my own theme for several weeks.

After that I moved on to ModX and was much happier with the template system and had a decent site up and running very quickly.

In between I had customized a few Wordpress installs, but Wordpress should really be left for blog only sites in my opinion.

I was hired by a company using Drupal as their CMS around this time, so all though I was happy with ModX I haven't touched it in over a year.

My year with Drupal was frustating for the first month or two trying to understands Drupals unique logic and way of doing things, but after that I've been more than happy.

One huge benefit of Drupal is the massive number of contributed modules available. It is definitely possible for a non-programmer to string together a very interactive and custom site with contributed modules without ever touching a line of code.

As I've gotten more involved I have been spending more time modifying the themable functions mentioned earlier as well as writing a few of my own utility modules to create custom behavior, as well as modifying contributed modules as needed. The Drupal documentation is sometimes lacking, but I would say this is a problem with every open source project (with PHP as the possible exception). There are two relatively new books out (Pro Drupal Development, and Drupal 5 Themes) that make the learning curve way less steep.

The non-stop addition and improvement of API's both user contributed as well as part of Drupal core makes using the powerful functionality of Drupal less of a chore, and feels more similar to using something like CakePHP than writing your code from scratch once you get the hang of it.

I've never had a problem creating a standards compliant site with Drupal. I would say that overall Drupal core is 99% compliant, and it is usually only contributed modules and themes that introduce non-standard code. If you're writing your own theme, Drupal will provide you with reasonably clean HTML blocks to theme. As mentioned previously the admin is fully themeable and the underlying markup is accessible. The addition of a lot of jquery to drupal core may change this slightly, but none of these scripts will be necessary for the administration interface to function.

Overall I'm a huge Drupal fan now, and would barely consider using another CMS for any project I'm presented with, every time I've seen a problem with the way something works, its been improved in the next version.

61. February 7, 2008 by craig

Oh, and Symphony is based on XML and XSLT. Super easy to feed data in and out. No proprietary templating language. Plays very well with others...

62. February 7, 2008 by Mark

I'm going to suggest ExpressionEngine. I know you're looking for open source, but it's pretty damn close. It's feature-rich and you can create any content entities you want. I'm building sites storing real estate listings and jobs at the moment, entirely through the EE admin. It's as standards-compliant as you code your freeform templates.

63. February 7, 2008 by Tom

Having used Joomla I have to say I find the interface very difficult and confusing to use. The way components are organised does not seems logical.

This won't help you right now but as a slight aside I have been considering starting development of an open source CMS that is fully standards driven from the start. Rather than just making sure it validates I would like to develop a CMS that is designed with accessibility and usability at the core. As a student a lot of time is taken with studies but it is something that I am hoping to start developing with a friend. I would be very interested to hear what you consider to be the most vital requirements of a CMS are for you as well as where you feel most CMS' fail in relation to accessibility.

64. February 7, 2008 by Rowan Lewis

I'll second Symphony, it gives you complete control over your markup and presentation by using XSLT.

Essentially, you define sections, and data sources which read sections and then create an XML document, which then gets run through your XSLT.

If you want to talk about how awesome it is ;) join: irc.freenode.net/symphony

65. February 7, 2008 by Stephanie Leary

I've taken over an existing Joomla site and it's a total nightmare. Joomla doesn't do RSS feeds or clean URLs without extra modules. Its basic search doesn't include content added by modules -- each module has to come with its own search add-on -- and the search results will be presented in the order the content was added -- not the most relevant! -- without (wait for it) another module. Some of these problems are fixed in 1.5, but most of the modules haven't been updated yet.

The problem with all these extra modules is that they often don't play well together. Then there's the problem of module development itself.

Here's a scenario: You need to add a calendar to your site for your organization's events. You'd like the next -- oh, let's say five upcoming events to be displayed on the home page, with a link to the full calendar. You'd like the full calendar to be displayed as a grid, rather than a simple list. You'd like people to be able to subscribe to the calendar via the iCal standard. Your content authors should be able to add events from the administration screen just as they do articles.

Simple, right? These are the basic features you'd expect of a calendar function. I'm not asking for multiple calendars, categories, importing, or anything fancy like that. But I can't accomplish this goal in Joomla. The closest module, JCal Pro, does everything but the iCal export, which is crucial. Other modules will give you a list of upcoming events and the iCal feed, but only if the events come from some other calendar site, like Google Calendar or a separate phpicalendar installation. Other modules will allow you to register attendees for events -- something I'd love to do! -- but not display the events in a sensible manner. There are in fact dozens of event/calendar modules for Joomla, but not one of them encompasses all the basic requirements of a calendar.

Now, calendaring is hard, and a lot of CMSs get it wrong. However, this scenario is typical of Joomla module development in general. Unlike Drupal developers, Joomla developers don't work together to create one calendar module that works; instead they each create their own incomplete modules. There are two problems here: one, there's no central code repository for modules, where patches and suggestions could be offered, other than the forum; and two, there's a booming business of commercial module development -- JCal Pro, for example, isn't free -- and there's not much incentive to collaborate when you want to charge money for your end product. The end result, though, is an open source project that isn't open. Developers can't contribute to the better modules; instead they have to start over. And the poor website owner spends hours combing through the extensions, only to find that what she needs doesn't exist.

I could name half a dozen examples other than calendars. Blogs with comments and categories, for example, are virtually impossible to create in Joomla without a (defunct) plugin that integrates WordPress!

And Peter@38 is right about the markup -- even if you do develop your own standards-compliant template, it'll be injected with crap as soon as you add a module.

I'm planning on moving this site to Drupal as soon as possible, since I've used it in the past and I know its little quirks, but I'm looking into some of the other systems mentioned in this thread as well.

66. February 7, 2008 by Rene Heroux

I've been pondering this same question as well. I'm about to dive into redesigning a real estate website and the CMS I've been looking into right now is Textpattern (Christophe mentions it above).

It seems to have a very small footprint, it was very easy to install and it's also really easy to lay your website out normally and then "splice" it into Textpattern.

However, I'm worried about how hard it might be to get the actual code that deals with adding/editing real estate listings jiving with Textpattern.

I'd like to pick just one CMS and have it be the CMS I go to from here on out.

Has anyone here had experience with customizing Textpattern to work with heavy PHP/MySQL customization like this?

Thanks!

67. February 7, 2008 by Anton Andreasson

@Rene: Textpattern has only one type of content ("article") and depending on how you define "content management" this is a bottleneck. However, you can add 1-10 custom fields to your article and thus expand Textpattern's use to online stores etc, using plugins.

Biased as I might be, I find it a great relief to work with Textpattern since is has most "modern" things built in: RSS, nice separation of content and presentation and a smart way to reuse code snippets ("forms") between your templates ("pages").

Textpattern will never be as low level as Rails though. I think this is what Roger (or at least I) want the most. Something like Textpattern but with a choice one level above the Write tab: "What do you want to create?", giving the user a list of different types of content, be it an article, a blog post, an event etc. All predefined by us developers for that particular client/website.

I cannot guarantee you'll be able to use Textpattern for "real estate listings" though. And I wouldn't encourage modding the code to do it, at least not if you plan to keep upgrading Textpattern. Drupal might be a better choice if you want to create a layer between the core application and the admin interface.

cheers,

/Anton

68. February 7, 2008 by Peter B.

How easy (or hard) are ModX and Drupal to develop for? Easier and more robust than Drupal or Joomla 1.5

How easy (or hard) is using them to create content and administer websites? Easier and more powerful than Drupal and Joomla 1.5

Are there any problems creating fully standards compliant and accessible websites with either system? Do they allow full (and I really mean full) control of HTML, CSS, and JavaScript or do they contain uncustomisable black boxes? I have no problems whatsoever with creating completely standards compliant sites. For the life of me I cannot understand why the Joomla devs insist on 100% width tables to hold the HTML output. It makes no sense at all.

So I'm done with developing Joomla and Drupal sites. Done. There will still be a market for them, just like their's a market for gasoline even though renewable energy is a far more compelling options.

And MODx is just that: far more compelling. It has taken me 2+ months to de-program myself and learn MODx's superior, flexible and straight forward way of getting things done.

3 things I love about MODx: 1) No more menu building. I've wasted hours explaining to clients how Joomla builds menus. It's nuts. MODx builds them automatically, or you can choose to not have them in the menu (and there are very good reasons for that). 2) Web standards compliant features. -Bye bye td="tablecontentheading". Hello h1, h2, h3 tags! -Awesome ultra SEF URLs no matter how much the Joomla devs protest that their router is better. -Awesome meta tags and keyword controls. With Joomla you're stuck with the meta tags they toss in carelessly, or with the tags that come with the template. MODx: compeltely customizeable for every single page you create and using the same template. Amazing. 3) Foxycart. Period. Finally an eCommerce app that will run on your server or theirs. Better and more easily administrated than PayPal. No more horrible VirtueMart. No more waiting for other apps to get upgraded. No more messing with complex shipping modules. More control, faster turn-around time. I think I can get an eCommerce site of 20 products and content up on a MODx site in 8 hours compared with weeks of tweaking the horribly bloated VM code, and that is if you have the time to burn to find the correct file in the first place.

Are their admin interfaces reasonably accessible? If not, can they be made accessible? I think MODx is pretty straightforward. I try to stick with clients who are reasonably bright and not afraid to "mess up". MODx is almost too simple, especially compared to Joomla's back end. In MODx everything righ there in front of you, ready to create content. Bye bye Sections, Categories. Hello common sense directories and auto-menu building.

69. February 7, 2008 by Geof Harries

With ExpressionEngine 2.0 looming on the horizon, now seems like the perfect time to start learning and using this fantastic product. I've been able to achieve so much with EE over the years that I can't imagine using any other CMS on the market.

70. February 7, 2008 by Dan

Just thought I would clarify something that wasn't immediately obvious to me:

Symphony, the "Web Publishing System" is different than Symfony the "Web PHP Framework".

At first I thought everyone here was talking about Symfony, which I already knew about, so I didn't really give it any thought. But after seeing the positive comments I figured I'd give it another look and realized it's not what I thought it was.

71. February 7, 2008 by punker

Take another look at Plone. I too had a hard time with it a few years ago, but the improvements that have been made are incredible. I just installed Plone 3.0. The administration side didn't change much, but there is true power with managing a Plone site that your customer will love. I'm still in awe of the changes they made.

72. February 7, 2008 by Duncan Lock

I would go for MODx - what others have said is true for me too - I don't develop static sites anymore either. I just use MODx for everything - it's flexible enough to cope with this easily, and it's much easier for everyone - even if the client doesn't want or see the CMS.

Maybe some code would answer your questions best. This is the MODx template used for the product pages on one of our sites.

This is one of the pages that uses this template: http://www.logic-office.co.uk/index.php?id=75

In the template {{these}} are chunks - canned re-useable bits of HTML (that can contain nested vars, chunks, etc) and [*these*] are template variables which users creating/editing the page can fill in. These get their content output into the returned page. E.g. [*content*] outputs the content of the 'content' variable - which contains the page's content. You can create your own variables and assign them to templates. Var's can contain pretty much anything - e.g. these variables [*small_product_image_1*] contains pictures.

This: [!Ditto? ... !] is a call to a snippet - a bit of PHP which does stuff - in this case builds an index of sub-pages and outputs the results, using chunks of your HTML code to output each item.

Anyway, you don't need to understand all the details to appreciate that you control all the code which is output to the browser - the template contains everything and is very flexible. You don't need to hack anything or much around with PHP or whatnot if you don't want to - you can do most sites just using code like this, which you can create using whatever your normal HTML work flow is.

Here's the template:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> {{logicpagetitle}} {{logictemplatemetatags}} {{logiccommonstylesheets}} {{logicproductstylesheet}} {{logiciefixesstylesheets}} {{logiciefixes_scripts}}

<body>  
    <div id="container">
        {{logic_page_header}}

        {{logic_navigation_column}}

        <div id="content_col">
            <!-- Top Page copy -->
            <div id="top_nav">
                [!Ditto? &startID=`[*parent*]` &sortBy=`menuindex` &summarize=`all` &sortDir=`asc` &tpl=`product_page_top_item` &tplCurrentDocument=`product_page_top_item_current`!]
            </div>

            <div id="content">
                <div id="main_image_div">
                    <a id="large_product_image_3" href="[*huge_product_image_3*]" rel="lightbox">[*large_product_image_3*]</a>
                    <a id="large_product_image_2" href="[*huge_product_image_2*]" rel="lightbox">[*large_product_image_2*]</a>
                    <a id="large_product_image_1" href="[*huge_product_image_1*]" rel="lightbox">[*large_product_image_1*]</a>

                    <div id="image_text"><p>[*small_product_image_1_text*]</p></div>

                    <div id="small_images">
                        [*small_product_image_1*]
                        [*small_product_image_2*]
                        [*small_product_image_3*]
                    </div>
                </div>

                <div id="product_table">
                    [*content*]
                </div>
                <br style="clear: both;" />
            </div>
        </div>
    </div>
{{google_analytics}}
</body>

73. February 7, 2008 by Charlie Fiskeaux II

I have experience with Mambo (kissing cousin of Joomla), Drupal, and Textpattern, and I highly recommend Textpattern. Mambo (and thus Joomla, I assume) is bloated and difficult to customize. Drupal is definitely by and for programmers, and is very complex, resulting in black boxes. If you choose Drupal, you had better be prepared to live and breathe Drupal for a month or two to learn the system and learn how to customize it. It's extremely flexible, but extremely complex. The thing which makes me not want to use it, however, is the black boxes. In a recent, very complex website I have been working on with a PHP developer new to Drupal, there is a plague of uncurable div-itis, sometimes with as many as ten nested divs due to the way Drupal nests its blocks and panels. Another issue is the footprint. Drupal is very heavy due to its complexity, and this PHP developer I'm working with was getting 3-4 second load times on most pages, forcing him to implement a manual disk-caching mechanism.

I strongly recommend Textpattern for its simplicity and elegance. Yeah, it only has one content type, but it uses "forms" which are elements which allow you to display that content in whatever fashion you want, resulting in almost as much flexibility as Drupal. If you need more flexibility, you can develop a plugin, which is easy to do due to Textpattern's simplicity. The best part about it is that it outputs excellent, elegant code, with absolutely zero chance of black boxes because it only outputs what you tell it to output. Also, the admin interface is so simple and elegant that it's easy for non-techy people to use, and it's completely separate from the site itself, unlike Drupal, which combines the front-end and back-end, resulting in confusion. I'm not positive if the back-end is accessible, but I'm 99% sure that it is, due to the simplicity of the whole system.

74. February 7, 2008 by dusoft

I would recommend looking at: Absolut Engine CMS / framework in PHP with MySQL.

Although more of framework with modules, it does not have any HTML/CSS output. It outputs the clear text from DB system) and it's up to you how to handle it (put it into your design with your XHTML/CSS) - e.g. no templates as PHP functions themselves are templates.

supports clean URLs (search engine friendly URLs), bunch of modules ready.

75. February 7, 2008 by Mark

From a designer to a designer who also uses Movable Type: the so-called "powerful and easy code hooks of Drupal" are nothing but easy. I came to love Movable Type's templating system only when I tried to modify the code that Drupal spits out.

76. February 7, 2008 by Maniquí

Obviously, I haven't tried every CMS out there, but I have tried and worked with Textpattern, Wordpress, Joomla, Drupal (and CivicSpace), and also with frameworks (Zope and Django).

First, I'm not a programmer. My expertise is coding (x)HTML and CSS (and a bit of JS), converting graphic designs into tangible websites. Of course, I don't do static websites anymore, so I looked for a CMS that was an empty canvas, without black boxes, with basic functionality but also extensible if needed, and a simple back-end.

Textpattern is my choice, but let's talk about it later.

Drupal is a beast, and as someone said above, it suffers from div-itis and class="block-block-block-328", and the front and back-end are merged, making it difficult to understand what your visitors could really navigate and read. Also, I didn't like that Drupal tried to re-invent some web terminology ("Everything in Drupal is a node"). Also, it's plenty of black-boxes and it spits outpre-defined HTML/CSS that you would probably have to undo and redo. I felt that I was hacking Drupal each time I tried to do something. Finally, I gave up: Drupal wasn't for me.

Also, I have worked with Wordpress and I don't get why it is so successful among web-designers/web-developers. First, it's a blogging tool, not a proper CMS. But adapting a design to WP is also a pain: touching PHP code here and there, uploading files through FTP... Also, there are a bug fix releases every time, so maintenance and updating is a pain too.

The last time I played with Joomla, it was a tag soup of nested tables. I didn't enjoy to work with it at all. The admin side is overbloated, not intuitive... and also it seems to be prone to security issues all the time.

Both Zope and Django play in a major league, where strong programming knowledge is needed. But the advantage, I think, is that there isn't any black boxes there.

Going back to Textpattern, it was what I was looking for: empty canvas, no black boxes, small core extensible through plug-ins, a clean and simple admin side. All the content and presentation (templates and CSS) is done through the admin side and saved on the database, so you can work on a TxP site using just your browser. You don't have to touch any PHP file nor use any FTP client (of course, you have to do it during the install process but then, you are freed).

And if you want to extend TxP, you have a variety of plug-ins. Installing a plug-in is as simple as copy and pasting a base64 code into a textarea on the admin side. No files nor FTP involved in the vast majority of cases.

Updating TxP to a new version is a pleasure. It just takes a few minutes and it's a matter of uploading the new version to the server and check that everything keeps working as always (that is what usually happens).

Finally, I find Textpattern community to be very friendly and helpful.

77. February 7, 2008 by Luke

Be sure to let us know which you chose and why!

78. February 7, 2008 by gw

CMS Made Simple is a CMS i'd recommend for it's ease of use. I'd compare it to MODx as far as how the template system works.

I've had some customer complaints about MODx as far as things being overly complicated, and not working they way you would expect. If you're considering MODx, I'd recommend CMS MS as a similar option.

79. February 7, 2008 by Richard

I also recommend Expression Engine. I have used a couple times its very easy to setup and use, and very well documented.

80. February 7, 2008 by Shane

In going over the replies so far, in general I see a pattern here:

If you want a CMS with a gazillion ready made add-ons then Drupal seems to be the winner.

But if you are looking for freedom and flexibility with full control of the output then MODx seems to be the winner.

Just thought that was interesting. Drupal's high point seems to be the number of tools available and MODx's seems to be it's flexibility. Funny how these two have been tossed into the same mix since they are actually very different approaches to content management.

81. February 7, 2008 by SEan Schroeder

We're just about to release an open-source, ColdFusion based CMS (Sava CMS) that has been designed from the ground up with standards in mind and the utmost attention to the needs of a css developer. It's basically a xhtml code generator that supplies dynamic css hooks, making development time as fast as it can be. Sava is an enterprise grade, mid-level cms, is extensible and full featured and has been real world tested in an actual dev environment for real clients (www.heathceramics.com, www.amtrakcalifornia.com, ) for more than six years.

Apologies if this sounds like an ad, we're just really excited about releasing it to more than just our clients (and this post happened a few weeks too soon).

If anyone would like to know when it's released in the next few weeks, please contact us.

82. February 7, 2008 by Oliver

Another Java based CMS is Alfresco. It seems to be very flexible on front-end modifications, and is open source unless you would like to purchase support.

83. February 7, 2008 by Jonah

Phew... A lot of replies and a lot of information to parse. It sounds like this is really a tough topic to tackle and there probably isn't a clear cut answer.

Most of my experience (about 2 years) has been with Wordpress as a CMS. Overall it has been a good experience, however the primary downside is that it is more built out of the box as a blogging platform. One positive that can come out of this though is the ease with which you can integrate your blog and site together. The primary upside of Wordpress as a CMS is that the interface is very intuitive, clean and simple. I feel comfortable and I know my clients feel comfortable navigating the Wordpress backend. The other upside is the availability of plugins and the simplicity of the template system that can neutralize the out of the box blogging downside mentioned before. There are practically plugins to be able to do anything. Sometimes though the support or stability of the plugins can be flaky, but the majority of my experience has been good.

I also tried Joomla! (pre 1.5) and like many other have mentioned, its table markup is horrendous and the admin backend is confusing. Recently though with the release of 1.5 it seems there have been some significant improvements, the table markup is basically gone. Everything is much cleaner now. And the admin interface, after buying a book on Joomla and following through it, has become more understandable. Virtuemart is also set to release a new native 1.5 version that should also improve. Even though it may be complex, I think with all the features that it comes with make it worth the learning curve if you need a feature rich shopping cart solution. The same thing goes for ZenCart. It took me around 6 months to master but it is superior if you need an enterprise level open source shopping cart.

I've checked out Modx and it also looks very promising, but when I looked for a robust eCommerce addon all I found was KiweeCommerce which appears to be kaput. FoxyCart looks ok but I really don't like the idea of a monthly charge.

I've also tried Drupal and Expression Engine but again was turned away for lack of robust eCommerce addons.

That's sort of what it's come down to for me and the only two that stand out are Joomla's Virtuemart and Wordpress' WP e-Commerce plugin. The latter of which has a lot of potential but still has some bugs and can be difficult to fully customize...

So, for now I've decided to stick with Joomla 1.5. The new Virtuemart is due out sometime in the next month or two so I'm banking on that. And ultimately I decide on a project by project basis. Wordpress is great for simple sites but can become a pain to work with on larger sites. Joomla seems to be able to handle the big ones.

A couple other options to keep an eye on (currently in development) are:

Magento

Substruct

84. February 7, 2008 by fwolf

WordPress would work as a proper CMS, if - and only if - it would contain stuff like a seperate menu structure you could assign to each single Page.

Right now I'm using a self-made framework called Likwik CMS that allows me to quickly create sites and admin interfaces. Its heavily influenced by Wordpress thou.

Thats because I've been working with WordPress since start of 2003 by now, thus I like some of the nicities of WPs template system and API around the apps and sites I develop.

I've also started work on a CMS-variation of WordPress but stopped by now because of too much work to do at my job, but also to see how WP 2.5 turns out during the next few months.

cu, w0lf.

85. February 7, 2008 by Crusader

I am wondering why do you say that there are hundreds of options.

In fact, there are only 3 major open source CMS:

Drupal Joomla Wordpress

Choose one, and you can't go wrong.

I recommend Drupal, the new version 6 will release next week. It has a very active community, and over 2000 contributed modules. The security is also top-notch.

You can learn more about the new features in version 6 here: http://www.masteringdrupal.com/screencast/new-features-drupal-6

86. February 7, 2008 by James Petersen

I may very well be missing something, but the open-source alternatives to Plone and Drupal seem to be lacking in the following common (in the business world) requirements for a CMS: content versioning, visual diffs, access permissions based on user roles, workflows based on user roles, workflow creation tools, user activity reports (incomplete tasks, last login, et cetera), content reports (number of pages older than a certain date, et cetera), internal and external link management, content scheduling and expiration, well-documented APIs.

Even Plone and Drupal seem to have "tacked-on" support for these features (though they may have improved since I last checked). Commercial content management systems may be clumsy, frustrating, and inaccessible, but they at least attempt to address business requirements for Web content management.

CMS Watch (http://www.cmswatch.com/) has some coverage of open-source CMS products. You will have to pay to view their Web CMS Report, but their Web CMS Kudos and Shortcomings, Circa 2007 page (http://www.cmswatch.com/Feature/164-WCM-Marketplace) is free and interesting (IMO).

87. February 7, 2008 by Crusader

There is also an easy method how to choose: look at the traffic of these sites, and you will know how big is the community behind each CMS. Bigger community means better software, more modules, more security patches.

http://drupal.org/ Alexa rank: 1200

http://joomla.org/ 850

http://modxcms.com/ 18000

http://plone.org/ 25000

http://wordpress.org/ 650

88. February 7, 2008 by Jay Gilmore

MODx does now have a dedicated eCommerce Module available called TreasureChest Cart (http://www.treasurechestcart.com/) but currently it only supports Paypal. It is by no means a high level eCom app. It is not OSCommerce or Miva by any stretch of the imagination.

89. February 7, 2008 by Jay Gilmore

@Crusader a billion idiots flocking to a site does not mean superior product. I don't think because WordPress has the highest readership that it is better (although it is an awesome, well designed blogging app). Maybe those sites have such high traffic because more people are having trouble trying to make it work and need to spend day in an day out coming back to the site for the forums to make a hack work.

Even though I am a MODxer, many CMS applications are good and whatever works for the developer or their team is the one that you should choose.

One way I will agree with Crusader is that a CMS that no one uses will likely die and then what do you do?

90. February 7, 2008 by Laura Whitehead

Modx. I spent months testing in great detail lots of CMS to test out and use. Specifically for being to be able to create customisable accessible and compliant sites of different complexities with me, the developer in control. Modx has a wonderful supportive active community, and once you get your head around how it all works in the back end, designing your own code handling is fairly easy. Another one, more lightweight (that I blogged about recently) to keep an eye on is sNews which holds up really well for accessibility and standards too and am developing with it for a few sites. Drupal and Joomla, well okay, but if you are looking for freedom, adaptability and for it to work in the way you want to Modx is wonderful.

91. February 7, 2008 by Peter

Try basecmp http://www.basecmp.de/ unfortunately I could only find the german website. Java based, you build the complete frontend, easy to use for both developer and content author. Open Source.

92. February 7, 2008 by Andreas Kaiser

In the last years I've been testing and developing sites with a lot of CMS.

I made a lot of sites with Joomla, but I stop using it because of issues with their generated code (not accessible and full of tables - I was a newbie in accessibility). I think this has been resolved in 1.5

Now I'm creating small sites with modx, because it's really easy to create accessible sites and extend it.

For big projects I use eZ Publish, it really has a steep learning curve, but their online documentation is very useful. It is possible to create 100% accessible front end site (default admin isn't 100% accessible, but quite good and there are projects to improve them).

There is no perfect CMS, just CMS that are better for one or other needs.

93. February 8, 2008 by miaik

Let me put it this way, just download and install ModX, and within 30 min. you'll decide if its good for you, I've tried almost every CMS and let me tell you that ModX is the future, maybe you'll find it too hard to learn (I feel that way) but nonetheless its worth it, you're in complete control regarding anything, with it you could build anything, its really up to you, oh and one other thing, while I was exploring ModX I bumped into wall, so I switched back to Drupal, and guess what, after 1 day messing with it, I switched back to ModX, its maybe a bit hard to get used to it,but its worth it, I now look at it like this, "Learning ModX is like learning to ride a bike, it seems too hard, but once you grasp the balance with it, it becomes so joyfull and you just want to ride it again and again..."

94. February 8, 2008 by Tanny O'Haley

James Petersen said:

I may very well be missing something, but the open-source alternatives to Plone and Drupal seem to be lacking in the following common (in the business world) requirements for a CMS: content versioning, visual diffs, access permissions based on user roles, workflows based on user roles, workflow creation tools, user activity reports (incomplete tasks, last login, et cetera), content reports (number of pages older than a certain date, et cetera), internal and external link management, content scheduling and expiration, well-documented APIs.

I think many are talking about a CMS solution and have not addressed many of the issues of an internal business portal. Do any of the open source solutions out there meet the needs of a portal?

  • Who is the user?
  • What are they supposed to see? Does user A have a different experience than user B because of who they are or the group or division they belong to or their work responsibilities?
  • Can the user customize their own experience?
  • Do they have content versioning?
  • Can they "revert" to a previous version?
  • Is there a workflow implemented where pages have to be "approved" before going live?
  • Can pages automatically expire?
  • Can pages automatically publish on a specific date?
  • Does the CMS part prevent users from entering "bad" code? What happens if a user pastes a Microsoft Word document as content?
  • ...

Are there any open source solutions that meet these needs?

95. February 8, 2008 by James Buckley

Another for Expression Engine, open code but not free. Great documentation, an actual community and tons of useful plugins. The template language is easy to learn and incredibly powerful, the backend is very tweakable and the code base is secure.

96. February 8, 2008 by Liam

Just wanted to point out that the built-in editor alone in modx is larger than the whole of Drupal core. Also didn't love the heavy Javascript dependency/bloat in modx and annoying 'Please wait while MODx loads the page...' lameness in the admin area.

Speed and usability have been greatly improved in Drupal 6. It's small, fast, stable and standards compliant. Have yet to come across a better API, particularly the hooks and Forms API (build forms using arrays, use it once and you won't want to create a form without it ever again). Basically Drupal gives you an excellent base and API, from there add modules from the repository, build your own, or pay someone to do it for you. Drupal is software Lego, add the functionality you need, nothing more. No bloat: full stop.

97. February 8, 2008 by Ryan Cannon

I'm going to suggest that if your data is more complex than what can be handled by WordPress, a CMS like Drupal et al is probably a bad idea. Vanilla content management systems meant to hold arbitrary data aren't really great at holding any type of data. Community-driven products like Drupal often have many modules available, but they're usually of dubious quality. One drupal hacker I know admitted to having to rewrite the entire credit card module because it had some basic security issues. This warning holds doubly true if you have any interest in sane front-end code. Plus in my experience these modules only get you 90% of where you need to go, and that last 10% is the hardest.

A well-written framework with a really smart MVC and RESTful infrastructure—like Rails—will probably be just as quick to develop on and be far more flexible for front-end work. Add a plug-in like active_scaffold for rote forms and restulf_authentication and you have almost everything most CMSes offer.

I had to sound cynic, but in every CMS-based project I've ever worked on, once the CMS was in place it quickly became painfully restrictive to how the project wanted to grow. Plus, you never really know what you're going to need in a CMS until after you're using it—better to build something flexible than a monolithic system that you will quickly outgrow.

98. February 8, 2008 by Roger Johansson

Wow, what a massive response. I didn't expect this many comments.

I won't have time to respond to each comment, but thanks to everyone who has participated in this discussion. It has made me aware of a couple of options I don't think anyone on our team has taken a close look at.

What I am missing from this is feedback on portal software. A "normal" CMS is fine for smaller sites or clients with only a couple of people working with the content. But for really big sites, multi-national corporations, and organisations with perhaps hundreds or even thousands of editors, there is often a need for a different approach. This has been mentioned in a couple of comments here:

James Petersen:

I may very well be missing something, but the open-source alternatives to Plone and Drupal seem to be lacking in the following common (in the business world) requirements for a CMS: content versioning, visual diffs, access permissions based on user roles, workflows based on user roles, workflow creation tools, user activity reports (incomplete tasks, last login, et cetera), content reports (number of pages older than a certain date, et cetera), internal and external link management, content scheduling and expiration, well-documented APIs

Yes, even though they will make a product more complex to use, those are all features that are definitely necessary in many cases. If they aren't there, the product would be regarded as "toy software" by some.

Tanny O'Haley:

  • Who is the user?
  • What are they supposed to see? Does user A have a different experience than user B because of who they are or the group or division they belong to or their work responsibilities?
  • Can the user customize their own experience?
  • Do they have content versioning?
  • Can they "revert" to a previous version?
  • Is there a workflow implemented where pages have to be "approved" before going live?
  • Can pages automatically expire?
  • Can pages automatically publish on a specific date?
  • Does the CMS part prevent users from entering "bad" code? What happens if a user pastes a Microsoft Word document as content?

Good list. Those are all features that are necessary when we're talking about portals and our clients would expect to have most of them in any CMS.

On to some of the other comments.

Some have suggested using a framework like Django or Ruby on Rails, and yeah, for smaller sites that may be an option (which we have explored by using RoR).

There are many proponents of ModX, Drupal, Symphony, SilverStripe, TextPattern, and Expression Engine ( and no, the pricing is not a problem ;-) ), all of which seem to have their pros. We will have to look closer at each of them before we can get a feel for which is right for us and our clients.

We actually use TextPattern for one client, and it seems to work fairly well. It's not for everyone though.

Erik Töyrä:

I hope you will have some use for this Roger. I tried to live up to the "Be willing to give back" post you published yesterday.

Definitely useful, so thanks for the long comment!

Luke:

Be sure to let us know which you chose and why!

Yep, but it will take a while before we've had time to try out some options and make a decision.

Oliver:

Another Java based CMS is Alfresco. It seems to be very flexible on front-end modifications, and is open source unless you would like to purchase support.

Alfresco seems to be what some organisations are looking for: enterprise level content management. Will check it out.

Again, thanks to everyone who has taken the time to post a comment here. It's very helpful.

99. February 8, 2008 by Rob Knight

I've extensively used Joomla and Drupal and I would recommend Drupal in a heartbeat.

The thing to know about Joomla is that it looks great out-of-the-box and is very easy to setup. However, you do not have control over the HTML it outputs.

This was a constant source of frustration for me because while you have the option to output your menus in HTML lists, you don't get proper CSS hooks for those menus unless you output them as tables. Ugh.

One last point on Joomla. For all of the standards-compliant, accessible code you carefully craft into a Joomla template, Joomla wraps the whole thing in a table. It is horribly frustrating. Some of these things may have been fixed in the recent 1.5 stable release, but at least in the 1.5 beta it was still pouring my template into a table.

I've been using Drupal for almost a year and will admit that there is still stuff about the admin interface that confuses me. I still regularly get lost trying to find a setting. Drupal has a learning curve that can be daunting. However, the rewards for getting through that curve are worth every second of frustration.

The key to Drupal is the community. Drupal has a great community that is happy to help you learn and solve problems.

You have complete control over most* of the HTML/CSS in your template, and there are hooks to modify the output of everything that goes to your template, though you need some good PHP chops to bend some things to your will. (* Good PHP chops are important, Drupal is a developer's CMS. That said, the templating system is top-notch)

A lot of what I'm complaining about will disappear if you start with Drupal 6, which should be out in the next couple of weeks. I've found updating Drupal to be very easy because Drupal is modular. You do not have to (and it is highly recommended that you don't) modify the core to get Drupal to do what you want.

Drupal has a lot of momentum and quality in it's developer community, and I see it only getting better. Additionally, the 3rd party modules for Drupal are impressive in both quality and support.

I got my company to switch to Drupal from Joomla a year ago and we've not had any reason to revisit that decision. We use Wordpress for smaller, brochure sites. But Drupal is our mainstay for larger corporate and higher education sites.

100. February 8, 2008 by Erik Töyrä

Roger:

What I am missing from this is feedback on portal software. A "normal" CMS is fine for smaller sites or clients with only a couple of people working with the content. But for really big sites, multi-national corporations, and organisations with perhaps hundreds or even thousands of editors, there is often a need for a different approach.

On top of that multi-national corporations often needs to have multi-lingual content. When taking this into consideration it is safe to say that "Our list of allies are growing thin..." in the open source CMS community.

Multi-lingual sites demands a lot more of the CMS than a single language site does. James Petersen wrote in a previous comment about versioning, visual diffs, access permissions and workflows based on user roles. These are all very important parts to be successful with a multi-lingual site and support the complex process of handling multi-lingual content. The CMS also needs to have i18n (internationalization) and L10n (Localization) support which unfortunately rules out most of the available open source alternatives.

Another feature to take into consideration for large multi-lingual corporate sites is import/export of content. This can be very useful when having to deal with multi-lingual content since you can handle the (often complicated) translation process outside the CMS.

So far I have not been able to find any CMS that handles this well. Of the different CMS I have tested I must say Drupal handles the translation process best of the bunch - but it still has a long way to go before it could be labeled "Perfect".

101. February 8, 2008 by LucaPost
MODX as a Portal Engine

*Does user A have a different experience than user B because of who they are or the group or division they belong to or their work responsibilities?

Users are assigned to userGroups, documents to DocumentsGroups; the admin sets which kind of privileges each UserGRoup as on a certain DocGroup. Then there are Roles to decide if a user can just edit things, or create new content, or publish/unpublish, move things around, delete, switch templates and on and on.. Modx docs about this

*Do they have content versioning?

Should be in the next 0.9.7 release

*Is there a workflow implemented where pages have to be "approved" before going live?

The admin can set such a workflow by creating ad hoch Roles (editors and reviewers)

Can pages automatically expire? Can pages automatically publish on a specific date?

Yes! and the rss feed is automatically kept in sync with such settings.

*Does the CMS part prevent users from entering "bad" code? What happens if a user pastes a Microsoft Word document as content?

It depends, even Word documents can be build into a semantic-correct structure that would more or less translate in passable HTML!

Anyhow users must always be instructed a bit about the back-end tools and the general guidelines of the site/project they will be involved in.

The tinyMCE editing interface can easily be customized; for example I removed most of its default styling buttons, and linked the main css file, so that the classes defined in it became available in the editor toolbar.

102. February 8, 2008 by John Faulds

You've probably given up on reading by now but I'll give another vote for Expression Engine. It's just a shame that some of the code that comes with its default templates is a bit dodgy.

103. February 8, 2008 by Chris Cena

The company I work for was also looking for a CMS as a base solution for site production a couple of years ago. Our requirements were quite similar to yours. Drupal ended up as our choice, and although a lot has been mentioned already, some of our reasons for choosing Drupal are:

Development
  • Drupal has a clean and robust code base, with an easy to use API. Documentation is also better than other similar solutions.
  • Extensibility. There's a plethora of modules out there, and it's relatively easy to customize them or create your own as well.
Content
  • The wording in the admin-interface needs a little getting used to (what the heck is taxonomy, anyway).
  • You can customize the content types to your customer's liking.
  • You have a choice of using plain text or WYSIWYG-editor modules.
  • The fine grained user/role access control is great.
  • There are a lot of options for the administrator, which can be both good and bad.
Output
  • Page markup is highly customizable. You can control almost every aspect of the output through templates (take a look at the Zen template).
  • You can have different templates for frontend and administrative pages (yep, the admin-pages are customizable, too).
  • As far as I know, the level of accessibility is pretty high in regards to administration.
  • Usability is also a priority.
Portal
  • I18n is available and a part of Drupal Core as of Drupal 6.
  • There are several ways to partition the site ie. for different departments.

Other important features to mention are:

  • Drupal is PHP-based. You can find web servers running PHP "everywhere", unlike Python (plone) and .NET (Umbraco).
  • Due to the clean code, Drupal is relatively lightweight compared to other systems.
  • Drupal has search engine friendly URLs out-of-the-box, although the new Joomla 1.5 also have them. A module for autogenerating nice URLs is also available.
  • Run multiple sites from the same code base.

Some of the bad things, besides those already mentioned, are:

  • Drupal lacks good file/media management out-of-the-box.
  • Modules can suddenly be unmaintained.

Good luck on your search!

104. February 8, 2008 by Ian

I would have to say that Wor