home

From VxOware

Jump to: navigation, search

Contents

  1. Development
    1. Test installation
    2. Source Code
    3. Installation
    4. Dependencies
      1. Apache Tomcat
      2. Exist database
      3. MySQL
      4. Netbeans
      5. Set up VxO Database
      6. Set up VxO Webapp
      7. Review of Directories
  2. Administration
    1. Forgotten Password
    2. Admin privileges
  3. Observatory Sections
    1. Default Sections
    2. Creating a Section
      1. Step 1 create conf/Help directory
      2. Step 2 vo_description.xml
      3. Step 3 helpTree.xml
      4. Step 4 helpSchema.xml
      5. Step 5 helpTemplate.xml
      6. Step 6 helpView.xsl
    3. Virtual Sections
  4. Exist DB Layout
  5. Ordering Extensions
    1. Time Selection
  6. Search: Exist DB
  7. Search: Internal
    1. Attribute Search
    2. Context Search
  8. Search: External
    1. Configuration
      1. With text editor
      2. With web interface
    2. 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
  9. Adding/Editing Metadata
    1. Web Browser
    2. Command-line
  10. Linking and Tagging
    1. General
    2. Wiki
  11. Unfiled
    1. Working Paper
    2. Data Centers, VxOs, etc.
    3. Thredds/Hyrax

[edit] 1 Development

The VxOware codebase is in the process of being migrated to SourceForge. This is a draft documentation page. A complete release (documentation + .war file) is planned for August, 2009.

[edit] 1.1 Test installation

The latest default installation of VxOware is available at http://vxoware.org/myVxO. This page is updated nightly based on the CVS repository.

[edit] 1.2 Source Code

Until source code is moved to sourceforge, you will need a password to access the repository.

login with

cvs -d :pserver:weigel@clust1.wdcb.ru:/mnt/disk/repository login

download with

cvs -d :pserver:weigel@clust1.wdcb.ru:/mnt/disk/repository co virtualObservatory

logout with

cvs -d :pserver:weigel@clust1.wdcb.ru:/mnt/disk/repository logout

Then read INSTALL

[edit] 1.3 Installation

See the file INSTALL in root of the source code directory tree.

Note that the default session time for VxOware is set according to the Tomcat session time. To change default session time in tomcat, you need to edit tomcat/conf/web.xml. The section "default session configuration", parameter session-config/session-timeout.

[edit] 1.4 Dependencies

[edit] 1.4.1 Apache Tomcat

Well-known, freely available java web application server.

[edit] 1.4.2 Exist database

Exist is a native XML database. It's a web application that runs within the Tomcat container.

  • exist.war is dropped in the webapps directory of the tomcat container. Tomcat, if so configured, should discover it on startup and deploy the application. OR...
  • the manager webapp, http://localhost:8080/manager/html/ is used to manually deploy the application. (The location of the web container depends on the tomcat installation.)
  • verify exist by
    • point a browser to http://localhost:8080/exist/, and an exist page should come up.
    • click on the webstart link ( on left side) to launch a client. The username and password were set up in Boulder through some mysterious process.
    • the client should display the virbo databases "system" "rss" and "vrbo"

[edit] 1.4.3 MySQL

  • fresh install of mysql 5.0.27 onto windows workstation
  • root password set based on virbo webapp configuration.
    • I'll adapt this to any production mysql soon
  • copied over binaries for the databases "virtobs" and "virboindex" from the working to the new database
    • procedure should use mysqldump instead
    • need to create a minimal initial database.

[edit] 1.4.4 Netbeans

Netbeans contains a tomcat instance, and this is what we used in Boulder. It looks like we installed the exist and virbo webapps on the \Program Files\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\ instance. Note that when a user is debugging a webapp, the container used is \Documents and Settings\<USER>\.netbeans\5.5\apache-tomcat-5.5.17_base. This is what was tripping me up last night.

Setting up VxOWare for debugging in Netbeans

[edit] 1.4.5 Set up VxO Database

  • run the exist client of a working setup.
  • use the "backup" option to export the data locally. In the root of the selected folder the client will create the file "__contents__.xml"
  • run the exist client on the new installation.
  • import the backup with the "restore" option. Select the "__contents__.xml" file created in the backup process.
  • I (jfaden) used spot3:/home/jbf/ct/virbo/webapps/db/vrbo/...
  • I had to "Create Collection"->vrbo to get the jnlp client (and virbo) to see it.

[edit] 1.4.6 Set up VxO Webapp

  • check out virbo project from :pserver:<user>@clust1.wdcb.ru:/mnt/disk/repository
  • navigate down to conf directory, there are maybe 6 configuration files: init.conf ... vo_meta.conf
  • /etc/virbo contains these configuration files as well, and these look like the ones used.
  • /virboData is pointed to by vo_store.conf
  • configure the Settings servlet.
    • edit web/WEB-INF/web.xml
    • look for the node: <servlet-name>SettingsServlet</servlet-name>
    • set the parameter "configFile" to "/etc/virbo"
  • Note errors are sometimes caught and any error messages are printed to stderr, so be sure to watch Tomcat's log files!!! My exist URL was wrong, and the error at the view level was just a null pointer exception. The runtime error had been caught and squashed, and null returned...

[edit] 1.4.7 Review of Directories

  • let VOHOME be the root of the checked out files.
    • it should contain BUILD.XML and web/WEB-INF
  • VOHOME/web/WEB-INF/web.xml defines a "SettingsServlet" which has a parameter "configFile"
    • mine points to c:/etc/virbo/init.conf
    • it points to CONFIGFILE
  • let CONFIGFILE be the configFile parameter described above.
    • it points to CONFIGDIR
  • let CONFIGDIR be the directory containing config files.
    • this contains init.conf (confusing), users.conf, vo_meta.conf.
    • vo_meta.conf points to the exist database

[edit] 2 Administration

[edit] 2.1 Forgotten Password

For VxOware password reset, you need to edit the MySQL user database stp. To determine the password for user with login LOGINNAME,

# mysql -u root -p -h localhost stp
mysql> select password from users where login='LOGINNAME';

[edit] 2.2 Admin privileges

update users set type='M' where login='LOGINNAME';

[edit] 3 Observatory Sections

The basic grouping of objects (metadata records) in the VxO is based on their section. A VxO using VxOware may contain any number of sections, each of them having different types of metadata records. For example, one section may contain metadata records that follow the RSS document model. In this case, the section may have a XSLT file that is associated with the section along with an editor page. Figure 2a shows a screenshot of a VxO in which a previously stored RSS metadata record that has been rendered in HTML using a XSLT file that is associated with that section. Figure 2b shows the rendering of the same metadata record in an editor that has been configured to allow for the editing RSS metadata. The configuration of sections by metadata format allows for the straightforward display of records, context search using the native metadata fields, and the exchange of records within the VxO network.

A section may be configured to contain many different metadata object types such as simple records (e.g., RSS records for a news section), library catalogs (e.g., World Data Center holdings), metadata describing different sources (e.g., files, databases, web-services) and providers (e.g., stations, observatories, satellites), and metadata in a domain-specific document model (e.g., SPASE or FGDC). The predefined VxOware sections include News, which is used for notifications and automatically generated messages and is also the source of the the VxOware RSS feed, Blogs, which contains records for user journals, Message boards, which contains discussions between the users, and Documentation, which has an editor that accepts wiki-formatted text.

VxOware sections have the following features:

  • Import and export of metadata records via a web service
  • External search via a web service
  • Connection to an external indexing database to speed up full-text search

[edit] 3.1 Default Sections

As shown in the default installation of VxOware at http://vxoware.orog/myVxO, when you first install VxOWare, there are four sections

  1. News
  2. Documentation
  3. Message Board
  4. Blogs

There are also a number of predefined sections with sample metadata that are not visible in the section menu on the left.

  1. SPASE 1.2
  2. FGDC X.Y
  3. Get Data
    1. SPIDR Indices
    2. CDAWeb OPeNDAP
    3. timeseries.org

to activate these hidden sections, uncomment the appropriate lines in vo_description.xml, which is described below.

[edit] 3.2 Creating a Section

The following instructions show how to create a new section in the observatory. Based in part on Kokovin's VxOWareConfig.ppt

[edit] 3.2.1 Step 1 create conf/Help directory

Start the eXist webstart client by going starting the web start program http://vxoware.org/exist/exist.jnlp and create a directory named conf/Help

[edit] 3.2.2 Step 2 vo_description.xml

Edit vo_description.xml

<SECTION>
          <NAME>Help</NAME> <!– Id -->
          <LONG_NAME>Help docs</LONG_NAME> <!– Name -->
          <PATH>/</PATH><!-- auto -->
          <DESCRIPTION>.. For example ...</DESCRIPTION> <!– Description -->
          <TREE>Help/helpTree.xml</TREE> <!– path to doc -->
          <SCHEMA>Help/helpSchema.xml</SCHEMA><!– path to doc -->
          <TEMPLATE>Help/helpTemplate.xml</TEMPLATE><!– path to doc -->
          <DATAXSL>Help/helpView.xsl</DATAXSL><!– path to doc -->
          <ADDITION_RESTRICTION>true</ADDITION_RESTRICTION> <!-- settings -->
          <TOTAL_FILES>20</TOTAL_FILES> <!-- auto -->
          <LAST_ITEM></LAST_ITEM><!-- auto -->
          <IS_CAPABILITIES>true</IS_CAPABILITIES><!-- settings -->
          <IS_FAST_INDEX>false</IS_FAST_INDEX><!-- settings -->
          <DOC_NAME_TYPE>default</DOC_NAME_TYPE><!-- settings -->
 </SECTION>

Element notes:

  • IS_DISPLAY_ELEMENTS: Content of the listed elements is used to make a meta-meta record for a cross-section search inside VO. All the flags listed below can be used in the XML schema document ONLY ONCE:
    • IS_DISPLAY_TITLE (required)
    • IS_DISPLAY_DESCRIPTION (required)
    • IS_DISPLAY_LINK
    • IS_DISPLAY_DATE_FROM
    • IS_DISPLAY_DATE_TO
    • IS_DISPLAY_N_COVERAGE
    • IS_DISPLAY_S_COVERAGE
    • IS_DISPLAY_W_COVERAGE
    • IS_DISPLAY_E_COVERAGE
  • IS_CAPABILITIES
    • All elements marked by this flag are searchable from outside using the standard VO “outersearch” web service and their values can be returned in the resulting XML document
    • Attributes of the IS_CAPABILITIES are used to build a search form to call the “outersearch” web service. In theory VO admin can add any attributes to the element. One standard attribute is:
    • use=“identification” – this field should be present on the search web form (most likely this element will be used in the search criteria)
  • IS_FAST_INDEX
    • This flag indicates that the element will be indexed outside eXist (say, MySQL full text indexer)
    • By default we do not installed external indexers, so default value of this flag is “false”
    • This flag is optional (takes value “false” if omitted)
  • <TYPE>***</TYPE>
    • Usually takes one of the values: text, multipletext, select, multipleselect.
    • If select or multipleselect are used, then their values should be listed in the OPTION elements list
<FIELD>
<KEY>keySelect</KEY>
<LONGNAME>Select</LONGNAME>
<DESCRIPTION>Select</DESCRIPTION>
<TYPE>select</TYPE>
<OPTION value="111"/>
<OPTION value="222"/>
<OPTION value="333"/>
<OPTION value="444"/>
</FIELD>

[edit] 3.2.3 Step 3 helpTree.xml

Tree
Tree

Create a document called helpTree.xml. This file generates the view that the user sees when they click on an Observatory Section hyperlink on the left-hand panel. The <ID/> tag indicates the name of the section that will appear on the left-hand Section menu of the VxO. The <NAME/> tag indicates what will appear as the description of all subsections. Each subsection has a node with an ID and a NAME. The <FILTER_DEFAULT> indicates ???.

<SECTION>
   <ID>Help</ID>
   <NAME>All Help Documents</NAME>
   <NODE>
       <ID>AddingMetadata</ID>
       <NAME>Adding Metadata</NAME>
       <FILTER_DEFAULT>false</FILTER_DEFAULT>
   </NODE>
   <NODE>
       <ID>General</ID>
       <NAME>General Help</NAME>
       <FILTER_DEFAULT>false</FILTER_DEFAULT>
   </NODE>
 </SECTION>

[edit] 3.2.4 Step 4 helpSchema.xml

helpSchema image

Next, create a document called helpSchema.xml.

<SCHEMA>
    <SCHEMA_NAME>Help</SCHEMA_NAME> <!– section Id -->
    <SCHEMA_TITLE>Help-record addition form</SCHEMA_TITLE>
    <SCHEMA_DESCRIPTION>Please fill in the …<SCHEMA_DESCRIPTION>
    <!-- FIELD can have other FIELDs inside or -->
    <!-- describe an element from the template (real XML document)-->
    <FIELD>
        <KEY>keyTitle</KEY>
        <!-- keyTitle is a unique key to link web editor template -->
        <!-- and the XML document schema -->
        <LONGNAME>Title</LONGNAME>
        <DESCRIPTION>The name of the search result provider.</DESCRIPTION>
        <NOTE>Required</NOTE>
        <TYPE>text</TYPE>
        <DATATEMPLATE>value</DATATEMPLATE>
        <IS_DISPLAY_TITLE/><!--May appear in only one FIELD-->
        <IS_CAPABILITIES use="identification"/>
        <IS_FAST_INDEX/>
    </FIELD>
    <FIELD>
       <IS_DISPLAY_DESCRIPTION/><!--May appear in only one FIELD, and not in same field as IS_DISPLAY_TITLE -->  
       <!-- * -->
    </FIELD>
 </SCHEMA>








.

[edit] 3.2.5 Step 5 helpTemplate.xml

Create helpTemplate.xml, which is the document template for the web XML editor. It is a real doc which can be filled in from web using the key-element mapping. Keys are unique inside the template. They are used to map web form fields to the element values by the web editor Elements form an XML schema configuration file

<Help>
    <Title>keyTitle</Title>
    <Annotation>keyAnnotation</Annotation>
    <Text>keyText</Text>
 </Help>





.

[edit] 3.2.6 Step 6 helpView.xsl

This configuration file describes re

[edit] 3.3 Virtual Sections

This section is based on Kokovin's V-catalog.ppt

Internally, the virtual observatory is organized by sections. The default behavior is to list all sections on the section navigation bar on the left. The sections that the user sees in this navigation bar can be modified by creating Virtual Sections. The VxO admin can edit the view, build a directory tree, name the directories and add their descriptions, add metadata objects to the directories (links to the objects from different VxO sections)

System tasks

  • V-directory IDs are generated internally

Users can

  • Move a directory up or down (one step) inside parent directory
  • Add subdirectory
  • Remove current directory (including its subdirectories)
  • Add directory description
  • Add an object to the directory (it will be a link to existing object inside one of VO sections)
  • Select and edit a list of linked objects for any directory node
  • Remove object (link) from the directory

[edit] 4 Exist DB Layout

  • Forum directory: Contains metadata about xml files contained in the observatory section directories. Metadata includes subdirectory (in exist db) in which xml file is stored, number of views, bookmarks, edits, etc. This file is generated on data file creation.
  • vo_log.xml: This file contains "events" such as the time an object was created or entered in the observatory. This file is the source for the user log. User log contains less events than those in the files iand can be tuned using user filter.
  • Logs directory: What is this for? When are these files created
  • autoequips When the user "autoequips" a file, for example using autoequip.do?pathTemp=SPASEInstrument/&objId=SRL_SAMPEX_LICA-Instrument" if there is not a forum file with objId of the file, then it is created. pathTemp shows what section the file belongs to. It goes to section config and checks what fields are title and description. These values of fields are being taken from data file and discussion file is being created, equipped with title, description and other needed fields. If there is such a file, the old fields of it are being updated. Other information (views, etc) remains the same.

[edit] 5 Ordering Extensions

Summary based on OEguide_4-1_eng.doc

XSLT file is dataSourceView.xsl in conf/DataServices of the eXist DB.

Ordering Extensions: a link from metadata to data

All of the existing scientific data formats do not provide instructions which allow to combine request for data gathering, they only describe data. At the same time data services providing similar instructions can deliver metadata in different formats, that is extremely inconvenient for cataloging sources.

VxOware provides standard section for describing data request variations which we call Ordering Extensions (OE). The record in OE can be used as a basis for request form generation to data service (interface to data resource). The result of the order is a data object, which is stored in VO user space and it can be accessed for further processing.

Usage of OE format allows to register data resources and send them user requests for data processing and visualization. Doing this, VxOware users approach to data through metadata. At the same time, description of the sources in a uniform format facilitates aggregation of data, coming from different sources (data fusion), and metadata independent sources search (data discovery). OE format allows to describe request to web map service (WMS), OGSA-DAI grid service or to OPeNDAP data streams.

Besides listed, OE provides data access restriction function. In OE format parameter lists and values requested from resource can be restricted aside the most interesting to the given subject domain. Some arguments can be made "hidden", thus establishing the filter on the data obtained through VxO (For example, to limit the list of possible formats of returned data to one for which VxO has visualization tools).

For more information, see OEguide_4-1_eng.doc

[edit] 5.1 Time Selection

<TimeWin>
 <UseTimeSelection>false</UseTimeSelection> <!--true means allow HMS time selection -->
 <From>1998-07-01T00:00:00UTC</From>
 <To>2006-08-31T23:59:59UTC</To>
 <!--DefaultTime{From,To} are optional, otherwise last allowed week-->
 <DefaultTimeFrom>2000-02-01T00:00:00UTC</DefaultTimeFrom>
 <DefaultTimeTo>2000-03-01T00:00:00UTC</DefaultTimeTo>
 <TimeStep>
  <Variant>5 minutes</Variant>
  <Variant>1 minute</Variant>
 </TimeStep>
 <AveragingWindow>
  <Variant label="1 hour">24</Variant>
  <Variant label="12 hours">2</Variant>
 </AveragingWindow>
</TimeWin>

Will be displayed as

<select name="timestep">
 <option name="5 minutes">5 minutes</option>
 <option name="1 minute">1 minute</option>
</select>
<select name="averagingwindow">
 <option name="1 Hour">24</option>
 <option name="12 Hours">2</option>
</select>

[edit] 6 Search: Exist DB

To search all documents in the Exist DB for the observatory, browse to http://localhost:8080/exist/index.xml, start the Exist via the Web Start link in the left column, select search, and enter the text

for $doc in /* where count(text:match-all($doc, 'SEARCHSTRING')) > 0 return
util:document-name($doc)

[edit] 7 Search: Internal

[edit] 7.1 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.

[edit] 7.2 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.

[edit] 8 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.

[edit] 8.1 Configuration

[edit] 8.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.

[edit] 8.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










.

[edit] 8.2 Query and Result

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

[edit] 8.2.1 Query

[edit] 8.2.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>

[edit] 8.2.1.2 Basic Query

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

[edit] 8.2.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>

[edit] 8.2.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]

[edit] 8.2.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.

[edit] 8.2.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.

[edit] 8.2.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.

[edit] 8.2.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.

[edit] 8.2.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>

[edit] 8.2.3 Web interface

[edit] 8.2.3.1 Searchable Section List

Image:Outer2.PNG

[edit] 8.2.3.2 Query Page

Image:Outer3.PNG

[edit] 8.2.3.3 Result Page

For each document only requested elements are returned

Image:Outer4.PNG

[edit] 8.2.4 XSL Result Parser

[edit] 8.2.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

[edit] 8.2.4.2 Web interface

Image:Outer7.PNG

[edit] 8.2.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

[edit] 8.2.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


[edit] 9 Adding/Editing Metadata

[edit] 9.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.

[edit] 9.2 Command-line

This downloads a record, modifies an entry and then uploads it.

[edit] 10 Linking and Tagging

[edit] 10.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.

[edit] 10.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).

[edit] 11 Unfiled

[edit] 11.1 Working Paper

[edit] 11.2 Data Centers, VxOs, etc.

Augsburg | SAMPEX Data Center | Ultima | Astrogrid | VxO | LWS VxO Website | eGY | VSPO | VMO | VGMO.NET | GAIA | VSO | CSSDP | SPDF | GFZ | PAPCO | TSDS | timeseries.org | CCMC | Autoplot | DAS2 | ViRBO Data | virbo.org | spaceweather.eu | SEDAT | VSEO | MEXDATA | SWRI Cluster | spase-group.org | VMO List of Data repositories in VMO git metadata repository | HPDE list of Observatories | Augsburg space physics portal | SAMPEX Data Center | Space Environment Center | FTPBrowse | Global Auroral Imaging Access (GAIA) | European Grid of Solar Observations (EGSO) | Virtual Solar Observatory | VSEO | MCMAC | teamvxo | http://badc.nerc.ac.uk/home/index.html | RAMADDA

[edit] 11.3 Thredds/Hyrax

Retrieved from "http://vxoware.org/home"
Personal tools