500049 Video Annotation and Reference System : Seaspray 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: Follow the build instructions using -P shore flag to build the shore profile. 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: Follow the build instructions using -P shore flag 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
2. ### The following scripts can be used by anyone. #### To run one of these scripts do the following: Log in on Seaspray (using ssh, on windows you can use Putty) 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