ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Is CI suited for my databaseless CMS?

December 21, 2009 1:44pm

Subscribe [5]
  • #1 / Dec 21, 2009 1:44pm

    Stefan Matei

    1 posts

    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.

  • #2 / Dec 21, 2009 2:37pm

    Colin Williams

    2601 posts

    Its model will be secured flat files

    Check. CodeIgniter doesn’t require that you use a database, and it has a pretty nice file/directory helper.

    easy to setup, requiring no more then uploading a folder…

    Check

    The CMS needs a decent plugin architecture

    Not available out of the box, but by utilizing hooks or overloading the core Controller class (MY_Controller) it is easy to implement this how you want to. I’ve done it a few different ways on a few different projects.

    CodeIgniter is definitely capable. You could even ship your version minus any libraries/helpers you don’t require to keep it light-weight

  • #3 / Dec 21, 2009 2:48pm

    BrianDHall

    760 posts

    For easy install - using autoconfigure I don’t configure anything when I install an app now except for database connection info. Since you wouldn’t need that, your users could enjoy the same ease by decompressing a single zip file into their directory of choice.

    Database must be autoloaded or called explicitly just to have it, so you could not only exclude it but delete out its few related files if you really wanted to, it wouldn’t hurt anything else. I’d just leave them though.

    For plugins, it just depends on how you want to handle it. You might want to take a look at the HMVC extensions to CodeIgniter to see if you need that much of a solution - just depends on the functionality you want plugins/modules to be capable of. Other CMSs’ use it for some of their functionality, so you might like it too.

    I think CI would be just fine for your project, I can’t think of any problem posed by what you are after.

  • #4 / Dec 23, 2009 8:40am

    Stefan Matei

    1 posts

    Thanks for your replies! Really appreciated.

    One other thing as this point: I’m currently using a separate script to parse the HTML files and find editable elements—does CI have anything like that? (an HTML parser—don’t think parsing random html files as XML wold work)
    If not, I can just use the library I do now but I don’t want to be redundant if it has.

  • #5 / Dec 23, 2009 10:20am

    Phil Sturgeon

    2889 posts

    I have always wanted to work on a project where I could type:

    rm -rf ./system/database

    You could easily make a library out of htmlSQL to parse your HTML stuff.

  • #6 / Dec 23, 2009 11:17am

    Ben Edmunds

    812 posts

    This actually sounds like a very good project and I can think of a couple sites I could use this on.  As they don’t require the complexity of a CMS like Ionize or similar and an easy integration method would be nice.

    Good luck and keep us posted!

  • #7 / Dec 23, 2009 11:51am

    Ben Edmunds

    812 posts

    What’s up with that reply Sam???

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases