Main Page

From VxOware

Revision as of 21:09, 29 January 2010 by WikiSysop (Talk | contribs)
Jump to: navigation, search

Contents

  1. Search: Internal
    1. Search
    2. Attribute Search
    3. Context Search
  2. Search: External
    1. Configuration
      1. With text editor
      2. With web interface
    2. REST
    3. Query and Result
      1. Query
        1. Capabilities query
        2. Basic Query
        3. Query Option: noOutput
        4. Query Option: document
        5. Query Option: shareExternalSources
        6. Query Option: idsList
        7. Query Option: pointSearch
        8. Query Option: dateStart and dateEnd
      2. Result
      3. Web interface
        1. Searchable Section List
        2. Query Page
        3. Result Page
      4. XSL Result Parser
        1. REST Request
        2. Web interface
        3. Example: KML-XML-SPIDR
      5. Java Result Parser
  3. Search XQuery
  4. Adding/Editing Metadata
    1. Web Browser
    2. Command-line
  5. Linking and Tagging
    1. General
    2. Wiki
  6. Installation
    1. General Instructions
      1. Pre-requisites
      2. Install and configure Java
      3. Install and configure Tomcat
      4. Install Ant
      5. MySQL database
      6. eXist
      7. Set default databases
      8. Checkout and Build
    2. EC2 Instructions

1 Search: Internal

1.1 Search

Pattern matching is allowed. Works in free-text and advanced search but not "outer search".

Searching on a time as in 2008-01 will result in all documents with that year and month.

node-set &= 'string of keywords'

This operator selects context nodes containing ALL of the keywords in the right-hand argument in any order. The default tokenizer is used to split the right-hand argument into single tokens, i.e. any punctuation or white spaces are used to separate the keywords and, after which, are omitted. Note also that wildcards are allowed, and keyword comparison is NOT case-sensitive.

There is also "|=" operator available, for searching ANY of the keywords, not available from VxO now.

Both of the above operators accept simple wildcards in the keyword string. A ? matches zero or one character, * matches zero or more characters. You may use a backslash to escape wildcard characters.

Examples: To find the "Havana" word you can use:

  • havana
  • ha*na
  • ha?a?a
  • ha*

1.2 Attribute Search

An attribute search is used for full-text search in all VO sections based on their properties (for example, usage and view statistics). Thus time and space binding (which is possible) allows to search for VO objects with specific geographic coordinates and time properties. You can also search among objects belonging to a certain discussion topic or a certain user.

1.3 Context Search

A context search is done taking into consideration the properties of each type of record and is aimed at the contents of the record. The search space can be limited with one or more meta-record elements. For example, in the section, which contains FGDC data, you can search for records containing certain values among keywords.

2 Search: External

An external search may be made on VxO sections that are available using a framework of web-services. Thus, a p2p VxO federation may be created which allows for the interaction and data exchange across different application domains. To make a section available for external search, an administrator must specify a list of sections that are web-service accessible along with a list of metadata fields that are available for searching and displaying.

The external search web-service is available via REST protocol. The web-service returns a configuration-based self-description of VxO (information about the available capabilities) with a list of sections open for search. On requesting the information for a certain section, the web service returns a list of meta-record elements (and possibly a set of valid values), with values that may be used to find objects in this section. With this self-description, a context search query can be created which results in a list of objects. An important feature of the external search web-service is its dynamic result format. You may choose which of the available meta-record fields you need to see in the query result. These properties of the web-service make it suitable for case-based reasoning applications.

Searching in a time field with, for example, 2008-01, will result in all documents with that year and month.

2.1 Configuration

2.1.1 With text editor

External search capabilities are set in the VxO configuration files.

Observatory sections can be opened for the external search by the settings of the file /conf/vo_description.xml

<?xml version="1.0" encoding="UTF-8"?>
 <OBSERVATORY>
    ...
    <DATA_SECTIONS>
        <SECTION>
            <NAME>Documents</NAME> <!-- sectionId -->
            <LONG_NAME>Documents</LONG_NAME>
            ...
            <IS_CAPABILITIES>true</IS_CAPABILITIES>
        </SECTION>
        ...
    </DATA_SECTIONS>
 </OBSERVATORY>

The list of sections available for the external search is reported in the VO capabilities document.

A list of elements exposed for the external search is set in the observatory section configuration file /conf/[sectionId]/[sectionId]Schema.xml

<?xml version="1.0" encoding="UTF-8"?>
 <SCHEMA>
    <SCHEMA_NAME>News</SCHEMA_NAME>
    ...
    <FIELD>
        <KEY>keyTitle</KEY> <!-- parameterId -->
        <LONGNAME>Title</LONGNAME>
        ...
        <IS_CAPABILITIES use="identification"/>
    </FIELD>
    ....
 </SCHEMA>

The list of searchable elements in a section is reported in the VO section capabilities document.

2.1.2 With web interface

Image:Outer5.PNG

  1. External search is available only via link 1
  2. The list of known external sources is given in list 2
  3. You can add a new source in field 3
  4. The sources that should be available via the search pages (current VxO interface) are marked with checkboxes (4)
  5. The changes to the external sources list are committed by pressing button 5
  6. Press button 6 to automatically search for sources. When this button is clicked the system walks through all the known sources (present in the list) and makes a “shareExternalSources” request as shown below. All found sources are added to the common list.

Image:Outer6.PNG

  1. After clicking the “search source” button the known source are queried (group 1)
  2. The sources return the addresses of their known sources. The new addresses are added to the common list (group 2)
  3. VO administrator may set checkboxes for some of the new entries to make them available through the current VO interface










.

2.2 REST

When an xml file is uploaded into a subdirectory of an observatory section, the filename is stored internally and the xml file is given a document name that is a 36-digit hash (such as BE41D3AB-FE78-DC54-6379-2C2AB6668B96). For example, if you upload the file Robert.S.Weigel.xml, it will appear in the Exist db as virbo/SPASEPerson/BE41D3AB-FE78-DC54-6379-2C2AB6668B96.xml. You may access the xml file by filename and directory path or by its hash name. The raw xml is accessible via

This will also work:

Suggested syntax change

filetype and object arguments default to object and xml and style=print would return the print view (or just the xml if a print view is not available)

Associated with each uploaded object is a forum object which includes information such as the name of the person who uploaded the object, the number times it was viewed, revision history, tags, cross-references, and discussion. To access the uploaded object in the observatory with a browser and see the HTML rendering of the uploaded metadata object and its associated forum object, use

Suggested syntax change

The raw xml for the form object is also accessible:

Suggested syntax change

where style=print would return the xml file if no xslt transform is found.

2.3 Query and Result

Each parameter in self-description may be used for searching by element. Each parameter may be returned in search results

2.3.1 Query

2.3.1.1 Capabilities query

This document describes the observatory structure, its sections available for outer search

VO self-description format (http://vo_app/capabilities.do)

<?xml version="1.0" encoding="UTF-8"?>
 <CAPABILITIES>
   <NAME>VO name</NAME>
    <DESCRIPTION>VO description</DESCRIPTION>
      <SECTION>
      <NAME>section name</NAME>
          <DESCRIPTION>section description</DESCRIPTION>
          <PARAMKEY>sectionId</PARAMKEY>
      </SECTION>
   <SECTION></SECTION>
 </CAPABILITIES>

This document describes the records contained in sections. Each parameter describes the document’s XML element available for outer search

Section self-description format (http://vo_app/capabilities.do?section=[sectionId])

<?xml version="1.0" encoding="UTF-8"?>
 <CAPABILITIES>
  <ACTION>outersearch</ACTION>
  <SECTION>sectionId</SECTION>
  <PARAMETER>
    <NAME>search parameter name</NAME>
    <DESCRIPTION>parameter description</DESCRIPTION>
    <PARAMKEY>parameterId</PARAMKEY>
    <TYPE use=“[notes]">parameterType</TYPE>
    <VALUE>parameter values (optional)</VALUE>
    <VALUE></VALUE>
  </PARAMETER>
  <PARAMETER>...</PARAMETER>
 </CAPABILITIES>

2.3.1.2 Basic Query

http://vo_app/outersearch?section=[sectionId]&[parameterId]=[searchString]&[parameterId(2)]=[searchString(2)]&output=[parameterId(3)]&output=[parameterId(4)]

2.3.1.3 Query Option: noOutput

If «output» parameters are missing, the result will contain only the number of found records

<?xml version="1.0" encoding="UTF-8"?>
 <result found_items=“[int]>
 	<found_items>[int]</found_items>
 </result>
http://vo-app/outersearch?[searchRequest]&noOutput=true

This parameter can be used to obtain only the list of found documents, for example:

<?xml version="1.0" encoding="UTF-8"?>
 <result found_items="508">
	<found_items>508</found_items>
	<item doc_name="GeomStationsNPL">noDetails</item>
 	<item doc_name="GeomStationsEPN">noDetails</item>
 	<item doc_name="GeomStationsWES">noDetails</item>
 	......
 </result>

2.3.1.4 Query Option: document

Returns a full XML document stored in VO by its ID (applies only to records stored in observatory sections)

http://vo-app/outersearch?specialRequest=document&docId=[documentId]

2.3.1.5 Query Option: shareExternalSources

Request:

http://vo-app/outersearch?specialRequest=shareExternalSources

Result:

<?xml version="1.0" encoding="UTF-8"?>
 <EXTERNAL_SOURCES>
        <!-- the underscore before the S is only there to avoid a wiki rendering problem--> 
 	<_SOURCE capability="true">http://vo-app1/</_SOURCE> 
 	<_SOURCE capability="true">http://vo-app2/</_SOURCE> 
 </EXTERNAL_SOURCES>

A list of external observatories (federation) is returned. These observatories are known by the requested one. The attribute “capability” indicates whether the external observatory can be searched by the outersearch web service at the requested one.

2.3.1.6 Query Option: idsList

http://vo_app/outersearch?section=[sectionId]&idsList=[documentId-1],[documentId-2],…,[documentId-n]&output=[parameterId-1]&output=[parameterId-2]

The “idsList” value can specify directly a list of documents IDs to be exported, rather than the document search.

This document ID filter can be used in addition to the document search filter, to search only for the documents from the idsList.

2.3.1.7 Query Option: pointSearch

http://vo_app/outersearch?section=[sectionId]&pointSearch=[latitude][longitude]&output=[parameterId-1]&output=[parameterId-2]

Search for the geographic location (latitude - longitude pair, space separated). The result will be all geolocated records, which include the point into the geolocation rectangle.

This geolocation filter can be used in addition to other document search filters.

2.3.1.8 Query Option: dateStart and dateEnd

http://vo_app/outersearch?section=[sectionId]&dateStart=[yyyy.mm.ddThh.mm.ssUTC]&dateEnd=[yyyy.mm.ddThh.mm.ssUTC]&output=[parameterId-1]&output=[parameterId-2]

Is used to search for the date range. Only documents with time stamp within the date range will be returned.

  • This date range filter can be used in addition to other document search filters.

2.3.2 Result

Search results are returned as a file, where “item” corresponds to a found document and “element” corresponds to a parameter declared as “output”

Search result format

<?xml version="1.0" encoding="UTF-8"?>
<result found_items=“[int]">
 <found_items>[int]</found_items>
 <item doc_name=“recordId">
  <element>
   <element_key>parameterId</element_key>
   <element_title>parameter name</element_title>
   <element_values>
    <value>parameter value</value>
    <value></value>
   </element_values>
  </element>
  <element></element>
 </item>
 <item></item>
</result>

2.3.3 Web interface

2.3.3.1 Searchable Section List

Image:Outer2.PNG

2.3.3.2 Query Page

Image:Outer3.PNG

2.3.3.3 Result Page

For each document only requested elements are returned

Image:Outer4.PNG

2.3.4 XSL Result Parser

2.3.4.1 REST Request

http://vo_app/outersearch?section=[sectionId]&[parameterId]=[searchString]&output=[parameterId-2]&useTransformer=true&transformer=http://host/file.xsl&resType=HTML


“resType” – optional parameter, if it is absent – return XML

2.3.4.2 Web interface

Image:Outer7.PNG

2.3.4.3 Example: KML-XML-SPIDR

This document describes how to transform XML stream into KML with external search results from the VxOware by applying an XSL file (referred by URL).

Real world example of such XSL can be found at http://dimetra.wdcb.ru/kokovin/kml-spidr-geom.xsl

Example of the VxOware “outersearch” request modified with the above XSL: http://dimetra.wdcb.ru:8080/spidrObservatory2/outersearch?section=GeomStations&dateStart=1900-01-01&dateEnd=2100-01-01&output=keyCitationTitle&output=keySpdomWest&output=keySpdomNorth&useTransformer=true&transformer=http%3A%2F%2Fdimetra.wdcb.ru%2Fkokovin%2Fkml-spidr-geom.xsl&resType=XML

We have a special web form in the VxOware to experiment with the XSL transformations of the outersearch results; when the XSL transformation will give a satisfactory result, one can copy the search request URL from the search results address line (in web browser) and use it in another application:


Image:Outer8.PNG

2.3.5 Java Result Parser

Java class to parse the search results document.

String searchRequestUrl = “[request]”;
ResultStructure searchResult= new ResultStructure(searchRequestUrl);

Compare Java method call with the XML(xPath) query:

result/item[itemNum]/element[element_key=“parameterId”]/element_values/value[0]

searchResult.getItem(itemNum).getElement(“parameterId").getValue(0)

  • For more details see VxOware sources

3 Search XQuery

Launch eXist webstart, select binoculars and enter:

for $doc in /* [text:match-all(.,'Filename')] return
concat(util:collection-name($doc), '/', util:document-name($doc))

to search for word Filename in all parts of all documents starting at the root of the eXist db.

4 Adding/Editing Metadata

4.1 Web Browser

You may upload a single XML file or a zip file with XML metadata files. The metadata files will appear in the section that is selected in the upload form.

If you are logged in, you may edit metadata in a given section by selecting the "edit" button near the top of its page.

4.2 Command-line

Example: modify an existing record using the VxOware API and command line tools. To upload a new metadata record, skip to the "Manual edit" step.

First, download the command-line tool zip

Then, view existing metadata at

http://virbo.org/meta/viewdata.do?filepath=/SPASEPerson/PersonTest.xml

Download XML file

curl -o ./xml/SPASEPerson/PersonTest.xml http://aurora.gmu.edu:8080/exist/servlet/db/virbo/SPASEPerson/PersonTest.xml

Make manual edit to file at ./xml/SPASEPerson/PersonTest.xml

Upload modified file

./vxoware-upload.pl ./xml

View revised file

http://virbo.org/meta/viewdata.do?filepath=/SPASEPerson/PersonTest.xml

Note: vxoware-upload.pl uploads the record using uniqueId=false. If uniqueId=true, then the file name is ignored and a hash is used for the filename in the eXist database (but real filename is always preserved in forum file). If uniqeId=true was used, but an xml file with the same name exists anywhere else in the eXist database, then the real name is used in subdirectory of the eXist database. However, vxoware will not recognize the two files as being distinct, because the forum directory, which stores information about each piece of metadata in the observatory, is flat. This may change in a future version of VxOware.

5 Linking and Tagging

5.1 General

Based on Kokovin's ViRBO Wiki Syntax

VxO oject ID (permalink) can be seen in the UR string of the web browser at the object view page:

http://spidrd.ngdc.noaa.gov/virbo/viewdata.do?docname=EA3D7943-3E85-2E7F-4A6F-D44919DB17C1

Relating objects

A VxO admin or author of the content item (object) can relate the object with other objects and groups of objects (tags). This can be done by adding the object ID into the text area at the object view page and pressing Add button.

5.2 Wiki

Linking object in the Wiki document

Some VO metadata records (for example, the Documents section) support embedded links to other VO objects (data files or metadata records) inside the text of the record. When viewed, the embedded link is rendered as hyperlink directing to another VO view or data sotre.

In that case, when editing the metadata record, there will be a button “insert object” near a text area of the web form. The button will open a new window with a list of all VO objects owned by the user, which can be linked to the document:

Each object cab linked to the edited document in several ways (as a metadata record or as a data file), depending on the object type.

The button “Insert link to document” will add the link like

[*1D675969-078E-E335-81EF-806FD344806D|for test*]

When viewed, it will be rendered as a hyperlink to the object “1D675969-078E-E335-81EF-806FD344806D“ with the hyperlink text “for test“ (the oject title in our example).

Examples of all supported Wiki tags are shown at the metadata editor page:

  1. KEYWORDS or LABEL to reference other documents in this section, where KEYWORDS is the name of the referenced article (not necessarily an existing article), LABEL - visible label.
  2. [*DOCUMENT_ID#ANCHOR|LABEL*] to create a direct link to the document, where DOCUMENT_ID is a document identifier, ANCHOR is a link inside the document (optional).
  3. [^FILE_ID|LABEL^] to create a direct link to the file, where FILE_ID is a file identifier.
  4. [IMG-OBJ_ID|LABEL-IMG] to inset image to the file, where OBJ_ID is a image identifier.
  5. [#ANCHOR#] to create a link inside the document.

These tags can be inserted either from the list of all objects owned by user (see above) or by hand when the object ID is known (from the web browser URL string).










.

6 Installation

6.1 General Instructions

6.1.1 Pre-requisites

6.1.2 Install and configure Java

Please refer to your linux distribution manual about installing the Java package. The Sun JDK version is preferrable. You can obtain it from http://java.sun.com.

6.1.3 Install and configure Tomcat

The Tomcat installation directory (e.g., /usr/local/tomcat) will be referred to as CATALINA_HOME.

Enable Manager Servlet (see also http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html)

  • add "manager" role to tomcat's conf/tomcat-users.xml
  • add user with "manager" role
<role rolename="manager"/>
 <user username="tomcat" password="secret" roles="manager"/>

set privileged="true" in conf/context.xml

<Context>
 <Context privileged="true"/>
...

Retart Tomcat:

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

Test the Tomcat manager by pointing your web browser to:

http://localhost:8080/manager/html

6.1.4 Install Ant

Download Ant from http://ant.apache.org/bindownload.cgi You may also need to add the ant bin folder to the path.

6.1.5 MySQL database

Please refer to your Linux distribution manual about installing MySQL.

6.1.6 eXist

Download eXist, configure it, and install into Tomcat Download the eXist war file from http://exist-db.org/download.html

wget http://prdownloads.sourceforge.net/exist/eXist-1.2.2-rev7828.war

Copy the eXist war file into Tomcat's webapps directory as "exist.war"

cp eXist-1.2.2-rev7828.war $CATALINA_HOME/webapps/exist.war

Test the eXist install by opening http://localhost:8080/exist/

Run the eXist Webstart client via the "Launch" button near the lower left of your eXist web page. Login as admin. You do not need a password the first time you login.

To set the admin password, select

  • Tools/Edit Users
  • Select "admin" in the list.
  • Enter a password.

Click "Modify User" (which provides very little apparent confirmation as a result)

6.1.7 Set default databases

Load vxoware/user_sql_database/virtobs.sql into MySQL

mysql -u login -p -h localhost < virtobs.sql

Unzip voData directory

unzip /home/ubuntu/vxoware/voData/voData.zip

and edit configuration file accordingly

vxoware/conf/vo_store.conf

Load vxoware/exist_database/backup_virbo.zip to the eXist database

cd vxoware/exist_database
unzip backup_virbo.zip

Run eXist client:

* Open http://localhost:8080/exist
* Press orange Launch button near the bottom of the left column
* Enter the password you entered installing eXist
* Press OK
* Select tools -> Restore
* Files of type: __contents__.xml files

Browse to the vxoware/exist_database/db and press 'Select backup file for restore'

Edit vxoware/web/WEB-INF/web.xml In vxoware/web/WEB-INF/web.xml, change the

SettingsServlet configFile element to define the path of the permanent configuration file init.conf, e.g.,

<servlet>
 <servlet-name>SettingsServlet</servlet-name>
 <servlet-class>wdc.settings.SettingsServlet</servlet-class>
 <init-param>
  <param-name>configFile</param-name>
  <param-value>/etc/myVxO/conf/init.conf</param-value>
 </init-param>
 <load-on-startup>1</load-on-startup>
</servlet>

6.1.8 Checkout and Build

Get the application from svn

svn co https://vxoware.svn.sourceforge.net/svnroot/vxoware/virbo/trunk vxoware

In build.properties,

  • set catalina.home to $CATALINA_HOME
  • set username and password to that of tomcat manager
  • set the app.name property to myVxO
  • set manager.username property to define the name of a user having the manager role

Create a link to catalina-ant task in your home directory.

mkdir -p .ant/lib
ln -s $CATALINA_HOME/lib/catalina-ant.jar ~/.ant/lib

Set up a configuration directory, e.g.,

mkdir /etc/myVxO ; cp -r vxoware/conf /etc/myVxO/conf

Edit the file /etc/myVxO/conf/init.conf

set directory.conf=/etc/myVxO/conf

Edit other locations in settings file

In vo_meta.conf (e.g., /etc/myVxO/conf/vo_meta.conf), set the eXist database admin password.

You may also set the language and time format here.

Build and deploy the web application

ant install

If the webapp deployment fails because it already exists, try:

ant try

Open http://localhost:8080/myVxO The default users and their passwords already existing in installation are

admin:admin
user1:user1
user2:user2

6.2 EC2 Instructions

First, obtain an EC2 account and install the ec2 tools on your local machine by following https://help.ubuntu.com/community/EC2StartersGuide

From command line, execute

ec2-run-instances ami-bb709dd2 -k ec2-keypair

Wait a minute or two until

ec2-describe-instances

returns with a URL to your instance such as ec2-174-129-50-195.compute-1.amazonaws.com

ec2-authorize default -p 22   # Authorize ssh
ec2-authorize default -p 8080 # Authorize tomcat
ssh -i ~/.ec2/ec2-keypair.pem ubuntu@ec2-174-129-50-195.compute-1.amazonaws.com

remove * in URL http://us*.archive in sources.list

sudo nano /etc/apt/sources.list 
sudo apt-get update
sudo tasksel --section server # Select Tomcat and LAMP.  Write down mySQL password that you entered
wget http://localhost:8080/ # Should work
sudo apt-get install ant
sudo apt-get install subversion

get jdk-6u18-linux-i586.bin from java.sun.com

sh jdk-6u18-linux-i586.bin
ln -s jdk1.6.0_18 jdk
JAVA_HOME=/home/ubuntu/jdk;export JAVA_HOME
JRE_HOME=/home/ubuntu/jdk;export JRE_HOME
CATALINA_HOME=/usr/share/tomcat6;export CATALINA_HOME

Change line

<user username="tomcat" password="tomcat" roles="tomcat"/>

to

<user username="tomcat" password="tomcat" roles="tomcat,manager"/>
sudo nano /etc/tomcat6/tomcat-users.xml 
sudo nano /etc/tomcat6/context.xml # Add <Context privileged="true"/> inside of existing <Context> block.

Next three steps are required if using Sun's Java, which is recommended

sudo ln -s /etc/tomcat6 /usr/share/tomcat6/conf
sudo ln -s /usr/share/tomcat6/webapps/default_root /usr/share/tomcat6/webapps/ROOT
sudo mkdir /usr/share/tomcat6/logs

Install eXist:

wget http://sourceforge.net/projects/exist/files/Stable/1.2/eXist-1.2.6-rev9165.war/download
sudo cp eXist-1.2.6-rev9165.war $CATALINA_HOME/webapps/exist.war

Re-start Tomcat:

sudo $CATALINA_HOME/bin/shutdown.sh
sudo JRE_HOME=$JRE_HOME $CATALINA_HOME/bin/startup.sh

Check http://ec2-174-129-50-195.compute-1.amazonaws.com/manager/html to make sure everything is running (username and password default is tomcat)

svn co https://vxoware.svn.sourceforge.net/svnroot/vxoware/virbo/trunk vxoware
sudo less /etc/tomcat6/tomcat-users.xml
nano vxoware/build.properties # Set catalina.home=/usr/share/tomcat6 and change username and password to match what is in tomcat-users.xml
nano vxoware/build.xml # Replace virbo with myVxO
nano vxoware/web/WEB-INF/web.xml # Set SettingsServlet to /etc/myVxO/conf/init.conf
nano vxoware/conf/init.conf # set directory.conf=/etc/myVxO/conf
sudo mkdir /etc/myVxO
sudo cp -r vxoware/conf /etc/myVxO
sudo mysql -u root -p -h localhost # Enter create database myVxO;quit;
sudo mysql -u root -p -h localhost myVxO < vxoware/user_sql_database/virtobs.sql
sudo apt-get install unzip
cd /var/www; sudo unzip ~/vxoware/voData/voData.zip
scp vxoware/exist_database/backup_virbo.zip yourlocalmachine:
unzip backup_virbo.zip
Run eXist webstart client from http://ec2-174-129-50-195.compute-1.amazonaws.com:8080/exist
Select tools -> Restore
Files of type: __contents__.xml files

Browse to the vxoware/exist_database/db and press 'Select backup file for restore' and select __contents__.xml file

sudo ln -s /usr/share/tomcat6 /usr/local/tomcat
mkdir -p ~/.ant/lib
ln -s $CATALINA_HOME/lib/catalina-ant.jar ~/.ant/lib

Note that sudo ant try does not pass user's environment vars for JAVA_HOME and CATALINA_HOME, so sudo cp is needed.

cd vxoware ; ant try 
sudo cp vxoware/deploy/myVxO.war /usr/share/tomcat6/webapps