Skip to end of metadata
Go to start of metadata

The LAMS interface is built using both Flash, JSPs and Javascript.

The tool pages and the overall pages that include Flash are JSPs, using the Struts framework. Varying amounts of Javascript and DHTML are used through the system to increase the usability of the pages (data entry validation, allowing a fast tab based system in tool authoring pages, etc).

If you are writing a tool, we would prefer if you used Struts and JSPs, however it
is not mandatory. Using Struts and JSPs will increase the chances that the tool becomes a tool bundled with the standard release. Even if you choose not to use Struts and/or JSPs, please try to follow the rest of the guidelines on this page.


We find this is the most "reliable" doctype to use:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


To ensure that your tool has the same look and feel as the general LAMS look, please use the <lams:css/> tag in your user interface. This will pick up the user's currently selected stylesheet.

Tool Icon

The tool icon is displayed two places in authoring - in the toolkit on the left hand side and on the canvas. The size of the icon is different in the two places.

If you do not supply an icon either the tool icon will be blank or the "missing" icon (question mark with a line through it) will appear.

The image used as the tool icon must be either a SWF or a JPEG as these are the only two formats that Flash is able to load on the fly.

SWF Format

A SWF format (created using vector graphics) is the preferred format. This will allow the icon to be scaled without any loss of quality.

If you have Adobe Illustrator, you should create your image in Illustrator and instead of doing file Save or Save As, do File > Export and then in the file type selection select .swf format.

JPEG Format

If you do not have access to Adobe Illustrator or another program which can create SWFs, then you can create your icon as a JPEG. We recommend creating the JPEG as 30 to 35 pixels in height and width as this should allow the JPEG to be used unscaled on the canvas. It will be scaled down for the toolkit but scaling down is normally better than scaling up!


If you have a JPEG that you want to convert to a SWF, you can use the JPG2SWF utility ( to convert from JPEG to SWF. However the quality will not be as good as a SWF made up directly in Illustrator and never converted to a bitmap.

Webapp Web Directory

We don't have a lot of fixed rules about what the web directory in the webapp should look like. Our guidelines are:

  • Put the tlds and related stuff as per Tag Library Definitions.
  • Don't put classes in the WEB-INF directory. Your classes go in your JAR file and having them in two places asks for problems with the classloader.
  • Images go in an images directory
  • Javascript goes in an "includes" style directory
  • JSPs do not go in the WEB-INF directory.
  • If you want to break up JSPs into subdirectories, then have an "include" or "common" or "shared" directory for shared JSPS and then break them into authoring, monitoring, learning, etc.
  • Minimise duplication of files across web-apps. If there is some javascript that is used across many tools then we aim to put in in lams_central.
  • No labels