White dot for spacing only
The Dice Project


projectsdb.html,v 1.10 2014/06/18 10:13:50 gdutton Exp

UG4 / MSc Projects Database Service

This document details the operation of the database and associated website for the UG4 and MSc projects, used by both student and coordinator. Some (admin) user-facing documentation is available on computing.help.

The site is a basic, and somewhat esoteric PHP web front-end to a database of project proposals. Its authentication is handled by Cosign and allows any authenticated user to access its pages, propose projects or request project preferences. A limited number of users (simply matched by REMOTE_USER name) are admins and can use the administrative functions of the site to allocate students to projects.

The projects database is accessed via projects.inf.ed.ac.uk (presently spadina). Its database is hosted on pgresearch, and depends on the PostgreSQL service on that server.

Important Notes

The service is due a refresh, since both database and code are somewhat fragile. The current 'refresh' to codebase and host fixes many original bugs and holes, and should allow the service to be manageable for the time being.

Invalid queries caused by mangled SQL (usually from spiders' page requests) are still possible, though reducing, and although most do not present an injection risk, for safety these are being squashed (semi-proactively) as reports arrive. If you would like to be included in these, the *_config.php files allow for an administrative email address.

To compensate for the previous multiple-site, multiple copy system, the current release makes heavy use of apache redirects; these are essential for the operation of the site:

Configuration

Code for the projects web can be found in the Informatics SVN repository. Details are in the dice/options/projects-db-webserver.h header, whose inclusion is the minimal required configuration to enable a projects web host.

Additional server configuration, such as altering the name or port of the vhost, or the file location, can be found in the header. Default file location is /disk/scratch/projectdb/.

Service configuration is performed by editing the [root]/data/*_config.php files; permanent changes may be committed back to subversion for safety. It is planned that these may be fully managed via LCFG in time.

Changing the coordinator should be performed in the appropriate *_config.php file.

Amending the admin list can be performed either by amending the list in the appropriate *_config.php file or (preferably) by granting the projdb/[ug4|msc]/admin capability (as required). Note that the capability list is defined in the configuration file which is ultimately the master access control list.

Configuration tasks which support must perform under normal circumstances consist only of changing the coordinators for UG4 or MSc and/or changing the administrative access list. It is anticipated that some of this configuration will be moved back to the database itself in due course. The config files should be documented in a self-explanatory way for those tasks that require it.

The only data produced by the site, and the only source on which it relies can be found in its database, presently residing on pgteach. The most recent SVN revision should track this if it changes.

Backup / Restore

Backup of the service is covered by:

Restoration of the service involves:

Restoring Lost Projects

The system is mostly reliable in operation but in rare cases project submissions can go astray or be overwritten. In these cases it is often possible to restore data from the SQL logs which are written to the projects web error log. You can follow an example of recoving a project in the comments to RT65364.

Access to allocations and project groups

This is restricted to internal, authenticated users, but external examiners, for example, can be granted access by adding their addresses to the "staffcaps" list in the configuration file:

projects:/disk/scratch/projectdb/data/<type>_config.php

This is an interim solution until iFriends can be given access to the appropriate "project staff" capability.


 : Units : Research_and_teaching : Documentation 

Mini Informatics Logo - Link to Main Informatics Page
Please contact us with any comments or corrections.
Unless explicitly stated otherwise, all material is copyright The University of Edinburgh
Spacing Line