ISIS Application Documentation
    Spiceinit Server
  
 
          Description
        
    This is the server-side program to handle spiceinit web requests. The input
    is the spiceinit program's hex-encoded message (POSTED to a web server). The
    output file is what needs to be sent back to the client. This program is
    generally run by a web server and not by hand. The script:
      "isis/src/base/apps/spiceserver/assets/spiceinit.cgi"
    is an example of a perl script wrapper for running a spice server and using
    this program.
   
 
          Categories
        
 
              History
          
| Steven Lambright and Jai Rideout | 2011-09-02 | 
      Original Version
     | 
 
| Debbie A. Cook | 2012-07-06 | 
       Updated Spice members to be more compliant with Isis coding standards.
       References #972.
     | 
 
| Steven Lambright | 2012-09-05 | 
      Added parameter CHECKVERSION in order to increase the testability of this program.
     | 
 
| Jeannie Backer | 2013-02-26 | 
      Added ability to load multiple ck database files from the system using a
      conf file. Changed methods to lower camel case and added "g_" prefix to
      global variables to comply with Isis3 standards. References #924.
     | 
 
| Stuart Sides | 2013-07-11 | 
        Modified so the kernel quality parameters from XML are tested as case insensitive. This
        change was made in a branch of ISIS, but was not yet moved to the publice version yet.
     | 
 
| Kimberly Oyama | 2014-04-28 | 
      Instead of opening $base/testdata/isisTruth.cub spiceserver now creates a cube from the label
      information that it receives from spiceinit. This change was made because the camera classes
      (Camera, CameraFactory, Sensor, Spice,...) now take a cube as input to their constructors
      instead of a pvl. The isisTruth.cub dimensions did not match the dimensions in the label
      (from spiceinit), causing spiceserver to return an incorrect end time for the spice
      information. Added TEMPFILE parameter for testing purposes. Fixes #2030.
     | 
 
| Makayla Shepherd | 2015-09-08 | 
      Modified to open the temporary cube correctly. Fixes #2213.
     | 
 
| Tyler Wilson | 2019-02-11 | 
      Modified the version check.  Now all versions of ISIS3 >= 3.5.*.* will be acceptable
      to the application.
     | 
 
| Adam Paquette | 2021-08-10 | 
      Removed commented out debugging code that should be run in SpiceClient/spiceinit.
     | 
 
| Jacob Cain | 2022-11-22 | 
      Changed TEMPFILE type to cube. Fixes #4780.
     | 
 
 
 | 
 
 
                Parameter Groups
            
Input Files
| 
                    Name
                     | 
                    Description
                     | 
 
| FROM | 
          The input hex file POSTed by spiceinit
         | 
 
| TO | 
          The output hex file to be sent back to spiceinit.
         | 
 
 
Options
| 
                    Name
                     | 
                    Description
                     | 
 
| CHECKVERSION | 
          Verify the input hex-encoded file reports the same Isis version as the current version
          of Isis (requester's version matches server's version).
         | 
 
| TEMPFILE | 
          Location of temp cube
         | 
 
 
 | 
 
Options:
                        CHECKVERSION
                         Description
                       
          The input file (which comes from spiceinit's SpiceClient) contains the version of Isis
          that the requester is running. No guarantees can be made for the validity/usability of
          the results of the Isis versions of the client and server don't match. This option
          causes spiceserver to throw an error if the versions of Isis do not match.
        
| 
                             Type
                            | boolean | 
| 
                               Default
                              | true | 
 
 
Options:
                        TEMPFILE
                         Description
                       
          This parameter was added for testing purposes only. The spice server has access to the
          default location but the app tests will use their own output directory as the temp cube
          location.
        
| 
                             Type
                            | cube | 
| 
                               File Mode
                              | output | 
| 
                               Default
                              | /tmp/spice_web_service/inputLabels.cub | 
| 
                               Filter
                              | *.cub |