Dashboard Web App

This was the website for Dashboard Web App. The content below is from the site's 2009-2010 archived pages.

Dashboard is a Rapid Application Development Framework. It's designed to make writing PHP faster and more secure by removing the repetitive parts of programming from the development cycle. Its perfect for many web-applications, but it is specifically designed for making websites that need some custom development for interaction with a database. Quite honestly I wish there was a similar app that would find specialists in your area who would clean up your home after a water damage disaster. Just a click on your mobile devise and they would be instantly at your location to sweep through and restore your home and belongings to pristine condition. Unfortunately in real life you can't just wave a wand and presto everything is restored. But I did find the next best solution when I hired a NYC water damage repair company after doing a search online.The Sunlight Water Damage Restoration Services specialized in the cleanup and remediation of residential and commercial properties after water, fire, or smoke damage. Since immediate action is needed, I was relieved that they responded so quickly which helped to minimize not only the damage, but also the cleaning and restoration costs. They may not be quite as fast as the Dashboard Web App is for writing php, but they are number one in my book for water damage mitigation.

It's not a CMS. While Dashboard can and does function as a highly featured and stable Content Management System, at its core it is much more. Dashboard makes custom development easier and more fun.

Dashboard is a modular open-source web framework that incorporates CMS, eCommerce, blogs, SEO, and many other popular features out of the box. But best of all Dashboard was developed from the ground up to be flexible and rapid to deploy.


Getting Started


Table of Contents

Section 1: Installing Dashboard

Section 2: Manually Configuring

The best way to get the latest sources for Dashboard Framework is through GIT.

git clone git://github.com/norex/dashboard.git

cd dashboard

If you do not use GIT, then the latest release version of the framework is available for download from the Dashboard Framework homepage.

This will download an installation of Dashboard complete with relevent submodules, etc. You should now set up your webserver to serve from this document root. In the following examples, we will assume that you have a virtual host set up at http://dashboard/.

Installing Dashboard

The Dashboard installer should redirect you to an installation page upon first visit to the site. If not, point your browser to http://dashboard/buildtools/install/install.php. The first couple steps will verify that you have the nessasary components to allow Dashboard to run properly. You will require, at a minimum:

  1. PHP 5.2 or greater
  2. MySQL 5.0 or greater

It will also verify that the proper permissions have been set up. If any of the checks do not pass, please correct them before continuing onto the next step.

The database setup will attempt to create a database and create the nessasary tables for a minimal set up. Enter the database name, username, password and hostname that Dashboard should attempt to connect to.


This executes a DROP TABLE command, so it will remove old tables. Do not run the web installer if you have data that should not be deleted.

Once the installer has completed, you should be able to visit http://dashboard/ and see some basic example text.

Access the administration interface through http://dashboard/admin. The default administration username is norex, and the password is D3vP@ss

Manually Configuring

If for whatever reason the installer does not work, it is very simple to configure Dashboard.

chmod -R 777 cache

chmod -R 777 files

Then edit the include/db-config.php file to suit your database configuration. To initialize the database:

cat buildtools/sql/*.sql | mysql -u DB_USERNAME -pDB_PASSWORD -D DB_NAME

cat modules/*/*.sql | mysql -u DB_USERNAME -pDB_PASSWORD -D DB_NAME

Of course, you will need to replace DB_USERNAME, DB_PASSWORD and DB_NAME with values that make sense for your setup.


Chapter 1: Introduction to Dashboard

  • Section 1.1: What is Dashboard?

Chapter 2: Getting Started

  • Section 2.1: Installing Dashboard
  • Section 2.2: Manually Configuring

Chapter 3: Create A Module

  • Section 3.1: What is a Module
  • Section 3.2: Hello, World!
  • Section 3.3: Module Layout

Chapter 4: Routing

  • Section 4.1: Introduction
  • Section 4.2: Basic Routes

Chapter 5: Database Objects

  • Section 5.1: DBRow Classes
  • Section 5.2: DBColumn Types
  • Section 5.3: Sample Calls

Chapter 6: Chunks

Chapter 7: User Permissions

  • Section 7.1: Creating A Permission
  • Section 7.2: Permission Admin Interface

Chapter 8: Templating a Page

  • Section 8.1: Site Templates
  • Section 8.2: Variables and Functions for Site Templates
  • Section 8.3: Module Level Templates

Chapter 9: API Reference

  • Section 9.1: Framework Helpers
  • Section 9.2: Database Interaction Documentation

Chapter 10: Unit Testing

  • Section 10.1: Running Tests
    • Section 10.1.1: Basic Tests
    • Section 10.1.2: Browser Tests
  • Section 10.2: Writing Tests
    • Section 10.2.1: Test Names
    • Section 10.2.2: setUp() Function
    • Section 10.2.3: tearDown() Function


Change Log 2010

Dashboard 2.1.6

  • Admin will warn you if the file system is out of sync with the database for uploaded files.
  • DBTable admin now features sorting so you can choose what order fields should be displayed in for Forms.
  • Admin now has full support for Google Chrome.
  • Toggling object states between active and inactive was displaying a PHP warning.
  • Much more robust testing suite.
  • Filtering and searching objects: The Page class now has support for easily adding filtering and search to any module. For example, a site with hundreds of content pages can use filtering to easily find and edit a page.
  • Mail module has support for requiring email address confirmation before registration is accepted.

A full list of closed bugs can be seen at https://norex.lighthouseapp.com/projects/21176-cms/tickets?q=milestone%3A%222.1.6%22+state%3Aclosed

Dashboard 2.1.5

  • Updated default page template.
  • Moved several templates to be file system based rather then DB based.
  • Removed PHP warnings that were displayed if project wasn't under version control.
  • Initial support for hosting Dashboard on a Windows machine.
  • Improved admin javascript.
  • Database configuration file was deleted.
  • Renamed SiteConfig module to Preferences
  • Content module performs W3C validation on pages to check for invalid HTML.
  • Easy filtering: Developers can quickly add filter/search forms to the top of modules.
  • Sitemap and Search Engine integration. Site will ping Google to inform them to reindex when content is changed.
  • Added CSS variables.

Read the  upgrade documentation  for a list of incompatible changes from 2.1.4 and easy steps to resolve them.
A full list of closed bugs can be seen at https://norex.lighthouseapp.com/projects/21176-cms/tickets?q=milestone%3A%222.1.5%22&filter=


  • There was a typo in the MySQL schema for the Video Gallery module. This may have prevented installations from completing loading other module schemas.

Dashboard 2.1.4

  • Updated TinyMCE editor.
  • Obsolete PEAR modules remove (particularly Event_Dispatcher)
  • Ability to insert stylesheets into head of page directly via {stylesheets} plugin rather then requiring designers to edit PHP source directly.
  • CSS and JS cache invalidation if your project is deployed via GIT. These projects do not require a hard-refresh from the browser to get latest assets.
  • Fixed bug with IE form validation.
  • Many automated PHPUnit tests added. Built in selenium-server will run GUI tests!
  • Several Calendar module fixes and enhancements.
  • Cached files will be served gzipped if client can accept gzipped encoding.

Dashboard 2.1.2

  • Updated prototype.js
  • Inline javascript form validation has been updated. QuickForm implementation has been discarded and prototype implementation used instead.
  • Bug Fix: Gallery module was throwing up a notice on some admin screen loads.
  • Bug Fix: Chunked pages can now have drats be activated by pages other then their parent.
  • Bug Fix: Chunk admin javascript on empty objects was throwing an error.
  • Users are assigned a default group (if one has been specified in SiteConfig).
  • Cache dir check no longer uses redirect.
  • TinyMCE updated.
  • PEAR Pager updated.
  • Admin styling updated.

A full list of closed bugs can be seen at https://norex.lighthouseapp.com/projects/21176-cms/tickets?q=milestone%3A%222.1.2%22&filter=

Dashboard 2.1.1

  • More careful installer check to see if bad database login information has been provided.
  • Inflector class which provides helpers for string manipulations (pluralization, slugging, etc).
  • Tighter TinyMCE integration.
  • Form field grouping via fieldsets.
  • Better messages when site is down for maintenance.
  • Quick sanity-checks when loading up administration dashboard.

A full list of closed bugs can be seen at https://norex.lighthouseapp.com/projects/21176-cms/tickets?q=milestone%3A%222.1.1%22&filter=.

Dashboard 2.1.0

  • "Chunked" content module, allowing revision history to be scrolled through at the time of editing.
  • Installation script enhancements and security improvements.
  • Re-skinned default backend administration.
  • Page class refactoring.
  • Several default modules and plugins added.
  • File class allows more reliable uploading of documents and images. Images are resized via a newer method. The old Image class is still around, but deprecated.
  • Simplified WYSIWYG editor. Buttons which are rarely used are not enabled by default.
  • Updated template parser (Smarty).
  • Updated javascript libraries. Includes support for IE8.
  • Massive performance improvements.

A full list of closed bugs can be seen at https://norex.lighthouseapp.com/projects/21176-cms/tickets?q=milestone%3A%222.1%22+state%3Aclosed.