Web Development Frameworks – CodeIgniter
A few moments spent with Google will reveal that a myriad of frameworks exist for content management systems (CMSs) available for use in web development. A lot of which are free to use, open source and highly hackable to specific requirements. Indeed, it would be easy to think that for every plausible project a neatly packaged solution already exists and is merely a search away.
Here at eSterling, we often find ourselves facing a unique project that doesn’t fit neatly in to any of these pre-packaged solutions. Data structures cannot always be altered due to compatibility with client software or procedure, design often doesn’t lend itself to the required templating brief, technologies are not always realistically compatible, and many other underlying requirements can be present which mean we have to start from the ground up.
However, even the most bespoke of web development projects requires a solid foundation, a way to structure growth and distribute key features whist ensuring maintainability. The vast majority of projects, no matter how niche, will require basic features such as page generation, form submission and basic database manipulation. Furthermore, these features need to be implemented in a secure and robust way to ensure the integrity of each project whilst simultaneously minimising loading times, bandwidth usage and other strains on resources.
Enter CodeIgniter. CodeIgniter is an open source, application development framework, designed to kick-start projects with a well-designed core of those basic features most sites require. Due to the fundamental nature of the tools provided it will happily exist on a variety of server configurations and requires virtually no configuration out of the box, saving headaches and that most precious of all assets, time. It is lean, modular and essentially, unlike many CMSs, it provides no front-end templates or theme (aside from an easily-deleted example welcome page) ensuring that the “default install” look is avoided.
Over the next few posts we will have a closer look at the feature-set provided by CodeIgniter, focusing on how it fulfils our needs in terms of functionality and security. There are also some areas, whilst by design, where CodeIgniter fails to address reasonably fundamental features that crop up time and again, namely user authentication and site administration, and we will see how to plug those gaps.
The Benefits of Having a CMS
CMS stands for Content Management System and is a way of editing your website without the assistance of a web developer.
The key benefit of a CMS is the separation of design, content and structure which allows advantages throughout the lifecycle of your website. Each section can be amended independently, which allows you to change content without jeopardising the front-end design. This separation creates the flexibility of a CMS, allowing the editor to safely create content, add images, multimedia files and much more….
- Consistency of design is preserved.
Because content is stored separate from design, the content from all authors is presented with the same, consistent design. - Designed with non-technical content authors in mind.
If you can write an email, you can add content to your site! Absolutely no specialist knowledge required. - Decentralized maintenance.
You can edit anytime, from anywhere with an internet connection - Configurable access restrictions.
Users can be given certain permissions that prevent them from editing content which they are not authorized to change. - Navigation is automatically generated and adjusted.
Menus are generated automatically based on the database content meaning links would not point to non-existing pages. - Content is stored in a database.
Central storage means that content can be reused in many places on the website - Cooperation.
Encourages efficient and effective updates.
If you think you would benefit from having a CMS for your website please get in touch for a competitive quote.