Must have features in your CMS
Hi!
I’ll start in few days new project, for this project I need to develop brand new CMS that will be used for a lot of websites. This got me thinking about the basic features I need to include in order to make my life easier, so this is what I have so far:
1. BackOffice for the BackOffice
Create 2 levels of administration, 1 for the client and yourself, and the other one is for you only. In your administration level you can add some tools for yourself that make the work easier, Some of those features I’ll describe below.
2. Protected Items
This is something you can add to your administrative level. Protected Items is those content pages/catalog categories and etc that your cms work with. For example if you created a content page that acts like “Thank you for shopping in SomeShop”, and you redirect to this content page through your code you don’t want the client to delete it by mistake. You got the idea? Lock the option for the simple admin to delete these important items.
3. Modules On/Off
The CMS I have in mind contains Photo Galley, Contact Form, Content Pages, Calendar and etc. Each of these are modules that are ready to be “installed” in each of my new clients. I install for him the whole CMS I have [with those modules I listed] but enabling only those he paid for, and if suddenly he needs something else I already have – just by marking the checkbox he’ll have the new module hw wanted – already integrated with his site. And yes – this is something you put in your administrative level.
4. System Logs
I work with Ubuntu and 9 workspaces, each workspace has its own purpose. 1 of my workspaces shows the logs of the applications I working on. But getting into those logs just because the client told me he had some error in some page at some point in the day is not that fun, thats why I’m creating a page in the CMS that shows me the logs so I could see really fast and more comfortable the problem he had. And by the way – telling to the client what exactly he did that gave him this error show you have control over the product you develop – and its really impressive.
5. Duplicate Items
The basic objects management is Add/Edit/Delete of content page of catalog item. I really would like you add the “create a copy” of each of those items. I don’t have any good reason for that yet, But since I adding it to each application I’m building I finding myself actually using it and saving some time to myself.
6. System Restore
This is maybe the strongest feature I can think of. Keep track of each table in your database, and you’ll be able to get back in time with the data of your application. Create a simple table named “db_history” that contains the fields: tableName, fieldName, fieldValue, fieldNewValue and nowTime.
The names are pretty clear I guess, the nowTime is to know when the change has been made. With this basic feature you can do a lot and it will help you solve many different problems and client’s issues.
I’ll be happy to see your suggestions for features like these, feel free to post a comment!
P.S
This features can be helpful to you in any application you develop, not only CMS-type application.




Pingback: MY_Model in CodeIgniter at Udi Mosayev
Pingback: Developing Content Management System With CodeIgniter – Part 1 « Codeigniter « Udi Mosayev
Pingback: Developing Content Managment System with CodeIgniter – Part 3 « Codeigniter « Udi Mosayev
Pingback: Free File Hosting - Online Storage; Upload Mp3, Videos, Music. Backup Files