This page last changed on Oct 24, 2013 by brian.

About seaspray.shore.mbari.org

Seaspray is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. It also supports several web applications at http://seaspray.shore.mbari.org:8080/dsg/home. These web apps are served by Tomcat with the web app directory located at /opt/tomcat/webapps

Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in /opt/vars and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:

  1. Follow the build instructions using -P shore flag to build the shore profile.
  2. Unzip the zip file $VARS/vars-standlone/target/vars-standalone-VERSION-scripting.zip and copy it to /opt/vars-writable on Seaspray.

Building the JNLP version:

  1. Follow the build instructions using -P shore flag
  2. Copy the contents of $VARS_JNLP/target/site to /var/www/html/webstart on Seaspray.

Supporting Scripts

The following scripts are run as the user vicki from cron.

merge

This script merges physical, positional, and camera data from EXPD with VARS annotations using nearest neighbor interpolation. The outcome of the merges are written to the EXPDMergeHistory table in the VARS database on Solstice.

updateallrovctd

Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information

updateallsamplekeywords

Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database

updateurls

When the databases on the ships are synched with the shore database, the images for the framegrabs are referenced by file URLs. These URL's need to be converted to web URLs in order to allow users to view them with the Query application. This script locates any file URL's in the CameraData table on Solstice. It then verifies that the image has been uploaded to the image web server. If the image exists on the web server the URL will be changed to reference it.

fixmetadata

This script runs every morning and fixes VideoArchiveSet metadata, such as chief scientist and start and end dates of the CameraDeployment

updatevarspub

Once a month a DTS job updates the public database stored on Varspub. This script copies images that are referenced on the external database from the internal web server to the external web server.

The image update is currently done by hand because the framegrab directory on VARSPUB is CIFS and must be mounted onto seaspray as a specific user. Here's the steps to run the update:

export PASSWD=mypassword
export USER=brian
sudo mount -t cifs //varspub/framegrabs /mnt/varspub/framegrabs -o user=$USER
export PASSWD=''
cd /u/brian/Applications/VARS-4.3-SNAPSHOT-standalone4shore/bin
gsh -e "updatevarspub.update '/mnt/varspub/framegrabs'
umount /mnt/varspub/framegrabs

The following scripts can be used by anyone.

To run one of these scripts do the following:

  1. Log in on Seaspray (using ssh, on windows you can use Putty)
  2. Execute the command
    cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin
  3. Execute the command you want to run. Make sure you prepend './' (e.g.
    ./dive_merge

The scripts

dive_merge

This script merges physical, positional, and camera data from EXPD with VARS annotations using nearest neighbor interpolation. This script can be used by the video lab to perform a merge at any time. Use as:

dive_merge [ROV] [DIVENUMBER] [HD]
. For example, to merge Ventana #3200 using HD:
dive_merge Ventana 3200 true

lookup_linkrealizations

This script searches for the use of a particular link-name. It's useful if you want to find all the LinkRealizations that are derived from a particular LinkTemplate. Use as:

lookup_linkrealizations [LINK_NAME]
. For example, to find all usages of dsg-size:
lookup_linkrealizations dsg-size

lookup_mergestatus

This script returns the current merge status for a dive Use as:

 lookup_mergestatus [ROV] [DIVE_NUMBER]
. For example:
 lookup_mergestatus Ventana 3200

Document generated by Confluence on Feb 03, 2026 12:59