Server Setup


Setting up the Server - Simplest Method

If you are using UDL Curriculum Toolkit without making any Java modifications, download the latest "" from the site Unpack the zip file and move the contents into the correct locations as follows:

  • example.war is the web application archive. It goes in Tomcat's "webapps" directory, that is, (tomcat home)/webapps/example.war.
  • example.xml is the Tomcat "context file": it tells Tomcat where to find your application configuration. Edit this file to point to the application configuration file (described next), and put it in (tomcat home)/conf/Catalina/localhost/example.xml (create the directory if it does not already exist). If you are not using Tomcat, you will need to set the two properties using the method appropriate for your server.
  • The remaining files can be placed anywhere you like; you will tell the application where to find them in the configuration file. The most common place to put all of these files is in the Tomcat base directory.
    • example.config is the application configuration file. Edit this file to point to the locations of the other config files, the content directory, and the theme directory (see the Application Configuration section for details). The context file (example.xml) must point to the location of this file.
    • example-hibernate.xml is the database connection configuration. Edit it to have the correct hostname, username, password, and database name for the database you created. The database must exist, but can be initially empty (all required tables and data will be created by the application when it starts up). example.config must point to the location of this file. For more information on Hibernate and the possible contents of this file, visit
    • example-logback.xml is the logging configuration. You can use it as is. example.config must point to the location of this file. For more information on logback and how it can be configured, visit
    • theme is the directory containing all the base HTML, CSS, javascript and other files defining all the common components of the site.
    • customTheme is the directory containing HTML, CSS, and other files defining the structure and design of any customizations to the site. You can use it as is, though you may want to customize it later. example.config must point to the location of this directory.
    • content is the directory containing the XML and media files that are the content which will be displayed. You can use the example content provided to test the installation and as a reference as you create your own content. example.config must point to the location of this directory and the names of the content files that will be used.
    • defaultUserFile.csv is a file containing sample students and teachers. It can be loaded during startup of the application if indicated in the application configuration file. This same file can be used as a template for creating other users as well. This file can also be uploaded using the administration portion of the application.

Customizing the Content

XML files are used as the content for the UDL Curriculum Toolkit. The default content files describe this format in detail and provide examples of what you can do with it; this information is also available on the web at

The basic format of these files follows the DAISY DTBook DTD.

Advanced users may wish to set up their content on a WebDAV server. See Application Configuration for more information on setting up WebDAV.

Customizing the Design of the Site

The theme directory is the location of all of the HTML, CSS, icons, javascript, and XSL files. The application properties file ( and example specific files are found in the custom theme directory. Any customizations should be made in the custom theme directory to make your site look different than the example site.

The UDL Curriculum Toolkit is designed to have both a standard theme directory (theme) as well as a custom theme (customTheme) directory. Keeping these separate will simplify later upgrades - if you make all of your changes in the custom theme directory, you can later replace the standard theme directory with a newer version without overwriting your changes.

In the example.config file, set the location of your custom theme directory with the isi.customSkinDir setting. Copy any files that you wish to change from the standard theme directory into your custom theme directory. Make sure the basic directory structure of your custom theme directory is the same as the standard theme directory. Only edit files in your custom theme directory. All CSS modifications should be done in the theme.css file. The theme.css file is loaded last and should provide enough access to override the base CSS. Any icons you wish to replace should be located in your custom theme directory. In this way you can replace icons, CSS, and even HTML. Note that if you make any changes to HTML files, do not alter the hierarchical structure of elements with the "" attribute. Doing so would require corresponding changes to the Java code or else you will get errors.

Customizing the Name of the Site, Pages, Features, Etc.

By default, the title of your site - appearing at the top of every page - will be "UDL Curriculum Toolkit", and subtitled "Demonstration of Features". These values are defined in the file org/cast/example/ in the "customTheme" directory. Edit the items called applicationTitle and applicationSubtitle to change these values.

In the same way, many of the names and messages in the site can be customized - for example, you could rename the Glossary feature to "Word Bank" or the Whiteboard to "Shared Work". These values are all listed in the file.

Customizing the Behavior of the Site

To change how the site operates (beyond what is possible via the many settings in the configuration file), you will need to change the Java code. For instance, this would be necessary to change what controls are on the text editor, how the navigation bar works, or add new types of responses. Information about checking out the Java code is available on the UDL Curriculum Toolkit github site.