Hi there
I’m working on a CMS (or maybe a pseudo-CMS) intended to be easily deployable on existing websites.
If you’ve heard of CushyCMS (or other hosted CMSes of that kind), you know what I’m talking about.
Just by adding a class, you can make parts of your page editable:
<div class="editable">Editable text here</div>The CMS I’m working on will be downloadable, self-hosted and open source. In client projects I’ve used a working version of it with more functionality than just wysiwyg editor for simple text content. For example, this guy can manage his jQuery portfolio, using the same (but extended) system—by “manage” I mean add/delete/reorder items and edit descriptions.
So my CMS is ‘extendable’ now and different ‘editors’ or ‘managers’ can be created and plugged in. The dashboard allows the user to browse for a page to edit and also to select the ‘editor’ to use when editing that page.
Okay, that’s the story of it. I foresee this CMS as working pretty well for me in the future with clients that need “a website with 5 text pages, a showcase of our work and a contact page”. But if I’m going to give this as open source, I have to do a much better job of organizing everything. Also, everything has to be triple checked for security issues because I won’t have the luxury of security through obscurity.
So rewriting everything using a MVC framework seamed like the way to go.
My question is: is CodeIgniter something you would advice me to use for this CMS?
...having in mind that:
● The CMS can not use a database. That would defeat the whole purpose. Its model (for data like the user names, passwords and other settings) will be secured flat files—maybe with an XML structure for more convenient parsing.
● The CMS should be very easy to setup, requiring no more then uploading a folder and setting up the admin user and password. So something like Automatic configbase url will be mandatory.
● The CMS needs a decent plugin architecture. Each plugin (which includes the ‘editors’ and ‘managers’ mentioned earlier) should have its own directory in a ‘plugins’ (or ‘modules’) folder.