NVO
National Virtual Observatory DataScope
space
-  DataScope Help  -  
National Virtual Observatory --- Hosted at NASA/HEASARC

VO DataScope installation

The VO DataScope comprises Perl scripts, HTML documentation, Java libraries and associated files. This document discusses the installation of this tool.

Overview

There are four major areas that are populated by the DataScope.
  1. The CGI area is used to store the actual DataScope scripts. These are:
    • init.pl: Start a DataScope session.
    • datascope.pl: The datascope summary page.
    • process.pl: Process a single resource or start analysis
    • meta.pl: Display registry metadata
    • cacheTee.pl: Retreive, store, and display a file.
    • ql.pl: Create a quicklook image from a FITS file
  2. A Web documents area includes the DataScope help.
  3. The Perl library area is used to store the Perl libraries used in the DataScope. Most of these libraries are subpackages of the VO package, but a few additional libraries are included. These libraries could be installed as part of a Perl installation but are normally expected to be included in a separate library area and included in Perl scripts using a use lib statement.
  4. The cache area is an area where results from queries to outside resources are to be stored. The cache area must be writable by CGI processes, files in the cache area must be accessible as URLs.
DataScope assumes a version of Perl which has XML and SOAP parsers installed. The following loaded necessary modules starting from a fresh installation of Perl 5.8.5. Note that there are some errors may be encountered in loading XML parsing modules. These seem to occur due to incompatibilities between SAX and DOM parsers and do not seem to recur when the modules are used within DataScope.

Installation procedures

Download the datascope.nn.tar.gz file from a DataScope repository and untar the file. The installDataScope.pl command will be found in the top directory.

The installDataScope.pl command does a number of the tasks required for installing the DataScope. It queries for the root locations for the four areas described above, changes the first line in the Perl scripts to use the version of Perl it is invoked under, and modifies several the VO/Util.pm file to use the given locations. It is assumed that the user of the command has write privileges to the CGI, documents and library areas.

A typical installation using installDataScope.pl looks like the following where the user input is in bold.

> perl installDataScope.pl

Welcome to the DataScope installation script.
Full Perl executable path [/usr/local/web_chroot/skyview3/test/bin/perl]: /skyview3/test/bin/perl
File location for VO CGI scripts [/www/htdocs/cgi-bin/vo]: /skyview/htdocs/cgi-bin/test/vo
URL root of VO CGI URLs [/cgi-bin/vo]: /cgi-bin/test/vo
File location for VO HTML documents [/www/htdocs/vo]: /skyview/htdocs/test/vo
URL root of VO documents [/vo]: /test/vo
Root for VO Perl libraries [/usr/local/vo/lib]: /skyview3/local/lib
Root for query cache [/www/htdocs/vo/newcache]: /skyview/htdocs/tempspace/xxcache
Host name for your Web host [heasarc.gsfc.nasa.gov]: /skyview3/local/lib
Processing begins.

Directory: /skyview/htdocs/cgi-bin/test/vo/ does not exist
Attempting to create: /skyview/htdocs/cgi-bin/test/vo/
Directory: /skyview/htdocs/cgi-bin/test/vo/datascope does not exist
Attempting to create: /skyview/htdocs/cgi-bin/test/vo/datascope
Directory: /skyview/htdocs/test/vo/ does not exist
Attempting to create: /skyview/htdocs/test/vo/
Directory: /skyview/htdocs/test/vo/datascope does not exist
Attempting to create: /skyview/htdocs/test/vo/datascope
Directory: /skyview/htdocs/test/vo/images does not exist
Attempting to create: /skyview/htdocs/test/vo/images
Directory: /skyview3/local/ does not exist
Attempting to create: /skyview3/local/
Directory: /skyview3/local/lib does not exist
Attempting to create: /skyview3/local/lib
Modifying CGI scripts
Updating: ./cgi-bin/vo/datascope/init.pl
    ** #!/www/server/vo/inst/bin/perl  ->  #!/skyview3/test/bin/perl
    ** use lib '/www/server/vo/inst/local/lib' ;  ->  use lib '/skyview3/local/lib' ;
Updating: ./cgi-bin/vo/datascope/cacheTee.pl
    ** #!/www/server/vo/inst/bin/perl  ->  #!/skyview3/test/bin/perl
    ** use lib '/www/server/vo/inst/local/lib' ;  ->  use lib '/skyview3/local/lib' ;
Updating: ./cgi-bin/vo/datascope/datascope.pl
    ** #!/www/server/vo/inst/bin/perl  ->  #!/skyview3/test/bin/perl
    ** use lib '/www/server/vo/inst/local/lib' ;  ->  use lib '/skyview3/local/lib' ;
Updating: ./cgi-bin/vo/datascope/process.pl
    ** #!/www/server/vo/inst/bin/perl  ->  #!/skyview3/test/bin/perl
    ** use lib '/www/server/vo/inst/local/lib' ;  ->  use lib '/skyview3/local/lib' ;
Updating: ./cgi-bin/vo/datascope/meta.pl
    ** #!/www/server/vo/inst/bin/perl  ->  #!/skyview3/test/bin/perl
    ** use lib '/www/server/vo/inst/local/lib' ;  ->  use lib '/skyview3/local/lib' ;
Modifying ./local/lib/VO/Util.pm
Copying: cp -r ./cgi-bin/vo/datascope/* /skyview/htdocs/cgi-bin/test/vo/datascope/*
Copying: cp -r ./vo/datascope/* /skyview/htdocs/test/vo/datascope/*
Copying: cp -r ./vo/images/* /skyview/htdocs/test/vo/images/*
Copying: cp -r ./local/lib/* /skyview3/local/lib/*
  

There may be a few manual steps needed to complete your installation.

  1. The installation script assumes a consistent environment between the installation process and the running of CGI scripts in the Web environment. If the run-time environment is different from the install-time environment, then the executable paths and paths specified in the VO::Util module may need to be updated.
  2. The header and footer in the VO::Util module will need to be updated as appropriate for your site.
  3. The VO caching software assumes that the file is in a subdirectory of an htdocs directory that defines the top of the URL hierarchy for your browser. E.g., if you are on host db.myhost.edu, and the cache is at /www/htdocs/vo/thecache, then a file /www/htdocs/vo/thecache/xxx can be accessed by a URL http://db.myhost.edu/vo/thecache/xxx. The fixPrefixes methods in the Util module can be used to make ensure that the prefixes used are appropriate for your system.
  4. The cacheTee.pl program will generate quicklook images from FITS files using the command given in the $VO::fits2ql variable defined in the VO::Util module. This variable should be set to an appropropriate value for the site. The HEASARC implementation using the FITS2jpeg software developed at NRAO but other converters can be used. If a file type other than JPEG will be produced then the mime-type returned by the cacheTee program should also be changed.

Setting up the cache

The cache area is where results from Cone search and SIAP requests will be stored. The cache will be written to from CGI scripts and thus needs to be set up with permissions that will allow scripts write access. The contents of the cache directory must also be visible as URLs from outside of your site if you intend for users to be able to send data to external utilities like Aladin, VOStat or OASIS.

If you have superuser privileges creating the cache directory should not be a problem. Without superuser privileges it can be done by creating a CGI script which will create the appropriate directories as a subdirectory of some existing directory that you own. E.g.,

A subdirectory will be created in the cache for each DataScope query which is started. The name of the directory encodes the position and region size of the query.

TBD

This document does not discuss the installation of the VOPlot applet or management utilities.