Installing Exponent
From Fishcakes Wiki
This page contains a guide to installing Exponent CMS on a remote web server.
Contents |
Installing Exponent
A guide to installing and configuring Exponent CMS, which is a great Content Management System to use for simple sites. For details on Exponent see the Exponent CMS Resources below. The documentation for the CMS is still rather thin on the ground, but don't let that put you off. The guys who created this CMS are great at code, but not so great on the documentation side of life.
Below are a few of my notes about configuring an Exponent installation. They're mostly aimed at helping me remember how to do things, and are patchy at best, but if you find them useful, then enjoy.
Installation File Permissions
Directions for Exponent versions 0.96.5 and 0.96.6. Please note that other versions have slightly different folder structures.
Installation File Permissions for Version 0.96.5
For version 0.96.5 installation, the following files and directories should have their permissions set to 755:
/conf/ (folder) /conf/profiles/ (folder) /extensionuploads/ (folder) /files/ (folder including sub-folders) /install/ (folder) /modules/ (folder) /overrides.php (file) /tmp/ (folder) /views_c/ (folder)
Once setup is completed change all directory permissions back to 755 except for:
/files/ (folder including sub-folders) /tmp/ (folder) /views_c/ (folder)
It is very important not to leave your folders writable, except when absolutely necessary!
Installation File Permissions for Version 0.96.6
For version 0.96.6 installation, the following files and directories should have their permissions set to 755:
/conf/ (folder) /conf/profiles/ (folder) /extensionuploads/ (folder) /files/ (folder including sub-folders) /install/ (folder) /modules/ (folder) /overrides.php (file) /tmp/ (folder) /views/ (folder)
Once setup is completed change all directory permissions back to 755 except for:
/files/ (folder including sub-folders) /tmp/ (folder) /views/ (folder)
It is very important not to leave your folders writable, except when absolutely necessary!
Install Exponent See Also
Installing Exponent Modules
Automatic Module Installation
Exponent has an Upload New Module feature which allows for the automatic installation of extra content modules. In order to use this feature change directory permissions to 755 for:
/datatypes/ (folder) /datatypes/definitions/ (folder) /subsystem/lang/eng_US/datatypes/ (folder) /subsystem/lang/eng_US/modules/ (folder)
You may also need to change permissions on other folders, depending on which files the module you are installing needs to write to the server. Exponent will prompt you to do this before the installation completes.
Once you've set your file permissions, do the following:
- Login to your Exponent website and goto Admin Control Panel > Manage Modules.
- Click on the Upload New Module link in the top section.
- Browse your local computer to select the Module Archive file and then click Install.
- If all your file permissions are ok and the module you are trying to install doesn't already exist, then just click Install and the installation will complete.
- Return to Admin Control Panel > Manage Modules.
- Locate the module you have just installed and click Activate Module to make it available to the Container module.
- REMEMBER to change your folder permissions back to 755 after installation is complete!
Manual Module Installation
You can also manually install Exponent CMS Modules.
- Download the module archive and uncompress to your local hard drive. You're then ready to copy the files via FTP to your Exponent CMS website.
- Datatype Files. These files control the Edit pages of the module. Copy to:
your_exponent_directory/datatypes/
- Datatype Definition Files. The files contain the database table definitions. Copy to:
your_exponent_directory/datatypes/definitions/
- Module Files. This is the actual module, including class, actions and views. Copy to:
your_exponent_directory/modules/
- Subsystem Files. These files contain the language specific information. Copy to:
your_exponent_directory/subsystems/
- Additional Files. This could be extra subsystems, javascript libraries and such. It varies from module to module. Some examples are:
your_exponent_directory/datatypes/
- Goto Admin Control Panel > Install Tables to install the module's tables into the database.
- Goto Admin Control Panel > Manage Modules.
- Locate the module you have just installed and click Activate Module to make it available to the Container module.
Example Image Gallery Lightbox Installation
Below is an example of the files contained within the Image Gallery Lightbox module.
Datatype Files
/datatypes/imagegallery_gallery.php (file) /datatypes/imagegallery_image.php (file)
Definition Files
/datatypes/definitions/imagegallery_gallery.php (file) /datatypes/definitions/imagegallery_image.php (file)
Module Files
/modules/imagegallerymodule/ (folder)
Subsystem Files & Folders
/subsystems/lang/eng_US/modules/imagegallerymodule (folder)
Installing Exponent Themes
Automatic Themes Installation
Themes Upload Permissions
Exponent has an Upload New Themes feature which allows for the automatic installation of extra design themes. In order to use this feature change directory permissions to 777 for:
/templates/ (folder)
REMEMBER to change the permissions back to 755 after installation is complete to protect your site!
Manual Themes Installation
tbd
Additional Exponent Installation Procedures
Fixing Images forbidden error
By default, Exponent CMS blocks uploads. In order to upload images and other files you need to enable them.
/files/ (folder including sub-folders)
- Set the permissions on your files folder to 777.
- Login to your Exponent site and goto Admin Control Panel > Configure Site > Edit .
- Set Default File Permissions to World Readable and Writable .
- Set Default Directory Permissions to World Readable and Writable .
- Save your settings and you should now be able to upload images and other resources.
See also Forum Post and Forum Post
Setting Date & Time Formats
Edit file
/config/data/date_format.dropdown (file)
Add Dates as required:
%a %d %b %Y Mon 25 Dec 2004
Date Codes
%A Monday %a Mon %B November %b Nov %e 1 %D 11/01/04 %d 01 %m 11 %Y 2004 %y 04
Time Codes
%l hour (12 cycle) %H hour (24 cycle) %M mm minute %P am/pm %T time in hh:mm:ss
Show PHP Errors
If you are having problems, then you should switch on display of PHP errors.
To do this, edit file:
exponent_version.php (file) (NOT pathos_version.php)
Change the line:
define('DEVELOPMENT',0); // CHANGE FOR DIST
- to:
define('DEVELOPMENT',1); // CHANGE FOR DIST 0=off 1=on
- See Exponent How Do I — My page is coming up blank. How can I see what is wrong?
Note: you should only do this on a development website. Never do this to a live site or your users will see the error messages as they browse!
Exponent CMS Resources
Official Exponent Resources
- exponentcms.org — official website.
- exponentcms.org Download — get Exponent.
- sourceforge.net Exponent — get Exponent from SourceForge.
- exponentcms.org Download Themes — change the look.
- exponentcms.org Download Modules — extend Exponent.
- exponentcms.org Forums — for advice.
- exponentcms.org FAQ — How Do I guide to common questions.
- exponentcms.org User Guides — PDF downloads.
- exponentcms.org Designers Guide — doesn't really exist yet!
- exponentcms.org Developers Guide — doesn't really exist yet!
- exponentcms.org How To Create a Module — basic module structure explained.
Unofficial Exponent Resources
- phpxref.com Exponent — online browsing of Exponent 0.96.3 source code.
- netstepcms.com eXponent Overview — good review of what's on offer.
- zimmertech.com Tutorials — excellent tutorials on variety of topics, including great Themes tutorial.
MySQL Resources
- mysql.com — MySQL official website.
- mysql.com Documentation — official user guide.
- wikipedia.org MySQL — good history and definition.
- php.net MySQL Functions — using PHP and MySQL together.
PHP Resources
- php.net — PHP Hypertext Processor official website.
- wikipedia.org PHP — good history and definition.
- w3schools.com PHP Tutorial — excellent online tutorial.
- php.resourceindex.com — index of PHP code snippets for the seriously techie.

