Developer's Guide

Deprecated

This software has been deprecated as a standalone code repository and is now included in our Longwell distribution as a configuration. The following documentation is out of date; if you want to develop Semantic Bank, you should first learn how to run Longwell's configurations and then how to write a configuration. Note that there is a difference between fundamentally modifying the Semantic Bank configuration and simply extending it to reflect your changes.

What You Need

Here is a list of things you need to build Semantic Bank:

Build the Distribution

  1. cd where/you/want/it
  2. svn checkout http://simile.mit.edu/repository/longwell/stable/ longwell2
  3. svn checkout http://simile.mit.edu/repository/semantic-bank/trunk/ semantic-bank
  4. cd longwell2
  5. ant
  6. cd ../semantic-bank
  7. ant

This will create a distribution in the ./dist/semantic-bank directory that contains everything you need to start.

You can now run the Semantic Bank by following the installation instructions. Run them from within the ./dist/semantic-bank directory, not the base of the trunk that you checked out.

What's in Semantic Bank

Here is an outline of the structure of the Semantic Bank source code and a brief description of its content:

+-build.xml                   the ant build file
+-build.properties            the properties used by the build file
+-build/                      contains the build products (created by the build system)
+-dist/                       contains the distribution (created by the build system)
+-docs/                       the documentation (also used to generate the web site)
+-src/                        contains the source code
| +---graphics/               the source for the graphics and icons
| +---java/                   the java source code for Semantic Bank
| +--ui/                      the user interface descriptions
|    +--html/                 (we only support HTML for now)
|       +--client-side/       the parts used by the client side (the browser)
|       |  +--images/         images and icons
|       |  +--scripts/        scripts used by the dynamic HTML parts
|       |  +--styles/         CSS stylesheets 
|       +--server-side/       the parts used by the server side (the servlet engine)
|          +--macros/         velocity macros (functions used by the templates)
|          +--templates/      velocity templates (used to generate the dynamic web pages)
+-tools/                      tools used by the build process

What's in Longwell2

Semantic Bank depends on the Longwell RDF-based facetted browser (version 2 or greater only!) and since Longwell2 has not been released yet, it is helpful to give a description of the content of Longwell that are used by Semantic Bank:

+-build.xml                   the ant build file
+-build.properties            the properties used by the build file
+-longwell.[sh|bat]           the scripts used to run longwell standalone
|                             (useful when developing only the Longwell part of Semantic Bank)
+-longwell.properties         properties file used by longwell standalone
|                             (this is ignored when run by Semantic Bank)
+-build/                      contains the build products (created by the build system)
+-docs/                       the documentation (not used by Semantic Bank)
+-legal/                      contains the licenses of the libraries shipped with Longwell2
+-lib/                        contains the libraries shipped with Longwell2
+-src/                        contains the source code
| +---graphics/               the source for the graphics and icons
| +---java/                   the java source code for Longwell
| +---rdf/                    the RDF sources for the ontolgies, configurations and facades
| +--ui/                      the user interface descriptions
| |  +--html/                 (we only support HTML for now)
| |     +--client-side/       the parts used by the client side (the browser)
| |     |  +--content/        the static HTML part to embed external views (i.e. maps)
| |     |  +--images/         images and icons
| |     |  +--scripts/        scripts used by the dynamic HTML parts
| |     |  +--styles/         CSS stylesheets 
| |     +--server-side/       the parts used by the server side (the servlet engine)
| |        +--macros/         velocity macros (functions used by the templates)
| |        +--templates/      velocity templates (used to generate the dynamic web pages)
| +--ui-modules/              reusable pieces of UI
+-tools/                      tools used by the build process