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.

Moving Forward

January 06, 2014 9:24pm

Subscribe [2]
  • #1 / Jan 06, 2014 9:24pm

    MallorcaMike

    1 posts

    OK, here’s something that’s going to get everyone all worked up.

    For the past two years I have been building a framework on top of CI.  I love CI.  It actually made me take PHP seriously, coming from a Java and .Net background, so for the past two years I have been building my own framework with serious role based security, enhanced language support ( I live in Mallorca so ALL sites are multilingual ), modules based on HMVC which provide services like News Articles, Personnel Information, Contact Directory, very cool multiple photo Galleries with Crop, Resize, Rotate and front end site editing all based around Bootstrap.

    I have based my business entirely around CI and my framework on top of that for two years.

    Now, I’m finding limitations.  I’ve been looking towards Laravel and FuelPHP, but I just don’t “get it”  the language support etc just doesn’t seem flexible enough for me to hack in the way I have for CI, ie replacing files with DB and a really solid export/import for translation process.  The security model is nice as it’s easy to build a new “driver” etc, but I’m just not happy to say goodbye to CI for the general layout, much as I have been fighting with it for things like true modules etc.

    I don’t want to give up on CI like a lot of people have.  It’s the one thing that has made PHP a viable language for me… sorry, but before I was really like…. PHP… yeah great… can we talk about a REAL language!

    OK, so everyone is worried about the future, PHP 5.blah blah etc and OOP…. and yes I come from an OOP background, in fact I was recruited by Rational to become a trainer, but turned them down…. I know my OOP well enough and it’s not everything, but….

    Something is missing here, and things are starting to slip a bit….

    I want to use CI as the basis for a developers system that supports certain CMS things out of the box…. dynamic routing multilingual of course, but to start including templates, modules and real security out of the box.  True modules, with public attributes like css, images and upgrades/downgrades to dbs etc included like laravel, but keep it CI.

    There are lots of things that I have either created or are on my to do list which is being done in a kind of get paid by client to improve model, which has worked for two years, but I would love some help with that I would like to do.  I think CI is the greatest framework yet, supporting php 4 and 5 at the same time and I don’t want to lose that, but there are somethings that I have to keep inventing that I would like NOT to…. although I can just go my own way, I would love to extend things as a group.  Mail me at .(JavaScript must be enabled to view this email address) if you would like to join me.

    ( Please tell me this is OK within the licence currently )

  • #2 / Apr 11, 2014 4:44am

    Joa

    11 posts

    I agree with you, CI has more to give and it’s a pity if it stops progressing. Love it myself and been working with it since three years. Happy to hear if your efforts move forward (did you form a group of some kind?).

  • #3 / Apr 11, 2014 5:32am

    MallorcaMike

    1 posts

    Thanks for the reply.  I haven’t been able to form a group yet due to the amount of work I have, but am partnering with another developer to layout a roadmap for development.

    At the moment my framework is more of a developers framework than a CMS system, but with the amount of things already taken care of and with a lot of tools I’ve setup with Live Templates and File Templates in PHP Storm, development is amazingly fast.

    Basically development process from scratch for a site at the moment goes like this:

    Take a template, add to the templates folder.
    Create a config, database and route file entries for the site based on the domain name for development, preview and live domains.
    Create a new module for the web and admin section by copying a starting module template that’s already in the project.
    Choose the modules the site will use and run those SQL queries to build the database.
    Create any bespoke tables.
    For bespoke table, using PHP Storm File Templates, choose templates for Lookups, Translatable or Translation templates.
    Using file templates, create the admin list and edit forms.
    Using live templates choose the code for lists and updating.
    Any bepoke forms can be created by simply adding controls using live templates which have been defined for all the possible form types.  The back end code has matching live templates as well.
    So far we have a running system.  Any additions can be made from there.

    For example I had a request last Friday from a client for a new site, that needed in place editing of content, role based security, 3 languages, photo gallery, slider populated from a gallery, news articles, multiple contact forms routing to different e-mail accounts and so on, and they wanted it by MONDAY!

    No problem.  I took a Bootstrap template.  Modified it a bit to look pretty and built the whole site in less than four hours!  That’s 4 hours for a fully multilingual site with a complex admin console.  That’s pretty good.

    I’ve put a lot of effort into building this and have a pretty clear view of where I want to go, but the problem with one person working on something like this is being blinkered in how to proceed.  My early code is definitely not the best as my understanding of CI was limited, and I’m sure there are better ways of doing everything, so building a clear roadmap for an entirely new version, taking advantage of any CI plugins or libraries out there would seem the way to go.

    Since the last post I’ve already added the following modules to the system:

    Flipbook Generator, Gallery and Viewer for PDF flipbooks
    Photobook Module,
    HTML Book Module for flippable views of html reports,
    Full shopping module including user accounts, orders, stock control, connection to multiple payment providers, groups of items, item variations, shipping company and method management, coupons and so on and on,
    Car sales modules,
    Real estate module,
    Multiple site management with different languages available for viewing, editing and admin view and of course routing,
    Update to the news system to provide different news for different sites within a multisite setup, including routing to news stories or lists across different sites,
    Template management for snippets in categories within editors,
    Mail editor linked to a basic mailout system, similar to ArpReach with contact, campaigin and signup management.

    The list goes on and the libraries become more and more powerful, guided by customer requirements, and steadily the whole thing has grown enormously.

    My next aim is to add CMS functionality to make this thing compete with Wordpress and the like and I want to include features from systems that allow you to edit the layout, CSS and so on inside the system, all based on Bootstrap of course.

    There’s a lot to, and it’s growing like crazy simply due to the projects I build for my clients, but the more minds focused on something like this, the ability to farm out particular sections to different people, the stronger the system becomes and the better the ideas that become integrated.

    Right now the system is a framework built ON CI.  I would like to see it become a system integrated WITH CI, moving CI forward as well.

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

ExpressionEngine News!

#eecms, #events, #releases