DIY CMS Part 1
A Tame CMS is a dynamic PHP website framework that uses text files in place of a database.
How Does it Work?
If I'm making cookies, I need a recipe. The recipe is a string of instructions that specify the ingredients to gather and the method for combining them. In the same way, when someone clicks a menu page on A Tame CMS, the server application uses a recipe to gather pieces of content along with instructions on how they should be displayed.
The recipe for that page is the information encoded in a string of characters. Each page has it's own string, compose of 'fields' separated by delimeter characters..
"Ingredients' are blocks of content. This could be text, an image, links, or a menu for example.
Format for a page character string:
Title###layout###page-specific text###featured image###main section content blocks###sidebar section content blocks###footer content blocks
Example for a real page:
New Page###2-column-layout###This is a new page...who knows what you will find out!###new-image.jpg###latest-blog-post,,,###upcoming-events-box,,,,###latest-post-grid
Stayed tuned forPart 2...
So far, A Tame CMS provides the following features.
- an administrative area for authorized users and a login screen
- a customization area for setting up the site title, logo, menu items, etc.
- an area for setting up the components of a page
- a choice of page layouts - 1 column, 2 column, etc.
- an area for creating and editing posts
- method for assigned post categories and status - 'draft' or 'published'
- choices for how to display posts - full text, snippets, grid, etc.
- an archive page showing previous posts by categories and date
- an area for uploading images
- a comment function for commenting on posts
- an area for approving or unapproving comments for display
- an area for creating and editing 'content blocks' such as sidebar messages and images
- a method for preserving backups of pages and posts
- collections of portfolio items that can be displayed as a grid or a slideshow
- a method for arranging portfolio items in custom sequences
A Tame CMS could be useful for two groups of people: bloggers/website owners who want an easy way to set up their website themselves, and designers who need a quick way to update and maintain websites.
The out-of-the-box framework allows the user to set up a header and add menu items, pages and posts and images. Specialized options can be provided by the designer with very little effort.
If you are curious as to why I decided to do this, when there are so many CMS frameworks already available, you can read about it here.
Warning: This is not very complicated. The only code used is basic HTML, CSS and PHP. The only package I used was a free version of CKEditor.