CONFIGURE YOUR WEBSERVER
=========================
Use the directory 'public' as the webroot directory and allow PHP execution. If you use the Hiawatha webserver, you can use the following UrlToolkit configuration:

UrlToolkit {
	ToolkitID = banshee
	RequestURI exists Return
	Match ^/(favicon.ico)|(robots.txt)|(sitemap.xml)$ Return
	Match .*\?(.*) Rewrite /index.php?$1
	Match .* Rewrite /index.php
}

For Apache, there is a .htaccess file in the 'public' directory which contains the URL rewriting rules.


CONFIGURE PHP
==============
Banshee needs PHP's MySQL and XSL module. Use the following PHP settings:
	register_globals = Off
	allow_url_include = Off


CONFIGURE YOUR DATABASE
========================
Change the database settings in 'settings/website.conf' and run the script 'database/setup_database'.

The database already contains two users:
	admin:banshee
	user:banshee


DELETE DEMO CONTENT AND FUNCTIONALITY
======================================
To delete all demo content, run the script 'cleanup'.

To remove a module from the framework, use the 'remove_module' script. Run it without a parameter to see all available modules.


ABOUT BANSHEE
==============
Banshee uses the Model-View-Controller (MVC) design pattern. For every page, a view is required. The controller and model are both optional.

To add a page to your website, copy 'templates/page_view.xslt' to 'view/<page_id>.xslt'. Add <page_id> to 'settings/public_pages.conf' if the page is accessible to all visitors or to 'settings/private_pages.conf' if a login is required. Run 'databases/private_pages' when you've changed 'settings/private.conf'. Your new page is accessible via http://hostname/<page_id>

In every page (controller), the following objects are available: $db, $_page, $_user and $_output.

- $db: can be used to access the MySQL database. Its source can be found in 'libraries/database/'.

- $_page: contains information about the current page request. Its source can be found in 'libraries/page.php'.

- $_user: contains information about the current user (visitor). Its source can be found in 'libraries/user.php'.

- $_output: used to create the output. In Banshee, the view is done via XSLT. A controller builds up a XML document via this object. Banshee will transform this XML and the XSLT view into the final output, which is send to the browser. The source of this object can be found in 'libraries/output.php'.


DIRECTORY STRUCTURE
====================
A typical Banshee root directory consists mainly of directories. Below, you find a list of typical Banshee directories and their purpose.

- ajax: contains the controller PHP scripts for AJAX requests.

- controllers: contains the controllers PHP scripts for normal page requests.

- databases: contains database operation scripts and a MySQL database dump used to initialize the MySQL database.

- libraries: contains all the Banshee libraries and datbase drivers.

- logfiles: contains Banshee logfiles and can also be used to store the webserver logfiles.

- models: contains the model PHP scripts, used for both normal and AJAX requests.

- public: the webroot directory. Contains all the files which can be requested directly via a browser, like images, javascripts and CSS files.

- settings: contains configurations files for Banshee.

- templates: contains template files (PHP scripts and XSLT sheets), which can be used for new pages.

- views: contains the XSLT sheets, which are used as the view.
