This background is for everyone.

Why read this: So you can understand what you can do with the system.  Its very powerful, but you need to know how to ask it to do something.

Create/Edit Pages: (using the Pages) Within their authorized sections (for single author sites this is all sections) authors and administrators can create pages using any available template from the "Template" drop down near the bottom of the Pages  function. Categories and products are handled similarly

All changes to pages are live as soon as they are made (there is no UNDO).   However, until either Add this Page or Save/Update is pressed the edit can be restarted from what is currently displayed on the site.  If you make a mistake you can user the browsers Back function to get the original version, and update the unaltered version.  If you "Deleted" the page use the "Add" button, otherwise use the "Update" button.

How pages are displayed: The system check to see if it already has a copy of the page assembled and if it does it just send that out (i.e., displayed from cache).  If not it  assembles each page, whether it is in the Catalog/Shopping Cart or a Text Only content page, the same way.  Click here for details about Products and Categories.

  1. A file containing the basic layout (called a template) is selected (actually the page's top content area is selected to determine if the tag |.popup.| is present which will cause a special Pop-up template to be used otherwise the template specified for the page is used).
  2. The template is examined for dynamic elements (called Tags) which it then replaces with appropriate dynamic content.  This is done in three stages:
    1. Tags containing page specific content (i.e, |.content.|, |.content:1.|, etc.) are converted to their content.
    2. Tags containing other content (e.g., |.pContent:#.|) are converted to their content, and the result re-examined for other |.pContent:#.| tags.  This process is repeated for up to three times (there has to be a limit so that the system doesn't get caught in a loop where tags call back to a tag that called the original tag).  Note: for catalog and related pages use |.scContent:##.|. |.pContent:#.| only displays on the shopping cart page.  This i done 3 times so that content pulled in can in turn contain other content. The 3 is to prevent an infinite loop.
    3. All the other tags are examined and replaced by their appropriate HTML.
  3. Once this is done the page is sent out to the visitor's computer.  Remember:
    1. Some of the tags will put out information you, or someone else entered as content,
    2. Others will display pre-defined things such as a calendar for one or three months based on the events stored in the optional calendar events system.

What does a Tag look like:  All tags are begin with '|.' and end with '.|'  For  example to get the Topics box  on the "Advanced CMS" introduction page begins with |.f:div class='floatLeft'.| and ends with |.f:/div.|
In the discussion of each tag we will describe what options the tag has.  Page authors can get by using no tags.  However, one of the more useful tags allows authors to use content someone else has entered (for example an announcement).  Tags are either replaced by editor entered content (so called "content tags", |.pContent:15.|) or pre-defined elements (e.g., |.subPage.| which lists pages which appear under the current page followed by their "short description").  The system first processed all the content type tags (which can themselves contain other content type tags) and then it looks for the pre-defined element type tags and processes those.  

Where possible the system tries to determine if the resulting page contains dynamic elements or if it will be saved off and that copy used the next time the page is requested.   Anytime an author updates any page the system deletes any "saved" since it doesn't know if that change effects other pages.