Friday 21 December 2012

Simple CMS Systems

I used to work as a webprogrammer, and every time we made a new website. I created a simple CMS system from scratch in PHP for the website owner to manage their information. It was different every time, it could be anything from a webshop to an ordinary blog-type website. But almost always there was some speciality function that was not in the CMS from start. Like being able to create a poll and manage the results, uploading pictures and having them scaled in different sizes, etc..

But also always keep it as simple as possible, so that any newbie could get into it easily. I wanted to take away as much useless information as possible, like edit slugs, features to create categories and other things that only looks too abstract for a new CMS user.

So I got an idea that I wanted to create a CMS for creating CMS systems, but still keep it extremly simple and clean.
It became this: http://sourceforge.net/projects/mikkrocms/

But still, this is not for the normal user. It it more targeted towards programmers. I used it many times as a base to start from, without having to rewrite the same code over and over. It uses TinyMCE which I found to be very very nice.

It is not exactly what I wanted, but still it can do what I wanted anyway, almost.

The idea is that the CMS system's look, and what functions it has depends on how I create my database for it. So for example if I want to be able to create and edit a menu for my website, I want to have a table in my database for that menu. So I just simply create that table, with id, name varchar(255), timestamp, for example...

Then I want to be able to create and manage different pages, and also link them to my menu. So I create the table named "page", with id, name, menu_link and timestamp. The menu_link should be the same type as id in the "menu" table ofcourse.

When I connect MikkroCMS to this database, it will look at the tables in there, and automatically build up the tool for it. You can almost say it does the exact same thing as PHPMyAdmin does, but much more simple. And not to scribbly looking for the user with strange buttons everywhere.

It is also possible to create radio buttons, by naming a position within your table something like "foo_radio_choice1_choice2". MikkroCMS will look at the name of that row and create a radio button in the CMS system with the two choices. This maybe sounds abstract, a visual example is needed.

Later ofcourse, all the programming for the specified website is up to the programmer to create, and the CSS script for the CMS could be shared with the website afterwards to keep the same look and feel. The CMS system is almost already complete when the database has been made, but the website is not. This takes away alot of work if you want to create a CMS system + website.

No comments:

Post a Comment