Helpdesk Programmers Guide

This is the Programmer's Guide for the f2w Helpdesk. It deals with installation and customisation, and explains the intention behind some of the design decisions that were made.

If you want to know how to use the helpdesk, see the User Guide. If you want to know how to administer the data, see the Administrator Guide.


  1. Installation
  2. The Database
  3. The Zope folder structure

The Zope Folder Structure

To keep it simple, I will assume you have the f2w folder installed in the root folder of your Zope server, and I will refer to it as /f2w.

Access Control

The parts of the system that need login to use are under /f2w/operator. Within that, the parts that need the "Admin" role are under /f2w/operator/admin.

Acquisition Trickery

When Zope decodes a URL to decide what object to access it doesn't just walk down the folder tree in a simplistic way until it gets to a bottom-level object. It walks down the folder tree, but if an object isn't found at the level it has reached so far, it looks back up the tree to see if it can "acquire" a name that is visible higher up. This is very good for code re-use.

The main example of this is the reports folder. It is visible as /f2w/operator/reports and as /f2w/public/reports, so the exact same reports are available within the public and operator areas. However, the links from the report pages are constricted so that (for example) they will point at /f2w/operator/requests/detail or /f2w/public/requests/detail depending on where you are. These do different things - the public one is read-only.

Less trickily, commonly used objects can be placed in the root folder of the application and are available everywhere below that point.


Throughout the application, the style of the pages is determined by a stylesheet chosen from those in the /f2w/styles folder. Each user can have his/her own stylesheet preference.


As of 1.4.2, patches to the software can be installed in /f2w/admin/config. A patch is a directory containing altered ZSQL files, whose titles indicate which files they should overwrite, plus optionally a python script called 'patch_script' to do other things that need to be done.

The first attempt at this is the patch for Oracle SQL, in /f2w/admin/config/oracle_sql.

/f2w/admin/config/index_html is a simple web form with one button per patch. Click the button to apply the patch. Use with care!


  1. Contents
  2. Installation
  3. The Database
Last updated 7 Feb 2002