Flat File Content Management System

There are countless ways to create a content management system. After much experimentation, I chose this structure, which includes a flat-file relational database.

 Lila Avenue CMS

  • The 'admin-pages' folder contains password-protected pages that provide user access to website data.

  • The 'content-blocks' folder contains functions that generate dynamic displays of data such as blog posts, galleries, slideshows, text boxes, featured images, etc.

  • The 'control panel' folder service as a table of contents for the admin pages.

  • The 'data' folder contains the database tables for the user-generated data such as text and images.

  • The 'functions' and 'inc' folders contain utilities accessed by the other files. The 'functions' file also contains procedures for accessing the flat-file database.

  • The 'page-layouts' folder contains templates for a variety of page configurations.

  • The 'static pages' folder contains pages without dynamic data, such as the login page.

  • The 'themes' folder contains style sheets and structural code that create the appearance of the website.

  • There are 5 single files - 'index.php, 'page.php' and 'admin.php' which are the entry points for dynamic pages, static pages or administrative pages respectively. The 'start.php' file is used when building a new website.

  • A site map is included which is updated whenever particular elements of the website are modified.

  • Not shown is the .htaccess file which directs user-friendly query elements to their proper locations.