问题
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:
- If it has a plug-in system, it's probably not what I am looking for...
- If it cannot publish statically and dynamically (think XML files or HTML files AND APIs), it's probably not what I am looking for...
- Cross DB would be great, but it's not strictly necessary
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.
回答1:
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.
回答2:
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.
回答3:
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.
回答4:
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.
回答5:
Tridion fits your description pretty closely, with the exception that you won't get their source code. If that's a deal-breaker for you, please feel free to ignore this answer. (OTOH - that would raise the question "Why is it a deal-breaker?" Presumably you don't want the source to decorate your walls with. What would you use it for?)
Tridion's content management sub-system runs on Windows Server. The content delivery sub-systems run on Java and .NET (plus plain-old-ASP if that makes a difference).
All the things you'd expect a CMS to have are there out-of-the-box, (wysiwyg editor, versioning, workflow, etc... + publishing)
回答6:
Too late to answer? :-)
To follow up on Dominic's answer (disclaimer: my company uses Tridion), Tridion stores content as XML in its database and can be published to various formats, including XML, HTML, other text-based files, a "broker" database on the front end which is accessed through an API. The .NET code can instantiate a broker object and query for content based on metadata associated with it. The latest versions (2009 and now 2011) give better access to metadata and categories (aka "taxonomies").
The content is separated from the templates, meaning you can have the same content rendered as a static page, an RSS feed, or available via the API, across different sites and even localized to a language (my team hasn't used that feature as much).
Closed source, but we get access to the documentation, there's a active forum, and anyone can contribute "extensions" to the code base to add features like generated PDFs, link-to-Google maps, etc. We chose it for the same reason--a lot of the CMS out there were "websites-in-a-box." We just wanted something the devs could either pull from, or replace some HTML page or XML rather than something to take over our sites.
回答7:
So basically you're not interest in the stuff in the front of the CMS store, so to speak. Ok, step into the back room ... as I swivel this movable wall ... and I'll show you something different:
http://www.radicore.org/
In all seriousness, I tinkered with this framework 2 or 3 years ago. I can't vouch for it, since I never ended up using it on any project, but it was intriguing.
PS - It was this bit on the radicore website that made the connection in my mind that maybe it's the kind of thing to at least check out: "The View component is managed by a pre-built collection of reusable XSL stylesheets which generate all HTML output."
回答8:
Fedora might fit the bill for the backend, but it might be too heavyweight for your needs. It doesn't have a front-end, just some administrative interfaces, organisations usign it tend to integrate it with existing systems, or use a third party front end, of which there are a few, or just write their own.
There is a whitpaper Sun Microsystems: A New Approach to Creating and Managing Large-scale Digital Archives which should help you rule it out.
How many FT staff are allocated to the project and its ongoing maintenance?
来源:https://stackoverflow.com/questions/107494/cms-without-front-end