Please click here if you are not redirected within a few seconds.
Advanced CMS › shanebow.com
Advanced CMS

Our Content Management System (CMS) grew out of a need to be able to demonstrate code and web site templates online.

It is written for a coder in that it uses Markdown for the main content of a page but also allows for scripts to be included at the bottom of the page.

It also supports the creation of manifests which provide the data for applications.

These pieces work together to make this CMS it very flexible and powerful:

To get a quick feel for how these features help the developer, consider an educational site. Let's say we write an app where users drag vocabulary words and drop them on a picture. We would write the app in a single page then put each picture with it's vocabulary into a manifest.

The app could present a list of the manifests (i.e. pictures to label) for the user to choose from.

We could also make a template shared by all the courses, and then make a page for each individual course. The lessons, quizzes, and activities would reside in individual manifests.

Why not put the lessons into pages rather than manifests?

You could — these is some overlap in the functionality of pages and manifests. One key difference is that manifests are stored separately from the page hierachy, and are not searchable by the end user: This may or may not be the desired behavior for individual lessons.

This document is primarily directed at the end user, however, there are setup notes in the sidebar.

CMS Setup

The CMS has the following dependencies, which must be installed prior to the CMS

  • Categories subsystem
  • Media subsystem
  • Tags subsystem
  • Users subsystem
File/Location Description
constants.php
application/config
Must include ~~cms/pages/config/constants.div
form_validation.php
application/config
Must include ~~cms/pages/config/form_validation.php.div
Page.php
application/controllers
Main Page controller
Macro.php
application/controllers
Controller for Page Editor macros
Mpages.php
application/models
Main model for page data
Mmacros.php
application/models
Model for Page Editor Macros
tbl-pages.sql
application/models/tbls
Definition for page DB
tbl-pages.sql
application/models/tbls
Definition for page macros DB
layouts.csv
application/models/tbls
CSV file with tmpl,name columns where tmpl is the template file name without the tmpl- prefix nor .php extension and name is a user friendly name the
Csv.php
application/libraries
CSV library required for template list
Markdown.php
application/libraries
Markdown library required page content
tmpl-*.php application/views|User created template files
page-editor.php
/application/views/admin
Page Editor user interface
page-table.php
/application/views/admin
Page List user interface
page-macros.php
/application/views/admin
Page Editor Macros user interface

Components