Page header
  BRAEWORKS ® Business - Home  
BW-CMS body
Manual for BW-CMS page

Users Manual for ® Content Management System (BW-CMS) V1.03


This user manual is to aid administrators and managers of the BW-CMS.
Supplementary to this manual is the Installation Notes. The Release Notes list the BW-CMS change history. General information is available in the About BW-CMS.

The web site has a search function to aid finding configuration and setup values.

NOTE: The BW-CMS is not designed to operate inside a frame or iframe.

Technical Information

BW-CMS is based around standard technology. Some effort was made to make the code compatible for browsers with CSS2 and HTML4. CSS3 and HTML5 is used on compatible browsers. PHP 5.3 scripts are used to generate html web pages.

See Compatibility for browser support information.

Installation setup is stored in INI files. Theme customization is also stored in INI files, and is used to generate CSS style sheets. Accompanying installation and theme setting pages are included to make changes. The default settings provide an operational BW-CMS.

As of Version 1.02: The setup and configuration files are saved in the "etc/" for setting JSON, INI and sqlite (e.g. cms.ini, cms.sqlite, etc.) files. Setup control JSON and INI (e.g. cms.comment.ini, cms.default.ini, etc) files remain in "apps/include/ini/" or "cms/include/ini/" respectively as part of the code base. Execution data is saved the "var/" directory (counts, exports,logs, sessions, etc.). This is the make updating and developing "apps/" code easier, separating critical site only files from unwanted alteration. Refer to release notes for V1.02 for the changes from earlier versions.

BW-CMS has a number of WYSIWYG web page editors available. The WYSIWYGs included in the BW-CMS are standard free downloads from there from TinyMCE and CKEditor web sites. They are supported by code built into the BW-CMS. There are six to eight (depending on the server) WYSIWYGs available and the WYSIWYG selection is in the Admin -> Config menu.

Data for users, administrators, managers, groups, page bodies, tools and configuration are stored in an SQLite2 or SQLite3 database. SQLite was chosen due to its easy installation (no database setup required) and it is very suitable for small projects. Automatic database installation code is provided. The SQLite database is initialized when the first web page is generated after installation. Providing an empty initialized database with the default configuration settings.

A basic description of the databases tables used;-

  • Configuration Table - stores company name, web titles, image control, etc., used in the web pages.
  • Users Table - stores username, encrypted password, group memberships, sort order/priority, enable/disable and administrator enabling.
    NOTE: That when the AD/LDAP authentication is used and no local password is supplied, a default local password of the date in YYYYMMDD format is used.
  • Groups Table - stores group, enable/disable, administrator and managers.
  • Page Bodies Table - stores the page body configuration values. The actual page content is stored in the page_bodies/ directory using the filename configured. The body file is often used as a connector or control file for local application and often includes files in the apps/ directory.
  • Tools Table - stores the tools information. A special directory, "localtools/", has been set aside inside the BW-CMS file structure for handy tools, local "hacks" and try outs. Tools have sort order/priority, new page and enable/disable. Stores tool links , group memberships, sort order/priority and enable/disable. The tools appear in left column or in a drop down from the header or on the nav bar, and are displayed according to the group settings.

When the Admin->Config->Allow CSV Export and Import = True, the corresponding database table is exported to the exports/ directory on each save. The CSV can be downloaded from the relevant BW-CMS setup editor page. The CSV can be altered as the commentary included in the CSV file and uploaded back to the BW-CMS database. The CSV format uses the standard comma delimiter and double quotes for the enclosure (as required) to separate column data.
The BW-CMS setup editor page has a file browse button and an upload button to upload and import a CSV table file from your local computer. Before an uploaded file is imported, the BW-CMS backups up the database to the backups/ directory.
To restore a backup on LINUX, in the web root directory run:
"zcat backups/BW-CMS-Backup-cms.sqlite-YYYYMMDD-HHMMSS.gz | sqlite3 /var/www/vhosts/"
Substitute your filenames as needed.

Setup and operational features should be self evident. All install, setup and configuration settings have accompanying information builtin describing each particular setting. The idea was to keep it simple. Remove anything that wasn’t useful or looked too complicated (i.e. make it easy to customize), by providing just the basics. The result has been to make use of CSS to remove as much code as possible. As a result the code has minimal javascript.

BW-CMS theme settings are numerous and should be self evident. BW-CMS is intended for general small web sites required for the generation of user/owner managed web sites. BW-CMS can be set to be easily identifiable (due to page headers and footers) so that users know the web site entity.

The web site contents use What You See Is What You Get (WYSIWYG) code editor. The easiest way the use and manage the WYSIWYG editors is to use the server installed TinyMCE and CKeditor WYSIWYG editors. These can be installed as standard packages on most servers. There is a direct mode (’None’ selected as the WYSIWYG config) of editing page bodies directly.

The web site can authenticate user against a LDAP/AD server by setting a user’s auth preferences to LDAP. The settings are part of the install settings.

The web site has a search function to aid finding configuration, setup and page contents.
NOTE: The BW-CMS will also work in an aliased directory (e.g. "http[s]://host.url/website_alias/").

The BW-CMS requires session cookies (also know as transient cookies) to be enabled to allow login. The session cookie locks your browser to the server session and provides additional security information about the identity of the session end to end. If the session cookie is disabled, a warning is shown on screen. Third party cookies are not used by the BW-CMS, so third party cookies can be disabled.

The BW-CMS has a content cache functionality to speed up deliver of content that does not change between successive requests to the web server. The content cache provides a 80% to 95% time reduction in the background BW-CMS operation on sections like nav bar, header and menus that require a large amount of processing each time they are displayed but do not change. The page bodies, custom header and custom footer can also be cached selectively. The content cache is cleared at login, logout, saving settings and configuration rebuild.

The BW-CMS has many defined constants, class objects, methods / functions and variables available to the web programmer. The use of an autocompleting IDE is recommended. The BW-CMS is in debug mode there is a debug selection in the Admin menu which will the global defines and various other other information.


Users defined plugins can be placed in "/var/www/vhosts/". The plugin class needs to be extended from the "Cplugin_base" class (e.g. "class Cyour_plugin_class_name extends Cplugin_base", The "C" prefix is a convention adopted in the "BW-CMS" for classes and plugins.). Examples of plugins are in "/var/www/vhosts/" directory. Also, plugins inherently have their own config values (standard classes do not) stored in the config DB "cms_configs" table. And appear in the "Admin -> Config" page prefixed with "Plugin".

IMPORTANT NOTE: The BW-CMS class autoloader finds classes and plugins by their PHP filename and the class name being the same (removing any "C" prefix). The class file may have hidden classes, not directly loaded by the autoloader, within the autoloaded class file which are included in the primary PHP class map apon reading the autoloaded class file.

BW-CMS V1.03 provides the following included plugins in the "/var/www/vhosts/" directory;

  • Social Media - a plugin to interface a group of social media sub-plugins;
    • Facebook - a general Facebook ® sub-plugin.
      NOTE: At this time, the "center_right" position, the Facebook generated fly out goes off the right side of the screen and cannot be viewed, it is disabled at this position.
    • Google +1 - a general Google +1 ® sub-plugin (not displayed on most tablet devices).
    • Linkedin - a general Linkedin ® sub-plugin (not displayed on most tablet devices).
    Social media links are not displayed on tiny devices (e.g. iPods, iPhones, etc).
  • Email - a general server side email plugin for use with other plugins.
  • Gotcha - a security plugin for use with the Email plugin, etc.
  • Contact Us - a standardized server side contact us web code/page generator plugin.
  • Map Latitude Longitude - a standardized server side map code/page generator plugin. Very basic intended to show location for "contact us" pages.
  • Authentication - a standardized external authentication that provides a method to authenticate from external sources. Takes a local application plugin_name and uses the plugin_name::auth(username,password) method to authenticate users.

A page_bodies/example_body.php is available to help show how to use some plugins and local applications. The "_body" suffix in the filename is recommended to avoid filename clashes.

Server System Prerequisites

BW-CMS requires the following server requirements to operate;-

  • Apache Web Server 2.2.x installed on LINUX or MS Windows (other PHP compatible web servers should be suitable),
  • PHP 5.3 with PHP SQLite installed, or PHP 5.4 with php-pecl-sqlite installed,
  • BW-CMS can be setup as an adjunct to an existing web site, or as a new web site (If a new web site, the apache web server configuration needs to be setup for the new web site.),
  • An SSL certificate, self signed or registered for SSL/https web site encryption,
  • http (port 80) for default home/links page and https (port 443) for login and user designated pages,

If server packages are available for WYSIWYG web page editors, TinyMCE V3 or Ckeditor V4, it is recommended that these be installed on the server. These should be automatically detected by the BW-CMS.

To install on Windows, a server bundle like WAMP or XAMPP will need to be installed and setup. It is also recommended that Wget for Windows be installed also.
NOTE: "xampp-win32-5.5.19-0-VC11-installer.exe" (apache, php, MySQL, etc.) was installed and setup on Windows ® 7 Ultimate for development of BW-CMS.

To use country checks, the PECL geoip (geoip >= 2.0) is required. For LDAP authentication the "php-ldap" module is required. For system process access the "php-process" module is required.

Installation and Update

Note 1: The server set up is beyond the scope of this manual. Some general server side setup information is given here. If help is required, contact your system administrator or tech support.
Note 2: The actual methods used on a particular server may vary from the steps shown here.
Note 3: The BW-CMS zip file does not come with user set files that over writes user settings, if they don’t exist the BW-CMS will generate default files.

For full user and administration experience use one of the following PC browsers on a desktop or laptop PC;-

  • Windows Internet Explore V11 or higher,
  • Firefox V31 or higher on Windows, LINUX or Apple MAC,
Other web browser have been tested.

A guide to installing and updating BW-CMS follows;-

  • If updating the BW-CMS, backup the web site.
  • Download the BW-CMS zip file "" to the web site’s directory.
  • Unzip the "" with the overwrite and update options turned on into your web sites directory.
    e.g. unzip -u -o ""
      where (-u = update, -o = overwrite)
    This will unzip the BW-CMS file structure into the containing (the web site’s) directory.
    If you wish to restore BW-CMS to it’s default file structure contents, leave the update option off. And then run Rebuild Setup, see below.
    e.g. unzip -o ""
    NOTE: This does not change existing settings, but will remove any code changes made outside of the release.
  • Pointer your browser at "" (site_alias/ is part of your server setup, usually empty).
    When the BW-CMS is first accessed, it will create an empty SQLite database and rebuild all the CSS stylesheets.
    After approximately 20 seconds and went well, the first run web site looks like this;-
    First run
    NOTE: The filename of the log includes the domain name of the web site.
    On an update the appearance will be different.
  • Click the User: Login link. On a fresh install you see this;-
    First login
    On an update the appearance maybe different.
  • When no users are setup, a default admin user is;-
    Username: admin
    Paswword: password
    Strongly recommend the admin username be disabled after you have setup another, more secure, user (with admin rights).
    Login to the web site. On a fresh install you see this;-
    Admin empty
    On an update the appearance maybe different. Run the "Admin->Rebuild Setup" to rebuild the web site.
  • Suggest going to the Setup and Configuration section.

If failures and non functional issues occur, see Trouble shooting

Browser Window Layout

There is an overall web site style settings (part of the Theme settings);

  • Block Style - uses absolute positioning in the browser’s window. The page body scrolls between fixed positions of the header and the footer. The tool links, admin links and navigation bar also have fixed positions in the browser’s window. The browser’s window is more easily navigable.
  • Inline Style - uses inline/relative positioning in the browser’s window. Scrolls the header, tool links, admin link, navigation bar, page body and footer as one entity. This can make the separate areas of the browser window difficult to navigate to. Where the browser cannot be identified or compatibility issues are known, the BW-CMS will use inline style.

The general arrangement of the BW-CMS in block mode is;-

  • Header - top section of the window. This can be the standard web page header from the BW-CMS which contains standard features. The standard features can be configured by the administer. Or the entire header can be replaced with a customer header. Or the header can be turned off. If the left column is turned off and the navigation bar is turned off, drop boxes are used to display tool and administration links.
  • Left Column - when enabled and displayed, occupies the left side of the window between the header and footer. The left column displays tool links and administration links. If no tools are setup and no user is logged in, the left column is not displayed. The left column can be turned off, then other means are used to display tool administration link, either in the header or in the navigation bar.
  • Navigation Bar (Nav Bar) - when enabled, is a narrow horizontal links bar that occupies the window to the right side of the left column, under the header and above the page body. The contents of the nav bar are configured in the Config settings. If there are tools enabled and if the nav bar size allows, all the tool links are placed in on the nav bar as single items. If the left column is turned off, the tool links and administration links are added to the nav bar.
  • Page Body - occupies the remaining window area, written by the web site’s author. This the window area that displays the web site’s content.
  • Footer - bottom section of the window. This can be the standard web page footer from the BW-CMS which contains standard features. The standard features can be configured by the administer. Or the entire footer can be replaced with a customer header. Or the footer can be turned off.

Static Setup and Configuration

Use a recommended administration web browser.

After logging into the BW-CMS, an "Admin" menu in the left column (default), in the header (as a drop down) or on the Nav Bar (as a drop down), depending on any previous settings, will appear. The contents of the "Admin" menu are self explanatory, having tooltips (i.e. small pop up boxes with explanatory text) for each link.

The BW-CMS comes with an AD/LDAP authentication and search on login system. The authentication provides username and password login function, and optionally a AD/LDAP directory search function. The search function is mainly intended for local application and not directly used by the BW-CMS. There is optional AD/LDAP authentication search parameters available to interrogate the AD/LDAP server. The search results are placed in the $_SESSION['ldap'] array for use by application code and is available across sessions. The contents of $_SESSION['ldap'] are removed at logout. The AD/LDAP operation is controlled by installation settings in the "Admin->Install" in the "Auth Settings" section (more information available under "Auth Settings"->"Comments/Help").

After installation or update, the following guide is useful;-

  • Suggest checking out the "Admin" links to get a feel for the available settings.
  • If looking for a possible setting, try the "Admin->Search" link.

To further the general control and operation of the web site, the following maybe useful;-

  • Web site administrators can redirect the web site to another URL. Administrator can still login (using the "" URI) and administrator the site.
  • Web site administrators can close the web site. Administrator can still login (using the "" URI) and administrator the site.

Dynamic Configuration

Subsequently to the static setup configuration, the BW-CMS can use dynamic control configuration plugins for INI file values at the time of user engagement. The dynamic control plugins needs to be included in the included plugins configuration setting ("CMS_C_ENABLED_PLUGINS" setting).

Dynamic control uses a macro based on the "%%class::method%%" format, where the "class" is a user supplied plugin class name in "/var/www/vhosts/" directory. The "method" is the user supplied static method in the "class". The dynamic control plugin also has a static method to identify it as a dynamic controller, "is_dynamic_controller()" which returns "true" if it is a dynamic control plugin. Otherwise it is not present or returns "false". See Plugins for more information on plugins.

The "KeyName" from the INI file are supplied to the "class::method" as formal function parameters. e.g. "class_name::method_name(Keyname);".

This allows dynamic configuration to be implemented (e.g. by user name, by group, etc.) to set CMS definitions to dynamic states at web page generation.

NOTE: Dynamic configuration is NOT intended for theme options as the theme is set when the save button is clicked.

Local Tools

The BW-CMS has a local tools directory at "./localtools/", for the installation of web based tools and extras. The local tools directory provides somewhere to put web applications / pages (tools). Each tool should be given a unique directory to occupy. Examples of tools are;- conversion tables, code checkers, procedures, manuals, just to name a few.

If you have tools installed on the host that are not under the "./localtools/" directory, these tools can be accessed by using a symlink. This allows these non-local tools to be appear in the Local Tools setup.

Synlinked Local Tools EXAMPLES:
On LINUX, to setup HTdig, make a symlink by going to the "./localtools/" directory, and execute "ln -s /usr/share/htdig htdig", where "/usr/share/htdig" is the path to the HTdig web pages. This allows HTdig to be used as the Local Tool.
A similar tool setup can used for the Apache Manual. Execute "ln -s /var/www/manual ApacheManual" in the "./localtools/" directory, where "/var/www/manual" is the path to the Apache Manual web pages.
On Windows, a similar symlink can be set by using the mklink command. Execute "mklink /D ApacheManual C:\\xampp\apache\manual" in the "./localtools/" directory, where "C:\\xampp\apache\manual" is the path to the Apache Manual web pages.
NOTE: Windows may not have the "mklink" command installed. If not contact your system administrator.

During tool setup, the "./localtools/" directory is searched for filename extensions of .htm .php .html and .txt The tool could be a complete sub-web site.

Local Applications

The BW-CMS has a local applications directory at "./apps/", for the installation of applications and provide greater flexibility. The application directory provides somewhere to put local applications. This provides scope for larger and/or more free form code. The layout of the file structure under the "./apps/" is under the local web programmer's control.

However, the BW-CMS requires some directory structure to allow code integration.

  • .apps/ - the local application base directory.
  • .apps/include/ - the include directory.
  • apps/include/apps_config.php - fixed configuration values for apps runtime (optional). There is an example file, apps/include/example_apps_config.php
  • .apps/include/classes/ - the class directory (the class autoloader looks in here).
  • .apps/include/ini/ - the ini directory (the settings and install pages look in here).
  • .apps/include/ini/apps.ini - the application related settings.
  • .apps/include/ini/apps.defaults.ini - the default application related settings.
  • .apps/include/ini/apps.comments.ini - the descriptions/help text of the application related settings.
  • .apps/plugins/ - the plugins directory (the plugins autoloader looks in here).

The Admin -> App Config -> checks to see if a apps/include/apps_css.php is present. If so the save process generates a apps/include/apps_css.php for use in application web pages. This can be used to set extra theme and style sheet settings. The apps/include/example_apps_css.php is provided to help.

The etc/ini/apps.ini, apps/include/ini/apps.defaults.ini and apps/include/ini/apps.comments.ini are used together to a connection between help messages, default values and the config values. Use the etc/ini/cms.ini, cms/include/ini/cms.defaults.ini and cms/include/ini/cms.comments.ini files as an example. When present, the settings are managed by "Admin -> App Config" menu, are read in and values are defined with a prefix of "APP_" plus the ini file keyname for use in the code. There are example in etc/ini/example.apps.ini, apps/include/ini/example.apps.defaults.ini and apps/include/ini/example.apps.comments.ini to help.

The access to the local applications is controlled by the BW-CMS authentication. A BW-CMS authenication plugin is provided in the BW-CMS.

By default, direct (authorised or not) access to files in ".apps/" directory is denied. Access should be provided from page body contents pages/code. This ensures root document jumps are not possible.

A note on apps classes; it is recommended that the base class on all apps classes should be Ccms_app_bass (e.g Cmy_class extends Ccms_app_base ). The Ccms_app_base class provides interface to the main CMS and provides general functionality.

Examples of local applications are;- web page content provided by high level programming, specialized interface displays, just to name a few. Example files are given throught the apps/ directory to help show how to best these features of the CMS.

Local Applications Authentication

In addition to the local applications the BW-CMS can use a user provided authentication. The "Capps_auth" class is the "./apps//include/classes/apps_auth.php" class file.

The BW-CMS requires the "Capps_auth" to have following public static methods;-

  • "public static function login($user, $password)"
    Authenticates the $user (per application requirements). If authenticated, executes any application login code and returns "true" else return "false" for login denied.
  • "public static function init($user)"
    Called just after the web server session has started and the $_SESSION variables are available. The $user value will be false if no user is logged in or the user name if logged in. This is for applications initialization. If "init($user)" is ok it returns "true". Else returns "false" for denied (and will subsequently log the user out of the BW-CMS).
  • "public static function is_logged_in()"
    A status call. Returns "true" if an apps user is logged in else return "false" for login denied.
  • "public static function logout()"
    Log out current user (per application requirements). If logged in it returns "true" else return "false" if not logged in.

IMPORTANT NOTE: The "Capps_auth" class provides authentication only for the BW-CMS. It does not provide the BW-CMS login execution code. Other application code is engaged by the user selections from the web browser.

An example at "./apps//include/classes/example_apps_auth.php" file is included.


The BW-CMS has a search engine compatible XML sitemap generator builtin. As changes are made to configuration and contents of the web site, the sitemap is automatically updated. To manually update the sitemap goto "".
NOTE: If the sitemap filename is not setup, no sitemap XML is generated.

The XML sitemap is available at "" (replace "" with your domain name and alias, if any, for BW-CMS installation).
NOTE: The name of the sitemap can be configured in the "Admin->Install->Xml Sitemap File" setting. The primary link URL in the sitemap is the same URL in "Admin->Config->Main Web Site URL" setting.

The sitemap can be generated from the command line.

  • On a LINUX server, in a console shell, goto the web site’s cli/ directory and run "./".
  • On a Windows host, in a command shell, goto the web site’s cli/ directory and run "generate_sitemap.cmd".
Successful sitemap generation looks like this;-
					Starting -> sitemap generator for BW-CMS V1.03.
					INFO: Created sitemap "/web-site-root-directory/sitemap.xml" (Link=sitemap.xml)
					Finished -> sitemap generator for BW-CMS V1.03.
Where sitemap name is set to "sitemap".
If any errors or warnings occurred, these will be printed out.

Special Code

The BW-CMS has a special code directory for PHP code (e.g. for Google analytics code and social media code) at "/var/www/vhosts/". Any analytics (e.g. from Google) code or special socal media code should be placed in this directory. The code (usually PHP, HTML, javascript, etc.) is included at the appropiate point by the BW-CMS.

Trouble Shooting

The BW-CMS has installation and updating trouble shooting functions built-in.
NOTE: This does not change existing settings, but will remove any code changes made outside of the release.

If the web site is basically functional, logging in as an administrator and going to the "" link will rebuild the web site settings. This can take a minute or so to complete.

If after an update or other problems, the web site is non functional, there is a recovery command available to help fix this.

  • On a LINUX server, in a console shell, goto the web site’s cli/ directory and run "./".
  • On a Windows host, in a command shell, goto the web site’s cli/ directory and run "rebuild.cmd".
Successful rebuild output looks like this;-
					Starting -> rebuilding setup for BW-CMS V1.03.
					INFO: Installation check.
					INFO: No install issues detected.
					INFO: Checking BW-CMS V1.03 database for updates.
					INFO: Checking table cms_users
					INFO: Checking table cms_groups
					INFO: Checking table cms_bodies
					INFO: Checking table cms_tools
					INFO: Checking table cms_configs
					SUCCESS: Checked cms.sqlite tables - success
					INFO: Installed plugin configs for maplatlong, email, contactus.
					SUCCESS: Update main_styles.css
					SUCCESS: Update block_styles.css
					SUCCESS: Update inline_styles.css
					INFO: DB updated to V1.03.
					Finished -> rebuilding setup for BW-CMS V1.03.
If any errors or warnings occurred, these will be printed out.

A basic installation guide is available in the Installation Notes.

File Version Control

When a manager or administrator are logged in, the BW-CMS can use "Subversion" (SVN) and Git, if available, to aid in administration and checking of the site. Hovering the mouse over the "About BW-CMS" or manual pages shows the current SVN and Git version status of the website. This reports the SVN revision number of the web site. The revision numbers can used to identify changes.

Current version details: BW-CMS V1.03

Utility Scripts

The "cli/" directory contains utility scripts;

  • cli/ - backs up settings to a datetime named file in "cms/backup/" (e.g. cms/backups/
  • cli/generate_sitemap.cmd - Windows version of CLI sitemap generator.
  • cli/ - Linux version of CLI sitemap generator.
  • cli/generate_sitemap.php - is sub script of CLI sitemap generator.
  • cli/rebuild.cmd - Windows version to rebuild configuration.
  • cli/ - Linux version to rebuild configuration. NOTE: Running cli/ runs the cli/ before rebuilding.
  • cli/rebuild.php - is sub script for rebuild configuration and reset the cache.
  • cli/ - Linux scripts to restore web server permissions.
  • cli/ - Linux script used to help submit community feedback containing code.


GNU General Public License, version 2. See ""

More Information and Feedback

Release Notes.

Installation Notes.

Directory Structure;-

\ (DOCROOT)                Web site base directory (maybe DOCROOT or a directory under DOCROOT).
├── apps                   Base directory for web applications (Apps). Contains fixed code.
│   ├── example_app1       App1 example directory.
│   ├── example_app2       App1 example directory.
│   ├── include            Apps include directory.
│   │   ├── classes        Apps classes directory (autoload classes looks in here).
│   │   └── ini            Apps fixed INI and JSON hard coded control files directory.
│   ├── javascript         Recomended Apps javascript directory.
│   ├── plugins            Apps plugin directory (autoload classes looks in here).
│   ├── stylesheets        Recomended Apps stylesheet directory.
│   └── (other)            Other Apps directories as required.
├── cms                    Base CMS directory (this directory is overwritten by CMS updates).
│   ├── cli                CMS command line operations (e.g. rebuild, backup, etc.).
│   ├── images             CMS images directory (used by the CMS).
│   │   └── manual         Images for the CMS manual..
│   ├── includes           CMS includes (not include like apps) directory.
│   │   ├── classes        CMS classes directory (autoload classes looks in here).
│   │   ├── ini            CMS fixed INI and JSON hard coded control files directory.
│   │   ├── ops            CMS operations directory (e.g. login, login, edit config, etc.).
│   │   └── plugins        CMS plugin directory (autoload classes looks in here).
│   └── wysiwyg            CMS installed WYSIWYG html editors.
├── etc                    Config base directory for CMS and Apps (this directory contains the configuration files, backup required).
│   ├── ext                Directory for external code (e.g. Google Analytics, etc. code).
│   ├── images             Custom images based directory for web site.
│   │   ├── backgrounds    Custom/uploaded background images directory.
│   │   ├── icons          Custom icom=ns directory.
│   │   └── upload         Custom/uploaded web page images directory.
│   ├── ini                Edited configuration/options INI and JSON file directory for CMS and Apps.
│   ├── sqlite             The CMS sqlite configuration database directory.
│   └── (other)            Other Apps config directories as required.
├── localtools             Local tools directory.
├── page_bodies            Web site body code directory.
└── var                    Temporary / transitory data directory for CMS and Apps (should not need backup).
    ├── backups            Backups directory for CMS and Apps.
    ├── cache              Cache directory for CMS and Apps.
    ├── exports            Exports directory for CMS and Apps.
    ├── logs               Logs files for CMS and Apps.
    ├── sessions           PHP user session data directory (if used).
    ├── Trash              General directory for CMS and Apps.
    ├── variables          CMS and Apps variable storage directory (not unique to a user).
    └── (other)            Other Apps variable directories as required.

On the drawing board are new plugins;-

  • PayPal - a general PayPal ® plugin for use with other plugins.
  • Geo Location - a general location plugin for use with other plugins.
  • Pricing - a general cost, mark up, tax and price calculator plugin for use with other plugins.
  • Freight - this plugin will provide freight estimator for use with other plugins.
  • Gallery - stores images, descriptions and other data. It will use the BW-CMS SQLite database to simplify installation and setup. Optional the PalPay plugin can be linked to allow user to purchase the item.
  • Web Services - this plugin will provide a web services framework to provide functionally to remotely access data.
  • Shopping Cart - this plugin will provide a shopping cart.
  • Catalog - this plugin will provide a basic online shop with a saved shopping cart.
  • Updater - this plugin will provide methods to update BW-CMS.

Hints, corrections and suggestions are always welcome. Email Feedback.