wiki:!Documentation

ExiteCMS v8 : Development Documentation


Database design

  • Overview
    Database schema, and general information about the database design and the table structures used
  • Tables
    In-depth information about every table in the database, including the table structure and an explaination of all fields and their contents


ExiteCMS framework

  • Startup Flow
    ExiteCMS doesn't use all of the features available in CodeIgniter. In particular, the URI routing functionality isn't used.
    In ExiteCMS, all URI's are routed to the ExiteCMS Bootstrap controller to allow dynamic routing based on information in the website content tree.
  • Theme design
    ExiteCMS creates theme driven websites, in which theme theme designer has full freedom in how a page is designed, and where ExiteCMS places the defined page elements. The Theme Howto page gives you an overview of the architecture, the structure and components of a theme, and a short howto on how to make your own theme.
  • Module design
    ExiteCMS has a fully modular design. Every output is generated by a module, which drive the page elements mentioned in Theme design. The Module Howto page gives you an overview of the architecture, the structure and components of a module, and a short howto on how to make your own module.
  • Plugin design
    Technically, a plugin is nothing more than a module. But a special kind of module. There where modules are used to define elements that send output to the page renderer so it can be incorporated in the web page, a plugin works in the background, triggered by hooks that are available throughout the ExiteCMS Framework, and in some of the modules. Plugins can use this to alter or enhance the functionally of the framework or a module, or to create bridge interfaces to web applications external to ExiteCMS. The Plugin Howto page gives you an overview of the architecture, the structure and components of a plugin, and a short howto on how to make your own plugin.


3rd party software used

  • CodeIgniter?
    ExiteCMS uses the CodeIgniter PHP application framework as it's foundation. The current version used is 1.7.2
    To make it usable for us, we had to make a fix a few errors in the framework code. These are documented?, including links to the changesets.
    We've already peeked at CodeIgniter v2.0, and the changes that we need to make to get ExiteCMS working again. These are documented? here.
  • Smarty
    ExiteCMS uses the Smarty PHP template engine to render webpages
    This makes it very easy for web designers to develop new panels or themes without having to know the PHP programming language, but also without the opportunity to use PHP to interfere with business or CMS core logic