What would you like in a CMS?
As the title says, what would you guys like an a complete CMS? Both as a user and as a developer.
My current idea is to implement the whole thing in C#/ASP.NET MVC 2 and use StructureMap to load new componentes/plugins during runtime, so people can drop a pluginaName in the ~/Plugins catalog and have that loaded. But what I want you to suggest is what more stuff yo开发者_JAVA百科u would like to see in a CMS.
Keep it simple and remember your target audience. CMSs targeted at pseudo-developers require a different structure and feature set than those targeted at marketing/sales types. The latter need strictly-enforced page structure and a very quick and easy interface - IMHO should be little more than a navigation editor (pick where content lives within the site) and a text editor/upload method.
I've seem CMSs that require you to upload images, style sheets, etc into an asset manager, pick a page template, create new instance of said template, edit text directly within their editor (or cut and paste, typically into some custom text/html editor that is severely lacking) and reference assets by some asset ID with a special tag. Others go so far as to allow (or require) the editor or administrator to set individual permissions on each of these, etc. The worst case I've seen, with Red Dot, required nearly an hour for an experienced user to add a basic page. That is unacceptable in a CMS.
UI design is crucial in a successful CMS.
Also ask yourself - with so many on the market, why write another one?
I would like people who want to write their own CMS to consider working on an existing open source CMS instead. Instead of lots of people doing their own thing, wouldn't it be better to collaborate and pool resources, talent and effort?
If you want to work in ASP.NET MVC then consider joining the umbraco team and contributing toward Umbraco 5.0 which will be asp.net MCV based.
I would like a CMS that separates the application from its Content.
Ideally, each page would be a separate XML file (or stored in an SQL table I guess) that lives in a Content folder.
This would allow you to easily move portions of a site or the entire site itself with a simple drag and drop operation.
Site builders would have a choice of an online editor, a stand alone local editor, or manual editing of the XML files.
The stand alone local editor would allow you to grab one of the XML pages, edit it and put it back on the site.
The application would be capable of "compiling" the resultant output pages any time a new XML page is dropped in the folder (or updated) to increase performance. So no database accesses or XML I/O would be required to serve the page, only a thin security layer would be used to ensure the user had the proper permission to view the page.
A web service would allow users to programatically upload/download/delete pages.
The site would be able to view the content using different forms, be it a web form, silverlight, or flash.
Widget/Module data would be stored in the pages XML file using a standardized format. The site wouldn't blow up if a widget wasn't installed, it would just decline to show the module or just show the raw XML.
The site would follow vendor standards for skinning (ie, themes).
The stand alone editor would be available in different platforms like Windows,iPhone, Mac, etc.
It would be very nice to have high level of plug-ability, and friendly look and feel. Do not concentrate on current needs, try to left a space for some future plug-ins, that will give you a space to be very fast in development and faster than concurrence.
I think working various of databases is important.
Different type of users handle CMS. If the CMS can provide different UI for different users (roles) and make it more easier for the non-techie users and at the same time gives more power to the techie users I think its a big success. We more often the CMS either too techy for non-techie people or else find it less flexible for the tech users.
精彩评论