Table of Contents

NU Deployment Notes

Table of Contents


This section is for NU developers only. It should be used together with the generic deployment documention in the section titled Deployment.

At NU we deploy two instances of WordHoard:

  • The main public site on Welles (wordhoard.northwestern.edu = welles.library.northwestern.edu).

    This site contains Early Greek Epic and the works of Shakespeare, Spenser and Chaucer. It is open to the world.

  • The EMD site on Noir (noir.at.northwestern.edu).

    This site contains approximately 318 Early Modern English plays including all the plays of Shakespeare (but not the poems). It is accessible only at Northwestern University and at other institutions that are subscribers to the Text Creation Partnership (TCP).

The main site on Welles

Welles hosts the main public WordHoard site, plus the WordHoard client distribution, the sites file, and the user manual.

Welles is a SunOS host. The system administrator is Thomas Howell (t-howell@northwestern.edu).

To maintain the version of WordHoard on Welles, log on using the whoard account.

Use sftp to transfer files.

MySQL information:

  • Home directory = /usr/local/mysql
  • Data directory = /app/mysql/whoard
  • Port number = 3307
  • Data file owner = whoard
  • Data file group = whoard
  • Config file = /etc/mywhoard.cnf

The following useful aliases and scripts are available for working with the MySQL databases:

  • mysql-start: Starts MySQL.
  • mysql-stop: Stops MySQL.
  • mysql: Runs the MySQL command line client.

The database names are wordhoard and wordhoardserver.

The server directory is located at ~whoard/server.

WordHoard server settings:

  • RMI registry port = 1099
  • RMI port = 1098

The web directory for WordHoard is located at /w3/wordhoard.

The EMD site on Noir

Noir hosts the EMD site database and server.

Noir is a GNU Linux host. The system administrator is Jim Lindsay (j-lindsay@northwestern.edu)

To maintain the Noir site, log on using the wordhoard account.

Use sftp to transfer files to Noir.

MySQL information:

  • Home directory = /usr/local/mysql5
  • Data directory = /var/lib/mysql5
  • Port number = 3306
  • Data file owner = mysql
  • Data file group = mysql
  • Config file = /usr/local/mysql5/my.cnf

Use the sudo command to maintain the MySQL data files in /var/lib/mysql5:

> sudo su
# cd /var/lib/mysql5
# ... (manage the MySQL data files)
# <ctrl>d

The following useful aliases are available for working with the MySQL databases:

  • mysql-start: Starts MySQL.
  • mysql-stop: Stops MySQL.
  • mysql: Runs the MySQL command line client.

Information for the EMD site:

  • Server directory: ~wordhoard/emd-server
  • Database name: emd
  • Server database name: emdserver
  • RMI port number: 1100

The access control restrictions for the EMD site are implemented using MySQL database grants. See the script ~wordhoard/emd-server/emd-grants.sql.

Deploying a New Release to Both Welles and Noir

Use this checklist when deploying a new NU release. These instructions are for deploying WordHoard from John Norstad's Mac and from John's jln account on the Scribe host to both Welles and Noir.

Step 1 - Prepare the deployment files on John's Mac and move them to Welles and Noir.

Make certain the version number is set correctly in both the source code and in the user manual. In the source code, edit the properties file at edu/northwestern/at/wordhoard/resources/wh.properties. There are two lines near the top of this file which must be changed. In the user manual, edit the version number and the release date near the top of the file index.html.

Add release notes for the new version to the user manual file version-history.html.

Run the WDG HTML validator to make sure all the user manual files are strict HTML. Use the notes in the file at ~jln/Documents/WordHoard/validate-userman-html.txt.

Rebuild the source code and the javadoc:

% b full
% b doc

Archive the source code for this release. Copy the src directory to ~jln/Documents/WordHoard/Archived release source coce.

Rebuild the static database:

% full-build

Zip the static database:

> mysql-stop
> su
# cd /usr/local/mysql/data
# zip -r wordhoard wordhoard
# chown jln:staff wordhoard.zip
# mv wordhoard.zip ~jln/Documents/WordHoard/dev/
# <ctrl>d
% mysql-start

Zip the "secret source":

% zip -r secret-src src

Create the server jar file:

% scripts/create-server-jar.csh

Create the client jar file:

% scripts/create-client-jar.csh 
Enter store password for keystore:
Enter key password for alias nujarsigner:

Zip the user manual:

% zip -r userman userman

Zip the javadoc:

% zip -r javadoc javadoc

Make the "other files" zip archive for the user manual:

% scripts/make-other-files.csh

Zip the raw data files:

% zip -r data data

Move the prepared files to Welles:

% sftp whoard@welles.library.northwestern.edu
sftp> put *.zip
sftp> put wordhoardserver.jar
sftp> lcd client
sftp> put wordhoard.jar
sftp> quit

Move the prepared files to Noir:

% sftp wordhoard@noir.at.northwestern.edu
sftp> put wordhoardserver.jar
sftp> quit

Clean up:

% rm *.zip
% rm wordhoardserver.jar

Step 2 - Prepare the new static databases on Scribe and move them to Welles and Noir.

Copy the bin, scripts and data directories from John's Mac to Scribe:

% put-bin
% put-scripts
% put-data

Log on to Scribe and use the wordhoard alias to switch to the wordhoard directory and source the setup file. Delete the old data-main directory and replace it by the copy of the data directory:

% ssh scribe.at.northwestern.edu
% wordhoard
% rm -rf data-main
% mv data data-main

Prepare the source data files in the directories:

  • data-main
  • data-emd

The data-main directory on Scribe is an exact copy of the data directory on John's Mac. For the Shakespeare texts, the data-emd/works/sha directory contains soft links ponting to the plays (but not the poems) in the data-main/works/sha directory. The word-classes.xml and pos.xml files are also soft links.

Rebuild the two databases:

% full-build-main
% full-build-emd

The two MySQL databases are named wordhoard_main and wordhoard_emd.

Each script writes a report to the misc directory.

Copy the databases from Scribe to Welles and Noir:

% mysql-stop
% sudo su
# cd /stg/data/mysql
% scp -r wordhoard_main whoard@welles.library.northwestern.edu:
% scp -r wordhoard_emd wordhoard@noir.at.northwestern.edu:
# <ctrl-d>
% mysql-start

Step 3 - Deploy on Welles

Deploy the database and server jar file.

% ssh whoard@welles.library.northwestern.edu
> server/bin/stop
> mysql-stop
> server/bin/deploy
> mv wordhoardserver.jar server/lib
> mysql-start
> server/bin/start

Deploy the client jar file:

> mv wordhoard.jar /w3/wordhoard/client

Deploy the user manual:

> mv *.zip /w3/wordhoard
> cd /w3/wordhoard
> unzip userman.zip
> rm userman.zip
> mv javadoc.zip userman
> mv other-files.zip userman
> mv wordhoard.zip userman/data-files
> mv data.zip userman/data-files
> cd userman
> unzip javadoc.zip
> unzip other-files.zip
> rm *.zip

Step 4 - Deploy on Noir

Deploy the database and server jar file.

> ssh wordhoard@noir.at.northwestern.edu
> emd-server/bin/stop
> mysql-stop
> sudo su
# emd-server/bin/deploy
# mv wordhoardserver.jar emd-server/lib
# <ctrl>d
% mysql-start
% emd-server/bin/start


Table of Contents