<?xml version="1.0" encoding="UTF-8"?>
<hibernate-generic datetime="2026-02-03 13:01:17">
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">498</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Sundog]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">496</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">9439953</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 14:41:45.593</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-03-19 11:35:58.267</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179871</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179872</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">9372324</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">9372325</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">504</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS 3.1.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">502</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3180</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3181</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 16:16:21.673</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-02-01 16:57:55.107</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">722</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">724</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252690</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Eione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285435</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">27132250</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">27132251</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">27132252</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:15:10.327</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2014-11-18 10:53:16.557</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579469</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27066440</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252688</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285433</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28748899</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28748900</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28748901</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28748902</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28748903</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">27623446</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">28475411</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">31752193</id>
</element>
</collection>
<property name="version">28</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-03-09 12:48:50.440</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252698</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252702</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167144</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167145</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167146</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167152</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167168</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167170</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27066870</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27066872</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27066878</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558248</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558249</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558250</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558252</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558253</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558255</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558257</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558258</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558260</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558261</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558262</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558264</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558266</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558268</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28639255</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28639587</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="labellings"><element class="Labelling" package="com.atlassian.confluence.labels"><id name="id">27787265</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252686</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Equinox]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285431</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 10:59:49.190</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 10:59:49.190</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">428</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS 3.0.1]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">426</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2237</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2238</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:19:40.257</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:17:45.027</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">429</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">505</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">506</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">507</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">430</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">431</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">432</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">433</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">446</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252686</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167164</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">428</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753577</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753578</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753579</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753580</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753581</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753582</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753583</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753584</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753585</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753586</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753587</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753588</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753589</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753590</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">29753591</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">199</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">1343542</id>
</element>
</collection>
<property name="version">20</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.483</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">439</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">445</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">497</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">669</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">670</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">671</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">672</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162937</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162938</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">9372322</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252681</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252683</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18252685</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167154</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167160</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167161</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167162</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167171</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">29687815</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113448</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178954</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">4030545</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">4030546</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">4030547</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">4030548</id>
</element>
</collection>
<property name="version">25</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:38:21.357</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113449</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113451</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113453</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113455</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113457</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113459</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113460</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113462</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113463</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113464</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113466</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113513</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113515</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113525</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113527</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113530</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113531</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113618</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113619</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113639</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3932195</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3932196</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3932197</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3932198</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">4063238</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">432</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Alaskanwind]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">430</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:29:16.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:47:31.420</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">441</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">431</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Solstice]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">429</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18776099</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:51.020</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-10 09:49:04.010</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">440</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579473</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">433</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Glacierwind]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">431</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:29:26.727</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:48:49.067</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">444</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213264</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246033</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279028</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 16:55:48.123</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213266</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213268</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213271</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213273</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213274</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213275</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213278</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213280</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213282</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">446</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS-PL]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">444</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">201</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:26.917</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 14:37:28.940</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">477</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">493</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">494</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">447</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">445</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">27660020</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">198</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-06 14:47:09.277</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">478</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">495</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">496</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162978</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162979</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558223</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558225</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">27558227</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Space" package="com.atlassian.confluence.spaces">
<id name="id">4</id>
<property name="name"><![CDATA[500049 Video Annotation and Reference System]]></property>
<property name="key"><![CDATA[VARS]]></property>
<property name="description" class="SpaceDescription" package="com.atlassian.confluence.spaces"><id name="id">19</id>
</property>
<property name="homePage" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="permissions"><element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">102</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">103</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">104</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">105</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">106</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">107</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">108</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">109</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">110</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">111</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">112</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">113</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">114</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">115</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">118</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">497</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">4882433</id>
</element>
<element class="SpacePermission" package="com.atlassian.confluence.security"><id name="id">23363602</id>
</element>
</collection>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.183</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.183</property>
<property name="spaceType">global</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">402</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">400</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230002</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230003</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230004</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230005</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230006</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230007</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230008</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230009</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">1343541</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.867</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">403</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">413</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">414</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">415</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">416</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">417</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">418</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">419</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">420</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">421</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">492</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">568</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">569</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162973</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">406</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">404</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1979</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1980</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1981</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:58:28.617</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">407</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">408</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">409</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">410</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">411</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">412</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">426</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">424</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274569</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274570</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274571</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274572</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274573</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274574</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">7274575</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">27000987</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.393</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">443</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589924</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589925</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589926</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589967</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179789</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179866</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179868</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179869</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179870</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3112998</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113000</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113153</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">6259160</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">7176218</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">7176219</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">7176221</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">423</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">421</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900865</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900866</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900867</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900868</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900869</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900870</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900871</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1900872</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.647</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">424</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">425</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">442</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">449</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">450</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">451</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">453</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">532</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">533</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1638407</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1638408</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1638409</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1638410</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1638411</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1835054</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1835055</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">17236003</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Re-run framegrab processing for a dive]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">17268769</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">17301777</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-27 12:19:20.523</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-27 12:19:20.523</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10911858</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[JPA Knowledgebase]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10944622</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:19:55.660</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:25:25.387</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">10911860</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10911862</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10911868</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179954</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS 4.2.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212719</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247370</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247371</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247372</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:32:56.153</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:34:49.150</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179956</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179957</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">375</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">373</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1905</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1906</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1907</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:07:59.550</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:36:40.957</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">390</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">372</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">370</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461349</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461350</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461351</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461352</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461353</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461354</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461355</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.737</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">373</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">395</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">398</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">399</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">404</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">405</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">488</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">704</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">708</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917546</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113750</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356314</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">379</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">377</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229997</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229998</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229999</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230000</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2230001</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:55.053</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">382</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">383</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">480</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">481</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">482</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162972</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">380</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">378</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229994</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229995</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229996</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:29.737</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">384</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">385</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">386</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">387</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">388</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">483</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">485</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">526</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">527</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">528</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162971</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113529</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179029</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343683</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343684</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343685</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343686</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 10:11:21.987</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113535</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113540</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113541</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113542</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113546</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113566</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113567</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113628</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113724</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">381</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Linux Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">379</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229990</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229991</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229992</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229993</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:27.150</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:08.497</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">389</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">484</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162970</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">131073</id>
<property name="context"><![CDATA[VARS]]></property>
<property name="key"><![CDATA[atlassian.confluence.css.resource.counter]]></property>
<property name="value"><![CDATA[<int>2</int>]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">331</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">329</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2190</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2191</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2192</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2193</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2194</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2195</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.653</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">332</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">334</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">335</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">337</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">338</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">339</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">340</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">342</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">343</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">344</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">345</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">349</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">396</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">486</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917547</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950314</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461344</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461345</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461346</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461347</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">10461348</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">1343540</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:50:24.840</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">917548</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917549</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917550</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917551</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917552</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356307</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356308</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356309</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356310</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356311</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113641</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179140</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343693</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343694</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343695</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">3276993</id>
</element>
</collection>
<property name="version">38</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 12:06:33.860</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113643</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113645</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113646</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113648</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113649</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113651</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113652</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113653</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113655</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113657</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113659</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113662</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113664</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113666</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113667</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113670</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113671</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113673</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113677</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113679</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113681</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113683</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113685</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113686</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113687</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113689</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113690</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113691</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113692</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113694</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113695</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113697</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113703</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113704</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113705</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113728</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113730</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309627</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309630</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309628</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309629</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167164</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Ulikai]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199927</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298721</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298722</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 09:03:52.820</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:04:52.633</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167166</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917571</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[HD vs SD Frame Capture]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950338</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-23 11:21:22.920</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-23 11:21:22.920</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113621</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Verifying Altitudes]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179120</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343497</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:51:34.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:57:43.730</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113623</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113624</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113625</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113626</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309623</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309624</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">325</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">504</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">323</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247344</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247345</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247346</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">1247347</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">1343539</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:30:32.293</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">346</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">427</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">503</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">509</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">510</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">723</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">1179952</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162951</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195715</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229944</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229945</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229946</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229947</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229948</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229949</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229950</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">2229951</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.083</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162952</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162954</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162955</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162958</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162959</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162960</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162961</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162962</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">2326539</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">2326540</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162941</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195706</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298672</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298673</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298674</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298675</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298676</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">23298677</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">6094851</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">10322205</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.960</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162942</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162944</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2163083</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2163090</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2163095</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2163096</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2163098</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113804</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113806</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">5832890</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">5832892</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">5832894</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">5832910</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16416952</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16416953</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167156</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">23167159</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113701</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Index]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179199</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 15:47:00.027</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:47:00.027</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777467</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Manually merge a dive]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810227</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">16879449</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 11:17:35.360</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 13:56:56.310</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777480</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777483</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">20</id>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113701</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777462</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777467</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">17236003</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28278998</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28278999</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279000</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279001</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279002</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279003</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279004</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279005</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279006</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279007</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279008</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279009</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279010</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279011</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279012</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">28279013</id>
</element>
</collection>
<collection name="referralLinks"><element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">1</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">2</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">3</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">4</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">5</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">6</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">106</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">124</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">196</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">197</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">200</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">209</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">211</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">753672</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">2293846</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">2293869</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">3604609</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">4423681</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">4849665</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">4849666</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">4849694</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">10879155</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">28803188</id>
</element>
<element class="ReferralLink" package="com.atlassian.confluence.links"><id name="id">29982743</id>
</element>
</collection>
<property name="version">62</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.220</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">26</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">29</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">30</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">33</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">37</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">38</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">42</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">45</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">46</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">47</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">48</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">49</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">50</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">51</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">52</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">59</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">326</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">327</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">328</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">329</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">330</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">333</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">336</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">341</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">347</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">348</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">374</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">391</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">392</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">393</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">397</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">400</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">401</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">422</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">434</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">435</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">436</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">437</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">438</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">448</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">529</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">530</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">531</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589954</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589957</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162950</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">2162969</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113446</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113698</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113699</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113842</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113843</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">4456461</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">4456462</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10356344</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777465</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777468</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579861</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579865</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579866</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">28213260</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10355779</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">10911858</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[VARS JPA]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10388505</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">11010579</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">11010580</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">11010581</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:08.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:18:19.597</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">10355780</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10355782</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10355783</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10911855</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">10911856</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485898</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485899</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485900</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485901</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777462</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Verifying last date of successful merge]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810223</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">16879450</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 10:53:51.693</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 13:57:31.097</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777481</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">16777484</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">705</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">702</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343986</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343987</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">3343988</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-05 14:51:54.717</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">706</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">707</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">730</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113808</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113809</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113810</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113811</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113860</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309635</id>
</element>
</collection>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32776</id>
<property name="context"><![CDATA[VARS]]></property>
<property name="key"><![CDATA[atlassian.confluence.colour.scheme]]></property>
<property name="value"><![CDATA[<colourScheme>
        <colours>
          <entry>
            <string>property.style.navbgcolour</string>
            <string>#336699</string>
          </entry>
          <entry>
            <string>property.style.customcolour5</string>
            <string>#ffffff</string>
          </entry>
          <entry>
            <string>property.style.linkcolour</string>
            <string>#336699</string>
          </entry>
          <entry>
            <string>property.style.customcolour2</string>
            <string>#ffffff</string>
          </entry>
          <entry>
            <string>property.style.headingtextcolour</string>
            <string>#336699</string>
          </entry>
          <entry>
            <string>property.style.spacenamecolour</string>
            <string>#999999</string>
          </entry>
          <entry>
            <string>property.style.customcolour4</string>
            <string>#ffffff</string>
          </entry>
          <entry>
            <string>property.style.navselectedtextcolour</string>
            <string>#CC9900</string>
          </entry>
          <entry>
            <string>property.style.bordercolour</string>
            <string>#999999</string>
          </entry>
          <entry>
            <string>property.style.customcolour3</string>
            <string>#ffffff</string>
          </entry>
          <entry>
            <string>property.style.navtextcolour</string>
            <string>#E1E2D5</string>
          </entry>
          <entry>
            <string>property.style.topbarcolour</string>
            <string>#336699</string>
          </entry>
          <entry>
            <string>property.style.customcolour1</string>
            <string>#ffffff</string>
          </entry>
          <entry>
            <string>property.style.breadcrumbstextcolour</string>
            <string>#E1E2D5</string>
          </entry>
          <entry>
            <string>property.style.navselectedbgcolour</string>
            <string>#E1E2D5</string>
          </entry>
        </colours>
      </colourScheme>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32777</id>
<property name="context"><![CDATA[VARS]]></property>
<property name="key"><![CDATA[atlassian.confluence.space.settings]]></property>
<property name="value"><![CDATA[<com.atlassian.confluence.setup.settings.SpaceSettings>
  <spaceKey>VARS</spaceKey>
  <disableLogo>false</disableLogo>
  <colourSchemesSettings>
    <colourSchemeType>custom</colourSchemeType>
  </colourSchemesSettings>
</com.atlassian.confluence.setup.settings.SpaceSettings>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32775</id>
<property name="context"><![CDATA[VARS]]></property>
<property name="key"><![CDATA[atlassian.confluence.user.resources]]></property>
<property name="value"><![CDATA[<list>
        <com.atlassian.confluence.util.Resource>
          <key>logo</key>
          <relativePathToFile>filmstrip5.png</relativePathToFile>
          <contentTypePrefix>image</contentTypePrefix>
        </com.atlassian.confluence.util.Resource>
      </list>]]></property>
</object>
<object class="ConfluenceBandanaRecord" package="com.atlassian.confluence.setup.bandana">
<id name="id">32774</id>
<property name="context"><![CDATA[VARS]]></property>
<property name="key"><![CDATA[atlassian.confluence.theme.settings]]></property>
<property name="value"><![CDATA[<map>
  <entry>
    <string>theme.key</string>
    <string></string>
  </entry>
</map>]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589956</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</property>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</element>
</collection>
<collection name="comments"><element class="Comment" package="com.atlassian.confluence.pages"><id name="id">589970</id>
</element>
<element class="Comment" package="com.atlassian.confluence.pages"><id name="id">589980</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622719</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777611</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777612</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777613</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777614</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777615</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777616</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">18777617</id>
</element>
</collection>
<property name="version">20</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.823</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">589958</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589971</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589973</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589974</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589975</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589976</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589977</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589978</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589979</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589981</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589982</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589983</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">589984</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917584</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917585</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">3113711</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579860</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579863</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">18579864</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="attachments"><element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557070</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557071</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557072</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557073</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557078</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557079</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557076</id>
</element>
<element class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557077</id>
</element>
</collection>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589955</id>
<property name="parent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<collection name="children"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</element>
<element class="Page" package="com.atlassian.confluence.pages"><id name="id">917571</id>
</element>
</collection>
<collection name="ancestors"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</element>
</collection>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"><![CDATA[Video Lab]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622718</id>
</element>
</collection>
<collection name="outgoingLinks"><element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">983604</id>
</element>
<element class="OutgoingLink" package="com.atlassian.confluence.links"><id name="id">983605</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:03:55.437</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-23 11:21:14.503</property>
<property name="versionComment"><![CDATA[]]></property>
<collection name="historicalVersions"><element class="Page" package="com.atlassian.confluence.pages"><id name="id">917570</id>
</element>
</collection>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343694</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 12:06:33.937</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 12:06:33.937</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298674</id>
<property name="destinationPageTitle"><![CDATA[Building VARS at MBARI]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 08:58:41.997</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.997</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343695</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 12:06:33.937</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 12:06:33.937</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298675</id>
<property name="destinationPageTitle"><![CDATA[Building VARS at MBARI]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 08:58:41.997</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.997</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113513</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179013</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 13:42:32.660</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298672</id>
<property name="destinationPageTitle"><![CDATA[//seaspray.shore.mbari.org]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 08:58:41.997</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.997</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343693</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 12:06:33.937</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 12:06:33.937</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298673</id>
<property name="destinationPageTitle"><![CDATA[//seaspray.shore.mbari.org:8080/dsg/home]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 08:58:41.997</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.997</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343686</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 10:11:22.050</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 10:11:22.050</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343684</id>
<property name="destinationPageTitle"><![CDATA[//vars.svn.sourceforge.net/svnroot/vars/trunk]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 10:11:22.050</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 10:11:22.050</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343685</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 10:11:22.050</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 10:11:22.050</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179199</id>
<property name="body"><![CDATA[h1. Index
{index}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113701</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">27132252</id>
<property name="destinationPageTitle"><![CDATA[//oceana.mbari.org/jira/browse/VAAP-42]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2014-11-18 10:53:16.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2014-11-18 10:53:16.623</property>
</object>
<object class="SpaceDescription" package="com.atlassian.confluence.spaces">
<id name="id">19</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="title"/><collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">17</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.183</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.183</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
<collection name="labellings"><element class="Labelling" package="com.atlassian.confluence.labels"><id name="id">12025860</id>
</element>
</collection>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343683</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-21 10:11:22.050</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 10:11:22.050</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">27132250</id>
<property name="destinationPageTitle"><![CDATA[//dsg.mbari.org]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2014-11-18 10:53:16.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2014-11-18 10:53:16.623</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">23363602</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"/><property name="userName"><![CDATA[neil]]></property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 11:33:30.463</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 11:33:30.463</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">27132251</id>
<property name="destinationPageTitle"><![CDATA[//eione.mbari.org/images/dsg/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2014-11-18 10:53:16.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2014-11-18 10:53:16.623</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950314</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# [Maven|http://maven.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars{panel}

h3. Edit some files
Since I didn't want MBARI passwords checked into an open source code repository ;-), you will need to modify to files.
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -P test{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113466</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178972</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 13:40:59.190</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309629</id>
<property name="fileName"><![CDATA[VARS-testdata-20080219.zip]]></property>
<property name="contentType"><![CDATA[application/zip]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 13:43:51.570</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:43:51.570</property>
<property name="fileSize">1411368</property>
<property name="comment"><![CDATA[Testdata used in analysis]]></property>
<property name="attachmentVersion">1</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309628</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179140</id>
<property name="body"><![CDATA[h1. Results Analysis

h2. Overview

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

I read the default VARS output into Matlab using code like this:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds(*b)||VARS within map bounds and <= 40m altitude(*b)||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

(*b) These values were determined using data from the master VARS database and [this script|^vdm_bounds_test.m]. In theory, the values in _'VARS_Benthic'_ and _'VARS within map bounds and <= 40m altitude'_ should match. Some variation can be expected since some hits are due to matching associations rather than observations.

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. 

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}

h2. 2008-02-19

[~brian] I remerged all dives that had used the old Jython-based merge. It did not significantly change the results (see table below)

||Concept (and descendants)||VARS||VARS_Benthic||Notes||
|anthomastus|21613|12044| |
|Grimpoteuthis|140|89| |
|pannychia|23449|12113| |
|paragorgia|5649|3227| |
|Plantae|14857|12280| |
|Psolus|22826|15183| |
|rathbunaster|31766|21792| |
|Seep|1734|717|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|21212| |




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309628</id>
<property name="fileName"><![CDATA[VARS-testdata-20080219.zip]]></property>
<property name="contentType"><![CDATA[application/zip]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 13:43:51.570</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:45:25.463</property>
<property name="fileSize">4072714</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">2</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113464</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178970</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 13:30:49.413</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309627</id>
<property name="fileName"><![CDATA[vdm_bounds_test.m]]></property>
<property name="contentType"><![CDATA[application/octet-stream]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 13:32:08.620</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:45:44.507</property>
<property name="fileSize">2121</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">2</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113463</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178969</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 12:19:32.547</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113462</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178968</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 12:18:00.150</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309624</id>
<property name="fileName"><![CDATA[pokedem.m]]></property>
<property name="contentType"><![CDATA[application/octet-stream]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:57:16.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:57:16.343</property>
<property name="fileSize">522</property>
<property name="comment"><![CDATA[Matlab script for extracting a pixel elevation]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">9372322</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">9405055</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-19 14:43:18.443</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113460</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178966</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 12:17:37.153</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309623</id>
<property name="fileName"><![CDATA[vdm_altitude_test.m]]></property>
<property name="contentType"><![CDATA[application/octet-stream]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:56:58.367</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:56:58.367</property>
<property name="fileSize">1372</property>
<property name="comment"><![CDATA[Matlab script for verifying altitude]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113459</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178965</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 12:08:31.147</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">9372324</id>
<property name="title"><![CDATA[Sundog]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">9405057</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 14:41:45.593</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-07-19 15:06:31.437</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113457</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178963</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 12:03:55.120</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950338</id>
<property name="body"><![CDATA[To: The ROV-UC, all ROV video and frame grab users, ROV pilots, Brian Schlining, Todd Ruston, Mike McCann
From: Video Lab staff
 
Standard Definition vs. High Definition Frame Grabs
 
The issue of upgrading the shipboard frame capture system from standard definition (SD) to high definition (HD) resolution has been raised several times recently. The Video Lab has discussed this issue and we would like to bring it to the attention of all ROV users to determine if action is warranted at this time. We need your help in answering some of the questions below.
 
Frame Grab Facts
 
Real-time Processing: The shipboard system is configured to capture images directly from the HD camera using VARS, which currently creates PNG files that are also converted to JPG files in post-processing. These file types are both compressed from the original SD resolution. It is possible to specify a higher resolution file type; however, all of our post-dive processes are scripted to run on these two file types.
 
The majority of the frame grabs taken at sea are not optimal. We estimate that more than 50% of the frame grabs taken at sea are either not useable or not necessary because the target object is out of focus, out of the frame, or there is an over-abundance of shots of the same object. It is just not realistic to expect to capture the best possible frame real-time at sea
 
The onboard Coolpix camera is also available for taking real-time high-resolution images (2048x1536). However, the flash on the Coolpix camera scares away some animals, e.g., fish, so may not be an option if the organism is to be collected.
 
Post Dive Processing: When capturing from the video stream in the Digital Lab, the video can be cued to the exact frame of interest and captured using the BlackMagic interface which saves the image as a Photoshop .psd file (~6-9 MB). The image can then be converted to any image format that Photoshop recognizes. This is the best method for capturing a high-resolution HD image for publication purposes or for scientific measurements.
 
Please note, using VARS, the post dive annotators now regularly supplement at-sea frame grabs with good (i.e. properly cued and focused) frame grabs of additional organisms, geologic features, or equipment of general institute interest.  These frame grabs are added to the thumbnails in the expedition database via a nightly process. Therefore, we are now deleting all sub-optimal real-time frame grabs as we annotate. These frame grabs remain available through the expedition database, but are not viewable using VARS.
 
Current space needs using VARS for SD frame grabs:
Anywhere from 0-300+ frame grabs are taken per dive (~180 is typical).
PNG files = ~300-700 KB each and JPG files = ~50-200 KB each.
 
HD frame grabs taken in the lab using the BlackMagic Deck Controller:
8+ MB each.
 
 
Questions to be considered
 
Q: What is the function of the frame grabs taken real-time at sea?
A: The standard purpose is to act as storyboard to reference the major events of each dive, for example, samples, interesting events, etc.; therefore, compressed SD images should be sufficient.
 
Q: What else are these images used for? Are ROV Users utilizing real-time, full resolution images for presentation purposes or publications? If so, what resolution do they require for these purposes? Can all of these cases be dealt with post-dive in the Digital Lab, or with the onboard Coolpix camera?
A: ?
 
Q: Will the benefits of real-time HD frame grabs outweigh the accumulation of many unusable HD frame grabs?
A: ?
 
Q: What are the costs of converting to and storing HD frame grabs?
A: A new HD frame grab board is about ~$1,000. The estimated storage space increase is ~10x over SD images. Additional costs include maintenance of the space (clearing off drives on the ship) and effort involved in changing the post-dive scripts to work with HD images.
Q: Estimate of these additional costs?
A: ?
 
Q: Will writing larger image files bog down the VARS program on the ships?
A: ?
 
Q: Currently, we have no way of monitoring audio on HD tapes, therefore, someone capturing frames in the lab post-dive using BlackMagic will not be able to hear any audio annotations made at sea (e.g., "releasing a chemical NOW"). In this case it would be much easier to take the frame grabs real-time to mark specific events.
A: Audio comments can be recorded on the digital Betacam tapes and annotated using VARS, then cross referenced to the HD tape.
Q: Is this work around sufficient for every situation?
A: ?
 
Other considerations?]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917571</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">9372325</id>
<property name="title"><![CDATA[Sundog]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">9405058</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 14:41:45.593</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-03-19 11:35:46.937</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113455</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178961</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 11:53:47.267</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113453</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178959</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 09:10:17.637</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113451</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178957</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 08:54:05.717</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309630</id>
<property name="fileName"><![CDATA[vdm_bounds_test.m]]></property>
<property name="contentType"><![CDATA[application/octet-stream]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 13:32:08.620</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:32:08.620</property>
<property name="fileSize">1765</property>
<property name="comment"><![CDATA[File for testing quality of benthic data from VARS]]></property>
<property name="attachmentVersion">1</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">3309627</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113566</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179065</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-12 15:07:00.613</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113567</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179066</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-13 13:35:17.127</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">3309635</id>
<property name="fileName"><![CDATA[VARS-commit-666.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-03-02 19:35:25.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-02 19:35:25.753</property>
<property name="fileSize">13533</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">4849694</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[https://oceana.mbari.org/confluence/login.action?os_destination=%2Fdisplay%2FVARS%2FHome]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-06-03 13:26:15.033</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-06-03 13:26:15.033</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1638408</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1671176</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-28 15:03:26.583</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1638407</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1671175</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:27:30.727</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1638410</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1671178</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-28 15:04:39.757</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1638409</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1671177</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-28 15:04:16.317</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113541</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179041</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-12 09:27:21.543</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113542</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179042</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-12 09:27:29.607</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1638411</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1671179</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-28 15:05:42.420</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113540</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179040</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-11 10:35:06.610</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28748900</id>
<property name="destinationPageTitle"><![CDATA[//mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-03-09 12:48:51.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-03-09 12:48:51.897</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113546</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179046</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-12 09:27:43.180</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28748901</id>
<property name="destinationPageTitle"><![CDATA[//github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-03-09 12:48:51.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-03-09 12:48:51.897</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28748902</id>
<property name="destinationPageTitle"><![CDATA[//github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-03-09 12:48:51.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-03-09 12:48:51.897</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28748903</id>
<property name="destinationPageTitle"><![CDATA[~neil]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-03-09 12:48:51.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-03-09 12:48:51.897</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113531</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179031</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 19:48:32.417</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Comment" package="com.atlassian.confluence.pages">
<id name="id">589970</id>
<property name="page" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="title"/><collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622732</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-20 08:32:22.250</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-20 08:32:22.250</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113535</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179035</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 19:48:09.073</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113525</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179025</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 11:08:08.980</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113530</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179030</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 19:47:23.973</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113527</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179027</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 19:46:19.903</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28748899</id>
<property name="destinationPageTitle"><![CDATA[//jtds.sourceforge.net/faq.html]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-03-09 12:48:51.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-03-09 12:48:51.897</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113515</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179015</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 11:01:06.797</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">753672</id>
<property name="viewCount">2</property>
<property name="url"><![CDATA[http://tienhou.shore.mbari.org/vars/annotation.html]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-03-30 15:12:15.067</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-10-17 11:02:15.037</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27066870</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27099633</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:45:16.080</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229944</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229945</id>
<property name="destinationPageTitle"><![CDATA[~schlin]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229946</id>
<property name="destinationPageTitle"><![CDATA[~rich]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229947</id>
<property name="destinationPageTitle"><![CDATA[~mccann]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113628</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179127</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-13 13:35:48.227</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27066872</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27099635</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-03-25 14:03:41.243</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113639</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179138</id>
</element>
</collection>
<property name="version">20</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:49:39.200</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229948</id>
<property name="destinationPageTitle"><![CDATA[~linda]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229949</id>
<property name="destinationPageTitle"><![CDATA[~lonny]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229950</id>
<property name="destinationPageTitle"><![CDATA[~jana]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229951</id>
<property name="destinationPageTitle"><![CDATA[//oceana.shore.mbari.org:8443/alfresco/webdav/ProjectLibrary/500049%20Video%20Annotation%20and%20Reference%20System/Project%20Documents/Video%20Data%20Flow.graffle.zip]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 15:08:09.087</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:08:09.087</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113618</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179117</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-07 19:48:49.850</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">6094851</id>
<property name="viewCount">2</property>
<property name="url"><![CDATA[https://oceana.mbari.org/jira/browse/VARS-256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-07-29 15:49:15.043</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-07-30 08:22:15.073</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113623</id>
<property name="title"><![CDATA[Verifying Altitudes]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179122</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:51:34.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:51:34.030</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27066878</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27099641</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-03-25 14:06:00.853</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113624</id>
<property name="title"><![CDATA[Verifying Altitudes]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179123</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:51:34.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:55:49.817</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113625</id>
<property name="title"><![CDATA[Verifying Altitudes]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179124</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:51:34.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:56:03.287</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113626</id>
<property name="title"><![CDATA[Verifying Altitudes]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179125</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:51:34.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:56:24.267</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113619</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179118</id>
</element>
</collection>
<property name="version">19</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:49:30.877</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179029</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ 
#* {color:red}[~brian]: I last ran this on 2008-02-21{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the vdm database (located on Fog as VARS_Benthic)
#* {{mvn clean install -Denvironment=vdm -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb5.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.
#* {color:red}[~brian]: I ran this on 2008-02-21{color}
# Verify results. {color:red}[~brian]: ongoing{color}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">59</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">57</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:17:01.057</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229995</id>
<property name="destinationPageTitle"><![CDATA[//www.blackmagic-design.com/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:29.750</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:29.750</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229994</id>
<property name="destinationPageTitle"><![CDATA[//www.iogear.com/main.php?loc=product&Item=GUC232A]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:29.750</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:29.750</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229993</id>
<property name="destinationPageTitle"><![CDATA[//seaspray.shore.mbari.org/vars]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:08.567</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:08.567</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">51</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">49</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:14:16.600</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229992</id>
<property name="destinationPageTitle"><![CDATA[//www.java.com]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:08.567</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:08.567</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">52</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">50</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:16:30.643</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229991</id>
<property name="destinationPageTitle"><![CDATA[//www.apple.com/quicktime]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:08.567</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:08.567</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229990</id>
<property name="destinationPageTitle"><![CDATA[//www.java.com]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:08.567</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:08.567</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230003</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">45</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">43</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:07:37.087</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230002</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">46</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">44</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:08:55.950</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230001</id>
<property name="destinationPageTitle"><![CDATA[//seaspray.shore.mbari.org/vars]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:55.057</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:55.057</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28639255</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28672023</id>
</element>
</collection>
<property name="version">26</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:55:19.807</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230000</id>
<property name="destinationPageTitle"><![CDATA[//www.apple.com]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:55.057</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:55.057</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229999</id>
<property name="destinationPageTitle"><![CDATA[//www.java.com]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:55.057</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:55.057</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">49</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">47</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:13:02.557</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229998</id>
<property name="destinationPageTitle"><![CDATA[//www.apple.com/quicktime]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:55.057</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:55.057</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">50</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">48</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:13:49.187</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229997</id>
<property name="destinationPageTitle"><![CDATA[//www.java.com]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:55.057</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:55.057</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">47</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">45</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:10:29.720</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2229996</id>
<property name="destinationPageTitle"><![CDATA[//seaspray.shore.mbari.org/vars]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:21:29.750</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:21:29.750</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">48</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">46</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:11:06.570</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113692</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179191</id>
</element>
</collection>
<property name="version">29</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:34:50.100</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113691</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179190</id>
</element>
</collection>
<property name="version">28</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:31:33.620</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777480</id>
<property name="title"><![CDATA[Manually merge a dive]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810240</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 11:17:35.360</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 11:17:35.360</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777467</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113694</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179193</id>
</element>
</collection>
<property name="version">30</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:38:40.447</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">42</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">40</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:05:42.433</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777481</id>
<property name="title"><![CDATA[Verifying last date of successful merge]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810241</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 10:53:51.693</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 10:53:51.693</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777462</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113695</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179194</id>
</element>
</collection>
<property name="version">31</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:39:38.890</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195715</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

We created a digram that outlines the who, what, where and when of the data flow and processing. Below are a picture of our notes as well as an edited diagram. The source file for the edited document can be found [here|https://oceana.shore.mbari.org:8443/alfresco/webdav/ProjectLibrary/500049%20Video%20Annotation%20and%20Reference%20System/Project%20Documents/Video%20Data%20Flow.graffle.zip]

h2. Video and Data Diagrams

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">38</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">36</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 14:05:11.667</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113698</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179197</id>
</element>
</collection>
<property name="version">49</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 08:43:44.600</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113697</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179196</id>
</element>
</collection>
<property name="version">32</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:41:21.487</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">37</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">35</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 13:54:08.133</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113699</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179198</id>
</element>
</collection>
<property name="version">50</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:46:10.150</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">33</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">31</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 13:51:29.217</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3932196</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3964963</id>
</element>
</collection>
<property name="version">22</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:36:01.713</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113704</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179202</id>
</element>
</collection>
<property name="version">34</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:55:12.167</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3932195</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3964962</id>
</element>
</collection>
<property name="version">21</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 11:19:42.547</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113703</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179201</id>
</element>
</collection>
<property name="version">33</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:43:46.750</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777468</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810228</id>
</element>
</collection>
<property name="version">57</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 11:00:40.550</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3932198</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3964965</id>
</element>
</collection>
<property name="version">24</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:37:54.557</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">5832890</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">5865651</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-28 16:38:17.510</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">30</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 13:50:58.870</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3932197</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3964964</id>
</element>
</collection>
<property name="version">23</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:37:39.283</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113705</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179203</id>
</element>
</collection>
<property name="version">35</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:55:25.247</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">29</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 13:48:25.177</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">6</id>
<property name="viewCount">28</property>
<property name="url"><![CDATA[http://www.weblinkvalidator.com/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-10-20 09:54:15.070</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-02-11 08:06:15.067</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">5832892</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">5865653</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-07-28 09:41:29.763</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113677</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179176</id>
</element>
</collection>
<property name="version">19</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:39:25.247</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179120</id>
<property name="body"><![CDATA[h2. Steps for verifying altitudes

# Export the altitudes and positions from the VARS_Benthic database
## Build _vdm-tools_
## Extract the built archive
## {{cd $VDM_TOOLS_HOME/bin}}
## {{sh ../scripts/groovy/runQuery.groovy >> allAnnotations.txt}}
## Edit any extraneous log messages of off the top of the file.
# Run the altitude test in matlab
## Download [^vdm_altitude_test.m]
## Make sure matlab has snctools installed
## Run the following in matlab:{code}file = '/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc';
sql = '/Users/brian/workspace/vdm-tools/target/vdm-tools-0.1-SNAPSHOT/bin/allAnnotations.txt';
vdm_altitude_test(sql, file, 'allAltitude-results.txt'){code}
##* The allAltitude-results.txt file will have the deltas of position and depth

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">702</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co https://vars.svn.sourceforge.net/svnroot/vars vars}}

{warning:title=Warning}This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).{warning}

h2. Commit of the Beast

!VARS-commit-666.png|thumbnail!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18776099</id>
<property name="destinationPageTitle"><![CDATA[~rich]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">431</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-10 09:49:04.067</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-10 09:49:04.067</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">5832894</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">5865655</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-07-28 09:42:33.447</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">26</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">24</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777465</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810225</id>
</element>
</collection>
<property name="version">56</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-30 11:48:49.400</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113679</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179178</id>
</element>
</collection>
<property name="version">20</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:04:20.410</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">2</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana.shore.mbari.org:8081/login.action?os_destination=%2Fdisplay%2FVARS%2FHome]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-10-18 13:48:15.023</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-10-18 13:48:15.023</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">3</id>
<property name="viewCount">15</property>
<property name="url"><![CDATA[http://oceana.shore.mbari.org:8081/pages/editpage.action?pageId=20]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-10-18 13:49:15.020</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-10-18 16:35:15.027</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113681</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179180</id>
</element>
</collection>
<property name="version">21</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:05:19.793</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">4</id>
<property name="viewCount">4</property>
<property name="url"><![CDATA[http://oceana.shore.mbari.org:8081/pages/doeditpage.action?pageId=20]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-10-18 13:51:15.023</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-10-18 14:14:15.030</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">5</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana.shore.mbari.org:8081/display/VARS/Home]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-10-18 14:18:15.023</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-10-18 14:18:15.023</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113683</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179182</id>
</element>
</collection>
<property name="version">22</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:11:35.527</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113685</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179184</id>
</element>
</collection>
<property name="version">23</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:12:57.067</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113686</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179185</id>
</element>
</collection>
<property name="version">24</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:20:04.210</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">1</id>
<property name="viewCount">436</property>
<property name="url"><![CDATA[http://www.mbari.org/staff/brian/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-10-18 10:58:15.037</property>
<property name="lastModifierName"/><property name="lastModificationDate">2015-10-23 13:26:15.033</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113687</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179186</id>
</element>
</collection>
<property name="version">25</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:25:13.647</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298722</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167164</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 09:04:52.663</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:04:52.663</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113689</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179188</id>
</element>
</collection>
<property name="version">26</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:27:10.547</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113690</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179189</id>
</element>
</collection>
<property name="version">27</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:30:42.730</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298721</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167164</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 09:04:52.663</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:04:52.663</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113662</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179161</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:44:52.857</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">5832910</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">5865671</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-07-28 09:46:11.783</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113659</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179158</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:41:36.910</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113666</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179165</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:13:20.163</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113664</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179163</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:11:03.383</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810223</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh seaspray
3. cd /opt/vars/bin
4. ./lookup_mergestatus <ROV> <DIVE>
Examples: 
./lookup_mergestatus Tiburon 775
./lookup_mergestatus "Doc Ricketts" 82
./lookup_mergestatus Ventana 2011


Note: Doc Ricketts needs quotes around it
The results will look something like:

===========================================================================
ROV: Doc Ricketts
Dive Number: 82

==== Status of Data Merge with EXPD ====
Merged On: 2011-05-23 16:21:58
 Merged using edited navigation data
 Recorded Dates are from 'VARS' database(s)
Video-frame count: 681
Status Message:  Using PRAGMATIC merge

==== Details About this VideoArchiveSet ====
Tracking Number: 2009247
Number of dives: 1
1) Dive Number:  82
 Chief Scientist:  David Clague
Number of Tapes: 15
1) Name: D0082-06HD
 Video-frame count: 85
2) Name: D0082-08HD
 Video-frame count: 82
3) Name: D0082-03HD
 Video-frame count: 104
4) Name: D0082-02HD
 Video-frame count: 42
5) Name: D0082-04HD
 Video-frame count: 68
6) Name: D0082-10HD
 Video-frame count: 39
7) Name: D0082-07
 Video-frame count: 0
8) Name: D0082-05
 Video-frame count: 0
9) Name: D0082-03
 Video-frame count: 0
10) Name: D0082-02
 Video-frame count: 0
11) Name: D0082-01
 Video-frame count: 0
12) Name: D0082-01HD
 Video-frame count: 63
13) Name: D0082-09HD
 Video-frame count: 43
14) Name: D0082-07HD
 Video-frame count: 95
15) Name: D0082-05HD
 Video-frame count: 60]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777462</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113670</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179169</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:15:07.860</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113667</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179166</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:14:53.410</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113673</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179172</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:33:02.857</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113671</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179170</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 14:30:51.287</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113645</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179144</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 11:29:39.547</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298676</id>
<property name="destinationPageTitle"><![CDATA[Varspub]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 08:58:41.997</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.997</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113646</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179145</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 11:55:05.483</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">23298677</id>
<property name="destinationPageTitle"><![CDATA[//www.chiark.greenend.org.uk/~sgtatham/putty/download.html]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 08:58:41.997</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:58:41.997</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113643</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179142</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 11:23:57.037</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113649</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179148</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:09:00.803</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113648</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179147</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 11:55:53.430</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113653</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179152</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:32:29.137</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113651</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179150</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:10:38.853</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113652</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179151</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:13:07.847</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810227</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh vicki@seaspray (enter secret password)
3. cd /opt/vars/bin
4. ./dive_merge vehicle dive trueorfalse (true for HD, false for SD)
5. example:  ./dive_merge 'DocRicketts' 82 true
or ./dive_merge Ventana 1265 false

Note Doc Ricketts needs quotes around it-
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777467</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113657</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179156</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:40:26.607</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113655</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179154</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 13:33:11.577</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777484</id>
<property name="title"><![CDATA[Verifying last date of successful merge]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810244</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 10:53:51.693</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 13:56:08.643</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777462</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16777483</id>
<property name="title"><![CDATA[Manually merge a dive]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16810243</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 11:17:35.360</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 13:42:49.777</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777467</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113750</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179246</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 10:14:19.410</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">983605</id>
<property name="destinationPageTitle"><![CDATA[HD vs SD Frame Capture]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-23 11:21:14.543</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-23 11:21:14.543</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">983604</id>
<property name="destinationPageTitle"><![CDATA[Deep-sea Guide]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-23 11:21:14.543</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-23 11:21:14.543</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246033</id>
<property name="body"><![CDATA[h1. Codecs


h2. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour).

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GB at 8441.233 seconds long (2h 20m). Her data rate was 55.52 Mbps for 1920x1080 at 60fps (195.19 GB/hour (0.19 TB/hour)

h2. h264


h3. Transcoding to h264/mp4

Prores can be transcoded to h264 using ffmpeg. Here's an example:
{noformat}
# Using default encodings
ffmpeg -i SC1ATK52.mov -c:v libx264 -movflags +faststart -c:a copy ~/Desktop/SC1ATK52-h264.mp4
# Using higher quality (crf=10 preset=slow)
ffmpeg -i SC1ATK52.mov -crf 10 -preset slow -c:v libx264 -movflags +faststart -c:a copy ~/Desktop/SC1ATK52-h264.mp4
{noformat}
The audio track is just copied over to the new container and the headers are added to the front of the file for web playback (i.e. faststart). Note that the default encoding is ran in my test (source prores on
\\
Atlas, target file on my laptop) at about 10fps. That means the transcoding would take {{505968 frames / 10 fps / 60 s per m / 60 m per h = 14 hours}}, the higher quality one at 3fps (46 hours)

h3. Examining a File

First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:
{code}
brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}
You can then use {{ffprobe}} to examine the contents:
{code}
ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">477</id>
<property name="title"><![CDATA[VARS-PL]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">475</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:26.917</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:50:26.917</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">446</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2237</id>
<property name="destinationPageTitle"><![CDATA[//vars.sourceforge.net]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 16:17:45.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:17:45.030</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">478</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">476</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:50:48.887</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2238</id>
<property name="destinationPageTitle"><![CDATA[http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10010&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 16:17:45.030</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:17:45.030</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">481</id>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">479</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-01 19:40:46.550</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">482</id>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">480</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-01 19:43:12.087</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">31752193</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[https://mww.mbari.org/itd/video/annotation_data_retrieval.html]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"/><property name="creationDate">2019-04-18 18:22:15.057</property>
<property name="lastModifierName"/><property name="lastModificationDate">2019-04-18 18:22:15.057</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">480</id>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">478</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:25:38.777</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">485</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">483</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-01 19:45:36.863</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">486</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">484</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:16:17.707</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">483</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">481</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:31:11.517</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">484</id>
<property name="title"><![CDATA[Linux Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">482</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:27.150</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:35:36.780</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199927</id>
<property name="body"><![CDATA[h2. About Ulikai.shore.mbari.org

Ulikai is a VM (Fedora) configured with 9GB RAM and access to a larger than normal share of CPU power. It is used to run video annotation processing tasks that are too resource intensive for standard VM configurations. The processing is run under a cronjob as the user [~brian]. It is currently:

* Generating ROV effort data products for the DSG
* Generating Annotation data products for the DSG
* Updating the midwater transects database
* Generating midwater transect data products for the midwater lab

The applications are hosted under [~brian] shred account on Atlas, in \\Atlas\brian\Applications\dsg and \\Atlas\brian\Applications\midwater-transects]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167164</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">488</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">486</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:36:44.517</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">427</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">425</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:34:33.907</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">429</id>
<property name="title"><![CDATA[VARS 3.0.1]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">427</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:19:40.257</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:19:40.257</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">434</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">432</id>
</element>
</collection>
<property name="version">35</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:19:38.650</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">436</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">434</id>
</element>
</collection>
<property name="version">37</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:31:21.863</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900866</id>
<property name="destinationPageTitle"><![CDATA[Building VARS at MBARI]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113711</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179209</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-23 14:36:05.957</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">435</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">433</id>
</element>
</collection>
<property name="version">36</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:30:50.247</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900867</id>
<property name="destinationPageTitle"><![CDATA[Building VARS at MBARI]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">438</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">436</id>
</element>
</collection>
<property name="version">39</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:32:43.077</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">437</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">435</id>
</element>
</collection>
<property name="version">38</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:32:24.277</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900865</id>
<property name="destinationPageTitle"><![CDATA[//tienhou.shore.mbari.org/vars]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">440</id>
<property name="title"><![CDATA[Solstice]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">438</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:51.020</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:28:51.020</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">431</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">439</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">437</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:28:24.343</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195706</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org] 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_

h2. 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|Building VARS at MBARI] 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|Building VARS at MBARI] using *\-P shore* flag
# Copy the contents of _$VARS_JNLP/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user _vicki_ from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=fixmetadata|bgcolor=#FFFFFF|borderStyle=solid}
This script runs every morning and fixes VideoArchiveSet metadata, such as chief scientist and start and end dates of the CameraDeployment
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. The following scripts can be used by anyone. 

h4. To run one of these scripts do the following:
# Log in on Seaspray (using ssh, on windows you can use [Putty|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}

h4. The scripts
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example, to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}
{panel:title=lookup_linkrealizations|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}lookup_linkrealizations [LINK_NAME]{noformat}. For example, to find all usages of _dsg-size_: {noformat}lookup_linkrealizations dsg-size{noformat}
{panel}
{panel:title=lookup_mergestatus|bgColor=#FFFFFF|borderStyle=solid}
This script returns the current merge status for a dive Use as: {noformat} lookup_mergestatus [ROV] [DIVE_NUMBER]{noformat}. For example: {noformat} lookup_mergestatus Ventana 3200{noformat}
{panel}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">442</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">440</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:12:48.373</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">441</id>
<property name="title"><![CDATA[Alaskanwind]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">439</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:29:16.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:29:16.013</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">432</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">443</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">441</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:13:49.897</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">444</id>
<property name="title"><![CDATA[Glacierwind]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">442</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:29:26.727</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:29:26.727</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">433</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">445</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">443</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:46:02.893</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900872</id>
<property name="destinationPageTitle"><![CDATA[//moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900871</id>
<property name="destinationPageTitle"><![CDATA[//tienhou.shore.mbari.org:8080/vars-web/index.jsp]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">448</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">446</id>
</element>
</collection>
<property name="version">40</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:43:18.720</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900870</id>
<property name="destinationPageTitle"><![CDATA[//tomcat.apache.org/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900869</id>
<property name="destinationPageTitle"><![CDATA[Varspub]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">449</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">447</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:47:56.173</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1900868</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-09-14 16:02:30.657</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:02:30.657</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">450</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">448</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 15:46:20.007</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">451</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">449</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 15:48:28.940</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113728</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179226</id>
</element>
</collection>
<property name="version">36</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 16:00:31.683</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">453</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">451</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 15:50:03.527</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113730</id>
<property name="title"><![CDATA[Benthic Results]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179228</id>
</element>
</collection>
<property name="version">37</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-19 11:23:57.037</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-21 11:17:58.447</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113724</id>
<property name="title"><![CDATA[Benthic Annotation Database]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179222</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-07 19:48:09.073</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:59:14.513</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113529</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2192</id>
<property name="destinationPageTitle"><![CDATA[VARS 3.0.1]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 08:22:43.680</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.680</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">401</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">399</id>
</element>
</collection>
<property name="version">33</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:28:56.973</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2193</id>
<property name="destinationPageTitle"><![CDATA[//vars.sourceforge.net]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 08:22:43.680</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.680</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">400</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">398</id>
</element>
</collection>
<property name="version">32</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:25:25.863</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2194</id>
<property name="destinationPageTitle"><![CDATA[//oyashio.shore.mbari.org/~brian/webstart]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 08:22:43.680</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.680</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113811</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179300</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-02 19:34:20.557</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2195</id>
<property name="destinationPageTitle"><![CDATA[http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 08:22:43.680</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.680</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">399</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">397</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:26:32.373</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">398</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">396</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:14:32.207</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">397</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">395</id>
</element>
</collection>
<property name="version">31</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:39:19.847</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">11010581</id>
<property name="destinationPageTitle"><![CDATA[JPA Annotation]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:18:19.607</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:18:19.607</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">396</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">394</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:44:26.807</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2190</id>
<property name="destinationPageTitle"><![CDATA[//www.rxtx.org]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 08:22:43.680</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.680</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">11010580</id>
<property name="destinationPageTitle"><![CDATA[JPA Knowledgebase]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:18:19.607</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:18:19.607</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2191</id>
<property name="destinationPageTitle"><![CDATA[//java.sun.com/products/javacomm/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 08:22:43.680</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 08:22:43.680</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">395</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">393</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:03:45.147</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">10879155</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://www.mbari.org/staff/brian/default.html]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2010-01-11 09:29:15.047</property>
<property name="lastModifierName"/><property name="lastModificationDate">2010-01-11 09:29:15.047</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113806</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179295</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-28 16:34:43.120</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">410</id>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">408</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:48:17.480</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">409</id>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">407</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:44:24.910</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10911868</id>
<property name="title"><![CDATA[JPA Knowledgebase]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10944632</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:19:55.660</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:22:57.380</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911858</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113804</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179293</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-12-20 11:49:56.713</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">408</id>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">406</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:43:21.337</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">407</id>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">405</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:41:28.623</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113810</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179299</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-02 19:34:03.277</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">4456461</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">4489229</id>
</element>
</collection>
<property name="version">53</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-04 14:49:25.963</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113809</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179298</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-02 19:32:23.973</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">4456462</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">4489230</id>
</element>
</collection>
<property name="version">54</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-29 16:17:29.093</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">405</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">403</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:35:34.237</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113808</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179297</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-02-02 11:53:26.243</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">404</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">402</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:26:59.527</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">403</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">401</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:32:54.060</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">417</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">415</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:11:02.003</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10911860</id>
<property name="title"><![CDATA[JPA Knowledgebase]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10944624</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:19:55.660</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:19:55.660</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911858</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">418</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">416</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:14:05.330</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">415</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">413</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:08:00.530</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10911862</id>
<property name="title"><![CDATA[JPA Knowledgebase]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10944626</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:19:55.660</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:21:59.860</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911858</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">416</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">414</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:08:45.330</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">413</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">411</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:34:32.703</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">414</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">412</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:03:46.457</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">411</id>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">409</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:54:15.223</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">412</id>
<property name="title"><![CDATA[SQL Examples]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">410</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:41:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:56:41.023</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230007</id>
<property name="destinationPageTitle"><![CDATA[//search.mbari.org/ARCHIVE/frameGrabs/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">425</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">423</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:52:39.250</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230006</id>
<property name="destinationPageTitle"><![CDATA[/path/to/file/filename.jpg]]></property>
<property name="destinationSpaceKey"><![CDATA[file]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230005</id>
<property name="destinationPageTitle"><![CDATA[//www.blackmagic-design.com/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230004</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">424</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">422</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:21:36.800</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10911856</id>
<property name="title"><![CDATA[VARS JPA]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10944620</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:08.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:18:08.880</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">421</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">419</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:17:32.940</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10911855</id>
<property name="title"><![CDATA[VARS JPA]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10944619</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:08.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 11:11:52.043</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">422</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">420</id>
</element>
</collection>
<property name="version">34</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:30:33.717</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230009</id>
<property name="destinationPageTitle"><![CDATA[//www.apple.com/quicktime]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">419</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">417</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:15:36.883</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">2230008</id>
<property name="destinationPageTitle"><![CDATA[//java.com]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 21:22:45.880</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:22:45.880</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">420</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">418</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:16:12.867</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">1343539</id>
<property name="viewCount">2</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/Home]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-07-13 15:02:15.047</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-07-13 15:02:15.047</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">1343541</id>
<property name="viewCount">2</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/Home]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-07-13 15:03:15.020</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-10-10 13:07:15.037</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356344</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389059</id>
</element>
</collection>
<property name="version">55</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-29 16:17:37.057</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">1343540</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/Development]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-07-13 15:02:15.103</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-07-13 15:02:15.103</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">1343542</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/Computers]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-07-13 15:04:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-07-13 15:04:15.027</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">374</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">372</id>
</element>
</collection>
<property name="version">27</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:36:01.183</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">373</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">371</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:02:45.913</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2163083</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195847</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-21 09:40:59.827</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">383</id>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">381</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:25:14.273</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">384</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">382</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:14:17.753</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">385</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">383</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:28:58.110</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">386</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">384</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:38:05.337</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2163090</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195853</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-12-19 11:42:47.613</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">382</id>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">380</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:12:16.363</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">391</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">389</id>
</element>
</collection>
<property name="version">28</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:07:06.080</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">392</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">390</id>
</element>
</collection>
<property name="version">29</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:38:21.797</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">393</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">391</id>
</element>
</collection>
<property name="version">30</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:38:56.007</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">11010579</id>
<property name="destinationPageTitle"><![CDATA[//code.google.com/p/vars-redux/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-10-29 10:18:19.607</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-10-29 10:18:19.607</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2163095</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195858</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-12-19 14:33:13.747</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">387</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">385</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:29:37.443</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2163096</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195859</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-12-20 11:19:26.473</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212719</id>
<property name="body"><![CDATA[h2. Release Highlights

* Initial (alpha) support for annotating QuickTime movies.
* Resolving issues with the Knowledgebase application
* This release corresponds to version 4.2.0 at [http://vars.sourceforge.net]
* Built using Sourceforge SVN Revision: 558

h2. Resolved Issues

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10020&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
h2. Resolved Issues for version 4.1 (non-public release)

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10012&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">388</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">386</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:30:02.920</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">389</id>
<property name="title"><![CDATA[Linux Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">387</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:27.150</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:14:27.150</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2163098</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195861</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-12-20 11:21:22.503</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">390</id>
<property name="title"><![CDATA[Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">388</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:07:59.550</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 13:07:59.550</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">341</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">339</id>
</element>
</collection>
<property name="version">24</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:24:08.500</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">342</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">340</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:26:59.830</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">339</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">337</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:26:20.287</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">340</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">338</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:26:37.343</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">345</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">343</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:32:19.823</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">346</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">344</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 11:44:12.897</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">343</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">341</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:31:55.497</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">344</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">342</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:25:05.800</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">333</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">331</id>
</element>
</collection>
<property name="version">22</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:15:58.247</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356308</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389024</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 09:36:59.357</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917550</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950317</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 10:45:52.340</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356307</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389023</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 11:07:47.927</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917549</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950316</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 10:45:34.713</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">334</id>
<property name="title"><![CDATA[Release-VARS-3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">332</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:17:11.693</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356310</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389026</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 09:40:21.950</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917548</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950315</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 10:41:41.487</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356309</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389025</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 09:38:19.707</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">332</id>
<property name="title"><![CDATA[Release-VARS-3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">330</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:17:02.013</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">337</id>
<property name="title"><![CDATA[Release-VARS-3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">335</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:21:03.997</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356311</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389027</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 09:40:50.800</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">338</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">336</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:24:08.510</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917552</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950319</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 10:46:41.553</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">335</id>
<property name="title"><![CDATA[Release-VARS-3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">333</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:20:40.193</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10356314</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10389029</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-25 09:12:24.207</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">336</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">334</id>
</element>
</collection>
<property name="version">23</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:19:11.323</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917551</id>
<property name="title"><![CDATA[Building VARS at MBARI]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950318</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-05-18 10:41:41.487</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-18 10:46:16.513</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">118</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"/><property name="userName"><![CDATA[brian]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:50.473</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:50.473</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">349</id>
<property name="title"><![CDATA[VARS 3.0.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">347</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 13:17:02.013</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:32:31.817</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">348</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">346</id>
</element>
</collection>
<property name="version">26</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 14:35:47.417</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">29687815</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">29720583</id>
</element>
</collection>
<property name="version">19</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-25 10:18:03.403</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">347</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">345</id>
</element>
</collection>
<property name="version">25</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:28:07.060</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917570</id>
<property name="title"><![CDATA[Video Lab]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950337</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:03:55.437</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:03:55.437</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113842</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179327</id>
</element>
</collection>
<property name="version">51</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-19 15:46:47.110</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917584</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950350</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 14:37:59.000</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113843</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179328</id>
</element>
</collection>
<property name="version">52</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-04 14:48:38.957</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917585</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950351</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-05-23 14:33:55.723</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">326</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">324</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-10-18 16:14:14.273</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">328</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">326</id>
</element>
</collection>
<property name="version">19</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 11:48:01.670</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">327</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">325</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 11:47:08.827</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">330</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">328</id>
</element>
</collection>
<property name="version">21</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:14:38.670</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">329</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">327</id>
</element>
</collection>
<property name="version">20</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-20 13:14:01.627</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113860</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3179345</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-02 19:35:47.030</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">4063238</id>
<property name="fileName"><![CDATA[percentile4barry-percentile-20080526182322]]></property>
<property name="contentType"><![CDATA[application/octet-stream]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-05-26 14:37:09.443</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:37:09.443</property>
<property name="fileSize">301548</property>
<property name="comment"><![CDATA[Depth distribution of data as percentiles]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162950</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195714</id>
</element>
</collection>
<property name="version">46</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:23:56.383</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274569</id>
<property name="destinationPageTitle"><![CDATA[~jana]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162954</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195718</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:31:43.957</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274570</id>
<property name="destinationPageTitle"><![CDATA[~svonthun]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274571</id>
<property name="destinationPageTitle"><![CDATA[~grch]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162952</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195716</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:30:18.900</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274572</id>
<property name="destinationPageTitle"><![CDATA[~jana]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274573</id>
<property name="destinationPageTitle"><![CDATA[All the above holds true for Octopoteuthis too, but that animal is much more common.]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162942</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195707</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-19 15:09:45.177</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274574</id>
<property name="destinationPageTitle"><![CDATA[~brian]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">7274575</id>
<property name="destinationPageTitle"><![CDATA[//mww.mbari.org/rd/Science/Embargo/embargoes.htm]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-10-30 11:08:18.410</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:08:18.410</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162944</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195709</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-19 15:11:03.080</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343497</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113621</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-14 16:57:43.733</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-14 16:57:43.733</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162938</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195703</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-19 14:42:57.487</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162937</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195702</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-22 11:48:06.677</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162979</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195743</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-28 11:14:40.637</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">107</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[REMOVECOMMENT]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">108</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[REMOVEBLOG]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3181</id>
<property name="destinationPageTitle"><![CDATA[http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10004&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">504</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-02-01 16:57:55.130</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-02-01 16:57:55.130</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">105</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[SETSPACEPERMISSIONS]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3180</id>
<property name="destinationPageTitle"><![CDATA[//vars.sourceforge.net]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">504</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-02-01 16:57:55.130</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-02-01 16:57:55.130</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">106</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[REMOVEPAGE]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">103</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[COMMENT]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">104</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[EDITSPACE]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">102</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162971</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195735</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:08:47.477</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">115</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[SETPAGEPERMISSIONS]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162972</id>
<property name="title"><![CDATA[Windows Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195736</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:12:16.363</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-01 19:44:29.157</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162973</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195737</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-12 09:42:46.980</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">113</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[EXPORTSPACE]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">114</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[REMOVEMAIL]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">111</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[EDITBLOG]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">112</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[EXPORTPAGE]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">109</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[CREATEATTACHMENT]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">110</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[REMOVEATTACHMENT]]></property>
<property name="group"/><property name="userName"><![CDATA[kgomes]]></property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2006-10-18 08:19:26.187</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162978</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195742</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 14:37:55.650</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">917546</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">950313</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-25 14:31:40.970</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162970</id>
<property name="title"><![CDATA[Linux Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195734</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:27.150</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-01 19:48:49.337</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162969</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195733</id>
</element>
</collection>
<property name="version">47</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:28:19.463</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">3604609</id>
<property name="viewCount">2</property>
<property name="url"><![CDATA[http://oceana:8081/dashboard.action?spacesSelectedTab=all]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-04-24 12:35:15.047</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-04-24 12:35:15.047</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28639587</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28672353</id>
</element>
</collection>
<property name="version">27</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-10-23 13:26:41.403</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162955</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195719</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:51:52.917</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162958</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195722</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:53:10.370</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162960</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195724</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:00:52.533</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162959</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195723</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:00:43.300</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162962</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195726</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:07:38.507</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">2162961</id>
<property name="title"><![CDATA[Video and Data Diagram]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2195725</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:18.900</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 15:06:55.503</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">493</id>
<property name="title"><![CDATA[VARS-PL]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">491</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:26.917</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-30 15:30:55.343</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">446</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS)

[Index]

h2. Video TAG
[Video Format Notes|Containers and Codecs]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide|VAAP:Home]
[Video and Data Diagram]
[Verifying last date of successful merge]
[Manually merge a dive]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects

[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">494</id>
<property name="title"><![CDATA[VARS-PL]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">492</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:26.917</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 14:35:55.523</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">446</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247372</id>
<property name="destinationPageTitle"><![CDATA[http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10012&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:34:49.163</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:34:49.163</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">492</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">490</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:18:18.303</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">497</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">495</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:49:44.710</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">495</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">493</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-30 15:31:37.687</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">496</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">494</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 14:37:41.413</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247370</id>
<property name="destinationPageTitle"><![CDATA[//vars.sourceforge.net]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:34:49.163</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:34:49.163</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">505</id>
<property name="title"><![CDATA[VARS 3.0.1]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">503</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:19:40.257</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:20:23.897</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247371</id>
<property name="destinationPageTitle"><![CDATA[http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10020&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:34:49.163</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:34:49.163</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">506</id>
<property name="title"><![CDATA[VARS 3.0.1]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">504</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:19:40.257</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:16:48.540</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">503</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">501</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:18:09.713</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">510</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">508</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:40:53.877</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">509</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">507</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:16:05.877</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10388505</id>
<property name="body"><![CDATA[h1. VARS Object-Relational Mapping using Java Persistence API (JPA)

h2. Implementation
I'm writing and implementation at [http://code.google.com/p/vars-redux/]

h2. Use Cases
* [JPA Knowledgebase]
* [JPA Annotation]

h2. Future Work
For future work there are a several considerations:
* Support videofiles AND tapes
* Several media may point to the same video
** Allow annotators to share annotations between different media representations of the same video
* Multiple annotators may be working on the same annotation set

{gliffy:name=Future Work|space=VARS|page=VARS JPA|pageid=10355779|align=left|size=L}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">507</id>
<property name="title"><![CDATA[VARS 3.0.1]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">505</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:19:40.257</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:17:19.890</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113153</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178673</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-01-07 11:03:58.027</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213268</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246037</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:05:05.910</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">16879449</id>
<property name="destinationPageTitle"><![CDATA[//www.chiark.greenend.org.uk/~sgtatham/putty/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777467</id>
</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 13:56:56.333</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 13:56:56.333</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">16879450</id>
<property name="destinationPageTitle"><![CDATA[//www.chiark.greenend.org.uk/~sgtatham/putty/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777462</id>
</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-24 13:57:31.103</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 13:57:31.103</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">526</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">524</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-01 19:49:07.440</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">527</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">525</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 10:13:45.920</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753589</id>
<property name="destinationPageTitle"><![CDATA[VARS-RC]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.537</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213271</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246040</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:11:03.700</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">528</id>
<property name="title"><![CDATA[Mac OS X Installation]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">526</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:14:17.753</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:07:42.053</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753588</id>
<property name="destinationPageTitle"><![CDATA[VARS-PL]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.537</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753591</id>
<property name="destinationPageTitle"><![CDATA[Varspub]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.537</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213273</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246042</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:24:33.090</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">529</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">527</id>
</element>
</collection>
<property name="version">41</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:51:39.177</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753590</id>
<property name="destinationPageTitle"><![CDATA[VARS-WF]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.537</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213274</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246043</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:27:32.703</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">530</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">528</id>
</element>
</collection>
<property name="version">42</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:09:59.327</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">531</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">529</id>
</element>
</collection>
<property name="version">43</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:10:17.023</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">532</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">530</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 15:54:16.870</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213260</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246028</id>
</element>
</collection>
<property name="version">61</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:37:54.533</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">533</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">531</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:21:31.167</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27066440</id>
<property name="title"><![CDATA[Eione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27099208</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:15:10.327</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-09 16:46:22.617</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213266</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246035</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 14:45:00.247</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213275</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246044</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:28:00.857</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213278</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246047</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:28:25.090</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">27660020</id>
<property name="destinationPageTitle"><![CDATA[~sheldon]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-06 14:47:09.293</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-06 14:47:09.293</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213280</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246049</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 15:49:28.473</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">28213282</id>
<property name="title"><![CDATA[Containers and Codecs]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">28246051</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 14:45:00.247</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 16:54:15.793</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">569</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">567</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-12 09:41:20.633</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">568</id>
<property name="title"><![CDATA[User FAQ]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">566</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:32:54.060</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 13:54:39.117</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279028</id>
<property name="destinationPageTitle"><![CDATA[//support.apple.com/en-us/HT202410]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213264</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 16:55:48.140</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 16:55:48.140</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">6259160</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">6226378</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-01-15 14:46:26.693</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">27000987</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[https://oceana.mbari.org/jira/browse/VARS-505]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="creatorName"/><property name="creationDate">2015-05-06 10:19:15.017</property>
<property name="lastModifierName"/><property name="lastModificationDate">2015-05-06 10:19:15.017</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16416952</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16449713</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-07-29 15:09:30.143</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">16416953</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">16449714</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2011-03-29 11:37:38.913</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">7176218</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">7208982</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-09-15 11:46:41.500</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579473</id>
<property name="title"><![CDATA[Solstice]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645009</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:51.020</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:46:56.023</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">431</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777611</id>
<property name="destinationPageTitle"><![CDATA[Home]]></property>
<property name="destinationSpaceKey"><![CDATA[VAAP]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579469</id>
<property name="title"><![CDATA[Eione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645005</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:15:10.327</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 11:15:10.327</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777615</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777614</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777613</id>
<property name="destinationPageTitle"><![CDATA[//www.itis.gov]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777612</id>
<property name="destinationPageTitle"><![CDATA[//www.tolweb.org]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777617</id>
<property name="destinationPageTitle"><![CDATA[//www.dnr.sc.gov/marine/sertc/gallery.htm]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">18777616</id>
<property name="destinationPageTitle"><![CDATA[~svonthun]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-02-14 09:31:52.843</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:52.843</property>
</object>
<object class="Labelling" package="com.atlassian.confluence.labels">
<id name="id">27787265</id>
<property name="label" class="Label" package="com.atlassian.confluence.labels"><id name="id">12058625</id>
</property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="spaceKey"><![CDATA[VARS]]></property>
<property name="user"><![CDATA[jana]]></property>
<property name="creationDate">2015-07-30 11:42:03.520</property>
<property name="lastModificationDate">2015-07-30 11:42:03.520</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">7176221</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">7208984</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:07:58.630</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">3276993</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana.shore.mbari.org:8082/browse/VARS-220]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113641</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-03-18 14:50:15.053</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-03-18 14:50:15.053</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">7176219</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">7208983</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-10-30 11:07:42.230</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179789</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212556</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-19 15:15:23.320</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">17268769</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh vicki@seaspray (enter secret password)
3. example: vfcbydive tibr 930 930
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">17236003</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">9439953</id>
<property name="destinationPageTitle"><![CDATA[//dsg.mbari.org:8080/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-03-19 11:35:58.280</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-03-19 11:35:58.280</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">669</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">666</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 14:39:14.207</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">670</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">667</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-22 11:43:41.253</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">671</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">668</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-22 11:47:06.317</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">672</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">669</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-22 11:47:44.597</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179868</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212633</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-07-19 11:42:05.290</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179870</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212635</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-07-19 11:50:27.520</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179869</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212634</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-07-19 11:44:30.667</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">10</id>
<property name="fileName"><![CDATA[Frame_Capture.dp.gif]]></property>
<property name="contentType"><![CDATA[image/gif]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:04:11.867</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 11:04:11.867</property>
<property name="fileSize">5118</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179872</id>
<property name="title"><![CDATA[Sundog]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212637</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 14:41:45.593</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-07-19 15:06:14.093</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179871</id>
<property name="title"><![CDATA[Sundog]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212636</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 14:41:45.593</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 14:41:45.593</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">707</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">704</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-25 14:27:54.453</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">708</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">705</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-25 14:24:06.377</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179866</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212632</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-06-29 15:59:28.120</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">706</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">703</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-25 14:25:52.407</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">704</id>
<property name="title"><![CDATA[Development]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">701</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 13:02:45.913</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 11:24:51.787</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1835054</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1867818</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-28 15:08:01.333</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">27623446</id>
<property name="viewCount">3</property>
<property name="url"><![CDATA[https://oceana.mbari.org/jira/browse/VARS-716]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"/><property name="creationDate">2015-08-10 12:41:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2015-08-12 17:10:15.027</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1835055</id>
<property name="title"><![CDATA[Tienhou]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1867819</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 11:21:36.800</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-09-14 16:01:57.413</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">29982743</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://www.mbari.org/schlining-brian/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2017-06-06 13:27:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2017-06-06 13:27:15.027</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">730</id>
<property name="title"><![CDATA[Source Code]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">727</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-01-25 14:25:52.407</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-01-25 14:28:37.580</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">724</id>
<property name="title"><![CDATA[VARS 3.1.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">721</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 16:16:21.673</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-02-01 15:59:21.897</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">504</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">723</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">720</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:41:16.037</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247345</id>
<property name="destinationPageTitle"><![CDATA[VARS 3.1.0]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:30:32.330</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:30:32.330</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247344</id>
<property name="destinationPageTitle"><![CDATA[VARS 4.2.0]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:30:32.330</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:30:32.330</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">722</id>
<property name="title"><![CDATA[VARS 3.1.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">719</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-04 16:16:21.673</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-04 16:16:21.673</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">504</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247347</id>
<property name="destinationPageTitle"><![CDATA[VARS 3.0.0]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:30:32.330</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:30:32.330</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1247346</id>
<property name="destinationPageTitle"><![CDATA[VARS 3.0.1]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:30:32.330</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:30:32.330</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3112998</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178532</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-07-19 12:38:46.013</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113000</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178534</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-01-07 10:52:19.720</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">2326540</id>
<property name="fileName"><![CDATA[Video Data Flow.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:31:28.853</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:53:31.737</property>
<property name="fileSize">147923</property>
<property name="comment"><![CDATA[Video Data Flow Diagram]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">2326539</id>
<property name="fileName"><![CDATA[DSCN1116.JPG]]></property>
<property name="contentType"><![CDATA[image/jpeg]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162951</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-27 14:30:43.867</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 14:53:51.970</property>
<property name="fileSize">998333</property>
<property name="comment"><![CDATA[Picture of white board that captured our notes]]></property>
<property name="attachmentVersion">1</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589925</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622691</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-10 11:35:06.147</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589926</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622692</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-10 11:42:38.777</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589924</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622690</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 14:48:13.963</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252702</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285447</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 17:05:17.817</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178954</id>
<property name="body"><![CDATA[h2. Developer Notes

h3. Deliverable to Microsoft guys
* [Benthic Annotation Database]
** [Verifying Altitudes]
** [Benthic Results]

h3. Depth distribution analysis
Created a script to run the depth distributions of VARS data. There are 2 scripts in the vdm-tools project in  the MBARI SVN repository. The scripts are _hist4barry.groovy_ and _percentiles4barry.groovy_. The first results for the percentile distribution are from [2008-05-26|^percentile4barry-percentile-20080526182322]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343986</id>
<property name="destinationPageTitle"><![CDATA[//subversion.tigris.org/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-03-05 14:51:54.757</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-05 14:51:54.757</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579863</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645377</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:29:04.353</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252698</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285443</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 11:02:02.713</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343987</id>
<property name="destinationPageTitle"><![CDATA[//svnbook.red-bean.com/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-03-05 14:51:54.757</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-05 14:51:54.757</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579864</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645378</id>
</element>
</collection>
<property name="version">19</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:31:15.473</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579865</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645379</id>
</element>
</collection>
<property name="version">59</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:30:14.693</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579866</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645380</id>
</element>
</collection>
<property name="version">60</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-02-14 09:32:41.670</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579860</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645374</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-20 14:34:34.247</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18579861</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18645375</id>
</element>
</collection>
<property name="version">58</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-24 11:18:09.163</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">106</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana:8081/display/~amarburg/Home]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-11-16 09:32:15.023</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-11-16 09:32:15.023</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252685</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285429</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 10:56:15.047</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252683</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285427</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 10:55:14.590</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113449</id>
<property name="title"><![CDATA[VARS Data Mining]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178955</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-02-04 08:53:50.447</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-02-04 08:53:50.447</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">18252681</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">18285425</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-03-19 11:29:15.863</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">2293869</id>
<property name="viewCount">8</property>
<property name="url"><![CDATA[http://seaspray/vars/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-12-10 09:44:15.083</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-04-15 08:41:15.090</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">3113446</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">3178952</id>
</element>
</collection>
<property name="version">48</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-27 21:20:33.043</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">124</id>
<property name="viewCount">7</property>
<property name="url"><![CDATA[http://oceana:8081/dashboard.action]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-11-16 16:22:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-02-06 12:51:15.060</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">4882433</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"><![CDATA[Onsite Distribution List]]></property>
<property name="userName"/><property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2008-06-03 12:39:10.463</property>
<property name="lastModifierName"><![CDATA[kgomes]]></property>
<property name="lastModificationDate">2008-06-03 12:39:10.463</property>
</object>
<object class="SpacePermission" package="com.atlassian.confluence.security">
<id name="id">497</id>
<property name="space" class="Space" package="com.atlassian.confluence.spaces"><id name="id">4</id>
</property>
<property name="type"><![CDATA[VIEWSPACE]]></property>
<property name="group"><![CDATA[ITD]]></property>
<property name="userName"/><property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-12-08 10:25:25.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 10:25:25.537</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">2293846</id>
<property name="viewCount">42</property>
<property name="url"><![CDATA[http://seaspray.shore.mbari.org/vars/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2007-11-28 08:16:15.117</property>
<property name="lastModifierName"/><property name="lastModificationDate">2019-04-18 18:19:15.017</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557077</id>
<property name="fileName"><![CDATA[DSGViewTemplate.doc]]></property>
<property name="contentType"><![CDATA[application/msword]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-20 08:33:25.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-20 08:33:25.537</property>
<property name="fileSize">24576</property>
<property name="comment"><![CDATA[Describes the view of a concept in the DSG]]></property>
<property name="attachmentVersion">1</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557076</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557076</id>
<property name="fileName"><![CDATA[DSGViewTemplate.doc]]></property>
<property name="contentType"><![CDATA[application/msword]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-20 08:33:25.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-20 08:36:26.170</property>
<property name="fileSize">25088</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">2</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557073</id>
<property name="fileName"><![CDATA[Overview.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:57.107</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:21:43.717</property>
<property name="fileSize">139430</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">3</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557070</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557072</id>
<property name="fileName"><![CDATA[Overview.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:57.107</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:11:46.450</property>
<property name="fileSize">135463</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">2</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557070</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557071</id>
<property name="fileName"><![CDATA[Overview.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:57.107</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:05:57.107</property>
<property name="fileSize">127803</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">1</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557070</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557070</id>
<property name="fileName"><![CDATA[Overview.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:57.107</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 14:23:47.977</property>
<property name="fileSize">194759</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">6</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">10322205</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[https://oceana.mbari.org/jira/browse/VARS-253]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="creatorName"/><property name="creationDate">2009-10-02 10:47:15.037</property>
<property name="lastModifierName"/><property name="lastModificationDate">2009-10-02 10:47:15.037</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">323</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI

* [VARS 4.2.0] \- Release date: 2007-08-03
* [VARS 3.1.0] \- Release date: 2007-02-01
* [VARS 3.0.1] \- Release date: 2006-12-04
* [VARS 3.0.0] \- Release date: 2006-12-01]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557079</id>
<property name="fileName"><![CDATA[Overview.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:57.107</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 14:22:46.690</property>
<property name="fileSize">195653</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">5</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557070</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">329</id>
<property name="body"><![CDATA[h2. Release Highlights
* The Annotation App now uses [RXTX|http://www.rxtx.org] instead of [javax.comm|http://java.sun.com/products/javacomm/] for serial communications
* All applications will be deployed using Java Web Start rather than installers.
* A Beta version of the Knowledgebase application is now available. It has a number of known issues which are scheduled to be resolved in [VARS 3.0.1]
* Initial support for annotating high-definition (HD) tape is included. Full support is pending an update to the merge processing between the EXPD and VARS databases
* This release corresponds to version 1.0.4 at [http://vars.sourceforge.net]
* Test versions are available at [http://oyashio.shore.mbari.org/~brian/webstart]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">331</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">557078</id>
<property name="fileName"><![CDATA[Overview.png]]></property>
<property name="contentType"><![CDATA[image/png]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:57.107</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:24:55.327</property>
<property name="fileSize">140520</property>
<property name="comment"><![CDATA[]]></property>
<property name="attachmentVersion">4</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">557070</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1905</id>
<property name="destinationPageTitle"><![CDATA[Linux Installation]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 15:36:40.967</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:36:40.967</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">379</id>
<property name="body"><![CDATA[h2. Prerequisites

In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the Annotation application requires [QuickTime for Java|http://www.apple.com/quicktime], which is not available for Linux. Therefore, the Annotation application will not run on Linux.

h2. Detailed Instructions

The following steps describe the prerequisites for running VARS:
# *Installing Java*
Refer to you linux distributors documentation on installing Java 5.0. You can also download Java from [http://www.java.com]. Simply download the installer and run it.
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://seaspray.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">381</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1906</id>
<property name="destinationPageTitle"><![CDATA[Mac OS X Installation]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 15:36:40.967</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:36:40.967</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1907</id>
<property name="destinationPageTitle"><![CDATA[Windows Installation]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-28 15:36:40.967</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-28 15:36:40.967</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179952</id>
<property name="title"><![CDATA[Releases]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212717</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-20 11:44:12.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-02-01 15:59:51.540</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">325</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">17301777</id>
<property name="destinationPageTitle"><![CDATA[//www.chiark.greenend.org.uk/~sgtatham/putty/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">17236003</id>
</property>
<property name="creatorName"><![CDATA[linda]]></property>
<property name="creationDate">2011-05-27 12:19:20.607</property>
<property name="lastModifierName"><![CDATA[linda]]></property>
<property name="lastModificationDate">2011-05-27 12:19:20.607</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">373</id>
<property name="body"><![CDATA[[Linux Installation]
[Mac OS X Installation]
[Windows Installation]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">375</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179956</id>
<property name="title"><![CDATA[VARS 4.2.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212721</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:32:56.153</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:32:56.153</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">1179957</id>
<property name="title"><![CDATA[VARS 4.2.0]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">1212722</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-08-06 10:32:56.153</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-08-06 10:33:35.613</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179954</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">377</id>
<property name="body"><![CDATA[h2. Prerequisites

In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the annotation application will not run unless [QuickTime for Java|http://www.apple.com/quicktime] is installed.

h2. Detailed Instructions

The following steps describe the prerequisites for running VARS:
# *Installing Java*
You can download Java from [http://www.java.com]. Simply download the installer and run it.
# *Installing QuickTime for Java*
Download the QuickTime installer or iTunes installer from [Apple|http://www.apple.com] and execute it.
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://seaspray.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">379</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">378</id>
<property name="body"><![CDATA[h2. Prerequisites

For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions

The following steps describe the prerequisites for running VARS:
# *Installing a Serial Port*
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. If you have a [Blackmagic Design|http://www.blackmagic-design.com/] video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.
# *Mounting the framegrabs directory*
If you intend to use the Annotation application to capture framegrabs, you will need to mount the framegrabs share on Tornado to your Mac. Here are the steps to do this:
## In the Finder, use the menu *GO \-> Connect To Server*
## In the *Connect to Server* window, enter the server address as _cifs://tornado.shore.mbari.org/framegrabs_ and press the connect button.
## You will be prompted for a password. Enter your MBARI password.
## The framegrabs share will be mounted on your Mac as _/Volumes/framegrabs_
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://seaspray.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">380</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558268</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591029</id>
</element>
</collection>
<property name="version">25</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:52:03.160</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558266</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591027</id>
</element>
</collection>
<property name="version">24</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:46:11.480</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558264</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591025</id>
</element>
</collection>
<property name="version">23</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:42:37.620</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">370</id>
<property name="body"><![CDATA[h2. Developer Guides
[Building VARS at MBARI]
[README|http://vars.svn.sourceforge.net/viewvc/vars/trunk/README?view=markup]
[SQL Examples]

h2. Future-proofing VARS
[VARS JPA]
[QuickTime for Java]

h2. Source Code
[Source Code]
[Browse the Sourceforge Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558261</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591022</id>
</element>
</collection>
<property name="version">21</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:29:49.720</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558262</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591023</id>
</element>
</collection>
<property name="version">22</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:41:54.113</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558260</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591021</id>
</element>
</collection>
<property name="version">20</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:23:50.160</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558257</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591018</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 11:44:40.670</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">10485901</id>
<property name="fileName"><![CDATA[Future Work]]></property>
<property name="contentType"><![CDATA[text/xml]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:27.243</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 11:02:07.700</property>
<property name="fileSize">11205</property>
<property name="comment"><![CDATA[DO NOT EDIT THIS ATTACHMENT.  YOU WILL RUIN YOUR DIAGRAM!]]></property>
<property name="attachmentVersion">3</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485898</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558258</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591019</id>
</element>
</collection>
<property name="version">19</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 12:23:09.537</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">10485900</id>
<property name="fileName"><![CDATA[Future Work]]></property>
<property name="contentType"><![CDATA[text/xml]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:27.243</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 10:44:58.233</property>
<property name="fileSize">5627</property>
<property name="comment"><![CDATA[DO NOT EDIT THIS ATTACHMENT.  YOU WILL RUIN YOUR DIAGRAM!]]></property>
<property name="attachmentVersion">2</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485898</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558255</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591016</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 11:42:22.940</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">10485899</id>
<property name="fileName"><![CDATA[Future Work]]></property>
<property name="contentType"><![CDATA[text/xml]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:27.243</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 10:39:27.243</property>
<property name="fileSize">133</property>
<property name="comment"><![CDATA[DO NOT EDIT THIS ATTACHMENT.  YOU WILL RUIN YOUR DIAGRAM!]]></property>
<property name="attachmentVersion">1</property>
<property name="originalVersion" class="Attachment" package="com.atlassian.confluence.pages"><id name="id">10485898</id>
</property>
</object>
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">10485898</id>
<property name="fileName"><![CDATA[Future Work]]></property>
<property name="contentType"><![CDATA[text/xml]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:27.243</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 11:09:17.990</property>
<property name="fileSize">12080</property>
<property name="comment"><![CDATA[DO NOT EDIT THIS ATTACHMENT.  YOU WILL RUIN YOUR DIAGRAM!]]></property>
<property name="attachmentVersion">4</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558253</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591014</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 11:41:48.677</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558252</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591013</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 11:37:00.230</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">404</id>
<property name="body"><![CDATA[h2. SQL Scripts
Scripts that have been used with VARS can be found in the [source code repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars-mbari/src/main/database/sqlserver/]

h2. Examples
{panel: borderStyle=solid | title=Retrieving snap times of frame-grabs}
h4. Inputs
* Fragments of the image URL

h4. Outputs
* The datetime that the image was taken

h4. Query Example
{noformat}
SELECT 
    MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM 
    dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE 
    (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}
{panel}

{panel: borderStyle=solid | title=Retrieving the epoch seconds that a video-frame was recorded using dive number and tape time-code}
h4. Inputs
* Dive number
* Tape timecode
* ROV name (either Tiburon or Ventana)

h4. Outputs
* The date of a video-frame in epoch seconds. This is the date that the video was recorded.

h4. Query Example
{noformat}
SELECT 
    CONVERT(bigint, DATEDIFF(ss, '01-01-1970 00:00:00', dbo.VideoFrame.RecordedDtg)) AS Epoch
FROM 
    dbo.VideoArchiveSet INNER JOIN
    dbo.VideoArchive ON dbo.VideoArchiveSet.id = dbo.VideoArchive.VideoArchiveSetID_FK INNER JOIN
    dbo.VideoFrame ON dbo.VideoArchive.id = dbo.VideoFrame.VideoArchiveID_FK INNER JOIN
    dbo.CameraPlatformDeployment ON dbo.VideoArchiveSet.id = dbo.CameraPlatformDeployment.VideoArchiveSetID_FK
WHERE 
    (dbo.CameraPlatformDeployment.SeqNumber = '2603')
    AND (dbo.VideoFrame.TapeTimeCode = '00:34:19:13')
    AND (dbo.VideoArchiveSet.PlatformName = 'Ventana')
{noformat}
{panel}

{panel: borderStyle=solid | title=Retrieving the URL's for framegrabs where the observation occured within the last 2 days}
h4. Inputs
* *None*

h4. Outputs
* The (non-null) image for any observations that were created within the last 2 days

h4. Query Example
{noformat}
SELECT 
    dbo.CameraData.StillImageURL
FROM 
    dbo.CameraData INNER JOIN
    dbo.VideoFrame ON dbo.CameraData.VideoFrameID_FK = dbo.VideoFrame.id INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE 
    (dbo.Observation.ObservationDTG > DATEADD([day], - 2, GETDATE())) AND 
    (NOT (dbo.CameraData.StillImageURL IS NULL))
{noformat}
{panel}

{panel: borderStyle=solid | title=Query that returns all dive numbers (and vehicles) for any new or updated observation in the last 2 days}
h4. Inputs
* *None*

h4. Outputs
* The vehicle and dive number for any VideoArchiveSet that has observations add or modified within the last 2 days.

h4. Query Example
{noformat}
SELECT DISTINCT 
    RovName, 
    DiveNumber
FROM 
    Annotations
WHERE 
    (ObservationDate > DATEADD([day], - 2, GETDATE())) AND 
    (NOT (Image IS NULL))
{noformat}
{panel}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167171</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199934</id>
</element>
</collection>
<property name="version">18</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:00:24.790</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167168</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199931</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:43:26.860</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167170</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199933</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:43:05.920</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558248</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591009</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-03-26 09:43:05.627</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558249</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591010</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 11:07:14.557</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167166</id>
<property name="title"><![CDATA[Ulikai]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199929</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2013-10-24 09:03:52.820</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:03:52.820</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167164</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558250</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27591011</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-10 11:10:17.250</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167159</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199922</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:54:42.033</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167160</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199923</id>
</element>
</collection>
<property name="version">15</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:44:18.897</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167161</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199924</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 08:59:48.993</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167162</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199925</id>
</element>
</collection>
<property name="version">17</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-24 09:00:11.413</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558223</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27590987</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-11-28 11:15:20.417</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167156</id>
<property name="title"><![CDATA[Seaspray]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199919</id>
</element>
</collection>
<property name="version">16</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-11-19 15:09:45.177</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2011-03-29 12:06:21.687</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162941</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558225</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27590988</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-06 14:45:20.873</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">400</id>
<property name="body"><![CDATA[h2. Questions

* [Where does VARS get the camera data from?|#Q1]
* [How does VARS handle frame-capture?|#Q2]
* [How do I upgrade Java?|#Q3]

h2. Answers


h3. Q: Where does VARS get the camera data from?{anchor:Q1}

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:
{quote}
Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData

This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.

The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....
{quote}

h3. Q: How does VARS handle frame-capture?{anchor:Q2}

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{[file:/path/to/file/filename.jpg]}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at [http://search.mbari.org/ARCHIVE/frameGrabs/]

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Seaspray runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.

h3. Q: How do I upgrade Java?{anchor:Q3}

VARS should run on Java 5.0 and Java 6.0. If you are interested in upgrading your Java installation, you can get a more recent version of Java at [http://java.com]. If you are upgrading Java on a Windows computer that you use to annotate, you will must include QuickTime for Java in the new Java installation. There are 2 options to accomplish this:

Option 1: Reinstall [QuickTime|http://www.apple.com/quicktime]

Option 2: Copy QTJava.zip from a previous installation of Java to the new one.
# Locate your previous installation of QuickTime for Java. On Windows, the file will be located on a path like {{C:\Program Files\Java\jre1.5.0_06\lib\ext\QTJava.zip}}.
# Copy the zip file to your new Java installations _ext_ directory (e.g. {{C:\Program Files\Java\jre1.6.0_01\lib\ext}})]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">402</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167152</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199915</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-23 13:38:58.593</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">27558227</id>
<property name="title"><![CDATA[VARS-WF]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">27590990</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:50:48.887</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-06 14:45:33.257</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167154</id>
<property name="title"><![CDATA[Computers]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199917</id>
</element>
</collection>
<property name="version">14</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:28:24.343</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-03 10:57:01.577</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461347</id>
<property name="destinationPageTitle"><![CDATA[//vcr4j.googlecode.com/svn/trunk/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:50:24.977</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:50:24.977</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279005</id>
<property name="destinationPageTitle"><![CDATA[Verifying last date of successful merge]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10944622</id>
<property name="body"><![CDATA[h2. Use Cases

h3. ConceptName

*Insert*
# Does a duplicate name already exist?
#* Don't need to worry. JPA will throw an exception since it's a unique column.
# Is it a primary name? Only 1 primary name per concept is allowed.
## Is there another primary name for that concept already?
##* Yes = throw exception
##* No = continue

*Delete*
# Is it a primary name?
#* Yes = throw exception
#* No = delete it

*Update*
# Does a duplicate name already exist?
#* Don't need to worry. JPA will throw an exception since it's a unique column.
# Is it a primary name? Only 1 primary name per concept is allowed.
## Is there another primary name for that concept already?
##* Yes = throw exception
##* No = continue
# Is it a non-primary name?
#* Make sure the concept has at least 1 primary name


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911858</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461346</id>
<property name="destinationPageTitle"><![CDATA[//oceana.shore.mbari.org/maven2]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:50:24.977</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:50:24.977</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279004</id>
<property name="destinationPageTitle"><![CDATA[Video and Data Diagram]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461345</id>
<property name="destinationPageTitle"><![CDATA[//vars.svn.sourceforge.net/svnroot/vars/trunk]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:50:24.977</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:50:24.977</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279007</id>
<property name="destinationPageTitle"><![CDATA[Releases]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461344</id>
<property name="destinationPageTitle"><![CDATA[//maven.apache.org]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:50:24.977</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:50:24.977</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279006</id>
<property name="destinationPageTitle"><![CDATA[Manually merge a dive]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279009</id>
<property name="destinationPageTitle"><![CDATA[Computers]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="Comment" package="com.atlassian.confluence.pages">
<id name="id">589980</id>
<property name="page" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="title"/><collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622742</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[nancy]]></property>
<property name="creationDate">2007-04-23 11:40:30.440</property>
<property name="lastModifierName"><![CDATA[nancy]]></property>
<property name="lastModificationDate">2007-04-23 11:40:30.440</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279008</id>
<property name="destinationPageTitle"><![CDATA[Development]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279011</id>
<property name="destinationPageTitle"><![CDATA[VARS Data Mining]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279010</id>
<property name="destinationPageTitle"><![CDATA[//oceana.shore.mbari.org:8082/browse/VARS]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28278999</id>
<property name="destinationPageTitle"><![CDATA[Containers and Codecs]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28278998</id>
<property name="destinationPageTitle"><![CDATA[Index]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279001</id>
<property name="destinationPageTitle"><![CDATA[User FAQ]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">445</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org

VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf'

h2. Timecode source

VARS on the flyer gets timecode and time via UDP from _navproc.wf.mbari.org_. Beta timecode can be fetched on port *9000*. HD timecode is on port *9001*.

h2. NTP

From [~sheldon]:
{quote}
vars-wf is configured to synchronize with the following:

Western Flyer: time-wf1 (134.89.20.17), time-wf2 (Unused), time-wf3 (134.89.21.5), time-wf4 (134.89.21.6)
{quote}

_ntp.conf_

{code}
server time-wf1
server time-wf2
server time-wf3
server time-wf4
{code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279000</id>
<property name="destinationPageTitle"><![CDATA[Installation]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">444</id>
<property name="body"><![CDATA[h2. About vars-pl.pl.mbari.org
VARS-PL is the computer on the R/V Point Lobos used for running VARS

VARS is launched via Java Web Start on VARS-PL. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.pl' ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">446</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279003</id>
<property name="destinationPageTitle"><![CDATA[Home]]></property>
<property name="destinationSpaceKey"><![CDATA[VAAP]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279002</id>
<property name="destinationPageTitle"><![CDATA[Video Lab]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">426</id>
<property name="body"><![CDATA[h2. Release Highlights
* Bug fix release
* This release corresponds to version 1.0.5 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10010&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">428</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">424</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. September 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

Also, at [~grch]'s request. I've embargoed the Macon dives.

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE (
        (
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
        OR (
            ConceptName = 'Flota' OR
            ConceptName LIKE 'flota %' OR 
            ConceptName LIKE 'flota-%'
        )
        OR (
            LinkValue LIKE '%green bomber%'
        )
        OR (
            RovName = 'Ventana' AND
            DiveNumber IN (50, 217, 218, 248)
        )
        OR (
            RovName = 'Tiburon' AND
            DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
        )
    ){code}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">421</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _C:\Inetpub\wwwroot\webstart_ on Tienhou.

h2. Supporting Scripts
{note:title=Scripts have been temporarily moved}
As of the 2007-09-14, the supporting scripts have been moved to cron jobs running on the computer Elvis as the user 'brian' (aka [~brian]). Tienhou is a Windows 2000 machine; it can not handle the long classpath required for running VARS applications. This move is temporary and these scripts will be moved to the Tienhou replacement machine (8 core + 14GB!!) at the end of November 2007.
{note}

{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">423</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285435</id>
<property name="body"><![CDATA[h2. About Eione

Eione is a linux VM that hosts an external database server. It is aliased using the CNAME [http://dsg.mbari.org]

h3. Image files

The video labs DSG representative images are mounted from \\Tornado\videolab\VARS_Images to \mbari\dsg\kbimages. In turn, kbimages is symlinked at /var/www/website/images so that it can be served through the web server at [http://eione.mbari.org/images/dsg/]

h3. Framegrabs

I haven't set up the process to copy framegrabs yet. They will be copied and watermarked into /var/www/website/frameGrabs

h3. DSG Deployment

Instructions for building and deploying the external DSG can be found at [https://oceana.mbari.org/jira/browse/VAAP-42]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252690</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461354</id>
<property name="destinationPageTitle"><![CDATA[Source Code]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285431</id>
<property name="body"><![CDATA[h2. About Equinox

Equinox is a windows server running SQL Server 2008.

Equinox hosts the following VARS databases:
# *VARS* - For video lab annotations
# *VARS_KB* - VARS Knowledgebase, shared by all versions of VARS running internally
# *VARS_imaging* - For image based annotations, i.e. Benthic Rover, BIAUV, coolpix, etc.
# *VARS_video* - For video-file based annotations.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252686</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279012</id>
<property name="destinationPageTitle"><![CDATA[//tienhou.shore.mbari.org/vars]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461355</id>
<property name="destinationPageTitle"><![CDATA[//svn.sourceforge.net/viewvc/vars/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">28279013</id>
<property name="destinationPageTitle"><![CDATA[//vars.sourceforge.net]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2015-08-26 13:20:24.267</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2015-08-26 13:20:24.267</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461352</id>
<property name="destinationPageTitle"><![CDATA[VARS JPA]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285433</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | (/) | (/) |
| Xenoturbella | | (/) | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | (/) | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Mertensiidae sp. A | (/) | | (/) |
| Platyctenida | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Erenna sp. B | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

The data in these databases are replicated monthly and the following scripts are applied after replication:
- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]
{info}The SQL has been updated on both the _develop_ and _videofile-jdk8_ branshes
{info}

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">431</id>
<property name="body"><![CDATA[h2. About glacierwind.pl.mbari.org
Glacierwind hosts the MS SQL Server for the PL VARS database]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">433</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461353</id>
<property name="destinationPageTitle"><![CDATA[QuickTime for Java]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461350</id>
<property name="destinationPageTitle"><![CDATA[//vars.svn.sourceforge.net/viewvc/vars/trunk/README?view=markup]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">429</id>
<property name="body"><![CDATA[h2. About Solstice
Solistice hosts the MS SQL Server for the Shore VARS database

h3. About Oxygen
From [~rich]:
{quote}
Primary is o2 (seabird sensor)
Secondary is o2alt (optode)

Flags... 0=bad, 1=suspect, 2='loaded by perl', 3='actually looked at and blessed by ctd/science tech',4= winklers were run etc (don't expect to see any of these "yet"')

Note that flags are a per-record basis, when data is loaded and o2 computed from raw... it will typically set some flags to 0 when 'out-of-range' or if p,t,s is bad etc....(since needs p,t,s in the O2 formula...)
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">431</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461351</id>
<property name="destinationPageTitle"><![CDATA[SQL Examples]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">430</id>
<property name="body"><![CDATA[h2. About alaskanwind.wf.mbari.org
Alaskanwind hosts the MS SQL Server for the WF VARS database]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">432</id>
</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">28475411</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://mww.mbari.org/itd/video/annotation_data_retrieval.html]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="creatorName"/><property name="creationDate">2015-09-23 11:36:15.023</property>
<property name="lastModifierName"/><property name="lastModificationDate">2015-09-23 11:36:15.023</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461348</id>
<property name="destinationPageTitle"><![CDATA[//qtx4j.googlecode.com/svn/trunk/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">917547</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:50:24.977</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:50:24.977</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">10461349</id>
<property name="destinationPageTitle"><![CDATA[Building VARS at MBARI]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">372</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-09-28 10:54:41.790</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-09-28 10:54:41.790</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">428</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Ione] | External web server (replacement for Eione) |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *Retired* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [Ulikai] | Internal VM for *big* data processing |
| -[VARS-PL]- | -Point Lobos annotation station- - *Retired*|
| [VARS-RC] | Rachael Carson annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753581</id>
<property name="destinationPageTitle"><![CDATA[Glacierwind]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753580</id>
<property name="destinationPageTitle"><![CDATA[Equinox]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">28803188</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://www.mbari.org/brian-schlining-vars/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2016-01-14 08:34:15.030</property>
<property name="lastModifierName"/><property name="lastModificationDate">2016-01-14 08:34:15.030</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753583</id>
<property name="destinationPageTitle"><![CDATA[Seaspray]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753582</id>
<property name="destinationPageTitle"><![CDATA[Ione]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753585</id>
<property name="destinationPageTitle"><![CDATA[Sundog]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753584</id>
<property name="destinationPageTitle"><![CDATA[Solstice]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753587</id>
<property name="destinationPageTitle"><![CDATA[Ulikai]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.537</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.537</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753586</id>
<property name="destinationPageTitle"><![CDATA[Tienhou]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">4423681</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana.mbari.org/confluence/dashboard.action]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-05-28 16:28:15.087</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-05-28 16:28:15.087</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589984</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622746</id>
</element>
</collection>
<property name="version">13</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 14:36:29.690</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589983</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622745</id>
</element>
</collection>
<property name="version">12</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 14:35:03.667</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753577</id>
<property name="destinationPageTitle"><![CDATA[Alaskanwind]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589982</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622744</id>
</element>
</collection>
<property name="version">11</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 14:28:53.623</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589981</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622743</id>
</element>
</collection>
<property name="version">10</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 11:00:40.570</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753579</id>
<property name="destinationPageTitle"><![CDATA[Eione]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">29753578</id>
<property name="destinationPageTitle"><![CDATA[Dione]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2016-11-30 13:43:53.533</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2016-11-30 13:43:53.533</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589979</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622741</id>
</element>
</collection>
<property name="version">9</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 10:31:53.467</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">4030547</id>
<property name="destinationPageTitle"><![CDATA[Benthic Results]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-05-26 14:38:21.360</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:38:21.360</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589977</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622739</id>
</element>
</collection>
<property name="version">7</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 10:18:46.580</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622718</id>
<property name="body"><![CDATA[[Deep-sea Guide]
[HD vs SD Frame Capture]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589955</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1979</id>
<property name="destinationPageTitle"><![CDATA[//moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars-mbari/src/main/database/sqlserver/]]></property>
<property name="destinationSpaceKey"><![CDATA[http]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:58:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:58:28.623</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">4030546</id>
<property name="destinationPageTitle"><![CDATA[Verifying Altitudes]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-05-26 14:38:21.360</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:38:21.360</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589978</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622740</id>
</element>
</collection>
<property name="version">8</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 10:29:23.397</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">4030545</id>
<property name="destinationPageTitle"><![CDATA[Benthic Annotation Database]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-05-26 14:38:21.360</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:38:21.360</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">4849666</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[https://oceana.mbari.org/confluence/dashboard.action]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-06-03 12:39:15.097</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-06-03 12:39:15.097</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10355783</id>
<property name="title"><![CDATA[VARS JPA]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10388509</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:08.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 11:11:30.817</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589975</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622737</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 09:55:43.577</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589976</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622738</id>
</element>
</collection>
<property name="version">6</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 10:13:11.397</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589973</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622735</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-20 08:35:19.083</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10355782</id>
<property name="title"><![CDATA[VARS JPA]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10388508</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:08.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 10:39:27.257</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589974</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622736</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-23 09:47:28.993</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589971</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622733</id>
</element>
</collection>
<property name="version">2</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:26:44.073</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">10355780</id>
<property name="title"><![CDATA[VARS JPA]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">10388506</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2009-08-10 10:39:08.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2009-08-10 10:39:08.623</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355779</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622719</id>
<property name="body"><![CDATA[{warning:title=This page is obsolete}
The content of this page is outdated. It is only retained for historical purposes.
Refer to [the Video Annotation Analysis and Presentation wiki|VAAP:Home] for up-to-date info.
{warning}

h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

From [~svonthun]:{quote}I came across this website looking for a crab picture with Kris Walz and she pointed out that the layout of these thumbnails is very easy to browse and click and might be a good idea for DSG.
http://www.dnr.sc.gov/marine/sertc/gallery.htm{quote}

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. DSG Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}


Contract runs 8 months from signing date, which was signed by Lori W. on 11/28/2006 and by MBARI staff 12/14/06. That puts us somewhere between July 28 and August 14, 2007. That leaves 3 to 3.5 months. I'm interpreting this means the later date, but I'll need to confirm that with Lori W.
 
*M1.* Search to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid June.
 
*M2.* Browse to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid July.
 
*M3.* Implement process for serving still images and video. Target Date: mid July.
 
*M4.* Documentation. Target date: end of July.
 
*M5.* Enhanced Features (graphical and statistical summaries) as described in deliverables. The basic functionality of M1 - M4 are critical. M5 will only be completed if time permits. Target date: mid August.
 
* For all milestones, the header, footer, tabs, search options should be consistent across all pages. 
* As part of the iterative development process, we expect to meet with the developers ~ monthly in addition to remote development efforts.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589967</id>
<property name="title"><![CDATA[Varspub]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622730</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 14:13:49.897</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-10 11:44:06.180</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">426</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">4849665</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana.shore.mbari.org/confluence/dashboard.action]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2008-06-03 11:17:15.117</property>
<property name="lastModifierName"/><property name="lastModificationDate">2008-06-03 11:17:15.117</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1980</id>
<property name="destinationPageTitle"><![CDATA[day]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:58:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:58:28.623</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">1981</id>
<property name="destinationPageTitle"><![CDATA[day]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">406</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2006-11-29 10:58:28.623</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-11-29 10:58:28.623</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">502</id>
<property name="body"><![CDATA[h2. Release Highlights

* Resolving issues with the Knowledgebase application
* This release corresponds to version 3.1.0 at [http://vars.sourceforge.net]
* Built using MBARI SVN Revision: 40, Sourceforge SVN Revision: 466

h2. Resolved Issues

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10004&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">504</id>
</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">3343988</id>
<property name="destinationPageTitle"><![CDATA[//vars.svn.sourceforge.net/svnroot/vars]]></property>
<property name="destinationSpaceKey"><![CDATA[https]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">705</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-03-05 14:51:54.757</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-03-05 14:51:54.757</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167146</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199909</id>
</element>
</collection>
<property name="version">5</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-23 13:34:43.650</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167145</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199908</id>
</element>
</collection>
<property name="version">4</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2013-10-23 13:30:01.187</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">23167144</id>
<property name="title"><![CDATA[Dione]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">23199907</id>
</element>
</collection>
<property name="version">3</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2012-01-03 11:02:02.713</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2012-01-05 14:49:59.137</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252688</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589958</id>
<property name="title"><![CDATA[Deep-sea Guide]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622721</id>
</element>
</collection>
<property name="version">1</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2007-04-17 14:05:41.003</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:05:41.003</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">589956</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589957</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622720</id>
</element>
</collection>
<property name="version">45</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2007-04-17 14:03:37.960</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">200</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/VARS-WF]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-01 14:59:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-12-01 14:59:15.027</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">201</id>
<property name="viewCount">2</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/Computers]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">446</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-01 14:59:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-12-01 14:59:15.027</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">198</id>
<property name="viewCount">1</property>
<property name="url"><![CDATA[http://oceana:8081/dashboard.action]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">447</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-01 14:58:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2006-12-01 14:58:15.027</property>
</object>
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">589954</id>
<property name="title"><![CDATA[Home]]></property>
<collection name="bodyContents"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">622717</id>
</element>
</collection>
<property name="version">44</property>
<property name="creatorName"><![CDATA[kgomes]]></property>
<property name="creationDate">2006-10-18 08:19:26.187</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2006-12-08 11:11:04.363</property>
<property name="versionComment"><![CDATA[]]></property>
<property name="originalVersion" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="contentStatus"><![CDATA[current]]></property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">199</id>
<property name="viewCount">4</property>
<property name="url"><![CDATA[http://oceana:8081/display/VARS/Home]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">430</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-01 14:59:15.020</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-07-13 15:04:15.023</property>
</object>
<object class="OutgoingLink" package="com.atlassian.confluence.links">
<id name="id">4030548</id>
<property name="destinationPageTitle"><![CDATA[]]></property>
<property name="destinationSpaceKey"><![CDATA[VARS]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113448</id>
</property>
<property name="creatorName"><![CDATA[brian]]></property>
<property name="creationDate">2008-05-26 14:38:21.360</property>
<property name="lastModifierName"><![CDATA[brian]]></property>
<property name="lastModificationDate">2008-05-26 14:38:21.360</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">196</id>
<property name="viewCount">28</property>
<property name="url"><![CDATA[http://tienhou.shore.mbari.org/vars/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-01 10:15:15.093</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-07-13 15:03:15.037</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">197</id>
<property name="viewCount">10</property>
<property name="url"><![CDATA[http://tienhou.shore.mbari.org/vars/default.htm]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-01 10:29:15.027</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-05-10 13:48:15.083</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">209</id>
<property name="viewCount">10</property>
<property name="url"><![CDATA[http://tienhou.shore.mbari.org/vars/query.html]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-04 14:20:15.057</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-10-17 11:00:15.447</property>
</object>
<object class="ReferralLink" package="com.atlassian.confluence.links">
<id name="id">211</id>
<property name="viewCount">4</property>
<property name="url"><![CDATA[http://tienhou/vars/]]></property>
<property name="sourceContent" class="Page" package="com.atlassian.confluence.pages"><id name="id">20</id>
</property>
<property name="creatorName"/><property name="creationDate">2006-12-05 11:51:15.067</property>
<property name="lastModifierName"/><property name="lastModificationDate">2007-02-20 10:16:15.027</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">496</id>
<property name="body"><![CDATA[h2. About sundog.shore.mbari.org

Sundog hosts the externally accessible IIS web server, VARS applications and MS SQL Server 2008 that hosts the external VARS database. It also hosts Glassfish 2.1 at [http://dsg.mbari.org:8080/]. Sundog has been aliased as _dsg.mbari.org_
 ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">498</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179190</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|pannychia|23449|12030| | | |
|paragorgia|5649|3219| | | |
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113691</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179189</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|pannychia|23449|12030| | | |
|paragorgia|5649|3219| | | |
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113690</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179188</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|paragorgia|5649|3219| | | |
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113689</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179194</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | | |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113695</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179193</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113694</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179191</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|pannychia|23449|12030| | | |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113692</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179198</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]

h2. Index
{index}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113699</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179197</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113698</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179196</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113697</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179202</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds(*b)||VARS within map bounds and <= 40m altitude(*b)||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

(*b) These values were determined using data from the master VARS database and [this script|^vdm_bounds_test.m]. In theory, the values in _'VARS_Benthic'_ and _'VARS within map bounds and <= 40m altitude'_ should match. Some variation can be expects since some hits are due to matching associations rather than observations/

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113704</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179201</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds(*b)||VARS within map bounds and <= 40m altitude(*b)||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

(*b) These values were determined using data from the master VARS database and [this script|^vdm_bounds_test.m]

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113703</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179172</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||Notes||
|anthomastus|21613|11998| |
|Grimpoteuthis|140|89| |Altitudes seem reasonable|
|rathbunaster|31766|20501|23707| |
|Seep|1734|705|1332|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|23238|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|12281|Altitudes look great|


Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113673</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179178</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <=40m altitude||Notes||
|anthomastus|21613|11998| | |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|Psolus|22826|15051| | | |
|rathbunaster|31766|20501|23707| | |
|Seep|1734|705|1332| |Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|12281| |Altitudes look great|


Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113679</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179176</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||Notes||
|anthomastus|21613|11998| |
|Grimpoteuthis|140|89| |Altitudes seem reasonable|
|Psolus|22826|15051| | |
|rathbunaster|31766|20501|23707| |
|Seep|1734|705|1332|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|23238|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|12281|Altitudes look great|


Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113677</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179182</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <=40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|Plantae|14857|11764|12281| |Altitudes look great|
|Psolus|22826|15051| | | |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. Why the big discrepancy between within bounds and those <=40m?|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113683</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179180</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <=40m altitude||Notes||
|anthomastus|21613|11998| | |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|Plantae|14857|11764|12281| |Altitudes look great|
|Psolus|22826|15051| | | |
|rathbunaster|31766|20501|23707| | |
|Seep|1734|705|1332|704|Altitudes look good. Why the big discrepancy between within bounds and those <=40m?|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113681</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179185</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <=40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051| | | |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <=40m?{color}|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113686</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179186</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <= 40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|Plantae|14857|11764|12281|11760|Altitudes look great|
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113687</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179184</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||VARS within map bounds and <=40m altitude||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89| | |Altitudes seem reasonable|
|Plantae|14857|11764|12281| |Altitudes look great|
|Psolus|22826|15051| | | |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <=40m?{color}|
|Sediment|39699|20626|23238| |I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|



Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113685</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179156</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113657</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950313</id>
<property name="body"><![CDATA[h2. Developer Guides
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
[SQL Examples]
h2. Source Code
[Source Code]
[Browse the Sourceforge Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917546</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179158</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113659</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179161</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113662</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179163</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|Altitudes look great|

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113664</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179166</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|1332|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|23238|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|12281|Altitudes look great|

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113667</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179165</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|Altitudes look great|

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113666</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950319</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
You will need to modify to files (I didn't want MBARI passwords checked into an open source code repository ;-)
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -Denvironment=test -Dmaven.test.skip=true{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}_maven.test.skip_ can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the _JNLP_DEPLOY_DIR_ property in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917552</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950318</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
You will need to modify to files (I didn't want MBARI passwords checked into an open source code repository ;-)
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD to vars4mbari
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -Denvironment=test -Dmaven.test.skip=true{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}_maven.test.skip_ can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the _JNLP_DEPLOY_DIR_ property in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917551</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950317</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
You will need to modify to files (I didn't want MBARI passwords checked into an open source code repository ;-)
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD to vars4mbari
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -Denvironment=test -Dmaven.test.skip=true{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}_maven.test.skip_ can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the *JNLP_DEPLOY_DIR* in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917550</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179170</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||Notes||
|anthomastus|21613|11998| |
|Grimpoteuthis|140|89| |Altitudes seem reasonable|
|rathbunaster|31766|20501| | |
|Seep|1734|705|1332|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|23238|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|12281|Altitudes look great|


Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113671</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950316</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
You will need to modify to files (I didn't want MBARI passwords checked into an open source code repository ;-)
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD to vars4mbari
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -Denvironment=test -Dmaven.test.skip=true{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}maven.test.skip can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the *JNLP_DEPLOY_DIR* in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917549</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179169</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds||Notes||
|Grimpoteuthis|140|89| |Altitudes seem reasonable|
|Seep|1734|705|1332|Altitudes look good. I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|23238|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|
|Plantae|14857|11764|12281|Altitudes look great|

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113670</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950315</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
You will need to modify to files (I didn't want MBARI passwords checked into an open source code repository ;-)
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD to vars4mbari
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building
Change to the vars directory and test the build using the following:
{panel}mvn clean install -Denvironment=test -Dmaven.test.skip=true{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}maven.test.skip can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}


This will build:
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

To deploy VARS run 
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917548</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179142</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. Why the big discrepencey? Are most seeps outside the bounds of the base map?|


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113643</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179144</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. Why the big discrepencey? Are most seeps outside the bounds of the base map?|
|Sediment|39699|20626|Why big difference? Check data with bounds of map.|


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113645</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179145</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. Why the big discrepencey? Are most seeps outside the bounds of the base map?|
|Sediment|39699|20626|Why big difference? Check data with bounds of map.|

I read the default VARS output into matlab using:
{code}
[ass,con,depth,im,lat,lon,id,date,timecode,van] = textread('/Users/brian/Desktop/vars-sediment.txt', ...
    '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s','headerlines', 11, 'delimiter', '\t')
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113646</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179147</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. Why the big discrepencey? Are most seeps outside the bounds of the base map?|
|Sediment|39699|20626|Why big difference? Check data with bounds of map.|

I read the default VARS output into matlab using:
{code}
[ass,con,depth,im,lat,lon,id,date,timecode,van] = textread('/Users/brian/Desktop/vars-sediment.txt', ...
    '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s','headerlines', 10, 'delimiter', '\t')
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113648</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950337</id>
<property name="body"><![CDATA[[Deep-sea Guide]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917570</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179148</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. Why the big discrepencey? Are most seeps outside the bounds of the base map?|
|Sediment|39699|20626|I ran this script and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into matlab using:
{code}
[ass,con,depth,im,lat,lon,id,date,timecode,van] = textread('/Users/brian/Desktop/vars-sediment.txt', ...
    '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s','headerlines', 10, 'delimiter', '\t')
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113649</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179150</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. Why the big discrepencey? Are most seeps outside the bounds of the base map?|
|Sediment|39699|20626|I ran this script with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into matlab using:
{code}
[ass,con,depth,im,lat,lon,id,date,timecode,van] = textread('/Users/brian/Desktop/vars-sediment.txt', ...
    '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s','headerlines', 10, 'delimiter', '\t')
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113651</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179151</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran this script with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran this script with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into matlab using:
{code}
[ass,con,depth,im,lat,lon,id,date,timecode,van] = textread('/Users/brian/Desktop/vars-sediment.txt', ...
    '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s','headerlines', 10, 'delimiter', '\t')
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113652</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179152</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran this script with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into matlab using:
{code}
[ass,con,depth,im,lat,lon,id,date,timecode,van] = textread('/Users/brian/Desktop/vars-sediment.txt', ...
    '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s','headerlines', 10, 'delimiter', '\t')
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113653</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179154</id>
<property name="body"><![CDATA[h2. Queries

h3. 2008-02-19

||Concept||VARS||VARS_Benthic||Notes||
|Grimpoteuthis|140|89|Altitudes seem reasonable|
|Seep|1734|705|Altitudes look good. I ran this script with data from the VARS-shore database and it said *1332* Seep annotations were within the bounds of the map. Why the big discrepencey?|
|Sediment|39699|20626|I ran [this script|^vdm_bounds_test.m] with data from the VARS-shore database and it said 23238 Sediment annotations were within the bounds of the map. I suspect the others are missing because sediment was part of an association|

I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113655</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645379</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS)
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide|VAAP:Home]
[Video and Data Diagram]
[Verifying last date of successful merge]
[Manually merge a dive]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]
[Tech Transfer to Karen]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579865</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645380</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS)
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide|VAAP:Home]
[Video and Data Diagram]
[Verifying last date of successful merge]
[Manually merge a dive]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579866</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195858</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes

h3. From [~pat]:

{quote}This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.{quote}

h3. Glassfish 

I installed Glassfish V2 into /opt/glassfish as 'root' and ran {noformat}ant -f setup.xml{noformat}. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}

Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2163095</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195853</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes

h3. From [~pat]:

{quote}This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.{quote}

h3. Glassfish 

I installed Glassfish V2 into /opt/glassfish as 'brian' and ran {noformat}ant -f setup.xml{noformat}. Here's the output:
{noformat}
Buildfile: setup.xml

all:
    [mkdir] Created dir: /opt/glassfish/bin

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
     [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:
     [echo] Applying UnPack200 on Packed jars using JDK1.5 
     [echo] /opt/glassfish/lib/Pack200Task.jar

get.java.home:

setup.init:

nonmac-jarunpack:

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-ext.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-ext.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-ext.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/toplink-essentials.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/toplink-essentials.jar
   [delete] Deleting: /opt/glassfish/lib/toplink-essentials.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-rt.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-rt.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-rt.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-cmp.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-cmp.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-cmp.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-jstl.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-jstl.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-jstl.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-tags.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-tags.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-tags.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/endorsed/activation.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/endorsed/activation.jar
   [delete] Deleting: /opt/glassfish/lib/endorsed/activation.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/endorsed/webservices-api.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/endorsed/webservices-api.jar
   [delete] Deleting: /opt/glassfish/lib/endorsed/webservices-api.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/webservices-rt.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/webservices-rt.jar
   [delete] Deleting: /opt/glassfish/lib/webservices-rt.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/webservices-tools.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/webservices-tools.jar
   [delete] Deleting: /opt/glassfish/lib/webservices-tools.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/com-sun-commons-launcher.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/com-sun-commons-launcher.jar
   [delete] Deleting: /opt/glassfish/lib/com-sun-commons-launcher.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/j2ee-svc.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/j2ee-svc.jar
   [delete] Deleting: /opt/glassfish/lib/j2ee-svc.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/jsf-impl.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/jsf-impl.jar
   [delete] Deleting: /opt/glassfish/lib/jsf-impl.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/sun-appserv-ant.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/sun-appserv-ant.jar
   [delete] Deleting: /opt/glassfish/lib/sun-appserv-ant.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/javaee.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/javaee.jar
   [delete] Deleting: /opt/glassfish/lib/javaee.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-admin.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-admin.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-admin.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/admin-cli.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/admin-cli.jar
   [delete] Deleting: /opt/glassfish/lib/admin-cli.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-deployment-client.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-deployment-client.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-deployment-client.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/appserv-se.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/appserv-se.jar
   [delete] Deleting: /opt/glassfish/lib/appserv-se.jar.pack.gz

jarpack-tasks:

jar-unpack:
[unpack200] Unpacking with Unpack200
[unpack200] Source File :/opt/glassfish/lib/admin-cli-ee.jar.pack.gz
[unpack200] Dest.  File :/opt/glassfish/lib/admin-cli-ee.jar
   [delete] Deleting: /opt/glassfish/lib/admin-cli-ee.jar.pack.gz

get.java.home:

setup.init:

-do.copy.common:
     [copy] Copying 1 file to /opt/glassfish/config

do.copy.windows:

do.copy.unix:
     [copy] Copying 1 file to /opt/glassfish/config
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/bin
     [copy] Copying 1 file to /opt/glassfish/updatecenter/bin

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
     [echo] Creating the service registry file..
     [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
     [exec] Using port 4848 for Admin.
     [exec] Using port 8082 for HTTP Instance.
     [exec] Using port 7676 for JMS.
     [exec] Using port 3700 for IIOP.
     [exec] Using port 8183 for HTTP_SSL.
     [exec] Using default port 3820 for IIOP_SSL.
     [exec] Using default port 3920 for IIOP_MUTUALAUTH.
     [exec] Using default port 8686 for JMX_ADMIN.
     [exec] Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file.
     [exec] Security Store uses: JKS
     [exec] Domain domain1 created.
     [exec] Login information relevant to admin user name [admin] for this domain [domain1] stored at [/u/brian/.asadminpass] successfully.
     [exec] Make sure that this file remains protected. Information stored in this file will be used by asadmin commands to manage this domain.
   [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 31 seconds
{noformat}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2163090</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195847</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes

From [~pat]:

{quote}This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2163083</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950350</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}

* M1
** TDB. Finish the view first
* M2
** TBD
* M3
** TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917584</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">7208984</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. January 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

Also, at [~grch]'s request. I've embargoed the Macon dives.

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE (
        (
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
        OR (
            ConceptName = 'Flota' OR
            ConceptName LIKE 'flota %' OR 
            ConceptName LIKE 'flota-%'
        )
        OR (
            LinkValue LIKE '%green bomber%'
        )
        OR (
            RovName = 'Ventana' AND
            DiveNumber IN (50, 217, 218, 248)
        )
        OR (
            RovName = 'Tiburon' AND
            DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
        )
    ){code}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">7176221</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">7208983</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. January 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

Also, at [~grech]'s request. I've embargoed the Macon dives.

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE (
        (
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
        OR (
            ConceptName = 'Flota' OR
            ConceptName LIKE 'flota %' OR 
            ConceptName LIKE 'flota-%'
        )
        OR (
            LinkValue LIKE '%green bomber%'
        )
        OR (
            RovName = 'Ventana' AND
            DiveNumber IN (50, 217, 218, 248)
        )
        OR (
            RovName = 'Tiburon' AND
            DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
        )
    ){code}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">7176219</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">7208982</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. January 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

Also, at [~grecht]'s request. I've embargoed the Macon dives.

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE (
        (
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
        OR (
            ConceptName = 'Flota' OR
            ConceptName LIKE 'flota %' OR 
            ConceptName LIKE 'flota-%'
        )
        OR (
            LinkValue LIKE '%green bomber%'
        )
        OR (
            RovName = 'Ventana' AND
            DiveNumber IN (50, 217, 218, 248)
        )
        OR (
            RovName = 'Tiburon' AND
            DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
        )
    ){code}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">7176218</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">950351</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. DSG Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}


Contract runs 8 months from signing date, which was signed by Lori W. on 11/28/2006 and by MBARI staff 12/14/06. That puts us somewhere between July 28 and August 14, 2007. That leaves 3 to 3.5 months. I'm interpreting this means the later date, but I'll need to confirm that with Lori W.
 
M1. Search to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid June.
 
M2. Browse to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid July.
 
M3. Implement process for serving still images and video. Target Date: mid July.
 
M3. Documentation. Target date: end of July.
 
M4. Enhanced Features (graphical and statistical summaries) as described in deliverables. The basic functionality of M1 - M4 are critical. M5 will only be completed if time permits. Target date: mid August.
 
*For all milestones, the header, footer, tabs, search options should be consistent across all pages. As part of the iterative development process, we expect to meet with the developers ~ monthly in addition to remote development efforts.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">917585</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">566</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|#Q1]
* [How does VARS handle frame-capture?|#Q2]


h2. Answers

h3. Q: Where does VARS get the camera data from?{anchor:Q1}

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

{quote}Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData

This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.

The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....{quote}

h3. Q: How does VARS handle frame-capture?{anchor:Q2}

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">568</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">567</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|#Q1]
* [How does VARS handle frame-capture?|#Q2]
* [How do I upgrade Java?|#Q3]


h2. Answers

h3. Q: Where does VARS get the camera data from?{anchor:Q1}

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

{quote}Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData

This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.

The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....{quote}

h3. Q: How does VARS handle frame-capture?{anchor:Q2}

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.

h3. Q: How do I upgrade Java?{anchor:Q3}

VARS should run on Java 5.0 and Java 6.0. If you are interested in upgrading your Java installation you can get a more recent version of Java at [http://java.com]. If you are upgrading Java on a Windows computer that you use to annotate, you will need to do the following steps to include QuickTime for Java in the new Java installation.

Option 1: Reinstall [QuickTime|http://www.apple.com/quicktime]

Option 2: Copy QTJava.zip from a previous installation of Java to the new one.
# Locate your previous installation of QuickTime for Java. On Windows, the file will be located on a path like {{C:\Program Files\Java\jre1.5.0_06\lib\ext\QTJava.zip}}. 
# Copy the zip file to your new Java installations _ext_ directory (e.g. {{C:\Program Files\Java\jre1.6.0_01\lib\ext}})
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">569</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179246</id>
<property name="body"><![CDATA[h2. Developer Guides
[Building VARS at MBARI]
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
[SQL Examples]
h2. Source Code
[Source Code]
[Browse the Sourceforge Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113750</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195859</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:

{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 9.1_01 (build b09d-fcs)] with its configuration and logs at: [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2163096</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195861</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 9.1_01 (build b09d-fcs)] with its configuration and logs at: [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2163098</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179226</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds(*b)||VARS within map bounds and <= 40m altitude(*b)||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

(*b) These values were determined using data from the master VARS database and [this script|^vdm_bounds_test.m]. In theory, the values in _'VARS_Benthic'_ and _'VARS within map bounds and <= 40m altitude'_ should match. Some variation can be expected since some hits are due to matching associations rather than observations.

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113728</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179222</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ 
#* {color:red}[~brian]: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the vdm database (located on Fog as VARS_Benthic)
#* {{mvn clean install -Denvironment=vdm -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb5.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.
#* {color:red}[~brian]: I ran this on 2008-02-13{color}
# Verify results. {color:red}[~brian]: completed on 2008-02-14{color}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113724</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">526</id>
<property name="body"><![CDATA[h2. Prerequisites

For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions

The following steps describe the prerequisites for running VARS:
# *Installing a Serial Port*
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.
# *Mounting the framegrabs directory*
If you intend to use the Annotation application to capture framegrabs, you will need to mount the framegrabs share on Tornado to your Mac. Here are the steps to do this:
   ## In the Finder, use the menu *GO -> Connect To Server*
   ## In the *Connect to Server* window, enter the server address as _cifs://tornado.shore.mbari.org/framegrabs_ and press the connect button.
   ## You will be prompted for a password. Enter your MBARI password. 
   ## The framegrabs share will be mounted on your Mac as _/Volumes/framegrabs_
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].

h2. References

[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">528</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">525</id>
<property name="body"><![CDATA[h2. Prerequisites

For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions

The following steps describe the prerequisites for running VARS:
# *Installing a Serial Port*
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.
# *Mounting the framegrabs directory*
If you intend to use the Annotation application to capture framegrabs, you will need to mount the framegrabs share on Tornado to your Mac. Here are the steps to do this:
   ## In the Finder, use the *GO -> Connect To Server*
   ## In the *Connect to Server* window, enter the server address as _cifs://tornado.shore.mbari.org/framegrabs_ and press the connect button.
   ## You will be prompted for a password. Enter your MBARI password. 
   ## The framegrabs share will be mounted on your Mac as _/Volumes/framegrabs_
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].

h2. References

[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">527</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">524</id>
<property name="body"><![CDATA[h2. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
The following steps describe the prerequisites for running VARS:

# *Installing a Serial Port*
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].

h2. References
[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">526</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179228</id>
<property name="body"><![CDATA[h1. Results Analysis

h2. Overview

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

I read the default VARS output into Matlab using code like this:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds(*b)||VARS within map bounds and <= 40m altitude(*b)||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

(*b) These values were determined using data from the master VARS database and [this script|^vdm_bounds_test.m]. In theory, the values in _'VARS_Benthic'_ and _'VARS within map bounds and <= 40m altitude'_ should match. Some variation can be expected since some hits are due to matching associations rather than observations.

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. 

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113730</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">530</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">532</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">529</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Developers
[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">531</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">528</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all VARS releases|Releases]
[Development Information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">530</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">527</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all VARS releases|Releases]
[Development Information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">529</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179209</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. DSG Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}


Contract runs 8 months from signing date, which was signed by Lori W. on 11/28/2006 and by MBARI staff 12/14/06. That puts us somewhere between July 28 and August 14, 2007. That leaves 3 to 3.5 months. I'm interpreting this means the later date, but I'll need to confirm that with Lori W.
 
*M1.* Search to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid June.
 
*M2.* Browse to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid July.
 
*M3.* Implement process for serving still images and video. Target Date: mid July.
 
*M4.* Documentation. Target date: end of July.
 
*M5.* Enhanced Features (graphical and statistical summaries) as described in deliverables. The basic functionality of M1 - M4 are critical. M5 will only be completed if time permits. Target date: mid August.
 
* For all milestones, the header, footer, tabs, search options should be consistent across all pages. 
* As part of the iterative development process, we expect to meet with the developers ~ monthly in addition to remote development efforts.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113711</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">531</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. VARS is installed on Tienhou as a standard application (i.e. Not JNLP) in _C:\Program Files\VARS_. In order to build the Tienhou version:
# Follow the build instructions in the vars-mbari module on moonjelly. 
# Build using _ant build.shore_
# Copy the files from _VARS_MBARI/target/dist_ to _C:\Program Files\VARS_ on Tienhou.
# Edit The _VARS_HOME_ Environement variable in _C:\Program Files\VARS\bin\varsSetup.bat_ to be _C:\Program Files\VARS_


h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">533</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179203</id>
<property name="body"><![CDATA[h1. Results Analysis
h2. 2008-02-19

||Concept (and descendants)||VARS||VARS_Benthic||VARS within map bounds(*b)||VARS within map bounds and <= 40m altitude(*b)||Notes||
|anthomastus|21613|11998|16659|12030| |
|Grimpoteuthis|140|89|110|89| |
|pannychia|23449|12030|15606|12038| |
|paragorgia|5649|3219|5026|3224| |
|Plantae|14857|11764|12281|11760| |
|Psolus|22826|15051|19220|15065| |
|rathbunaster|31766|20501|23707|20825| |
|Seep|1734|705|1332|704|Altitudes look good. {color:red}Why the big discrepancy between within bounds and those <= 40m?{color}|
|Sediment|39699|20626|23238|20620| |

(*b) These values were determined using data from the master VARS database and [this script|^vdm_bounds_test.m]. In theory, the values in _'VARS_Benthic'_ and _'VARS within map bounds and <= 40m altitude'_ should match. Some variation can be expected since some hits are due to matching associations rather than observations/

Data used is in the zip file [here|^VARS-testdata-20080219.zip]. I read the default VARS output into Matlab using:
{code}
[associations, conceptNames, depths, imageUrls, latitudes, longitudes, ...
    observationIds, recordedDates, timecodes, videoArchiveNames] = textread( ...
    varsfile, '%s%s%s%s%s%s%s%s%s%s', ...
    'headerlines', 10, 'delimiter', '\t');

depths = str2double(depths);
latitudes = str2double(latitudes);
longitudes = str2double(longitudes);
{code}

For checking to see the number of hits within the map bounds I did the following:
# Run a query using 'VARS Query'
# Save the results
# Use vdm_bounds_test.m in matlab
#* {code}data = vdm_bounds_test('/Users/brian/Desktop/vars-sediment.txt', ...
'/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc');{code}

{warning:title=Problems with seep data}
The seep data is giving troublesome altitude values. I set all merges done with the previous Jython based code to be remerged tonight to see if that fixes some probematic depth values. I used this snippet to do that:
{code}
UPDATE
    EXPDMergeStatus
SET
    IsMerged = 0
WHERE
    StatusMessage NOT LIKE '%pragmatic%'
{code}
The next step is to rebuild the VARS_Benthic database and check the results.
{warning}




]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113705</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179065</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ 
#* {color:red}[~brian]: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the vdm database (located on Fog as VARS_Benthic)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb2.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113566</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179066</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ 
#* {color:red}[~brian]: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the vdm database (located on Fog as VARS_Benthic)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb5.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.
#* {color:red}[~brian]: I ran this on 2008-02-13{color}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113567</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212636</id>
<property name="body"><![CDATA[h2. About sundog.shore.mbari.org

Sundog runs an IIS server for serving the deep-sea guide. It also hosts Tomcat 5.5 at http://sundog.shore.mbari.org:8080/. Currently, there are no applications on Sundog.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179871</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212635</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, Update VARS_External on VARSPUB, on Solstice used to copy annotations out for external use. 

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179870</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212637</id>
<property name="body"><![CDATA[h2. About sundog.shore.mbari.org

Sundog runs an IIS server for serving the deep-sea guide. It also hosts Tomcat 5.5 at [http://sundog.shore.mbari.org:8080/]. Currently, there are no applications on Sundog. Sundog has been aliases as _dsg.mbari.org_]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179872</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">9405058</id>
<property name="body"><![CDATA[h2. About sundog.shore.mbari.org

Sundog hosts the externally accessible IIS web server, VARS applications and MS SQL Server 2008 that hosts the external VARS database. It also hosts Glassfish 2.1 at [http://sundog.shore.mbari.org:8080/]. Sundog has been aliased as _dsg.mbari.org_
 ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">9372325</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179046</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ 
#* {color:red}[~brian]: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb2.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113546</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212632</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data
h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179866</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">9405057</id>
<property name="body"><![CDATA[h2. About sundog.shore.mbari.org

Sundog runs an IIS server for serving the deep-sea guide. It also hosts Tomcat 5.5 at [http://sundog.shore.mbari.org:8080/]. Currently, there are no applications on Sundog. Sundog has been aliased as _dsg.mbari.org_]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">9372324</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212634</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179869</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">9405055</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | *Master database server* |
| [Sundog] | External database, web, and web application server |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *In the process of retiring* |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| [Varspub] | External database server |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">9372322</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212633</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            ConceptName LIKE 'octopoteuthis%' OR
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179868</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179035</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113535</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">721</id>
<property name="body"><![CDATA[h2. Release Highlights

* Resolving issues with the Knowledgebase application
* This release corresponds to version 1.1.0 at [http://vars.sourceforge.net]
* Built using MBARI SVN Revision: 40, Sourceforge SVN Revision: 466

h2. Resolved Issues

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10004&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">724</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">719</id>
<property name="body"><![CDATA[h2. Release Highlights
* Resolving issues with the Knowledgebase application
* This release corresponds to version 1.1.0 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10004&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">722</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">720</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI
* [VARS 3.1.0] - Release date: TBD
* [VARS 3.0.1] - Release date: 2006-12-04
* [VARS 3.0.0] - Release date: 2006-12-01]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">723</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179040</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb2.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113540</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179041</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ {color:red}[~brian}: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb2.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113541</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179042</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ {color:red}[~brian]: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb2.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113542</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179027</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113527</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179030</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

[Benthic Annotation Database]

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113530</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179031</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

[Benthic Annotation Database]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113531</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645377</id>
<property name="body"><![CDATA[{warning:title=This page is obsolete}
The content of this page is outdated. It is only retained for historical purposes.
{warning}

h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

From [~svonthun]:{quote}I came across this website looking for a crab picture with Kris Walz and she pointed out that the layout of these thumbnails is very easy to browse and click and might be a good idea for DSG.
http://www.dnr.sc.gov/marine/sertc/gallery.htm{quote}

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. DSG Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}


Contract runs 8 months from signing date, which was signed by Lori W. on 11/28/2006 and by MBARI staff 12/14/06. That puts us somewhere between July 28 and August 14, 2007. That leaves 3 to 3.5 months. I'm interpreting this means the later date, but I'll need to confirm that with Lori W.
 
*M1.* Search to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid June.
 
*M2.* Browse to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid July.
 
*M3.* Implement process for serving still images and video. Target Date: mid July.
 
*M4.* Documentation. Target date: end of July.
 
*M5.* Enhanced Features (graphical and statistical summaries) as described in deliverables. The basic functionality of M1 - M4 are critical. M5 will only be completed if time permits. Target date: mid August.
 
* For all milestones, the header, footer, tabs, search options should be consistent across all pages. 
* As part of the iterative development process, we expect to meet with the developers ~ monthly in addition to remote development efforts.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579863</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645378</id>
<property name="body"><![CDATA[{warning:title=This page is obsolete}
The content of this page is outdated. It is only retained for historical purposes.
Refer to [VAAP:Home] for up-to-date info.
{warning}

h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

From [~svonthun]:{quote}I came across this website looking for a crab picture with Kris Walz and she pointed out that the layout of these thumbnails is very easy to browse and click and might be a good idea for DSG.
http://www.dnr.sc.gov/marine/sertc/gallery.htm{quote}

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. DSG Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}


Contract runs 8 months from signing date, which was signed by Lori W. on 11/28/2006 and by MBARI staff 12/14/06. That puts us somewhere between July 28 and August 14, 2007. That leaves 3 to 3.5 months. I'm interpreting this means the later date, but I'll need to confirm that with Lori W.
 
*M1.* Search to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid June.
 
*M2.* Browse to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid July.
 
*M3.* Implement process for serving still images and video. Target Date: mid July.
 
*M4.* Documentation. Target date: end of July.
 
*M5.* Enhanced Features (graphical and statistical summaries) as described in deliverables. The basic functionality of M1 - M4 are critical. M5 will only be completed if time permits. Target date: mid August.
 
* For all milestones, the header, footer, tabs, search options should be consistent across all pages. 
* As part of the iterative development process, we expect to meet with the developers ~ monthly in addition to remote development efforts.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579864</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645375</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]
[Verifying last date of successful merge]
[Manually merge a dive]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]
[Tech Transfer to Karen]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579861</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645374</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}
* All _Concepts_ returned in the search should be shown, even if they do not have an image. 

From [~svonthun]:{quote}I came across this website looking for a crab picture with Kris Walz and she pointed out that the layout of these thumbnails is very easy to browse and click and might be a good idea for DSG.
http://www.dnr.sc.gov/marine/sertc/gallery.htm{quote}

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. DSG Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}


Contract runs 8 months from signing date, which was signed by Lori W. on 11/28/2006 and by MBARI staff 12/14/06. That puts us somewhere between July 28 and August 14, 2007. That leaves 3 to 3.5 months. I'm interpreting this means the later date, but I'll need to confirm that with Lori W.
 
*M1.* Search to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid June.
 
*M2.* Browse to TextResults.jsp and ImageResults.jsp and View.jsp. Target Date: mid July.
 
*M3.* Implement process for serving still images and video. Target Date: mid July.
 
*M4.* Documentation. Target date: end of July.
 
*M5.* Enhanced Features (graphical and statistical summaries) as described in deliverables. The basic functionality of M1 - M4 are critical. M5 will only be completed if time permits. Target date: mid August.
 
* For all milestones, the header, footer, tabs, search options should be consistent across all pages. 
* As part of the iterative development process, we expect to meet with the developers ~ monthly in addition to remote development efforts.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579860</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179025</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}THe tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113525</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179013</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run the
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113513</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">727</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

*Warning:* This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).

*Note:* The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [~brian]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">730</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179015</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}THe tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run the
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113515</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1867819</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _C:\Inetpub\wwwroot\webstart_ on Tienhou.

h2. Supporting Scripts
{note:title=Scripts have been temporarily moved}
As of the 2007-09-14, the supporting scripts have been moved to cron job running on the computer Elvis as the user 'brian' (aka [~brian]). Tienhou is a Windows 200o machine; it can not handle the long classpath required for running VARS applications. This move is temporary and these scripts will be moved to the Tienhou replacement machine (8 core + 14GB!!)at the end of November 2007.
{note}

{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1835055</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179138</id>
<property name="body"><![CDATA[h2. Developer Notes

* [Benthic Annotation Database]
** [Verifying Altitudes]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113639</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195719</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162955</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212556</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data
Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179789</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195722</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

We created a digram that outlines the who, what, where and when of the data flow and processing. Below are a picture of our notes as well as a cleanup diagram.

h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162958</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195716</id>
<property name="body"><![CDATA[h2. Video and Data Diagram]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162952</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195718</id>
<property name="body"><![CDATA[h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162954</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179127</id>
<property name="body"><![CDATA[h2. Creating an database of benthic-only annotations

# Copy solstice:VARS to fog:VARS_Benthic
#* Use the DTS Job on Fog: _Copy Solstice:VARS to FOG:VARS_Benthic_ 
#* {color:red}[~brian]: I ran this on 2008-02-12{color}
# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the vdm database (located on Fog as VARS_Benthic)
#* {{mvn clean install -Denvironment=vdm -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}The tool can read ASCII raster grids or netcdf files. An example netCDF file, {{monterey_hrbath.nc}}, is checked into Subversion with the project.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* For example: {{gsh ../scripts/groovy/createbenthosdb1.groovy ../../../src/test/resources/monterey_hrbath.nc}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} within the grid files area and stores the altitudes.
# Run {{gsh ../scripts/groovy/createbenthosdb5.groovy}}
#* This drops all the non-benthic data from the Association, Observation, PhysicalData, CameraData and VideoFrame tables.
#* {color:red}[~brian]: I ran this on 2008-02-13{color}

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113628</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179125</id>
<property name="body"><![CDATA[h2. Steps for verifying altitudes

# Export the altitudes and positions from the VARS_Benthic database
## Build _vdm-tools_
## Extract the built archive
## {{cd $VDM_TOOLS_HOME/bin}}
## {{sh ../scripts/groovy/runQuery.groovy >> allAnnotations.txt}}
## Edit any extraneous log messages of off the top of the file.
# Run the altitude test in matlab
## Download vdm_altitude_test
## Make sure matlab has snctools installed
## Run the following in matlab:{code}file = '/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc';
sql = '/Users/brian/workspace/vdm-tools/target/vdm-tools-0.1-SNAPSHOT/bin/allAnnotations.txt';
vdm_altitude_test(sql, file, 'allAltitude-results.txt'){code}
##* The allAltitude-results.txt file will have the deltas of position and depth

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113626</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195724</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

We created a digram that outlines the who, what, where and when of the data flow and processing. Below are a picture of our notes as well as an edited diagram.

h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162960</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195723</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

We created a digram that outlines the who, what, where and when of the data flow and processing. Below are a picture of our notes as well as a edited diagram.

h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162959</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179123</id>
<property name="body"><![CDATA[h2. Steps for verifying altitudes

# Export the altitudes and positions from the VARS_Benthic database
## Build _vdm-tools_
## Extract the built archive
## {{cd $VDM_TOOLS_HOME/bin}}
## {{sh ../scripts/groovy/runQuery.groovy >> allAnnotations.txt}}
## Edit any extraneous log messages of off the top of the file.
# Run the altitude test in matlab
## Download vdm_altitude_test
## Make sure matlab has snctools installed
## Run the following {code}file = '/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc';
sql = '/Users/brian/workspace/vdm-tools/target/vdm-tools-0.1-SNAPSHOT/bin/allAnnotations.txt';
vdm_altitude_test(sql, file, 'allAltitude-results.txt')
##* The allAltitude-results.txt file will have the deltas of position and depth

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113624</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195726</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

We created a digram that outlines the who, what, where and when of the data flow and processing. Below are a picture of our notes as well as an edited diagram. The source file for the edited document can be found [here|https://oceana.shore.mbari.org:8443/alfresco/webdav/ProjectLibrary/500049%20Video%20Annotation%20and%20Reference%20System/Project%20Documents/Video%20Data%20Flow.graffle.zip]

h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162962</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179124</id>
<property name="body"><![CDATA[h2. Steps for verifying altitudes

# Export the altitudes and positions from the VARS_Benthic database
## Build _vdm-tools_
## Extract the built archive
## {{cd $VDM_TOOLS_HOME/bin}}
## {{sh ../scripts/groovy/runQuery.groovy >> allAnnotations.txt}}
## Edit any extraneous log messages of off the top of the file.
# Run the altitude test in matlab
## Download vdm_altitude_test
## Make sure matlab has snctools installed
## Run the following {code}file = '/Users/brian/workspace/vdm-tools/src/test/resources/monterey_hrbath.nc';
sql = '/Users/brian/workspace/vdm-tools/target/vdm-tools-0.1-SNAPSHOT/bin/allAnnotations.txt';
vdm_altitude_test(sql, file, 'allAltitude-results.txt'){code}
##* The allAltitude-results.txt file will have the deltas of position and depth

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113625</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195725</id>
<property name="body"><![CDATA[h2. Meeting to discuss *the big picture* of video data flow

In attendance, [~brian], [~schlin], [~rich], [~mccann], [~linda], [~lonny] and [~jana]

We created a digram that outlines the who, what, where and when of the data flow and processing. Below are a picture of our notes as well as an edited diagram. The source file for the edited document can be found \[here \| https://oceana.shore.mbari.org:8443/alfresco/webdav/ProjectLibrary/500049%20Video%20Annotation%20and%20Reference%20System/Project%20Documents/Video%20Data%20Flow.graffle.zip\]


h2. Video and Data Diagram

{gallery}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162961</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1867818</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _C:\Inetpub\wwwroot\webstart_ on Tienhou.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1835054</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179122</id>
<property name="body"><![CDATA[h2. Steps for verifying altitudes

# Export the altitudes and positions
## Build _vdm-tools_
## Extract the built archive
## {{cd $VDM_TOOLS_HOME/bin}}
## {{sh ../scripts/groovy/runQuery.groovy >> allAnnotations.txt}}
## Edit any extraneous log messages of off the top of the file.

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113623</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195735</id>
<property name="body"><![CDATA[h2. Prerequisites

For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions

The following steps describe the prerequisites for running VARS:
# *Installing a Serial Port*
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. If you have a [Blackmagic Design|http://www.blackmagic-design.com/] video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.
# *Mounting the framegrabs directory*
If you intend to use the Annotation application to capture framegrabs, you will need to mount the framegrabs share on Tornado to your Mac. Here are the steps to do this:
   ## In the Finder, use the menu *GO -> Connect To Server*
   ## In the *Connect to Server* window, enter the server address as _cifs://tornado.shore.mbari.org/framegrabs_ and press the connect button.
   ## You will be prompted for a password. Enter your MBARI password. 
   ## The framegrabs share will be mounted on your Mac as _/Volumes/framegrabs_
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162971</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195736</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the annotation application will not run unless [QuickTime for Java|http://www.apple.com/quicktime] is installed.

h2. Detailed Instructions
The following steps describe the prerequisites for running VARS:

# *Installing Java*
You can download Java from [http://www.java.com]. Simply download the installer and run it.
# *Installing QuickTime for Java*
Download the QuickTime installer or iTunes installer from [Apple|http://www.apple.com] and execute it. 
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162972</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195737</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|#Q1]
* [How does VARS handle frame-capture?|#Q2]
* [How do I upgrade Java?|#Q3]


h2. Answers

h3. Q: Where does VARS get the camera data from?{anchor:Q1}

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

{quote}Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData

This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.

The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....{quote}

h3. Q: How does VARS handle frame-capture?{anchor:Q2}

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.

h3. Q: How do I upgrade Java?{anchor:Q3}

VARS should run on Java 5.0 and Java 6.0. If you are interested in upgrading your Java installation, you can get a more recent version of Java at [http://java.com]. If you are upgrading Java on a Windows computer that you use to annotate, you will must include QuickTime for Java in the new Java installation. There are 2 options to accomplish this:

Option 1: Reinstall [QuickTime|http://www.apple.com/quicktime]

Option 2: Copy QTJava.zip from a previous installation of Java to the new one.
# Locate your previous installation of QuickTime for Java. On Windows, the file will be located on a path like {{C:\Program Files\Java\jre1.5.0_06\lib\ext\QTJava.zip}}. 
# Copy the zip file to your new Java installations _ext_ directory (e.g. {{C:\Program Files\Java\jre1.6.0_01\lib\ext}})
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162973</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">701</id>
<property name="body"><![CDATA[h2. Developer Guides
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
[SQL Examples]
h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars-mbari/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">704</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179118</id>
<property name="body"><![CDATA[h2. Developer Notes

*[Benthic Annotation Database]
** [Verifying Altitudes]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113619</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">704</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

*Warning:* This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).

*Note:* The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [Brian Schlining|brian]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">707</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179117</id>
<property name="body"><![CDATA[h2. Developer Notes

[Benthic Annotation Database]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113618</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">703</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

*Warning:* This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).

*Note:* The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">706</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195733</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).


h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162969</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195734</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the Annotation application requires [QuickTime for Java|http://www.apple.com/quicktime], which is not available for Linux. Therefore, the Annotation application will not run on Linux.

h2. Detailed Instructions
The following steps describe the prerequisites for running VARS:

# *Installing Java*
Refer to you linux distributors documentation on installing Java 5.0. You can also download Java from [http://www.java.com]. Simply download the installer and run it.
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162970</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">705</id>
<property name="body"><![CDATA[h2. Developer Guides
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
[SQL Examples]
h2. Source Code
[Source Code]
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">708</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195743</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org

VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf'

h2. Timecode source

VARS on the flyer gets timecode and time via UDP from _navproc.wf.mbari.org_. Beta timecode can be fetched on port 9000. HD timecode is on port 9001.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162979</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195742</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org
VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf']]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162978</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810225</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]
[Tech Transfer to Karen]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777465</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">669</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
|| Computer || Role ||
|[Alaskanwind] | Western Flyer database server |
|[Glacierwind] | Point Lobos database server |
|[Solstice] | Master database server |
|[Sundog] | External database, web, and web application server |
|[Tienhou] | Internal Web and Web application server. Support process host. |
|[VARS-PL] | Point Lobos annotation station |
|[VARS-WF] | Western Flyer annotation station |
|[Varspub] | External database server |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">672</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">668</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
|| Computer || Role ||
|[Alaskanwind] | Database server |
|[Glacierwind] | Database server |
|[Solstice] | Master database server |
|[Sundog] | External database, web, and web application server |
|[Tienhou] | Internal Web and Web application server. Support process host. |
|[VARS-PL] | Point Lobos annotation station |
|[VARS-WF] | Western Flyer annotation station |
|[Varspub] | External database server |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">671</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">667</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
[Alaskanwind] - Database server
[Glacierwind] - Database server
[Solstice] - Master Database server
[Sundog] - Database, Web, and Web Application server
[Tienhou] - Web and Web Application. Support process host.
[VARS-PL] - 
[VARS-WF]
[Varspub]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">670</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810241</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh seaspray
3. cd /opt/vars/bin
4. ./lookup_mergestatus <ROV> <DIVE>
Examples: 
./lookup_mergestatus Tiburon 775
./lookup_mergestatus "Doc Ricketts" 82
.lookup_mergestatus Ventana 2011

The results will look something like:

===========================================================================
ROV: Doc Ricketts
Dive Number: 82

==== Status of Data Merge with EXPD ====
Merged On: 2011-05-23 16:21:58
 Merged using edited navigation data
 Recorded Dates are from 'VARS' database(s)
Video-frame count: 681
Status Message:  Using PRAGMATIC merge

==== Details About this VideoArchiveSet ====
Tracking Number: 2009247
Number of dives: 1
1) Dive Number:  82
 Chief Scientist:  David Clague
Number of Tapes: 15
1) Name: D0082-06HD
 Video-frame count: 85
2) Name: D0082-08HD
 Video-frame count: 82
3) Name: D0082-03HD
 Video-frame count: 104
4) Name: D0082-02HD
 Video-frame count: 42
5) Name: D0082-04HD
 Video-frame count: 68
6) Name: D0082-10HD
 Video-frame count: 39
7) Name: D0082-07
 Video-frame count: 0
8) Name: D0082-05
 Video-frame count: 0
9) Name: D0082-03
 Video-frame count: 0
10) Name: D0082-02
 Video-frame count: 0
11) Name: D0082-01
 Video-frame count: 0
12) Name: D0082-01HD
 Video-frame count: 63
13) Name: D0082-09HD
 Video-frame count: 43
14) Name: D0082-07HD
 Video-frame count: 95
15) Name: D0082-05HD
 Video-frame count: 60]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777481</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810240</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh vicki@seaspray (enter secret password)
3. cd /opt/vars/bin
4. dive_merge vehicle dive trueorfalse (true for HD, false for SD)
5. example:  dive_merge 'DocRicketts' 82 true
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777480</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810228</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]
[Verifying last date of successful merge]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]
[Tech Transfer to Karen]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777468</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">666</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
[Alaskanwind]
[Glacierwind]
[Solstice]
[Sundog]
[Tienhou]
[VARS-PL]
[VARS-WF]
[Varspub]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">669</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591016</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | | (/) |
| Xenoturbella | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta nationalis | | (/) | (/) |
| Tuscaretta similis | | (/) | (/) |
| Tuscaretta campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558255</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199915</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167152</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591018</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | | (/) |
| Xenoturbella | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa| | (/) | (/) |
|Tuscarilla| | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558257</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199917</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *In the process of retiring* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167154</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591011</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenophyophoroidea | | | (/) |
| Midwater Transecs | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta nationalis | | (/) | (/) |
| Tuscaretta similis | | (/) | (/) |
| Tuscaretta campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558250</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199919</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user [~brian] from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. The following scripts can be used by anyone. 

h4. To run one of these scripts do the following:
# Log in on Seaspray (using ssh, on windows you can use [Putty|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}

h4. The scripts
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example, to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}
{panel:title=lookup_linkrealizations|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}lookup_linkrealizations [LINK_NAME]{noformat}. For example, to find all usages of _dsg-size_: {noformat}lookup_linkrealizations dsg-size{noformat}
{panel}
{panel:title=lookup_mergestatus|bgColor=#FFFFFF|borderStyle=solid}
This script returns the current merge status for a dive Use as: {noformat} lookup_mergestatus [ROV] [DIVE_NUMBER]{noformat}. For example: {noformat} lookup_mergestatus Ventana 3200{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}

h3. Archiva

Here's the LDAP config for Archiva, located at {{ARCHIVA_HOME\WEB-INF\classes\org\apache\maven\archiva\security.properties}}
{noformat}
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License. 
#
 
# --------------------------------------------------------------------
# Email Settings

# The subject line for the email message.
email.validation.subject=Welcome to Archiva

# Feedback page
email.feedback.path=http://archiva.apache.org/mail-lists.html

# --------------------------------------------------------------------
# LDAP Settings
/*user.manager.impl=ldap
ldap.bind.authenticator.enabled=true
redback.default.admin=admin
redback.default.guest=guest
security.policy.password.expiration.enabled=false


ldap.config.hostname=ldap.shore.mbari.org
ldap.config.ssl=true
ldap.config.port=636
ldap.config.base.dn=OU=AllUsers,DC=shore,DC=mbari,DC=org
ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
ldap.config.bind.dn=userPrincipalName=LDAPbind@shore.mbari.org
#ldap.config.bind.dn=LDAPbind@shore.mbari.org
ldap.config.password=radd3miat
ldap.config.authentication.method=simple

ldap.config.mapper.attribute.email=mail
ldap.config.mapper.attribute.fullname=givenName
#ldap.config.mapper.attribute.password=userPassword
ldap.config.mapper.attribute.user.id=sAMAccountName
ldap.config.mapper.attribute.user.base.dn=OU=Users,OU=AllUsers,DC=shore,DC=mbari,DC=org
ldap.config.mapper.attribute.user.object.class=organizationalPerson*/

{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167156</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591013</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenophyophoroidea | | | (/) |
| Midwater Transecs | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1| (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta nationalis | | (/) | (/) |
| Tuscaretta similis | | (/) | (/) |
| Tuscaretta campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558252</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199922</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. 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|Building VARS at MBARI] 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|Building VARS at MBARI] using *\-P shore* flag
# Copy the contents of _$VARS_JNLP/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user _vicki_ from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=fixmetadata|bgcolor=#FFFFFF|borderStyle=solid}
This script runs every morning and fixes VideoArchiveSet metadata, such as chief scientist and start and end dates of the CameraDeployment
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. The following scripts can be used by anyone. 

h4. To run one of these scripts do the following:
# Log in on Seaspray (using ssh, on windows you can use [Putty|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}

h4. The scripts
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example, to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}
{panel:title=lookup_linkrealizations|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}lookup_linkrealizations [LINK_NAME]{noformat}. For example, to find all usages of _dsg-size_: {noformat}lookup_linkrealizations dsg-size{noformat}
{panel}
{panel:title=lookup_mergestatus|bgColor=#FFFFFF|borderStyle=solid}
This script returns the current merge status for a dive Use as: {noformat} lookup_mergestatus [ROV] [DIVE_NUMBER]{noformat}. For example: {noformat} lookup_mergestatus Ventana 3200{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}

h3. Archiva

Here's the LDAP config for Archiva, located at {{ARCHIVA_HOME\WEB-INF\classes\org\apache\maven\archiva\security.properties}}
{noformat}
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License. 
#
 
# --------------------------------------------------------------------
# Email Settings

# The subject line for the email message.
email.validation.subject=Welcome to Archiva

# Feedback page
email.feedback.path=http://archiva.apache.org/mail-lists.html

# --------------------------------------------------------------------
# LDAP Settings
/*user.manager.impl=ldap
ldap.bind.authenticator.enabled=true
redback.default.admin=admin
redback.default.guest=guest
security.policy.password.expiration.enabled=false


ldap.config.hostname=ldap.shore.mbari.org
ldap.config.ssl=true
ldap.config.port=636
ldap.config.base.dn=OU=AllUsers,DC=shore,DC=mbari,DC=org
ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
ldap.config.bind.dn=userPrincipalName=LDAPbind@shore.mbari.org
#ldap.config.bind.dn=LDAPbind@shore.mbari.org
ldap.config.password=radd3miat
ldap.config.authentication.method=simple

ldap.config.mapper.attribute.email=mail
ldap.config.mapper.attribute.fullname=givenName
#ldap.config.mapper.attribute.password=userPassword
ldap.config.mapper.attribute.user.id=sAMAccountName
ldap.config.mapper.attribute.user.base.dn=OU=Users,OU=AllUsers,DC=shore,DC=mbari,DC=org
ldap.config.mapper.attribute.user.object.class=organizationalPerson*/

{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167159</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591014</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | | (/) |
| Xenoturbella | | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta nationalis | | (/) | (/) |
| Tuscaretta similis | | (/) | (/) |
| Tuscaretta campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |

Additional Annotations to delete

- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.



h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558253</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591023</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | |(/) | (/) |
| Xenoturbella | | (/)| (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558262</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199908</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167145</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199907</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167144</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591025</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | (/) | (/) |
| Xenoturbella | | (/) | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 |(/) | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558264</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199909</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathocordaeus charon'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167146</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246028</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS)
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide|VAAP:Home]
[Video and Data Diagram]
[Verifying last date of successful merge]
[Manually merge a dive]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213260</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591019</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | | (/) |
| Xenoturbella | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
|Tuscaridium| | (/) | (/) |
|Tuscaridium cygneum| | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |

Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558258</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591021</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | | (/) |
| Xenoturbella | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558260</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591022</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | | (/) |
| Xenoturbella | | | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558261</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199931</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167168</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246040</id>
<property name="body"><![CDATA[h2. Overview

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. The nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour)

h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213271</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199933</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Planctoteuthis', 
         'Planctoteuthis danae', 
         'Planctoteuthis oligobessa', 
         'Grimalditeuthis',
         'Grimalditeuthis', 
         'Grimalditeuthis bonpland',  
         'Octopoteuthis', 
         'Octopoteuthis deletron') AND 
        Observer = 'sbush'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167170</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246042</id>
<property name="body"><![CDATA[h2. Overview

h3. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour). 

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GM at 8441.233 seconds long. Her data rate was 195.19 GB/hour (0.19 TB/hour)

h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213273</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199934</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *Retired* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [Ulikai] | Internal VM for *big* data processing |
| -[VARS-PL]- | Point Lobos annotation station - *Retired*|
| [VARS-RC] | Rachael Carson annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167171</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246035</id>
<property name="body"><![CDATA[h2. About


h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213266</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591027</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | (/) | (/) |
| Xenoturbella | | (/) | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | (/) | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

The data in these databases are replicated monthly and the following scripts are applied after replication:
- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558266</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810244</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh seaspray
3. cd /opt/vars/bin
4. ./lookup_mergestatus <ROV> <DIVE>
Examples: 
./lookup_mergestatus Tiburon 775
./lookup_mergestatus "Doc Ricketts" 82
./lookup_mergestatus Ventana 2011

The results will look something like:

===========================================================================
ROV: Doc Ricketts
Dive Number: 82

==== Status of Data Merge with EXPD ====
Merged On: 2011-05-23 16:21:58
 Merged using edited navigation data
 Recorded Dates are from 'VARS' database(s)
Video-frame count: 681
Status Message:  Using PRAGMATIC merge

==== Details About this VideoArchiveSet ====
Tracking Number: 2009247
Number of dives: 1
1) Dive Number:  82
 Chief Scientist:  David Clague
Number of Tapes: 15
1) Name: D0082-06HD
 Video-frame count: 85
2) Name: D0082-08HD
 Video-frame count: 82
3) Name: D0082-03HD
 Video-frame count: 104
4) Name: D0082-02HD
 Video-frame count: 42
5) Name: D0082-04HD
 Video-frame count: 68
6) Name: D0082-10HD
 Video-frame count: 39
7) Name: D0082-07
 Video-frame count: 0
8) Name: D0082-05
 Video-frame count: 0
9) Name: D0082-03
 Video-frame count: 0
10) Name: D0082-02
 Video-frame count: 0
11) Name: D0082-01
 Video-frame count: 0
12) Name: D0082-01HD
 Video-frame count: 63
13) Name: D0082-09HD
 Video-frame count: 43
14) Name: D0082-07HD
 Video-frame count: 95
15) Name: D0082-05HD
 Video-frame count: 60]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777484</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246037</id>
<property name="body"><![CDATA[h2. Overview

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec

h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213268</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16810243</id>
<property name="body"><![CDATA[1. For Macs, open a Terminal (On PC's use Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/)
2. ssh vicki@seaspray (enter secret password)
3. cd /opt/vars/bin
4. ./dive_merge vehicle dive trueorfalse (true for HD, false for SD)
5. example:  ./dive_merge 'DocRicketts' 82 true
or ./dive_merge Ventana 2011 false
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16777483</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591029</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | (/) | (/) |
| Xenoturbella | | (/) | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | (/) | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

The data in these databases are replicated monthly and the following scripts are applied after replication:

- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558268</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246047</id>
<property name="body"><![CDATA[h2. Codecs

h3. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour). 

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GB at 8441.233 seconds long (2h 20m). Her data rate was 55.52 Mbps for 1920x1080 at 60fps (195.19 GB/hour (0.19 TB/hour)

h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213278</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199923</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *In the process of retiring* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [Ulikai] | Internal VM for *big* data processing |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167160</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199924</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *In the process of retiring* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [Ulikai] | Internal VM for *big* data processing |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-RC] | Rachael Carson annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167161</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246049</id>
<property name="body"><![CDATA[h1. Codecs


h2. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour).

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GB at 8441.233 seconds long (2h 20m). Her data rate was 55.52 Mbps for 1920x1080 at 60fps (195.19 GB/hour (0.19 TB/hour)


h2. h264

Prores can be transcoded to h264 using ffmpeg. Here's an example: 

{noformat}
ffmpeg -i SC1ATK52.mov -crf 10 -preset slow -c:v libx264 -movflags +faststart -c:a copy ~/Desktop/SC1ATK52-h264.mp4
{noformat}

This uses relatively good quality (crf=10 preset=slow) encoding. The audio track is just copied over to the new container and the headers are added to the front of the file for web playback (i.e. faststart).

h3. Examining a File

First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:
{code}
brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}
You can then use {{ffprobe}} to examine the contents:
{code}
ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213280</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199925</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *In the process of retiring* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [Ulikai] | Internal VM for *big* data processing |
| -[VARS-PL]- | Point Lobos annotation station - *Retired*|
| [VARS-RC] | Rachael Carson annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167162</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246043</id>
<property name="body"><![CDATA[h2. Overview

h3. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour). 

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GM at 8441.233 seconds long. Her data rate was 55.52 Mbps for 1920x1080 at 60fps (195.19 GB/hour (0.19 TB/hour)

h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213274</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246044</id>
<property name="body"><![CDATA[h2. Overview

h3. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour). 

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GM at 8441.233 seconds long (2h 20m). Her data rate was 55.52 Mbps for 1920x1080 at 60fps (195.19 GB/hour (0.19 TB/hour)

h3. Examining a File


First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:

{code}
 brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}

You can then use {{ffprobe}} to examine the contents:

{code}
 ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213275</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">23199929</id>
<property name="body"><![CDATA[h2. About Ulikai.shore.mbari.org

Ulikai is a VM (Fedora) configured with 9GB RAM and access to a larger than normal share of CPU power. It is used to run video annotation processing tasks that are too resource intensive for standard VM configurations. The processing is run under a cronjob as the user [~brian]. It is currently:

* Generating ROV effort data products for the DSG
* Generating Annotation data products for the DSG
* Updating the midwater transects database
* Generating midwater transect data products for the midwater lab]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">23167166</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195707</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162942</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195709</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162944</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195714</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab
[Video Lab]
[Deep-sea Guide]

h2. For Developers
[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162950</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28246051</id>
<property name="body"><![CDATA[h1. Codecs


h2. Apple ProRes 422 HQ

The video lab intends to use [Apple ProRes 422 HQ|https://support.apple.com/en-us/HT202410] as an archiving codec. According to Apple, the nominal data rate is 220Mbps for 1920x1080 at 29.97fps. (i.e.773 GB/hour or 0.756 TB/hour).

A sample from Kikani's DeepPIV video was recorded using 422 HQ at 60fps. Her video was 457.68 GB at 8441.233 seconds long (2h 20m). Her data rate was 55.52 Mbps for 1920x1080 at 60fps (195.19 GB/hour (0.19 TB/hour)

h2. h264

h3. Transcoding to h264/mp4

Prores can be transcoded to h264 using ffmpeg. Here's an example:
{noformat}
# Using default encodings
ffmpeg -i SC1ATK52.mov -c:v libx264 -movflags +faststart -c:a copy ~/Desktop/SC1ATK52-h264.mp4
# Using higher quality (crf=10 preset=slow)
ffmpeg -i SC1ATK52.mov -crf 10 -preset slow -c:v libx264 -movflags +faststart -c:a copy ~/Desktop/SC1ATK52-h264.mp4
{noformat}
 The audio track is just copied over to the new container and the headers are added to the front of the file for web playback (i.e. faststart). Note that the default encoding is ran in my test (source prores on \\Atlas, target file on my laptop) at about 10fps {{505968D / 10D / 60D / 60D = 14 hours}}, the higher quality one at 3fps (46 hours)

h3. Examining a File

First install ffmpeg. On Mac, you can use homebrew. Here's the command to install it with reasonable codec support:
{code}
brew install ffmpeg --with-faac --with-libvpx --with-openjpeg --with-schroedinger --with-theora --with-x265
{code}
You can then use {{ffprobe}} to examine the contents:
{code}
ffprobe -v quiet -show_streams -show_format -show_error -print_format json h265_test.mp4
{code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28213282</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195702</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
|| Computer || Role ||
|[Alaskanwind] | Western Flyer database server |
|[Glacierwind] | Point Lobos database server |
|[Solstice] | *Master database server* |
|[Sundog] | External database, web, and web application server |
|[Tienhou] | Internal Web and Web application server. Support process host. |
|[VARS-PL] | Point Lobos annotation station |
|[VARS-WF] | Western Flyer annotation station |
|[Varspub] | External database server |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162937</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">2195703</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | *Master database server* |
| [Sundog] | External database, web, and web application server |
| [-Tienhou-] | -Internal Web and Web application server. Support process host.- *In the process of retiring*|
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| [Varspub] | External database server |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">2162938</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27590990</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org

VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf'

h2. Timecode source

VARS on the flyer gets timecode and time via UDP from _navproc.wf.mbari.org_. Beta timecode can be fetched on port *9000*. HD timecode is on port *9001*.

h2. NTP

From [~sheldon]:
{quote}
vars-wf is configured to synchronize with the following:

Western Flyer: time-wf1 (134.89.20.17), time-wf2 (Unused), time-wf3 (134.89.21.5), time-wf4 (134.89.21.6)
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558227</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27590987</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org

VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf'

h2. Timecode source

VARS on the flyer gets timecode and time via UDP from _navproc.wf.mbari.org_. Beta timecode can be fetched on port *9000*. HD timecode is on port *9001*.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558223</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27590988</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org

VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf'

h2. Timecode source

VARS on the flyer gets timecode and time via UDP from _navproc.wf.mbari.org_. Beta timecode can be fetched on port *9000*. HD timecode is on port *9001*.

h2. NTP

From [~sheldon]:

{quote}
ars-wf is configured to synchronize with the following:

Western Flyer: time-wf1 (134.89.20.17), time-wf2 (Unused), time-wf3 (134.89.21.5), time-wf4 (134.89.21.6)
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558225</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591010</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:

||Concept||Delete KB Branch||Delete KB Media and LinkRealizations||Delete Annotations||
|Xenoturbellida| | (/) | (/) |
|Xenophyophoroidea| | |(/)|
|Midwater Transecs| | | (/) |
|Mystery Mollusc| (/) | | (/) |
|Ctenophora| | |(/)|
|Cydippida| | |(/)|
|Cydippida 2| | |(/)|
|Llyria| (/) | |(/)|
|Mertensia| | (/) | (/) |
|Platyctenida| (/) | | (/) |
|Lyroctenidae| | (/) | (/) |
|Lyrocteis| | (/) | (/) |
|Tjalfiellidae| | (/) | (/) |
|Tjalfiella| | (/) | (/) |
|Tjalfiella tristoma| | (/) | (/) |
|Thalassocalycida| | | (/) |
|Thalassocalycida sp. 1|(/) | | (/) |
|Intacta|(/) | | (/) |
|Aegina sp. 1|(/) | | (/) |
|Erenna sp. A|(/) | | (/) |
|Physonectai sp. 1|(/) | | (/) |
|Tuscaroridae| | (/) | (/) |
|Tuscarantha | | (/) | (/) |
|Tuscarantha luciae | | (/) | (/) |
|Tuscarantha braueri| | (/) | (/) |
|Tuscaretta | | (/) | (/) |
|Tuscaretta nationalis| | (/) | (/) |
|Tuscaretta similis| | (/) | (/) |
|Tuscaretta campanella| | (/) | (/) |
|Tuscarora | | (/) | (/) |



h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId

END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

UPDATE
  Media
SET
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/')
WHERE
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558249</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27591009</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint 

DECLARE MyCursor CURSOR FOR 
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis' 

OPEN MyCursor 
FETCH NEXT FROM MyCursor into @conceptId 
WHILE @@FETCH_STATUS = 0 
BEGIN 
    PRINT @conceptId 
    FETCH NEXT FROM MyCursor INTO @conceptId 

    -- Drop ConceptNames first 
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN 
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId) 

    -- Drop Concepts 
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId 

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId 

    DELETE FROM Concept WHERE id = @conceptId 
     
END 
CLOSE MyCursor 
DEALLOCATE MyCursor 

GO 

DECLARE @conceptId bigint 

DECLARE MyCursor CURSOR FOR 
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis' 

OPEN MyCursor 
FETCH NEXT FROM MyCursor into @conceptId 
WHILE @@FETCH_STATUS = 0 
BEGIN 
    PRINT @conceptId 
    FETCH NEXT FROM MyCursor INTO @conceptId 

    -- Drop ConceptNames first 
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN 
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId) 

    -- Drop Concepts 
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId 

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId 

    DELETE FROM Concept WHERE id = @conceptId 
     
END 
CLOSE MyCursor 
DEALLOCATE MyCursor 

GO 

DECLARE @conceptId bigint 

DECLARE MyCursor CURSOR FOR 
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis' 

OPEN MyCursor 
FETCH NEXT FROM MyCursor into @conceptId 
WHILE @@FETCH_STATUS = 0 
BEGIN 
    PRINT @conceptId 
    FETCH NEXT FROM MyCursor INTO @conceptId 

    -- Drop ConceptNames first 
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN 
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId) 

    -- Drop Concepts 
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId 

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId 

    DELETE FROM Concept WHERE id = @conceptId 
     
END 
CLOSE MyCursor 
DEALLOCATE MyCursor 

GO 

DECLARE @conceptId bigint 

DECLARE MyCursor CURSOR FOR 
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis' 

OPEN MyCursor 
FETCH NEXT FROM MyCursor into @conceptId 
WHILE @@FETCH_STATUS = 0 
BEGIN 
    PRINT @conceptId 
    FETCH NEXT FROM MyCursor INTO @conceptId 

    -- Drop ConceptNames first 
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN 
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId) 

    -- Drop Concepts 
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId 

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId 

    DELETE FROM Concept WHERE id = @conceptId 
     
END 
CLOSE MyCursor 
DEALLOCATE MyCursor 

GO

UPDATE 
  Media 
SET 
  Url = REPLACE(Url, 'http://dsg.mbari.org/images/dsg/', 'http://dsg.mbari.org/images/dsg/external/') 
WHERE 
  Url NOT LIKE 'http://dsg.mbari.org/images/dsg/external/%' AND 
  Url LIKE 'http://dsg.mbari.org/images/dsg/%'

DELETE FROM 
  LinkRealization 
WHERE 
  LinkName = 'internal-video-lab-only-comment' 
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27558248</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">29720583</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Equinox] | *Master database server* |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | Database server that hosts EXPD |
| -[Sundog]- | -External database, web, and web application server.- *Retired* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [Ulikai] | Internal VM for *big* data processing |
| -[VARS-PL]- | -Point Lobos annotation station- - *Retired*|
| [VARS-RC] | Rachael Carson annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">29687815</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212717</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI

* [VARS 3.1.0] \- Release date: 2007-02-01
* [VARS 3.0.1] \- Release date: 2006-12-04
* [VARS 3.0.0] \- Release date: 2006-12-01]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179952</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212722</id>
<property name="body"><![CDATA[h2. Release Highlights

* Initial (alpha) support for annotating QuickTime movies.
* Resolving issues with the Knowledgebase application
* This release corresponds to version 4.2.0 at [http://vars.sourceforge.net]
* Built using Sourceforge SVN Revision: 558

h2. Resolved Issues

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10020&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179957</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1212721</id>
<property name="body"><![CDATA[h2. Release Highlights

* Resolving issues with the Knowledgebase application
* This release corresponds to version 4.2.0 at [http://vars.sourceforge.net]
* Built using Sourceforge SVN Revision: 558

h2. Resolved Issues

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10020&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1179956</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179300</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

{warning:title=Warning}This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).{warning}

{info:title=Note}The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [~brian]{info}

h2. Commit of the Beast

!VARS-commit-666.tiff!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113811</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179299</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

{warning:title=Warning}This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).{warning}

{info:title=Note}The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [~brian]{info}

h2. Commit of the Beast

!VARS-commit-666.tiff|thumbnail!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113810</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179327</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113842</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179328</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]

[Test Page That's not camel case]


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113843</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389059</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356344</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">4489229</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">4456461</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">4489230</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
[Index]

h2. For Users test

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. Other VARS-related projects
[VARS Data Mining]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]



]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">4456462</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179293</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 9.1_01 (build b09d-fcs)] with its configuration and logs at: [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113804</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179297</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

{warning:title=Warning}This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).{warning}

{info:title=Note}The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [~brian]{info}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113808</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179298</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

{warning:title=Warning}This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).{warning}

{info:title=Note}The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [~brian]{info}

h2. Commit of the Beast

!VARS-commit-666.tiff!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113809</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179295</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}

h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113806</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389024</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
Since I didn't want MBARI passwords checked into an open source code repository ;-), you will need to modify to files.
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -P test{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}_maven.test.skip_ can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the _JNLP_DEPLOY_DIR_ property in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356308</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389023</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
Since I didn't want MBARI passwords checked into an open source code repository ;-), you will need to modify to files.
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -Denvironment=test -Dmaven.test.skip=true{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment
{warning}_maven.test.skip_ can be left out while you are testing against a testing server but *DO NOT* execute tests against a production database!!{warning}

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the _JNLP_DEPLOY_DIR_ property in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356307</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389026</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars{panel}

h3. Edit some files
Since I didn't want MBARI passwords checked into an open source code repository ;-), you will need to modify to files.
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -P test{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the _JNLP_DEPLOY_DIR_ property in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356310</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389025</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars vars{panel}

h3. Edit some files
Since I didn't want MBARI passwords checked into an open source code repository ;-), you will need to modify to files.
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -P test{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

h3. Deploy
To deploy VARS run:
{panel}mvn clean deploy -Denvironment=test -Dmaven.test.skip=true{panel}
This will deploy the jars and the standalone application to the [Maven repository|http://oceana.shore.mbari.org/maven2]. It will then try to copy the Webstart applications to the correct location. You may need to modify the _JNLP_DEPLOY_DIR_ property in the files found in vars-deploy/vars-jnlp/src/site/filters to correctly specify the deployment locations.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356309</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645005</id>
<property name="body"><![CDATA[h2. About Eione

Eione is a linux VM that hosts an external database server. 

h3. Image files
The video labs DSG representative images are mounted from \\Tornado\videolab\VARS_Images to \mbari\dsg\kbimages. In turn, kbimages is symlinked at /var/www/website/images so that it can be served through the web server at http://eione.mbari.org/images/dsg/

h3. Framegrabs
I haven't set up the process to copy framegrabs yet. They will be copied and watermarked into /var/www/website/frameGrabs]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579469</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18645009</id>
<property name="body"><![CDATA[h2. About Solstice
Solistice hosts the MS SQL Server for the Shore VARS database]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18579473</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3179345</id>
<property name="body"><![CDATA[h2. About Subversion

SVN (Subversion) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of SVN is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.

In order to access a Subversion repository, you must install a special piece of software called a Subversion client. Subversion clients are available for most any operating system. Information about the official subversion client can be found at [http://subversion.tigris.org/]. Excellent documentation on using Subversion can be found at [http://svnbook.red-bean.com/]

h2. Subversion Access

This project's Subversion repository can be checked out through SVN with the following instruction set:

{{svn co ssh+svn://kahuna.shore.mbari.org/svn/repos/vars vars}}

{warning:title=Warning}This is a generic Subversion checkout command which will pull all modules, tags and/or branches of the project. In most cases, you will want to add '/trunk' to the SVN URL above to check out only trunk (main development line).{warning}

{info:title=Note}The VARS project references an external Subversion repository on [Sourceforge|http://sourceforge.net/svn/?group_id=151101]. Even if you have commit privelages on MBARI's VARS repository you may not be able to check in code changes to the Sourceforge repository. If you need commit access to VARS on Sourceforge, you will need to contact [~brian]{info}

h2. Commit of the Beast

!VARS-commit-666.png|thumbnail!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113860</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389029</id>
<property name="body"><![CDATA[h2. Developer Guides
[Building VARS at MBARI]
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
[SQL Examples]

h2. Future-proofing VARS
[VARS JPA]
[QuickTime for Java]

h2. Source Code
[Source Code]
[Browse the Sourceforge Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356314</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10389027</id>
<property name="body"><![CDATA[h2. Getting started

h3. Set up
To build VARS you will need to have the following installed:
# Java 5 or later
# QuickTime for Java
# Java Advanced Imaging
# [Maven|http://maven.apache.org]
# [Ant|http://ant.apache.org]

h3. Get the source
To get started check out the source code for VARS: 
{panel}svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars{panel}

h3. Edit some files
Since I didn't want MBARI passwords checked into an open source code repository ;-), you will need to modify to files.
# Open vars-deploy/vars-conf/src/main/filters/shore.properties and change the JDBC_PASSWORD property to _vars4mbari_
# Open vars-deploy/vars-jnlp/build.xml and the existing configuration properties with {panel}
<property name="keystore.alias" value="MBARIjava" />
    <property name="keystore.passwd" value="java1700" />
    <property name="key.password" value="javaBeansMakeLousyCoffee" />
    <property name="keystore" value="http://anvil.shore.mbari.org/java_keystore/keystore.bin" />
{panel}

h3. For the brave..
Optionally, you may want to check out the source for the closely related projects VCR4J, QTX4J and MBARIX4J. The compiled jars should be available from MBARI's Maven repository at [http://oceana.shore.mbari.org/maven2]. You do not need to fetch these jars, the build file will do it for you. The only reason to check out these projects is if you need make modications to them.
{panel}
svn co http://vcr4j.googlecode.com/svn/trunk/ vcr4j
svn co http://qtx4j.googlecode.com/svn/trunk/ qtx4j
svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/mbarix4j/trunk mbarix4j
{panel}

h2. Building

h3. How to build
Change to the vars directory and test the build using the following:
{panel}mvn clean install -P test{panel}
The _environment_ variable specifes what deployment location you are targetting. Current values are:
# _eits_ for Eye-in-the-sea
# _pl_ for Point Lobos deployment
# _*shore*_ for the main on-shore deployment
# _test_ for deploying against the testing database server Fog
# _varspub_ for the deploying the public query
# _wf_ for Western Flyer deployment

h3. What build makes
# All the VARS dependencies
# A standalone application in a zip file in vars-deploy/vars-app/target/vars-app-_VERSION_-standalone.zip
# A JNLP application web site in vars-deploy/vars-jnlp/target/site

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10356311</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">17</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="SpaceDescription" package="com.atlassian.confluence.spaces"><id name="id">19</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3964962</id>
<property name="body"><![CDATA[h2. Developer Notes

* [Benthic Annotation Database]
** [Verifying Altitudes]
** [Benthic Results]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3932195</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">31</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

{jiraissues:url=http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?reset=true&mode=hide&pid=10001|columns=type;key;summary}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">33</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10388506</id>
<property name="body"><![CDATA[h1. VARS Object-Relational Mapping using Java Persistence API (JPA)

I'm writing and implementation at [http://code.google.com/p/vars-redux/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355780</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27</id>
<property name="body"><![CDATA[{jiraprogress:url=http://oceana.shore.mbari.org:8082/browse/VARS}
This is the home page for the 500049 Video Annotation and Reference System space.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">29</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28</id>
<property name="body"><![CDATA[{jiraissues:url=http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?reset=true&mode=hide&pid=10001|columns=type;key;summary}
This is the home page for the 500049 Video Annotation and Reference System space.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">30</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">24</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">26</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10388508</id>
<property name="body"><![CDATA[h1. VARS Object-Relational Mapping using Java Persistence API (JPA)

I'm writing and implementation at [http://code.google.com/p/vars-redux/]
{gliffy:name=Future Work|space=VARS|page=VARS JPA|pageid=10355779|align=left|size=L}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355782</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10388509</id>
<property name="body"><![CDATA[h1. VARS Object-Relational Mapping using Java Persistence API (JPA)

I'm writing and implementation at [http://code.google.com/p/vars-redux/]


For future work there are a several considerations:
* Support videofiles AND tapes
* Several media may point to the same video
** Allow annotators to share annotations between different media representations of the same video
* Multiple annotators may be working on the same annotation set

{gliffy:name=Future Work|space=VARS|page=VARS JPA|pageid=10355779|align=left|size=L}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10355783</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">48</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.

h2. Source Code
[http://svn.sourceforge.net/viewvc/vars/] 

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">50</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">47</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.

h2. Source Code
[http://svn.sourceforge.net/viewvc/vars/] Subversion

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">49</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">50</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[Sourceforge|http://vars.sourceforge.net]
[MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">52</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">49</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.

h2. Source Code
[alias|http://svn.sourceforge.net/viewvc/vars/] Test

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">51</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">44</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">46</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">43</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

{jiraissues:url=http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">45</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">46</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">48</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">45</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">47</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">40</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

{jiraissues:url=http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;key;summary}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">42</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">36</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

{jiraissues:url=http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&tempMax=25&reset=true&decorator=none|columns=type&os_username=everyone&os_password=guest;key;summary}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">38</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">35</id>
<property name="body"><![CDATA[This is the home page for the 500049 Video Annotation and Reference System space.

{jiraissues:url=http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&tempMax=25&reset=true&decorator=none|columns=type;key;summary}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">37</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3964965</id>
<property name="body"><![CDATA[h2. Developer Notes

h3. Deliverable to Microsoft guys
* [Benthic Annotation Database]
** [Verifying Altitudes]
** [Benthic Results]

h3. Depth distribution analysis
Created a script to run the depth distributions of VARS data. There are 2 scripts in the vdm-tools project in  the MBARI SVN repository. The scripts are _hist4barry.groovy_ and _percentiles4barry.groovy_. The first results for it are from [2008-05-26|^percentile4barry-percentile-20080526182322]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3932198</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">57</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=25&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">59</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3964963</id>
<property name="body"><![CDATA[h2. Developer Notes

h3. Deliverable to Microsoft guys
* [Benthic Annotation Database]
** [Verifying Altitudes]
** [Benthic Results]

h3. Depth distribution analysis
Created a script to run the depth distributions of VARS data. There are 2 scripts in the vdm-tools project in  the MBARI SVN repository. The scripts are _hist4barry.groovy_ and _percentiles4barry.groovy_. The first results for 

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3932196</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3964964</id>
<property name="body"><![CDATA[h2. Developer Notes

h3. Deliverable to Microsoft guys
* [Benthic Annotation Database]
** [Verifying Altitudes]
** [Benthic Results]

h3. Depth distribution analysis
Created a script to run the depth distributions of VARS data. There are 2 scripts in the vdm-tools project in  the MBARI SVN repository. The scripts are _hist4barry.groovy_ and _percentiles4barry.groovy_. The first results for it are from [2008-05-26|percentile4barry-percentile-20080526182322]

]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3932197</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28672023</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | (/) | (/) |
| Xenoturbella | | (/) | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | (/) | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

The data in these databases are replicated monthly and the following scripts are applied after replication:
- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]

{info}The SQL has been updated on both the _develop_ and _videofile-jdk8_ branshes{info}

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28639255</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178673</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. January 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
        OR (
            ConceptName LIKE 'flota %' OR 
            ConceptName LIKE 'flota-%'
        )
        OR (
            LinkValue LIKE '%green bomber%'
        )
    ){code}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113153</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16449713</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user [~brian] from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. The following scripts can be used by anyone. 

h4. To run one of these scripts do the following:
# Log in on Seaspray (using ssh, on windows you can use [Putty|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}

h4. The scripts
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example, to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}
{panel:title=lookup_linkrealizations|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}lookup_linkrealizations [LINK_NAME]{noformat}. For example, to find all usages of _dsg-size_: {noformat}lookup_linkrealizations dsg-size{noformat}
{panel}
{panel:title=lookup_mergestatus|bgColor=#FFFFFF|borderStyle=solid}
This script returns the current merge status for a dive Use as: {noformat} lookup_mergestatus [ROV] [DIVE_NUMBER]{noformat}. For example: {noformat} lookup_mergestatus Ventana 3200{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16416952</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">16449714</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user [~brian] from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. The following scripts can be used by anyone. 

h4. To run one of these scripts do the following:
# Log in on Seaspray (using ssh, on windows you can use [Putty|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}

h4. The scripts
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example, to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}
{panel:title=lookup_linkrealizations|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}lookup_linkrealizations [LINK_NAME]{noformat}. For example, to find all usages of _dsg-size_: {noformat}lookup_linkrealizations dsg-size{noformat}
{panel}
{panel:title=lookup_mergestatus|bgColor=#FFFFFF|borderStyle=solid}
This script returns the current merge status for a dive Use as: {noformat} lookup_mergestatus [ROV] [DIVE_NUMBER]{noformat}. For example: {noformat} lookup_mergestatus Ventana 3200{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}

h3. Archiva

Here's the LDAP config for Archiva, located at {{ARCHIVA_HOME\WEB-INF\classes\org\apache\maven\archiva\security.properties}}
{noformat}
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

# --------------------------------------------------------------------
# Email Settings

# The subject line for the email message.
email.validation.subject=Welcome to Archiva

# Feedback page
email.feedback.path=http://archiva.apache.org/mail-lists.html

# --------------------------------------------------------------------
# LDAP Settings
user.manager.impl=ldap
ldap.bind.authenticator.enabled=true
redback.default.admin=admin
redback.default.guest=guest
security.policy.password.expiration.enabled=false


ldap.config.hostname=ldap.shore.mbari.org
ldap.config.ssl=true
ldap.config.port=636
ldap.config.base.dn=OU=AllUsers,DC=shore,DC=mbari,DC=org
ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
#ldap.config.bind.dn=userPrincipalName=LDAPbind@shore.mbari.org
ldap.config.bind.dn=LDAPbind@shore.mbari.org
ldap.config.password=radd3miat

ldap.config.mapper.attribute.email=mail
ldap.config.mapper.attribute.fullname=givenName
#ldap.config.mapper.attribute.password=userPassword
ldap.config.mapper.attribute.user.id=sAMAccountName
ldap.config.mapper.attribute.user.base.dn=OU=Users,OU=AllUsers,DC=shore,DC=mbari,DC=org
ldap.config.mapper.attribute.user.object.class=organizationalPerson

{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">16416953</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27099633</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth
{info}

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis', 
         'Bathyteuthis abyssicola',  
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis', 
         'Grimalditeuthis bonpland',  
         'Octopoteuthis', 
         'Octopoteuthis deletron',
         'Planctoteuthis', 
         'Planctoteuthis danae', 
         'Planctoteuthis oligobessa'
        ) AND 
        Observer = 'sbush'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27066870</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">5865671</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user [~brian] from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. The following scripts can be used by anyone. 

h4. To run one of these scripts do the following:
# Log in on Seaspray (using ssh, on windows you can use [Putty|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}

h4. The scripts
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example, to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}
{panel:title=lookup_linkrealizations|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}lookup_linkrealizations [LINK_NAME]{noformat}. For example, to find all usages of _dsg-size_: {noformat}lookup_linkrealizations dsg-size{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">5832910</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1671179</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _C:\Inetpub\wwwroot\webstart_ on Tienhou.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1638411</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1671178</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|http://oceana.shore.mbari.org:8081/display/VARS/Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|http://oceana.shore.mbari.org:8081/display/VARS/Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _C:\Inetpub\wwwroot\webstart_ on Tienhou.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1638410</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27099641</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Knowledgebase Data Embargo

The data in this database is replicated monthy and the following script is applied after replication:
{code:sql}
DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Bathyteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId
    
END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Grimalditeuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId
    
END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Octopoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId
    
END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DECLARE @conceptId bigint

DECLARE MyCursor CURSOR FOR
  SELECT ConceptID_FK FROM ConceptName WHERE ConceptName = 'Planctoteuthis'

OPEN MyCursor
FETCH NEXT FROM MyCursor into @conceptId
WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @conceptId
    FETCH NEXT FROM MyCursor INTO @conceptId

    -- Drop ConceptNames first
    DELETE FROM ConceptName WHERE id IN (SELECT cn.id FROM Concept AS c LEFT JOIN
      ConceptName AS cn ON cn.ConceptID_FK = c.id WHERE c.ParentConceptID_FK = @conceptId)

    -- Drop Concepts
    DELETE FROM Concept WHERE ParentConceptID_FK = @conceptId

    DELETE FROM ConceptName WHERE ConceptID_FK =@conceptId

    DELETE FROM Concept WHERE id = @conceptId
    
END
CLOSE MyCursor
DEALLOCATE MyCursor

GO

DELETE FROM
  LinkRealization
WHERE
  LinkName = 'internal-video-lab-only-comment'
{code}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM
  Observation
WHERE
  id IN (
    SELECT DISTINCT
 ObservationID_FK
    FROM
 Annotations
    WHERE (
      (
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR
        RecordedDate IS NULL OR
        RecordedDate < CAST('1970-01-02' AS datetime)
      )
      OR (
        RovName = 'Ventana' AND
        DiveNumber IN (50, 217, 218, 248)
      )
      OR (
        RovName = 'Tiburon' AND
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034)
      )
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis',
         'Bathyteuthis abyssicola',
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis',
         'Grimalditeuthis bonpland',
         'Octopoteuthis',
         'Octopoteuthis deletron',
         'Planctoteuthis',
         'Planctoteuthis danae',
         'Planctoteuthis oligobessa'
        ) AND
        Observer = 'sbush'
      )
    )
  )
GO

UPDATE
  CameraData
SET
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org')
WHERE
  StillImageURL IS NOT NULL
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27066878</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1671177</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|http://oceana.shore.mbari.org:8081/display/VARS/Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|http://oceana.shore.mbari.org:8081/display/VARS/Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS_/vars-deploy/vars-jnlp/target/site to C:\Inetpub\wwwroot\webstart on Tienhou.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1638409</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1671176</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the [build instructions|http://oceana.shore.mbari.org:8081/display/VARS/Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Unzip the zip file _$VARS_/vars-deploy/vars-app/target/vars-_VERSION_-standalone4shore.zip and copy it's contents into _C:\Program Files\VARS_ on Tienhou.

Building the JNLP version:
# Follow the [build instructions|http://oceana.shore.mbari.org:8081/display/VARS/Building+VARS+at+MBARI] using *-Denvironment=shore* flag
# Copy the contents of _$VARS_/vars-deploy/vars-jnlp/target/site to C:\Inetpub\wwwroot\webstart on Tienhou.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1638408</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">1671175</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS. 

h2. Installing VARS on Tienhou
VARS is installed on Tienhou as a stand-alone application (i.e. Not JNLP) in _C:\Program Files\VARS_ and also hosted on Tienhous webserver as JNLP application. 

Building the stand-alone version:
# Follow the build instructions in the vars-mbari module on moonjelly. 
# Build using _ant build.shore_
# Copy the files from _VARS_MBARI/target/dist_ to _C:\Program Files\VARS_ on Tienhou.
# Edit The _VARS_HOME_ Environement variable in _C:\Program Files\VARS\bin\varsSetup.bat_ to be _C:\Program Files\VARS_

Building the JNLP version:
# Follow the build instructions in the vars-mbari module on moonjelly. You may need to edit the _build.properties_ file so that the _JNLP_DEPLOY_DIR_SHORE_ property is correct for your build platform
# Build and deploy using _ant deploy.jnlp.shore_

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/

The webapps directory where the database test application is stored is C:\Program iles\Apache Software Foundation\Tomcat 5.5\webapps]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">1638407</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27099635</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Annotation Data Embargo

The data in this database is replicated monthly and the following script is applied after replication:
{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
      OR (
        ConceptName = 'Bathochordaeus charon'
      )
      OR (
        ConceptName IN (
         'Bathyteuthis', 
         'Bathyteuthis abyssicola',  
         'Bathyteuthis berryi',
         'Grimalditeuthis',
         'Grimalditeuthis', 
         'Grimalditeuthis bonpland',  
         'Octopoteuthis', 
         'Octopoteuthis deletron',
         'Planctoteuthis', 
         'Planctoteuthis danae', 
         'Planctoteuthis oligobessa'
        ) AND 
        Observer = 'sbush'
      )
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO

DELETE FROM
  Association
WHERE
  LinkName = 'video-lab-only-comment'
GO
{code}
To summarize this in English. We are not releasing the following to the public
* The last two years of data
* All Macon dives
* Annotations for Bathochordeus charon
* Stephani Bush's annotations for Plancoteuthis, Grimalditeuthis, Bathyteuthis, and Octopoteuthis (and children of these groups)

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27066872</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">5865651</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">5832890</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">5865653</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

The following scripts are run as the user [~brian] from cron.
{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

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|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">5832892</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">5865655</id>
<property name="body"><![CDATA[h2. About seaspray.shore.mbari.org

[Seaspray|http://seaspray.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Installing VARS on Seaspray

VARS is installed on Seaspray as a stand-alone application (i.e. Not JNLP) in _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ and also hosted on Seaspray's webserver as JNLP application.

Building the stand-alone version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Unzip the zip file _$VARS/vars-deploy/vars-app/target/vars-VERSION-standalone4shore.zip_ and copy it's contents into _/u/brian/Applications/vars-app-4.3-SNAPSHOT-standalone4shore_ on Seaspray.

Building the JNLP version:
# Follow the [build instructions|Building VARS at MBARI] using *\-Denvironment=shore* flag
# Copy the contents of _$VARS/vars-deploy/vars-jnlp/target/site_ to _/var/www/html/webstart_ on Seaspray.

h2. Supporting Scripts

h3. The following scripts are run as the user [~brian] from cron.

{panel:title=merge|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}
{panel:title=updateallrovctd|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel}
{panel:title=updateallsamplekeywords|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel}
{panel:title=updateurls|bgColor=#FFFFFF|borderStyle=solid}
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.
{panel}
{panel:title=updatevarspub|bgColor=#FFFFFF|borderStyle=solid}
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.
{info}
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:
{noformat}
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
{noformat}
{info}
{panel}

h3. 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|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html])
# Execute the command {noformat}cd /opt/vars-app-4.3-SNAPSHOT-standalone4shore/bin{noformat}
# Execute the command you want to run. Make sure you prepend './' (e.g. {noformat}./dive_merge{noformat}
{panel:title=dive_merge|bgColor=#FFFFFF|borderStyle=solid}
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: {noformat}dive_merge [ROV] [DIVENUMBER] [HD]{noformat}. For example to merge Ventana #3200 using HD: {noformat}dive_merge Ventana 3200 true{noformat}
{panel}


h2. Application server

Seaspray is running the [Glassfish|https://glassfish.dev.java.net/] application server on port 8082. Currently this server is used to host the [database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in SVN on _kahuna.shore.mbari.org_ in the vars-webapps/vars-dbtests module.

The webapps directory where the database test application is stored is _/var/lib/tomcat5/webapps_

h2. Notes


h3. From [~pat]:

{quote}
This reminds me - did I ever mention to you that I install VNC on the
servers by default? If you connect to seapray:1, you'll get a 1280x1024
console window. If you connect to seaspray:2, you'll get a  1024x768
console window.
{quote}

h3. Glassfish

I installed Glassfish V2 into /opt/glassfish as 'root' and ran
{noformat}
ant -f setup.xml
{noformat}
. Here's the output:
{noformat}
Buildfile: setup.xml

all:

get.java.home:

setup.init:

check-java:

get.java.home:

setup.init:

validate-java:
    [echo] Current Java Version 1.6.0_03

get.java.home:

setup.init:

glassfish-jarunpack:

get.java.home:

setup.init:

-do.copy.common:

do.copy.windows:

do.copy.unix:

do.copy:

get.java.home:

setup.init:

-do.tokenrep.common:

do.token.windows:

do.token.unix:

do.token.jdic.windows:

do.token.jdic.solaris-sparc:

do.token.jdic.solaris-x86:

do.token.jdic.linux:

do.token.jdic.mac:

do.token.jdic:

do.token.enable.uc:

do.token:

get.java.home:

setup.init:

do.chmod.unix:

do.chmod:

create-local-registry:

setup.reg:
    [echo] Creating the service registry file..
    [java] From Local service registry  ..

get.java.home:

setup.init:

set.env.win:

set.env.unix:

set.env:

create.domain:
    [exec] Using port 4848 for Admin.
    [exec] Using port 8082 for HTTP Instance.
    [exec] Using port 7676 for JMS.
    [exec] Using port 3700 for IIOP.
    [exec] Using port 8183 for HTTP_SSL.
    [exec] Using default port 3820 for IIOP_SSL.
    [exec] Using default port 3920 for IIOP_MUTUALAUTH.
    [exec] Using default port 8686 for JMX_ADMIN.
    [exec] Domain being created with profile:developer, as specified by variable 
           AS_ADMIN_PROFILE in configuration file.
    [exec] Security Store uses: JKS
    [exec] Domain domain1 created.
    [exec] Login information relevant to admin user name [admin] for this domain 
           [domain1] stored at [/root/.asadminpass] successfully.
    [exec] Make sure that this file remains protected. Information stored in this
           file will be used by asadmin commands to manage this domain.
  [delete] Deleting: /opt/glassfish/passfile

BUILD SUCCESSFUL
Total time: 19 seconds
{noformat}
Glassfish is configured to start on boot in {{/etc/rc.d/rc.local}}

h3. JRuby on Glassfish

I used Glassfishes built in update tool to install JRuby and then ran the ant install script as root. Here's the output:
{noformat}
ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-envBuildfile: /opt/glassfish/jruby/install.xml

setup-shared-env:
    [echo] Setting up the environment to support shared mode
    [exec] Domain domain1 stopped.

copy-jars:
    [copy] Copying 3 files to /opt/glassfish/lib
    [exec] Starting Domain domain1, please wait.
    [exec] Log redirected to /opt/glassfish/domains/domain1/logs/server.log.
    [exec] Redirecting output to /opt/glassfish/domains/domain1/logs/server.log
    [exec] Domain domain1 is ready to receive client requests. Additional 
           services are being started in background.
    [exec] Domain [domain1] is running [Sun Java System Application Server 
           9.1_01 (build b09d-fcs)] with its configuration and logs at: 
           [/opt/glassfish/domains].
    [exec] Admin Console is available at [http://localhost:4848].
    [exec] Use the same port [4848] for "asadmin" commands.
    [exec] User web applications are available at these URLs:
    [exec] [http://localhost:8082 https://localhost:8183 ].
    [exec] Following web-contexts are available:
    [exec] [/web1  /__wstx-services ].
    [exec] Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
    [exec] [service:jmx:rmi:///jndi/rmi://seaspray.shore.mbari.org:8686/jmxrmi] 
           for domain management purposes.
    [exec] Domain listens on at least following ports for connections:
    [exec] [8082 8183 4848 3700 3820 3920 8686 ].
    [exec] Domain does not support application server clusters and other 
           standalone instances.


BUILD SUCCESSFUL
Total time: 5 seconds
{noformat}

h3. Derby Database

For non-essential apps (like jitensha-rogu and cookiemonster), I'll be running a Derby database instance on Seaspray. It's configured to start in /etc/rc.d/rc.local

{noformat}
>> sudo /opt/glassfish/bin/asadmin start-database
Password:

Database started in Network Server mode on host 0.0.0.0 and port 1527.
--------- Derby Network Server Information --------
Version: CSS10020/10.2.2.1 - (538595)  Build: 538595  DRDA Product Id: CSS10020
-- listing properties --
derby.drda.traceDirectory=/opt/glassfish/databases
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=0.0.0.0
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.6.0_03
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/java/jdk1.6.0_03/jre
Java classpath:  /opt/glassfish/lib/appserv-rt.jar:/opt/glassfish/lib/admin-cli.jar:
/opt/glassfish/javadb/lib/derby.jar:/opt/glassfish/javadb/lib/derbytools.jar:
/opt/glassfish/javadb/lib/derbynet.jar:/opt/glassfish/javadb/lib/derbyclient.jar
OS name:         Linux
OS architecture: i386
OS version:      2.6.18-53.1.4.el5
Java user name:  root
Java user home:  /root
Java user dir:   /u/brian
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[/opt/glassfish/javadb/lib/derby.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbytools.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbynet.jar] 10.2.2.1 - (538595)
[/opt/glassfish/javadb/lib/derbyclient.jar] 10.2.2.1 - (538595)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]] 
Found support for locale: [cs]
	 version: 10.2.2.1 - (538595)
Found support for locale: [de_DE]
	 version: 10.2.2.1 - (538595)
Found support for locale: [es]
	 version: 10.2.2.1 - (538595)
Found support for locale: [fr]
	 version: 10.2.2.1 - (538595)
Found support for locale: [hu]
	 version: 10.2.2.1 - (538595)
Found support for locale: [it]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ja_JP]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ko_KR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pl]
	 version: 10.2.2.1 - (538595)
Found support for locale: [pt_BR]
	 version: 10.2.2.1 - (538595)
Found support for locale: [ru]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_CN]
	 version: 10.2.2.1 - (538595)
Found support for locale: [zh_TW]
	 version: 10.2.2.1 - (538595)
------------------------------------------------------

Starting database in the background.
Log redirected to /opt/glassfish/databases/derby.log.
Command start-database executed successfully.
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">5832894</id>
</property>
</object>
<object class="Label" package="com.atlassian.confluence.labels">
<id name="id">12058625</id>
<property name="name"><![CDATA[favourite]]></property>
<property name="owner"><![CDATA[jana]]></property>
<property name="namespace"><![CDATA[my]]></property>
<property name="creationDate">2010-04-28 15:37:00.777</property>
<property name="lastModificationDate">2015-07-30 11:42:03.520</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178534</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. January 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113000</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178532</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3112998</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178957</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project {color:red}Note: You may need to check out and build VARS first as the *test* environment{color}
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113451</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178955</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project {color:red}Note: You may need to check out and build VARS first as the *test* environment{color}
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-[VERSION].zip
#** Extract the zip file somewhere
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113449</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178961</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project {color:red}Note: You may need to check out and build VARS first as the *test* environment{color}
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
# Find a bathymetry file of the area you want to work with
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/}}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113455</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178959</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project {color:red}Note: You may need to check out and build VARS first as the *test* environment{color}
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113453</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178952</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).


h2. For Users

[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab

[Video Lab]
[Deep-sea Guide]
[Video and Data Diagram]

h2. For Developers

[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://seaspray.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References

[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113446</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178972</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [Altitude]       	float NOT NULL,
    CONSTRAINT [FK_03] PRIMARY KEY([VideoFrameID_FK])
)
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} that should be dropped.
# Run the
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113466</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">27099208</id>
<property name="body"><![CDATA[h2. About Eione

Eione is a linux VM that hosts an external database server. It is aliased using the CNAME http://dsg.mbari.org

h3. Image files
The video labs DSG representative images are mounted from \\Tornado\videolab\VARS_Images to \mbari\dsg\kbimages. In turn, kbimages is symlinked at /var/www/website/images so that it can be served through the web server at http://eione.mbari.org/images/dsg/

h3. Framegrabs
I haven't set up the process to copy framegrabs yet. They will be copied and watermarked into /var/www/website/frameGrabs]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">27066440</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178966</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrame}}s that should be dropped.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113460</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178965</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/}}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113459</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178963</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project {color:red}Note: You may need to check out and build VARS first as the *test* environment{color}
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
# Find a bathymetry file of the area you want to work with
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/}}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113457</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178970</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameMetadata] ( 
    [VideoFrameID_FK]	bigint NOT NULL,
    [IsContained]    	int NOT NULL CONSTRAINT DEFAULT (0),
    [IsBenthic]      	int NOT NULL CONSTRAINT DEFAULT (0) 
    )
GO{code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} that should be dropped.
# Run the
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113464</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178969</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb1.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} that should be dropped.
# Run the
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113463</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">3178968</id>
<property name="body"><![CDATA[h2. Creating a database with only bathymetric annotations

# Check out VARS from Subversion
#* {{svn co https://vars.svn.sourceforge.net/svnroot/vars/trunk vars}}
# Build VARS for the test database (located on Fog)
#* {{mvn clean install -Denvironment=test -Dmaven.test.skip=true}}
#* Fog is updated every night from the VARS database on Solstice. This is a good database to work with since we can make changes and tests without breaking any production systems.
# Check out the vdm-tools from subversion
#* {{svn co svn+ssh://kahuna.shore.mbari.org/svn/repos/vdm-tools/trunk vdm-tools}}
# Build the project
#* {{mvn clean package}}
#** The built applications will be in vdm-tools/target/vdm-tools-<VERSION>.zip
#** Extract the zip file somewhere
# Add a table to the database you're working with
#* {code}CREATE TABLE [dbo].[VideoFrameEmbargo] ( 
	[VideoFrameID_FK]	bigint NOT NULL 
	){code}
# Find a bathymetry file of the area you want to work with. {color:red}At this time, the tool is setup to read ASCII raster files; but it could be modified to work with NetCDF grids.{color}
# cd to the {{bin}} directory where you extracted the zip file (from above)
# Run {{gsh ../scripts/groovy/createbenthosdb.groovy}}
#* This populates the table VideoFrameEmbargo with ids of all the {{VideoFrames}} that should be dropped.
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">3113462</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622730</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589967</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622736</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589974</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622735</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.
!Overview.png!

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589973</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622738</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

Not all LinkRealizations will or need to start with 'dsg'


h3. search.jsp

4 tabs
# Table view
# Gallery View
# Browse tree
#* Do we need to have the _rank_ and _rank level_ rendered?*
A: The tree is too wide and gets rendered off of the side of the page. How can we narrow it? Should we use the [www.itis.gov] style? (e.g. Rank on one side, links in a colun on the other side?)
# Browse classfication

Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.


More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589976</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622737</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

Not all LinkRealizations will or need to start with 'dsg'

h3. Browse

*Q: Do we need to have the _rank_ and _rank level_ rendered?*
A: The tree is too wide and gets rendered off of the side of the page. How can we narrow it? Should we use the [www.itis.gov] style? (e.g. Rank on one side, links in a colun on the other side?)
Clicking on browse link will

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589975</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622732</id>
<property name="body"><![CDATA[{quote}Are the 'Web Images Browse' titles meaningful, or just placeholders? They're not as I remember them from our meeting.{quote}
Those are links that take you to the correct search page (ala Google-like). They're place holders but clicking on them does the following:
# *Web* - This search will direct your query to _textresults.jsp_
# *Images* - This search will direct your query to _imageresults.jsp_
# *Browse* - CLicking on that will bring up the tree view of the knowledgebase]]></property>
<property name="content" class="Comment" package="com.atlassian.confluence.pages"><id name="id">589970</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622733</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.
!Overview.png!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589971</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622743</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

Not all LinkRealizations will or need to start with 'dsg'


h3. search.jsp

4 tabs
# Table view
# Gallery View
# Browse tree
#* *Q: Do we need to have the _rank_ and _rank level_ rendered?*
A: Yes
# Browse classfication

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|www.itis.gov] style? The video lab likes the tree of life style. We will hold off from implementing this as it's  a lower priority than the other functionality.

h3. image.jsp
* Image group by concept (hiearcically grouped)
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution uderneath it. 
* *TODO: video lab will draw up an example and put images in the knowledgebase*

h3. Other
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]

h2. Milestones

* M1
** TDB. Finish the view first
** Navigation should be consistent. Search page should *always* take a user to the results page.
* M2
** TBD
* M3
** TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589981</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622744</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|www.itis.gov] style? The video lab likes the tree of life style. We will hold off from implementing this as it's  a lower priority than the other functionality.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped)
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* *TODO: video lab will draw up an example and put images in the knowledgebase*

h3. Other
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]

Not all LinkRealizations will or need to start with 'dsg'

h2. Milestones

* M1
** TDB. Finish the view first
** Navigation should be consistent. Search page should *always* take a user to the results page.
* M2
** TBD
* M3
** TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589982</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622745</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]

Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}

* M1
** TDB. Finish the view first
* M2
** TBD
* M3
** TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589983</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">28672353</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database.
{info:title=Connecting via JDBC}
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See [http://jtds.sourceforge.net/faq.html#windowsAuth]
{info}

h3. Summary of Data Embargo

The data embargo info used for this iteration is described [here|https://mww.mbari.org/itd/video/AnnotationRetrieval/EMBARGOS_VARS_DSG.html]. The table below more clearly summarizes what modifications on Dione are requested:
|| Concept || Delete KB Branch || Delete KB Media and LinkRealizations || Delete Annotations ||
| Xenoturbellida | | (/) | (/) |
| Xenoturbellidae | | (/) | (/) |
| Xenoturbella | | (/) | (/) |
| Mystery Mollusc | (/) | | (/) |
| Ctenophora | | | (/) |
| Cydippida | | | (/) |
| Cydippida 2 | (/) | | (/) |
| Llyria | (/) | | (/) |
| Mertensia | | (/) | (/) |
| Platyctenida sp. 1 | (/) | | (/) |
| Lyroctenidae | | (/) | (/) |
| Lyrocteis | | (/) | (/) |
| Tjalfiellidae | | (/) | (/) |
| Tjalfiella | | (/) | (/) |
| Tjalfiella tristoma | | (/) | (/) |
| Thalassocalycida | | | (/) |
| Thalassocalycida sp. 1 | (/) | | (/) |
| Intacta | (/) | | (/) |
| Aegina sp. 1 | (/) | | (/) |
| Erenna sp. A | (/) | | (/) |
| Erenna sp. B | (/) | | (/) |
| Physonectae sp. 1 | (/) | | (/) |
| Tuscaroridae | | (/) | (/) |
| Tuscarantha | | (/) | (/) |
| Tuscarantha luciae | | (/) | (/) |
| Tuscarantha braueri | | (/) | (/) |
| Tuscaretta | | (/) | (/) |
| Tuscaretta globosa | | (/) | (/) |
| Tuscaridium | | (/) | (/) |
| Tuscaridium cygneum | | (/) | (/) |
| Tuscarilla | | (/) | (/) |
| Tuscarilla nationalis | | (/) | (/) |
| Tuscarilla similis | | (/) | (/) |
| Tuscarilla campanella | | (/) | (/) |
| Tuscarora | | (/) | (/) |
Additional Annotations to delete
- Bob Vrijenhoek or Clague's  annotations of Xenophyophoroidea, Psamminidae, Psamminida
- Robison, Sherock, Raskoff, Zeidberg, Hopcroft, Hunt or Hamners's annotations with a cameradirection of transect, diel transect, startransect or endtransect.

h3. Embargo SQL

The data in these databases are replicated monthly and the following scripts are applied after replication:
- [Knowledgebase|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-kb.sql]
- [Annotation|https://github.com/hohonuuli/vars/blob/videofile-jdk8/vars-standalone/src/main/assembly/files/scripts/sql/update-dioneEmbargo-anno.sql]
{info}The SQL has been updated on both the _develop_ and _videofile-jdk8_ branshes
{info}

h3. About VARS replication to DIONE

From [~neil]:
{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:
# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">28639587</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622746</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

!Overview.png!

h3. search.jsp

This page will have 4 tabs:
# *Table view* - Search results displayed in _textresults.jsp_ 
# *Gallery View* - Search results displayed in _imageresults.jsp_
# *Browse tree* - Search/Browse page similar to Lori's existing tree view
#* Q: Do we need to have the _rank_ and _rank level_ rendered? A: Yes
# *Browse classfication*

Navigation should be consistent. Search page should *always* take a user to the results page even if there is 0 or 1 result.

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|http://www.itis.gov] style? The video lab likes the tree of life style. {color:red}We will hold off from implementing this as it's  a lower priority than the other functionality.{color}

* More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]
* Not all LinkRealizations will or need to start with 'dsg'. Any LinkRealizations that have not already been displayed on this page will be added under _Additional Information_
* All fields shown in [^DSGViewTemplate.doc] should be shown, even if the data for that field is not available.

h3. image.jsp
* Images are grouped by concept (hiearcically grouped). The exact layout is TBD. We will probably need to try out different layouts until we find one that works.
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution underneath it. 
* {color:red}TODO: video lab will draw up an example and put images in the knowledgebase{color}

h3. browse.jsp
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

h2. Milestones

{note}The focus of development will be on functionality. We will optimize for speed later on.{note}

* M1
** TDB. Finish the view first
* M2
** TBD
* M3
** TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589984</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622739</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

Not all LinkRealizations will or need to start with 'dsg'


h3. search.jsp

4 tabs
# Table view
# Gallery View
# Browse tree
#* *Q: Do we need to have the _rank_ and _rank level_ rendered?*
A: Yes
# Browse classfication

h4. view.jsp
Q: How do we want to render the tree view on this page?
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|www.itis.gov] style?

Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.


More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589977</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622740</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

Not all LinkRealizations will or need to start with 'dsg'


h3. search.jsp

4 tabs
# Table view
# Gallery View
# Browse tree
#* *Q: Do we need to have the _rank_ and _rank level_ rendered?*
A: Yes
# Browse classfication

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|www.itis.gov] style? The video lab likes the tree of life style. We will hold off from implementing this as it's  a lower priority than the other functionality.

h3. image.jsp
* Image group by concept (hiearcically grouped)
* Thumbnails of images that are available will be shown. Underneath each image will be the  
* *TODO: video lab will draw up an example and put images in the knowledgebase*

h3. Other
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589978</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622741</id>
<property name="body"><![CDATA[h2. Web Flow
Below is a diagram with the basic web flow and page layout ideas. The diagrams do not represent the theme we will be using. The pages themselves will look similar to the MBARI external web.

The _web_ link needs to be called 'Table View'. _Images_ = 'Gallery View'
!Overview.png!

Not all LinkRealizations will or need to start with 'dsg'


h3. search.jsp

4 tabs
# Table view
# Gallery View
# Browse tree
#* *Q: Do we need to have the _rank_ and _rank level_ rendered?*
A: Yes
# Browse classfication

h3. view.jsp
*Q: How do we want to render the tree view on this page?*
Do we want the [Tree of Life|http://www.tolweb.org] view or the [ITIS|www.itis.gov] style? The video lab likes the tree of life style. We will hold off from implementing this as it's  a lower priority than the other functionality.

h3. image.jsp
* Image group by concept (hiearcically grouped)
* Thumbnails of images that are available will be shown. The _Concept_ link will have depth-distribution uderneath it. 
* *TODO: video lab will draw up an example and put images in the knowledgebase*

h3. Other
Recent searches and the tree will be below the search box. The full hierarchy will be shown including 'object', 'physical-object', etc.

More details about _view.jsp_ can be found in [^DSGViewTemplate.doc]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589979</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622742</id>
<property name="body"><![CDATA[The Deep-Sea in DSG is an adjective so it should be hyphenated.]]></property>
<property name="content" class="Comment" package="com.atlassian.confluence.pages"><id name="id">589980</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">347</id>
<property name="body"><![CDATA[h2. Release Highlights
* The Annotation App now uses [RXTX|http://www.rxtx.org] instead of [javax.comm|http://java.sun.com/products/javacomm/] for serial communications
* All applications will be deployed using Java Web Start rather than installers.
* A Beta version of the Knowledgebase application is now available. It has a number of known issues which are scheduled to be resolved in VARS 3.0.1
* Initial support for annotating high-definition (HD) tape is included. Full support is pending an update to the merge processing between the EXPD and VARS databases
* This release corresponds to version 1.0.4 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">349</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285443</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252698</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285447</id>
<property name="body"><![CDATA[h2. About Dione

Dione is a Windows VM that hosts MS SQL 2008 and hosts the external VARS database. 

h3. Important
When using windows authentication to connect with the jtds JDBC driver don't forget to add 'useNTLMv2=true' in the connection string. See http://jtds.sourceforge.net/faq.html#windowsAuth

h3. Annotation Data Embargo
The data in this database is replicated monthly and the following script is applied after replication:

{code:sql}
DELETE FROM 
  Observation 
WHERE 
  id IN ( 
    SELECT DISTINCT 
 ObservationID_FK 
    FROM 
 Annotations 
    WHERE ( 
      ( 
        RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
        RecordedDate IS NULL OR 
        RecordedDate < CAST('1970-01-02' AS datetime) 
      ) 
      OR ( 
        RovName = 'Ventana' AND 
        DiveNumber IN (50, 217, 218, 248) 
      ) 
      OR ( 
        RovName = 'Tiburon' AND 
        DiveNumber IN (1001, 1029, 1030, 1031, 1032, 1033, 1034) 
      ) 
    ) 
  ) 
GO 

UPDATE 
  CameraData 
SET 
  StillImageURL = REPLACE(StillImageURL,  'http://search.mbari.org/ARCHIVE', 'http://dsg.mbari.org') 
WHERE 
  StillImageURL IS NOT NULL 
GO 
{code}

h3. About VARS replication to DIONE
From [~neil]:

{quote}
Okay, Brian, it's all ready to go.  This is a two-step process:

# I created permanent backup devices (fixed files) on a network share for the VARS and VARS_KB databases on both Equinox and Dione.
# On Equinox, I created a new maintenance plan called "VARS_Export Backups" which writes a full backup of VARS and VARS_KB to the respective backup device and scheduled it to run the first Monday of each month at 3:00am.
# On Dione, I created a SQL Agent job for the VARS database called "VARS_Export Restore from Equinox"  and one for VARS_KB called "VARS_KB_Export Restore from Equinox".  Both jobs run the first Monday of each month at 5:00am.
# The VARS job has the following four steps: 1) does a restore from whatever happens to be in the respective backup device, 2) deletes unnecessary user accounts, 3) runs the embargo script and 4) updates the URLs; the VARS_KB job has only the first two steps.  Both jobs create a log file on Dione and send me an email on failure.
{quote}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252702</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">339</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Releases
[VARS 3.0.0]

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">341</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">340</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">342</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">341</id>
<property name="body"><![CDATA[
h2. Release Notes

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">343</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">342</id>
<property name="body"><![CDATA[h2. Release Highlights
* The Annotation App now uses [RXTX|http://www.rxtx.org] instead of [javax.comm|http://java.sun.com/products/javacomm/] for serial communications
* All applications will be deployed using Java Web Start rather than installers.
* A Beta version of the Knowledgebase application is now available. It has a number of known issues which are scheduled to be resolved in VARS 3.0.1
* Initial support for annotating high-definition (HD) tape is included. Full support is pending an update to the merge processing between the EXPD and VARS databases

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">344</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">343</id>
<property name="body"><![CDATA[h2. Release Highlights
* The Annotation App now uses [RXTX|http://www.rxtx.org] instead of [javax.comm|http://java.sun.com/products/javacomm/] for serial communications
* All applications will be deployed using Java Web Start rather than installers.
* A Beta version of the Knowledgebase application is now available. It has a number of known issues which are scheduled to be resolved in VARS 3.0.1
* Initial support for annotating high-definition (HD) tape is included. Full support is pending an update to the merge processing between the EXPD and VARS databases
* This release corresponds to version 1.0.4 at [http:/vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">345</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">344</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">346</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">345</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Releases
[VARS 3.0.0]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]


h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">347</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">346</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.

h2. Project
[Releases]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">348</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">332</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=issuekey&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&sorter/field=status&sorter/order=ASC}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">334</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">331</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Releases
[Release: VARS-MBARI 3.0.0]

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">333</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">334</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Releases
[Release-VARS-3.0.0]

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">336</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">333</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">335</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">336</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest&columns=type;priority;key;summary;assignee;status
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">338</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">335</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest&columns=type;priority;key;summary;assignee;status
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">337</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">338</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=500&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">340</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">337</id>
<property name="body"><![CDATA[{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=500&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">339</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">324</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">326</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">326</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. [Releases]
* VARS-MBARI 3.0.0

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">328</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">325</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. [Releases] >> Releases
h3. VARS-MBARI 3.0.0

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">327</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">328</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. [Releases]
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=issuekey&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&sorter/field=status&sorter/order=ASC}

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">330</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">327</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]

h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]

h2. [Releases]
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?reset=true&&pid=10001&fixfor=10000&sorter/field=issuekey&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&sorter/field=status&sorter/order=ASC}

h2. Issue Tracking
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">329</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">330</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">332</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">381</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the annotation application will not run unless [QuickTime for Java|http://www.apple.com/quicktime] is installed.

h2. Detailed Instructions
h3. Installing Java
You can download Java from [http://www.java.com]. Simply download the installer and run it.

h3. Installing QuickTime for Java
Download the QuickTime installer or iTunes installer from [Apple|http://www.apple.com] and execute it. 

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http:/tienhou.shore.mbari.org/webstart].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">383</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">382</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">384</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">380</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">382</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">385</id>
<property name="body"><![CDATA[h2. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
h3. Installing a Serial Port
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. 

If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].

h2. References
[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">387</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">386</id>
<property name="body"><![CDATA[h1. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
h3. Installing a Serial Port
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. 

If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].

h2. References
[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">388</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">383</id>
<property name="body"><![CDATA[h2. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
h3. Installing a Serial Port
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. 

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">385</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">384</id>
<property name="body"><![CDATA[h2. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
h3. Installing a Serial Port
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. 

If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">386</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">371</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">373</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">372</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System space.
h2. Project
[Releases]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]
h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">374</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">6226378</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. 

h2. Embargoed Data

There is a DTS Package, 'Update VARS_External on VARSPUB', on Solstice used to copy annotations out for external use. The embargo SQL is executed in the 'Update Observations_Embargoed' phase. 

h3. January 2008

From [~jana]:
{quote}This is a new embargo that was recently approved by Marcia for Karen Osborn, Flota and Green bomber.
 
Brian, the implementation in VARS should include the annotations and properties provided by Susan below. Please remove all of the annotations and images of such annotations from the public query. Flota should have an expiration of December 2008 and all of the green bomber's should have an expiration of December 2009.{quote}

From [~svonthun]:
{quote}The worms of interest to Karen Osborn that we were talking about this morning are:
Flota (and it's children flota vitjazi and flota flabelligerida)
fabelligeridae |comment| self| Green bomber (or it maybe audio comment or comment | human|)
Polychaeta |comment| self | Green bomber (or it maybe audio comment or comment | human|)
For that matter, it could be any annelida with the green bomber in a comment{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
        OR (
            ConceptName = 'Flota' OR
            ConceptName LIKE 'flota %' OR 
            ConceptName LIKE 'flota-%'
        )
        OR (
            LinkValue LIKE '%green bomber%'
        )
    ){code}

h3. July 2007
From [~jana]:
{quote}I wanted to discuss some clarifications in Stephanie's embargo. I don't think these change the embargo itself, just a matter of implementation.
 
In testing to make sure her embargoes were not in the Public Query, we discovered that there are about 12-15 occurences of the very rare squid (all genera but Octopoteuthis are rare) that Stephanie is actively working on that are not embargoed.
 
Some of these do have Steph's username. The reason they show up is that only 'd' (for detail) are being embargoed, but some dives are designated as 'o' (for outline) and there is no way in VARS to change an individual annotation to 'd' even after she has modified/added to it. And we wouldn't want to change an entire dive to 'd' if only a few annotations are done in detail.
 
Some of those we found do not have Steph's username. When she goes back to review the video and annotations she wouldn't change the concept name if it was already correctly identified by a VL person (or someone else, e.g., at sea or from Robi lab). She might change or add an association (although she might not, if adequately annotated by VL already). The issue is that in VARS, even if an association is added by a new observer, but the concept name isn't changed, the original observer name remains. Nonetheless, she has reviewed these observations and they've become part of this current research.
 
For these reasons, I wonder if the embargo specification could be changed slightly to exclude all Planctoeuthis, Grimalditeuthis and Bathyteuthis. Again, there are only about 12-15 individuals of these ever seen (mostly Planctoteuthis sp.). [All the above holds true for Octopoteuthis too, but that animal is much more common.] The alternative to excluding the rare types would be to have Stephanie go back and actually change the concept names (even if already correct) and to keep up with this method for future annotations. There are currently about 230 annotation lines for those 12-15 individuals. This doesn't seem too practical.
 
The other thing that we realized is that these genus names should be extend to 'children' so observations to species, not just genus, are included.{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND
            ConceptName LIKE 'octopoteuthis%'
        )
        OR (
            ConceptName LIKE 'plantoteuthis%' OR
            ConceptName LIKE 'bathyteuthis%' OR
            ConceptName LIKE 'grimalditeuthis%'
        )  
    ){code}

h3. June 2007 

[~brian] I update the embargoed SQL script (which is hosted as a DTS job on Solsice -> 'Update VARS_External on VARSPUB'). The new SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
    ){code}

Data on the external database is a subset of the internal database subjected to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently (as of 2007-04-10) up to date. The data is embargoed as follows:

h3. April 2007
{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">6259160</id>
</property>
</object>
<object class="Labelling" package="com.atlassian.confluence.labels">
<id name="id">12025860</id>
<property name="label" class="Label" package="com.atlassian.confluence.labels"><id name="id">12058625</id>
</property>
<property name="content" class="SpaceDescription" package="com.atlassian.confluence.spaces"><id name="id">19</id>
</property>
<property name="spaceKey"><![CDATA[VARS]]></property>
<property name="user"><![CDATA[jana]]></property>
<property name="creationDate">2010-04-28 15:37:36.513</property>
<property name="lastModificationDate">2010-04-28 15:37:36.513</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">408</id>
<property name="body"><![CDATA[h2. Retrieving snap times of frame-grabs
h4. Inputs
* Fragments of the image URL

h4. Outputs
* The datetime that the image was taken

h4. Query Example
{noformat}
SELECT MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}

h2. Retrieving the epoch seconds that a video-frame was recorded using dive number and tape time-code
h4. Inputs
* Dive number
* Tape timecode
* ROV name (either Tiburon or Ventana)

h4. Outputs
* The date of a video-frame in epoch seconds. This is the date that the video was recorded.

h4. Query Example
{noformat}
SELECT CONVERT(bigint, DATEDIFF(ss, '01-01-1970 00:00:00', dbo.VideoFrame.RecordedDtg)) AS Epoch
FROM dbo.VideoArchiveSet INNER JOIN
    dbo.VideoArchive ON dbo.VideoArchiveSet.id = dbo.VideoArchive.VideoArchiveSetID_FK INNER JOIN
    dbo.VideoFrame ON dbo.VideoArchive.id = dbo.VideoFrame.VideoArchiveID_FK INNER JOIN
    dbo.CameraPlatformDeployment ON dbo.VideoArchiveSet.id = dbo.CameraPlatformDeployment.VideoArchiveSetID_FK
WHERE (dbo.CameraPlatformDeployment.SeqNumber = '2603')
    AND (dbo.VideoFrame.TapeTimeCode = '00:34:19:13')
    AND (dbo.VideoArchiveSet.PlatformName = 'Ventana')
{noformat}

h2. Retrieving the URL's for framegrabs where the observation occured within the last 2 days.
h4. Inputs
* *None*

h4. Outputs
* The (non-null) image for any observations that were created within the last 2 days

h4. Query Example
{noformat}
SELECT dbo.CameraData.StillImageURL
FROM dbo.CameraData INNER JOIN
    dbo.VideoFrame ON dbo.CameraData.VideoFrameID_FK = dbo.VideoFrame.id INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.Observation.ObservationDTG > DATEADD([day], - 2, GETDATE())) AND (NOT (dbo.CameraData.StillImageURL IS NULL)){noformat}

h2. Query that returns all dive numbers (and vehicles) for any new or updated observation in the last 2 days
h4. Inputs
* *None*

h4. Outputs
* The vehicle and dive number for any VideoArchiveSet that has observations add or modified within the last 2 days.

h4. Query Example
{noformat}
SELECT DISTINCT RovName, DiveNumber
FROM Annotations
WHERE (ObservationDate > DATEADD([day], - 2, GETDATE())) AND (NOT (Image IS NULL))
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">410</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">407</id>
<property name="body"><![CDATA[h2. Retrieving snap times of frame-grabs
h4. Inputs
* Fragments of the image URL

h4. Outputs
* The datetime that the image was taken

h4. Query Example
{noformat}
SELECT MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}

h2. Retrieving the epoch seconds that a video-frame was recorded using dive number and tape time-code
h4. Inputs
* Dive number
* Tape timecode
* ROV name (either Tiburon or Ventana)

h4. Outputs
* The date of a video-frame in epoch seconds. This is the date that the video was recorded.

h4. Query Example
{noformat}
SELECT CONVERT(bigint, DATEDIFF(ss, '01-01-1970 00:00:00', dbo.VideoFrame.RecordedDtg)) AS Epoch
FROM dbo.VideoArchiveSet INNER JOIN
    dbo.VideoArchive ON dbo.VideoArchiveSet.id = dbo.VideoArchive.VideoArchiveSetID_FK INNER JOIN
    dbo.VideoFrame ON dbo.VideoArchive.id = dbo.VideoFrame.VideoArchiveID_FK INNER JOIN
    dbo.CameraPlatformDeployment ON dbo.VideoArchiveSet.id = dbo.CameraPlatformDeployment.VideoArchiveSetID_FK
WHERE (dbo.CameraPlatformDeployment.SeqNumber = '2603')
    AND (dbo.VideoFrame.TapeTimeCode = '00:34:19:13')
    AND (dbo.VideoArchiveSet.PlatformName = 'Ventana')
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">409</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">410</id>
<property name="body"><![CDATA[h2. SQL Scripts
Scripts that have been used with VARS can be found in the [source code repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars-mbari/src/main/database/sqlserver/]

h2. Examples
{panel: borderStyle=solid | title=Retrieving snap times of frame-grabs}
h4. Inputs
* Fragments of the image URL

h4. Outputs
* The datetime that the image was taken

h4. Query Example
{noformat}
SELECT MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}
{panel}

{panel: borderStyle=solid | title=Retrieving the epoch seconds that a video-frame was recorded using dive number and tape time-code}
h4. Inputs
* Dive number
* Tape timecode
* ROV name (either Tiburon or Ventana)

h4. Outputs
* The date of a video-frame in epoch seconds. This is the date that the video was recorded.

h4. Query Example
{noformat}
SELECT CONVERT(bigint, DATEDIFF(ss, '01-01-1970 00:00:00', dbo.VideoFrame.RecordedDtg)) AS Epoch
FROM dbo.VideoArchiveSet INNER JOIN
    dbo.VideoArchive ON dbo.VideoArchiveSet.id = dbo.VideoArchive.VideoArchiveSetID_FK INNER JOIN
    dbo.VideoFrame ON dbo.VideoArchive.id = dbo.VideoFrame.VideoArchiveID_FK INNER JOIN
    dbo.CameraPlatformDeployment ON dbo.VideoArchiveSet.id = dbo.CameraPlatformDeployment.VideoArchiveSetID_FK
WHERE (dbo.CameraPlatformDeployment.SeqNumber = '2603')
    AND (dbo.VideoFrame.TapeTimeCode = '00:34:19:13')
    AND (dbo.VideoArchiveSet.PlatformName = 'Ventana')
{noformat}
{panel}

{panel: borderStyle=solid | title=Retrieving the URL's for framegrabs where the observation occured within the last 2 days}
h4. Inputs
* *None*

h4. Outputs
* The (non-null) image for any observations that were created within the last 2 days

h4. Query Example
{noformat}
SELECT dbo.CameraData.StillImageURL
FROM dbo.CameraData INNER JOIN
    dbo.VideoFrame ON dbo.CameraData.VideoFrameID_FK = dbo.VideoFrame.id INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.Observation.ObservationDTG > DATEADD([day], - 2, GETDATE())) AND (NOT (dbo.CameraData.StillImageURL IS NULL)){noformat}
{panel}

{panel: borderStyle=solid | title=Query that returns all dive numbers (and vehicles) for any new or updated observation in the last 2 days}
h4. Inputs
* *None*

h4. Outputs
* The vehicle and dive number for any VideoArchiveSet that has observations add or modified within the last 2 days.

h4. Query Example
{noformat}
SELECT DISTINCT RovName, DiveNumber
FROM Annotations
WHERE (ObservationDate > DATEADD([day], - 2, GETDATE())) AND (NOT (Image IS NULL))
{noformat}
{panel}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">412</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">409</id>
<property name="body"><![CDATA[h2. Examples
{panel: borderStyle=solid | title=Retrieving snap times of frame-grabs}
h4. Inputs
* Fragments of the image URL

h4. Outputs
* The datetime that the image was taken

h4. Query Example
{noformat}
SELECT MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}
{panel}

{panel: borderStyle=solid | title=Retrieving the epoch seconds that a video-frame was recorded using dive number and tape time-code}
h4. Inputs
* Dive number
* Tape timecode
* ROV name (either Tiburon or Ventana)

h4. Outputs
* The date of a video-frame in epoch seconds. This is the date that the video was recorded.

h4. Query Example
{noformat}
SELECT CONVERT(bigint, DATEDIFF(ss, '01-01-1970 00:00:00', dbo.VideoFrame.RecordedDtg)) AS Epoch
FROM dbo.VideoArchiveSet INNER JOIN
    dbo.VideoArchive ON dbo.VideoArchiveSet.id = dbo.VideoArchive.VideoArchiveSetID_FK INNER JOIN
    dbo.VideoFrame ON dbo.VideoArchive.id = dbo.VideoFrame.VideoArchiveID_FK INNER JOIN
    dbo.CameraPlatformDeployment ON dbo.VideoArchiveSet.id = dbo.CameraPlatformDeployment.VideoArchiveSetID_FK
WHERE (dbo.CameraPlatformDeployment.SeqNumber = '2603')
    AND (dbo.VideoFrame.TapeTimeCode = '00:34:19:13')
    AND (dbo.VideoArchiveSet.PlatformName = 'Ventana')
{noformat}
{panel}

{panel: borderStyle=solid | title=Retrieving the URL's for framegrabs where the observation occured within the last 2 days}
h4. Inputs
* *None*

h4. Outputs
* The (non-null) image for any observations that were created within the last 2 days

h4. Query Example
{noformat}
SELECT dbo.CameraData.StillImageURL
FROM dbo.CameraData INNER JOIN
    dbo.VideoFrame ON dbo.CameraData.VideoFrameID_FK = dbo.VideoFrame.id INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.Observation.ObservationDTG > DATEADD([day], - 2, GETDATE())) AND (NOT (dbo.CameraData.StillImageURL IS NULL)){noformat}
{panel}

{panel: borderStyle=solid | title=Query that returns all dive numbers (and vehicles) for any new or updated observation in the last 2 days}
h4. Inputs
* *None*

h4. Outputs
* The vehicle and dive number for any VideoArchiveSet that has observations add or modified within the last 2 days.

h4. Query Example
{noformat}
SELECT DISTINCT RovName, DiveNumber
FROM Annotations
WHERE (ObservationDate > DATEADD([day], - 2, GETDATE())) AND (NOT (Image IS NULL))
{noformat}
{panel}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">411</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">403</id>
<property name="body"><![CDATA[h2. Developer Guides
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">405</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">406</id>
<property name="body"><![CDATA[h2. Retrieving snap times of frame-grabs
h4. Inputs
*Fragments of the image URL
h4. Outputs
*The datetime that the image was taken
h4. Query Example
{noformat}
SELECT MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}

h2. Retrieving the epoch seconds that a video-frame was recorded using dive number and tape time-code
h4. Inputs
* Dive number
* Tape timecode
* ROV name (either Tiburon or Ventana)
h4. Outputs
* The date of a video-frame in epoch seconds. This is the date that the video was recorded.
h4. Query Example
{noformat}
SELECT CONVERT(bigint, DATEDIFF(ss, '01-01-1970 00:00:00', dbo.VideoFrame.RecordedDtg)) AS Epoch
FROM dbo.VideoArchiveSet INNER JOIN
    dbo.VideoArchive ON dbo.VideoArchiveSet.id = dbo.VideoArchive.VideoArchiveSetID_FK INNER JOIN
    dbo.VideoFrame ON dbo.VideoArchive.id = dbo.VideoFrame.VideoArchiveID_FK INNER JOIN
    dbo.CameraPlatformDeployment ON dbo.VideoArchiveSet.id = dbo.CameraPlatformDeployment.VideoArchiveSetID_FK
WHERE (dbo.CameraPlatformDeployment.SeqNumber = '2603')
    AND (dbo.VideoFrame.TapeTimeCode = '00:34:19:13')
    AND (dbo.VideoArchiveSet.PlatformName = 'Ventana')
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">408</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">405</id>
<property name="body"><![CDATA[h2. Retrieving snap times of frame-grabs
h4. Inputs
Framgments of the image URL
h4. Outputs
The datetime that the image was taken
h4. Query Example
{noformat}
SELECT MIN(dbo.Observation.ObservationDTG) AS SnapTime
FROM dbo.VideoFrame INNER JOIN
    dbo.CameraData ON dbo.VideoFrame.id = dbo.CameraData.VideoFrameID_FK INNER JOIN
    dbo.Observation ON dbo.VideoFrame.id = dbo.Observation.VideoFrameID_FK
WHERE (dbo.CameraData.StillImageURL LIKE '%Ventana%2603%00_34_19_13.jpg')
{noformat}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">407</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">416</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|Q1]
* [How does VARS handle frame-capture?|Q2]


h2. Answers

[#Q1]h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

[#Q2]h3. Q: How does VARS handle frame-capture?

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">418</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">415</id>
<property name="body"><![CDATA[h2. Questions
* Where does VARS get the camera data from?
* How does VARS handle frame-capture?


h2. Answers

h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

h3. Q: How does VARS handle frame-capture?

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">417</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">418</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?#Q1]
* [How does VARS handle frame-capture?#Q2]


h2. Answers

{anchor:Q1}h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

{anchor:Q2}h3. Q: How does VARS handle frame-capture?

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">420</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">417</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|Q1]
* [How does VARS handle frame-capture?|Q2]


h2. Answers

{anchor:Q1}h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

{anchor:Q2}h3. Q: How does VARS handle frame-capture?

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">419</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">412</id>
<property name="body"><![CDATA[h2. Questions
* Where does VARS get the camera data from?
* How does VARS handle frame-capture?


h2. Answers

h5. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

h5. Q: How does VARS handle frame-capture?

VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">414</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">411</id>
<property name="body"><![CDATA[h2. Questions
* Where does VARS get the camera data from?

h2. Answers

h5. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">413</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">414</id>
<property name="body"><![CDATA[h2. Questions
* Where does VARS get the camera data from?
* How does VARS handle frame-capture?


h2. Answers

h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

h3. Q: How does VARS handle frame-capture?

VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

When a video set is closed. VARS will attempt to copy the image from the local computer to the framegrab repository mounted on a web server. If they copy is successful, VARS will change the URL of the image from a local URL to a web URL in the VARS databaes.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">416</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">413</id>
<property name="body"><![CDATA[h2. Questions
* Where does VARS get the camera data from?
* How does VARS handle frame-capture?


h2. Answers

h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

h3. Q: How does VARS handle frame-capture?

VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e file:/path/to/file/filename.jpg). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

When a video set is closed. VARS will attempt to copy the image from the local computer to the framegrab repository mounted on a web server. If they copy is successful, VARS will change the URL of the image from a local URL to a web URL in the VARS databaes.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">415</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">391</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]

h2. For Developers
[All Releases]
[Development]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">393</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">393</id>
<property name="body"><![CDATA[h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=20&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">395</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">394</id>
<property name="body"><![CDATA[h2. Release Highlights
* The Annotation App now uses [RXTX|http://www.rxtx.org] instead of [javax.comm|http://java.sun.com/products/javacomm/] for serial communications
* All applications will be deployed using Java Web Start rather than installers.
* A Beta version of the Knowledgebase application is now available. It has a number of known issues which are scheduled to be resolved in VARS 3.0.1
* Initial support for annotating high-definition (HD) tape is included. Full support is pending an update to the merge processing between the EXPD and VARS databases
* This release corresponds to version 1.0.4 at [http://vars.sourceforge.net]
* Test versions are available at [http://oyashio.shore.mbari.org/~brian/webstart]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">396</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">387</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">389</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">388</id>
<property name="body"><![CDATA[]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">390</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">389</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
h2. For Users
[Latest Release|VARS 3.0.0]
h2. For Developers
[All Releases]
[Development]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">391</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">390</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).
h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]
h2. For Developers
[All Releases]
[Development]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">392</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">399</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]

h2. For Developers
[Release notes for all releases|Releases]
[Development]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">401</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">401</id>
<property name="body"><![CDATA[h2. Questions
* Where does VARS get the camera data from?

h2. Answers

h5. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich: _Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData

This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.

The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc...._]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">403</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">402</id>
<property name="body"><![CDATA[h2. Developer Guides
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">404</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">395</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]

h2. For Developers
[All Releases|Releases]
[Development]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">397</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">396</id>
<property name="body"><![CDATA[h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">398</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">397</id>
<property name="body"><![CDATA[h2. Developer Guides
[http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README|README]
h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">399</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">398</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]

h2. For Developers
[Release notes for all releases|Releases]
[Development]
[VARS at Sourceforge|http://vars.sourceforge.net]
[VARS at MBARI|http://tienhou.shore.mbari.org/vars]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">400</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">442</id>
<property name="body"><![CDATA[Solistice hosts the MS SQL Server for the PL VARS database]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">444</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">441</id>
<property name="body"><![CDATA[h2. About Varspub
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">443</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">440</id>
<property name="body"><![CDATA[h2. About Tienhou
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat}
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. 
{panel} 

{panel:title=updatevarspub.bat}
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. 
{panel} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">442</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10944619</id>
<property name="body"><![CDATA[h1. VARS Object-Relational Mapping using Java Persistence API (JPA)

h2. Implementation
I'm writing and implementation at [http://code.google.com/p/vars-redux/]

h2. Future Work
For future work there are a several considerations:
* Support videofiles AND tapes
* Several media may point to the same video
** Allow annotators to share annotations between different media representations of the same video
* Multiple annotators may be working on the same annotation set

{gliffy:name=Future Work|space=VARS|page=VARS JPA|pageid=10355779|align=left|size=L}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911855</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">439</id>
<property name="body"><![CDATA[Solistice hosts the MS SQL Server for the WF VARS database]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">441</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10944620</id>
<property name="body"><![CDATA[h1. VARS Object-Relational Mapping using Java Persistence API (JPA)

h2. Implementation
I'm writing and implementation at [http://code.google.com/p/vars-redux/]

h2. Use Cases
* [JPA Knowledgebase]
*[ JPA Annotation]

h2. Future Work
For future work there are a several considerations:
* Support videofiles AND tapes
* Several media may point to the same video
** Allow annotators to share annotations between different media representations of the same video
* Multiple annotators may be working on the same annotation set

{gliffy:name=Future Work|space=VARS|page=VARS JPA|pageid=10355779|align=left|size=L}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911856</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285425</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | *Master database server* |
| [Sundog] | External database, web, and web application server |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *In the process of retiring* |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server- |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252681</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">438</id>
<property name="body"><![CDATA[Solistice hosts the MS SQL Server for the Shore VARS database]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">440</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">437</id>
<property name="body"><![CDATA[[Tienhou]
[Varspub]
[Solstice]
[Alaskanwind]
[Glacierwind]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">439</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10944626</id>
<property name="body"><![CDATA[h2. Use Cases

h3. ConceptName

*Insert*
# Does it already exist?
#* Don't need to worry. JPA will throw an exception since it's a unique column.
# Is it a primary name? Only 1 primary name per concept is allowed?
#* Is there another primary name for that object already?

*Delete*
# Is it a primary name?
#* Yes = throw exception
#* No = delete it


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911862</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">436</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all VARS releases|Releases]
[Development Information|Development]
[VARS servers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">438</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">435</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all VARS releases|Releases]
[Development Information]
[VARS servers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">437</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10944624</id>
<property name="body"><![CDATA[h2. Use Cases

h3. ConceptName

* Delete
*# Is it a primary name?
*#* Yes = throw exception
*#* No = delete it
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911860</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">449</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">451</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">448</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat}
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. 
{panel} 

{panel:title=updatevarspub.bat}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">450</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">447</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat}
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. 
{panel} 

{panel:title=updatevarspub.bat}
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. 
{panel} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">449</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">446</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all VARS releases|Releases]
[Development Information|Development]
[VARS servers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">448</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">443</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
[Tienhou]
[Varspub]
[Solstice]
[Alaskanwind]
[Glacierwind]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">445</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">425</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI
* [VARS 3.0.0]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">427</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">423</id>
<property name="body"><![CDATA[h2. About Tienhou
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat}
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. 
{panel} ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">425</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">422</id>
<property name="body"><![CDATA[h2. About Tienhou
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">424</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">419</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|#Q1]
* [How does VARS handle frame-capture?|#Q2]


h2. Answers

{anchor:Q1}h3. Q: Where does VARS get the camera data from?

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

{anchor:Q2}h3. Q: How does VARS handle frame-capture?

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">421</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">420</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all releases|Releases]
[Development]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">422</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">433</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all releases|Releases]
[Development]
[VARS Servers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">435</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">434</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all releases|Releases]
[Development]
[VARS Servers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">436</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">432</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[Release Notes for VARS 3.0.0|VARS 3.0.0]
[FAQ|User FAQ]

h2. For Developers
[Release notes for all releases|Releases]
[Development]
[Tienhou]

h2. References
[VARS web page at Sourceforge|http://vars.sourceforge.net]
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">434</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285427</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | *Master database server* |
| [Sundog] | External database, web, and web application server |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *In the process of retiring* |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server- |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252683</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">427</id>
<property name="body"><![CDATA[h2. Release Highlights
* Resolving issues with the Knowledgebase application
* This release corresponds to version 1.0.5 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">429</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">10944632</id>
<property name="body"><![CDATA[h2. Use Cases

h3. ConceptName

*Insert*
# Does it already exist?
#* Don't need to worry. JPA will throw an exception since it's a unique column.
# Is it a primary name? Only 1 primary name per concept is allowed.
## Is there another primary name for that concept already?
##* Yes = throw exception
##* No = continue

*Delete*
# Is it a primary name?
#* Yes = throw exception
#* No = delete it


]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10911868</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">18285429</id>
<property name="body"><![CDATA[h2. Computers that are involved with running VARS at MBARI

|| Computer || Role ||
| [Alaskanwind] | Western Flyer database server |
| [Dione] | External database server |
| [Eione] | External web server |
| [Glacierwind] | Point Lobos database server |
| [Seaspray] | Internal Web and Web application server. Support process host |
| [Solstice] | *Master database server* |
| -[Sundog]- | -External database, web, and web application server.- *In the process of retiring* |
| -[Tienhou]- | -Internal Web and Web application server. Support process host.- *Retired* |
| [VARS-PL] | Point Lobos annotation station |
| [VARS-WF] | Western Flyer annotation station |
| -[Varspub]- | -External database server.- *Retired* |]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">18252685</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">476</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org
VARS-WF is the computer on the R/V Western Flyer used for running VARS]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">478</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">475</id>
<property name="body"><![CDATA[h2. About vars-pl.pl.mbari.org
VARS-PL is the computer on the R/V Point Lobos used for running VARS]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">477</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">478</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the annotation application will not run unless [QuickTime for Java|http://www.apple.com/quicktime] is installed.

h2. Detailed Instructions
h3. Installing Java
You can download Java from [http://www.java.com]. Simply download the installer and run it.

h3. Installing QuickTime for Java
Download the QuickTime installer or iTunes installer from [Apple|http://www.apple.com] and execute it. 

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">480</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622691</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. Data on the external database is a subset of the internal database subject to some _embargo_ rules. The data is embargoed as follows:

{quote}
Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589925</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622692</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database. Data on the external database is a subset of the internal database subject to some _embargo_ rules. The _offical_ embargoed data page is [http://mww.mbari.org/rd/Science/Embargo/embargoes.htm] but it is not currently up to date. The data is embargoed as follows:

{quote}
Date: April 10, 2007 10:32:30 AM PDT

Until April 2009  Stephanie Bush's (but no other annotators')  detailed annotations on Octopoteuthis, Planctoteuthis, Bathyteuthis, and Grimalditeuthis
 
Until June 2007 Karen Osborn  Munnopsidae Within Order Isopoda
Suborder Asellota
Suborder Valvifera
-Family Munnopsidae 
Genus Acanthamunnopsis
Subfamily Munnopsinae
Genus Munneurycope 
o        Genus Munnopsis

Until June 2007 Praya and Apolemia
 
Until June 2007 Gonatus and Dosidicus
 
Until June 2007 salps and doliolids
 
Judith L. Connor, Ph.D.
{quote}

The corresponding SQL is:
{code:sql}
SELECT DISTINCT ObservationID_FK 
    FROM Annotations
    WHERE ((
            RecordedDate > DATEADD([year], - 2, GETDATE()) OR 
            RecordedDate IS NULL OR
            RecordedDate < CAST('1970-01-02' AS datetime)
        )
        OR (
            Observer = 'sbush' AND (
                ConceptName LIKE 'octopoteuthis%' OR
                ConceptName LIKE 'plantoteuthis%' OR
                ConceptName LIKE 'bathyteuthis%' OR
                ConceptName LIKE 'grimalditeuthis%'
            )
        )  
        OR (
            Observer = 'oska' AND (
                ConceptName LIKE 'asellota%' OR
                ConceptName LIKE 'valvifera%' OR
                ConceptName LIKE 'munnopsidae%' OR
                ConceptName LIKE 'acanthamunnopsis%' OR
                ConceptName LIKE 'munnopsinae%' OR
                ConceptName LIKE 'munneurycope%' OR
                ConceptName LIKE 'munnopsis%'
            )
        )
        OR (
            ConceptName LIKE 'praya%' OR
            ConceptName LIKE 'apolemia%' OR
            ConceptName LIKE 'gonatus%' OR
            ConceptName LIKE 'salp%' OR
            ConceptName LIKE 'doliolid%'
        )
    ){code}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589926</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">480</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the annotation application will not run unless [QuickTime for Java|http://www.apple.com/quicktime] is installed.

h2. Detailed Instructions
The following steps describe the prerequisites for running VARS:

h3. Installing Java
You can download Java from [http://www.java.com]. Simply download the installer and run it.

h3. Installing QuickTime for Java
Download the QuickTime installer or iTunes installer from [Apple|http://www.apple.com] and execute it. 

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">482</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">479</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the annotation application will not run unless [QuickTime for Java|http://www.apple.com/quicktime] is installed.

h2. Detailed Instructions
h3. Installing Java
You can download Java from [http://www.java.com]. Simply download the installer and run it.

h3. Installing QuickTime for Java
Download the QuickTime installer or iTunes installer from [Apple|http://www.apple.com] and execute it. 

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/vars].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">481</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">482</id>
<property name="body"><![CDATA[h2. Prerequisites
In order for VARS to run on your system you will need to install [Java 5.0|http://www.java.com] or a more recent version of Java. VARS will not run on Java 1.4. Also, the Annotation application requires [QuickTime for Java|http://www.apple.com/quicktime], which is not available for Linux. Therefore, the Annotation application will not run on Linux.

h2. Detailed Instructions
h3. Installing Java
Refer to you linux distributors documentation on installing Java 5.0. You can also download Java from [http://www.java.com]. Simply download the installer and run it.

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">484</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">481</id>
<property name="body"><![CDATA[h2. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
h3. Installing a Serial Port
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. 

If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.

h3. Installing VARS
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].

h2. References
[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">483</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">451</id>
<property name="body"><![CDATA[h2. About tienhou.shore.mbari.org
[Tienhou|http://tienhou.shore.mbari.org/vars] is the server used to serve the VARS internal web pages, host the VARS JNLP applications, and run the scripts used for supporting VARS.

h2. Supporting Scripts
{panel:title=merge.bat|bgColor=#FFFFFF|borderStyle=solid}
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 te EXPDMergeStatus table in the VARS database on Solstice.
{panel}

{panel:title=updateallrovctd.bat|bgColor=#FFFFFF|borderStyle=solid}
Supporting the samples database, this script updates ROV CTD information for CollectionEvents in the samples database that are missing CTD information
{panel} 

{panel:title=updateallsamplekeywords.bat|bgColor=#FFFFFF|borderStyle=solid}
Also supporting the samples database, this script updates keywords (i.e. Concepts) for samplesin the samples database
{panel} 

{panel:title=updateurls.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

{panel:title=updatevarspub.bat|bgColor=#FFFFFF|borderStyle=solid}
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. 
{panel} 

h2. Application server
Tienhou is running the [Tomcat|http://tomcat.apache.org/] application server. Currently this server is used to hsot the [database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp] used to show potential problems with the database. The source code for the project is stored in CVS on _moonjelly.shore.mbari.org_ and can be browsed at http://moonjelly/cgi-bin/cvsweb.cgi/iag/brian/vars-web/]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">453</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622717</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Developers
[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589954</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622721</id>
<property name="body"><![CDATA[h2. Web Flow
!Overview.png!]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589958</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622720</id>
<property name="body"><![CDATA[h1. 500049 Video Annotation and Reference System (VARS).

h2. For Users
[Installation instructions|Installation]
[FAQ|User FAQ]

h2. For Video-Lab
[Video Lab]

h2. For Developers
[Release notes|Releases]
[Development information|Development]
[VARS computers|Computers]
[Database tests|http://tienhou.shore.mbari.org:8080/vars-web/index.jsp]
[Issue tracking|http://oceana.shore.mbari.org:8082/browse/VARS]

h2. References
[VARS web page at MBARI|http://tienhou.shore.mbari.org/vars]
[VARS web page at Sourceforge|http://vars.sourceforge.net]
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589957</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">501</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI
* [VARS 3.0.0] - Release date: 2006-11-31
* [VARS 3.0.1] - Release date: TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">503</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">505</id>
<property name="body"><![CDATA[h2. Release Highlights
* Resolving issues with the Knowledgebase application
* This release corresponds to version 1.0.5 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10010&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">507</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">504</id>
<property name="body"><![CDATA[h2. Release Highlights
* Resolving issues with the Knowledgebase application
* This release corresponds to version 1.0.5 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10005&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">506</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">503</id>
<property name="body"><![CDATA[h2. Release Highlights
* Resolving issues with the Knowledgebase application
* This release corresponds to version 1.0.5 at [http://vars.sourceforge.net]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10004&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">505</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">508</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI
* [VARS 3.0.0] - Release date: 2006-12-01
* [VARS 3.0.1] - Release date: 2006-12-04
* [VARS 3.1.0] - Release date: TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">510</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">507</id>
<property name="body"><![CDATA[h2. VARS Releases at MBARI
* [VARS 3.0.0] - Release date: 2006-11-31
* [VARS 3.0.1] - Release date: TBD
* [VARS 3.1.0] - Release date: TBD]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">509</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">486</id>
<property name="body"><![CDATA[h2. Developer Guides
[README|http://moonjelly/cgi-bin/cvsweb.cgi/vars-mbari/README]
[Javadoc|http://tienhou.shore.mbari.org/vars/developer/javadoc/index.html]
[SQL Examples]
h2. Browse Source Code
[Main Subversion repository|http://svn.sourceforge.net/viewvc/vars/]
[MBARI CVS repository|http://moonjelly.shore.mbari.org/cgi-bin/cvsweb.cgi/vars/]
h2. Open Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&resolution=-1&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=50&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">488</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">483</id>
<property name="body"><![CDATA[h2. Prerequisites
For most VARS use you do not need to install any additional software on Mac OS X. However, in order to fully utilize the Annotation application you will need to install a serial port adapter.

h2. Detailed Instructions
The following steps describe the prerequisites for running VARS:

# *Installing a Serial Port*
Apple computers do not ship with built in serial ports. In order to use the Annotation application you will need to install a serial port in order to talk to the VCR. Their are several options for this, the easiest is using a USB Serial Port adapter such as the [USB PDA/Serial Adapter (GUC232A) from IOGEAR|http://www.iogear.com/main.php?loc=product&Item=GUC232A]. Be sure to install the correct driver too. If you have a Blackmagic Design video capture card installed you do not need to install an additional serial port. VARS can use the serial port included on the video capture card.
# *Installing VARS*
You do not need to install VARS in order to run it. You can simply launch them from [http://tienhou.shore.mbari.org/webstart].

h2. References
[Java|http://www.java.com]
[Blackmagic Design|http://www.blackmagic-design.com/]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">485</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">484</id>
<property name="body"><![CDATA[h2. Release Highlights
* The Annotation App now uses [RXTX|http://www.rxtx.org] instead of [javax.comm|http://java.sun.com/products/javacomm/] for serial communications
* All applications will be deployed using Java Web Start rather than installers.
* A Beta version of the Knowledgebase application is now available. It has a number of known issues which are scheduled to be resolved in VARS 3.0.1
* Initial support for annotating high-definition (HD) tape is included. Full support is pending an update to the merge processing between the EXPD and VARS databases
* This release corresponds to version 1.0.4 at [http://vars.sourceforge.net]
* Test versions are available at [http://oyashio.shore.mbari.org/~brian/webstart]

h2. Resolved Issues
{jiraissues:http://oceana.shore.mbari.org:8082/secure/IssueNavigator.jspa?view=rss&&pid=10001&fixfor=10000&sorter/field=updated&sorter/order=DESC&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none&os_username=everyone&os_password=guest|columns=type;priority;key;summary;assignee;status}
]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">486</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">490</id>
<property name="body"><![CDATA[h2. Questions
* [Where does VARS get the camera data from?|#Q1]
* [How does VARS handle frame-capture?|#Q2]


h2. Answers

h3. Q: Where does VARS get the camera data from?{anchor:Q1}

The camera data is retrieved through the EXPD database on Solstice. Rich Schramm set up a process to load the camera-logs. Here's a note from Rich:

??Normal access should be to query through the views...either select * from VentanaCamlogData or select * from TiburonCamlogData??

??This view is going against base tables that are partitioned by vehicle and year. I recommenf you write software against the view rather than trying to go to the base tables. Access through the view should be very fast due to how Ive partitioned and indexed the tables however that remains to be verified once we get the several million rows added.??

??The status of loads can be viewed by select * from CamlogLoad, you can select by vehicle, year yearday etc....??

h3. Q: How does VARS handle frame-capture?{anchor:Q2}

*Overview*
VARS provides the ability to capture images from a video input. We are currently using Decklink cards from [Blackmagic|http://www.blackmagic-design.com/]. In the video lab, we are using Decklink. On the ships we use Decklink Extreme cards, which support multiple video sources. VARS communicates with the Decklink cards using Quicktime for Java.

!Frame_Capture.dp.gif!

*Where are the images initially stored?*
Images captured from video are initially stored on the workstation that is running VARS. The image location is <USER_HOME>/VARS/data/<platform>/images/<divenumber>/<timecode>.jpg. For Example, Saving an image for Tiburon dive # 789 for timecode 02:43:25:28 when you are logged in as user 'Tiburon' on Windows would create an image at C:\Documents and Settings\Tiburon\VARS\data\Tiburon\images\0789\02_43_25_28.jpg. A reference to the image is inserted into the database as a local URL (i.e {{file:/path/to/file/filename.jpg}}). The image is then immediatly accessible to the annotator but will not yet be available to any VARS applications that are not running on the same workstation.

*How do the images get onto the web?*
Annotations made on the ships and annotations made on shore are handled differently. However, all images will eventually make it onto //Tornado/framegrabs which can be browsed from the web at http://search.mbari.org/ARCHIVE/frameGrabs/

When the ship returns to dock, an rysnc is scheduled at night to copy the images to //Tornado/framegrabs. The rsync job looks for images only under specific users, which are 'Tiburon' on the Western Flyer and 'Ventana' on the Point Lobos. If you are logged on the workstation as a different user when you annotate on the ships the images will NOT be copied to shore. At 5:01 AM, the computer Tienhou runs a process that updates file URL's to HTTP URLs in the database. Any framegrabs that are made during a cruise will not be available through the VARS query until at least 5:02 AM of the day after the dive.

On shore, assuming you are on the internal network, VARS will attempt to copy the framegrabs over to //Tornado/framegrabs whenever a Video-archive is closed. The copy process also updates the URLs in the database. On shore, it does not matter who you are logged in as. Framegrabs that you make on shore will be available to everyone as soon as you close the Video-archive that you are annotating.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">492</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">622690</id>
<property name="body"><![CDATA[h2. About varspub.mbari.org
Varspub hosts the externally accessible IIS web server, VARS applications and MS SQL Server that hosts the external VARS database.]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">589924</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">493</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org
VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'var-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf']]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">495</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">494</id>
<property name="body"><![CDATA[h2. About vars-wf.wf.mbari.org
VARS-WF is the computer on the R/V Western Flyer used for running VARS

VARS is launched via Java Web Start on VARS-WF. Each application has a correspoding desktop shortcut and start menu item; they should appear as reqular applications to the users and no network connection is needed to launch them. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'var-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.wf']]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">496</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">491</id>
<property name="body"><![CDATA[h2. About vars-pl.pl.mbari.org
VARS-PL is the computer on the R/V Point Lobos used for running VARS

VARS is launched via Java Web Start on VARS-PL. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'var-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.pl' ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">493</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">492</id>
<property name="body"><![CDATA[h2. About vars-pl.pl.mbari.org
VARS-PL is the computer on the R/V Point Lobos used for running VARS

VARS is launched via Java Web Start on VARS-PL. The location of the web start applications are C:\Program Files\VARS\webstart. The applications here can be updated by following the build instructions for the 'vars-mbari' module on moonjelly, then executing the modules build file with 'ant deploy.jnlp.pl' ]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">494</id>
</property>
</object>
<object class="BodyContent" package="com.atlassian.confluence.core">
<id name="id">495</id>
<property name="body"><![CDATA[h2.Computers that are involved with running VARS at MBARI
[Alaskanwind]
[Glacierwind]
[Solstice]
[Tienhou]
[VARS-PL]
[VARS-WF]
[Varspub]]]></property>
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">497</id>
</property>
</object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">917547</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">20</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">18252688</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">18252690</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">2162941</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113448</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">10911858</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113529</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">16777467</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">20</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">589956</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">498</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113529</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">10355779</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">23167164</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">10355779</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">372</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">16777462</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">23167164</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">28213264</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">705</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">426</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113448</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">431</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">430</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113621</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">10911858</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">18252690</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">2162941</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">447</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">16777467</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">18252688</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">447</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">28213264</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">917547</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">16777462</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">430</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">589956</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">431</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">705</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">426</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">372</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113641</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">498</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113641</property>
<property name="key"><![CDATA[isbookmark]]></property>
</composite-id>
<property name="type">5</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
<object class="BucketPropertySetItem" package="bucket.user.propertyset">
<composite-id><property name="entityName"><![CDATA[confluence_ContentEntityObject]]></property>
<property name="entityId">3113621</property>
<property name="key"><![CDATA[socialbookmarkingurl]]></property>
</composite-id>
<property name="type">6</property>
<property name="booleanVal">false</property>
<property name="doubleVal">0.0</property>
<property name="stringVal"/><property name="textVal"><![CDATA[]]></property>
<property name="longVal">0</property>
<property name="intVal">0</property>
<property name="dateVal"/></object>
</hibernate-generic>