Difference between revisions of "Website:Application overview"
Line 2: | Line 2: | ||
= Directory Structure = | = Directory Structure = | ||
+ | |||
+ | <pre> | ||
+ | -rw-rw-r-- Changes | ||
+ | -rw-rw-r-- Makefile.PL | ||
+ | -rw-rw-r-- README | ||
+ | drwxrwxr-x build | ||
+ | Staging directory for building third party libraries. Current releases should be symlinked to the correct unpacked source. | ||
+ | |||
+ | drwxrwxr-x conf | ||
+ | Application and third-party library configuration. | ||
+ | |||
+ | drwxrwxr-x design | ||
+ | Design elements and ideas. | ||
+ | |||
+ | drwxrwxr-x extlib | ||
+ | Directory containing builds of third party libraries. | ||
+ | |||
+ | drwxrwxr-x lib | ||
+ | The core application modules. | ||
+ | |||
+ | drwxrwxr-x logs | ||
+ | |||
+ | drwxrwxr-x private | ||
+ | Docs and presentations. | ||
+ | |||
+ | drwxrwxr-x root | ||
+ | /root contains static files and templates. | ||
+ | |||
+ | drwxrwxr-x script | ||
+ | Helper scripts and the stand-alone server. | ||
+ | |||
+ | drwxrwxr-x sql | ||
+ | SQL statements for various databases. | ||
+ | |||
+ | drwxrwxr-x src | ||
+ | Third party sources. | ||
+ | |||
+ | drwxrwxr-x t | ||
+ | Application test suite. | ||
+ | |||
+ | -rw-rw-rw- wormbase.yml | ||
+ | Application-wide default configurations. | ||
+ | |||
+ | -rw-rw-r-- wormbase_local.yml.template | ||
+ | Template for local configuration. Entries here will override defaults. | ||
+ | |||
+ | </pre> | ||
= Configuration = | = Configuration = |
Revision as of 14:37, 16 January 2008
Contents
Directory Structure
-rw-rw-r-- Changes -rw-rw-r-- Makefile.PL -rw-rw-r-- README drwxrwxr-x build Staging directory for building third party libraries. Current releases should be symlinked to the correct unpacked source. drwxrwxr-x conf Application and third-party library configuration. drwxrwxr-x design Design elements and ideas. drwxrwxr-x extlib Directory containing builds of third party libraries. drwxrwxr-x lib The core application modules. drwxrwxr-x logs drwxrwxr-x private Docs and presentations. drwxrwxr-x root /root contains static files and templates. drwxrwxr-x script Helper scripts and the stand-alone server. drwxrwxr-x sql SQL statements for various databases. drwxrwxr-x src Third party sources. drwxrwxr-x t Application test suite. -rw-rw-rw- wormbase.yml Application-wide default configurations. -rw-rw-r-- wormbase_local.yml.template Template for local configuration. Entries here will override defaults.
Configuration
Catalyst offers a powerful configuration system. We use it to provide application-wide, per-page, and per-session configuration. In addition, local configuration files can be used to override any configuration option for production or development deployment.
Here, $ROOT refers to the document root of your application.
$ROOT/wormbase.yml
This file contains the default configuration for the application. The application defaults to using remote data sources. If you would like to override this, see wormbase_local.yml.
$ROOT/wormbase.yml.template
Move this template file to wormbase_local.yml and edit values to locally override the default configuration variables. This file is maintainted in SVN as a template so that individual development preferences are not obliterated by an inadvertent svn commit.
Application structure
The general structure of the application mirrors the organization in Acedb. Separate Model::* packages correspond to classes in Acedb.
Models
Generic Model methods
Controllers
Generic Controller Actions
Views
Widgets
Widgets are distinct presentation elements of a given model. Widgets correspond to sections in the previous WormBase site. For example, the Gene page has widgets for Identification, Location, and so on.
Specifying configuration
Required Controller actions
Required Model methods
Views
Creating new Models and Controllers
1. Create your new Model or Controller using the wormbase_create.pl script. This script provides stub formatting, documentation, and test files.
$ROOT/scripts/wormbase_create.pl model Test
Creates...
[todd@micos trunk:23]$ ./script/wormbase_create.pl model Test exists "/Users/todd/projects/wormbase/website/trunk/script/../lib/WormBase/Model" exists "/Users/todd/projects/wormbase/website/trunk/script/../t" created "/Users/todd/projects/wormbase/website/trunk/script/../lib/WormBase/Model/Test.pm" created "/Users/todd/projects/wormbase/website/trunk/script/../t/model_Test.t"