In many projects we are developing we need to have CMS functionalities in the back end of the site. On the other end we don't want to or can't commit to a complete front end solution. To explain this better:
CMSes like Joomla or DotNetNuke are complete web site solutions, they let you store and publish data. They are not friendly at all if you just need to store data and retrieve it in a custom way. They are not what we are looking for -- and I think they should not be called CMS at all, because they are much more!
CMSes like Umbraco look nice, but again, they are not very versatile at all if you want to use the data in a custom way. Umbraco gives you APIs to access the data at run-time, whereas I am also interested in having static publishing features for scalability concerns.
To give a couple more indications:
The CMS does not need to be free, but we must be able to have the full source code. As for platform, we need solutions mainly for .NET and LAMP.
I already know the CMS Matrix site, but its definition of CMS includes too many web site solutions so I don't get enough signal-to-noise to find what I need.
Edit: To be clear: I don't want to write a CMS using some kind of framework. I want a solution that can store heterogeneous data with typical CMS features (wysiwyg editor, versioning, workflow, etc...) and provides features to publish this data.
For a Java solution, Apache Jackrabbit may be useful for you. From the link:
Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API (JCR). A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more. Typical applications that use content repositories include content management, document management, and records management systems
It has always seemed to me as a component library for building backends to CMS like systems.
I've used N2 for a couple sites. It is completely open source and I think it might fit with your data requirements. You basically create C# classes that model your data and then build your own front-end template to display the data in the site.
On the back end, the data types you create are fully editable through a WYSIWYG admin area.
Not sure if it will meet your publishing requirements, it is DB-based and I haven't needed to try updating it through anything other than the admin interface.
Have you looked at Alfresco? It's aimed squarely at the enterprise market (and it's written in Java), but it seems to offer some flexibility when it comes to content deployment. From the marketing copy on the website:
Web site publishing supports multi-tier deployment architectures. Content can be transactionally deployed to static content servers or Alfresco runtime repositories providing complete architectural flexible for your web farm.
Also the content is stored in a JSR-170 compatible repository like the one mentioned by jamesh above. That would allow you programmatic access to the content in the repository.
You could use Microsoft Office SharePoint Server 2007 (MOSS). You can optimize the SharePoint system for content creation, and then use the object model or webservices to extract the content and write your site in any language on any platform. SharePoint has rich content editing, lists, workflows etc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With