No system can reasonably fulfil all client's requirements and still be usable. Each client has different content management requirements. One of the reasons we developed Magnolia is that larger projects always need customization or integration. We thought that making these really easy to do and maintain, this could be a significant advantage for Magnolia (which it is).
So if you look at selecting a new ECM and are looking in the domain JSR-170/open-source, you will naturally have to make a choice between the two dominant players in that space: us - and them. We get asked about the differences between Alfresco (them) and Magnolia (us) about once a day by a prospective client. I have never answered these, but a recent posting on Javalobby made me reply along the following lines:
- On the surface both "support" JSR 170. Magnolia is build on the API, whereas A. has added support for that API at a late stage. A. locks you into their repository, while Magnolia is repository independent. Since your data is where the value sits, that's a pretty effective lock in. Magnolia runs with any repository out there: Jackrabbit, CRX, Exo(?), soon Oracle and any new compliant repository. You have the choice.
- A. is coming from a DMS end, only now adding support for CMS. DMS and CMS are not integrated in any way. Magnolia is coming from the CMS end, where it shines. Its DMS and CMS are integrated seamlessly.
- God is in the details, and paper is no substitute for a product. Magnolia has been in the works for more than 3.5 years now, and our interest was always to build the easiest to use CMS in the world. Our clients tell us that working with Magnolia is highly intuitive and easy. I doubt that anybody would say that about A´s GUI (we have hear that system integrators simply replace their GUI with something usable, which obviously would be driving up TCO considerably)
- Magnolia ships with Sitedesigner, a tool that replaces client-side web development software like Dreamweaver or Golive. This is much more useful than it initially sounds - you have to do a project with it to realize just how amazing it is to work this way. It saves massive amounts of time, layout is versioned (!), and updates work without worries (because we guarantee that).
- Magnolia ships with the only opensource cross-language business process engine on the planet: OpenWFE. Its one of the top ten projects on Sourceforge regularly, and is amazing in its flexibility and power. If you want to integrate your business with your web initiatives, and send workitems ("tasks") to agents written in python, java, perl, dotnet etc that's what you can do. A. on the other hand uses something much less flexible and powerful.
- A. was founded with a big pile of cash and massive promises to clients and shareholders alike. They have to deliver, and the way its done is by spending on marketing and sales. Magnolia on the other hand has been an organic development. No piles of cash to spend on anything, really. Just trying to create the best CMS in the world with a couple of smart brains and lots of experience.
(This is my personal view, and reflects in no way the view of my company)