Release Description - Build 10.0.0
This release of the PDS4 System is intended as an operational release of the system components to date. The following sections can be found in this document:
Reference Documents
This section details the controlling and applicable documents referenced for this release. The controlling documents are as follows:
- PDS Level 1, 2 and 3 Requirements, April 20, 2017.
- PDS4 Project Plan, July 17, 2013.
- PDS4 System Architecture Specification, Version 1.3, September 1, 2013.
- PDS4 Operations Concept, Version 1.0, September 1, 2013.
- PDS General System Software Requirements Document (SRD), Version 1.1, September 1, 2013.
- PDS Harvest Tool Software Requirements and Design Document (SRD/SDD), Version 1.2, September 1, 2013.
- PDS Preparation Tools Software Requirements and Design Document (SRD/SDD), Version 0.3, September 1, 2013.
- PDS Registry Service Software Requirements and Design Document (SRD/SDD), Version 1.1, September 1, 2013.
- PDS Report Service Software Requirements and Design Document (SRD/SDD), Version 1.1, September 1, 2013.
- PDS Search Service Software Requirements and Design Document (SRD/SDD), Version 1.0, September 1, 2013.
- PDS Search Scenarios, Version 1.0, September 1, 2013.
- PDS Search Protocol, Version 1.2, March 21, 2014.
- PDAP Search Protocol, Version 1.0, March 21, 2014.
- PDS Security Service Software Requirements and Design Document (SRD/SDD), Version 1.1, September 1, 2013.
System Requirements, Dependencies, and Assumptions
This section details the high-level system requirements for installing and operating a majority of the software released by PDS Engineering Node. Due to the varying requirements and technologies used by the tools, specific system requirements for each component can be found in their respective Installation documents. Additionally, explicit software dependencies and libraries can also be found in each individual software component.
Preferred Environment Overview
Product | Version |
---|---|
Java Runtime Environment | 1.8.x |
Apache Tomcat | 7.x or 8.x |
Apache Web Server | 2.x |
Java Runtime Environment
Many of the components developed by PDS Engineering Node require Java Runtime Environment (JRE). The software was specifically compiled for and tested with Java version 1.8, however, other versions may still work, dependent upon the component.. The following commands test the local Java installation in a UNIX-based environment:
% which java /usr/bin/java % java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
The first command above checks whether the java executable is in the environment's path and the second command reports the version. If Java is not installed or the version is not at least 1.8, Java will need to be downloaded and installed in the current environment. Consult the local system administrator for installation of this software. For the do-it-yourself crowd, the Java software can be downloaded from the Oracle Java Download page. The suggested software package is the Java Standard Edition (SE) 8, either the JDK or the JRE package. The JDK package is not necessary to run the software but could be useful if development and compilation of Java software will also occur in the current environment.
Java Application Server
The other main system requirement pertains to providing a Java application server for hosting certain components (e.g., Registry, etc.). The suggested application server for this release is Apache Tomcat with a minimal version of 7.0.X. Version 8.5.X is also supported in this release. Consult the local system administrator for installation of this software. For the do-it-yourself crowd, see the Tomcat Deployment document for installation and configuration details.
Web Server
The installation of a web server to act as a front-end interface to the Java application server is desired. The suggested web server for this release is the Apache HTTP Server. Consult the local system administrator for installation of this software. For the do-it-yourself crowd, the Apache HTTP Server software can be downloaded from the Apache HTTP Server page.
Software Changes
This section details the new, modified and corrected capabilities that comprise this release . They are summarized here for a system-level view. A more detailed list of capabilities can be found in the change logs for each component.
- PDS4 JParser
- PDS4 Information Model
- PDSView
- Registry
- Feedback Widget
- Validate
- Harvest
- Tracking Service
PDS4 JParser
Documentation: https://nasa-pds-incubator.github.io/pds4-jparser/
- None
Improvements
- pds4-jparser#12 - Ingest IM 1D00 operational release for Build 10a
Defects
- None
PDS4 Information Model
Documentation: https://nasa-pds-incubator.github.io/pds4-information-model/
Note: Some issues in this component (PDS-*, CCB-*) are tracked via internal password-protected JIRA systems. For more details, please contact PDS Operator.
- None
Improvements
- PDS-906 Open Source PDS4 Model
- pds4-information-model#74 - LDDTool: Update version flag (-v) to show IM version as well as software version
- CCB-253 - Add Units_of_Force as a unit of measure
- CCB-252 - Add "Not Applicable" to wavelength_range in Science_Facets
- CCB-250 - Correct schematron rule "pds:Information_Package_Component_Deep_Archive/pds:checksum_type" to test for 'MD5' not 'MD5Deep 4.n'
- CCB-262 - Add an enumerated value for Primary_Result_Summary.purpose to describe support observations.
- CCB-244 - Deprecate 'earth-based' from Context Product Instrument_Host types.
- CCB-251 - Add Units_of_Gmass as a unit of measure.
- CCB-258 - Use of nilReason with xsi:nil should be required and validated.
- CCB-266 - Change type of External_Reference/reference_text
- CCB-254 - Add Enumerated Value to Target_Identification.type for Gravitational Waves
Defects
- pds4-information-model#79 - LDDTool: XMLSchema Fix Nul In Import File Name
- pds4-information-model#81 - LDDTool: XMLSchema Fix Null In Import Cleanup
- pds4-information-model#77 - LDDTool: Fixed the calculation of class extensions and restrictions
PDS View
Documentation: https://github.com/NASA-PDS-Incubator/pds-view/#pdsview
- None
Improvements
- pds-view#6 - Update docs and distribution to match new PDSView naming
- pds-view#10 - Replace intro Inspect Tool image with 'Open' dialog
Defects
- pds-view#14 - Allow multiple periods ('.') in paths to pds4 xml files.
- pds-view#21 - Fix PDSView build and execution error related to libc6 dependency
- pds-view#22 - PDSView fails on PDS3 attached product (fails to find InspectTemplate.vm)
Registry
Documentation: https://nasa-pds-incubator.github.io/registry
- None
Improvements
- registry#2 - Enhance registry schema and config for refined search capabilities
- registry#3 - Enhance usability of search endpoints by renaming and simplifying their definitions
- registry#4 - Review and cleanup applicable search fields for display and index output
- registry#10 - Create registry blob collection
- registry#17 - Add capability to handle tracking of Harvest ingestions
- registry#20 - Update Registry documentation per collection updates and report-mgr tool
- registry#23 - Add new search_post utility for posting Solr Docs to the search index
- registry#25 - Upgrade to Solr 8.2.0
- registry#27 - Update search-post tool to accomplish all functionality that Solr Post Tool does
- registry#28 - Add schema for XPath to prevent failure on ingestions with differing data types
Defects
- registry#18 - Fix bug in registry installer occurring from open sourcing or project
- registry#22 - Fix docker and standalone installers to work with new collections
Feedback Widget
Documentation: https://github.com/NASA-PDS-Incubator/feedback-widget#pds-feedback-widget
- None
Improvements
- None
Defects
- feedback-widget#7 - Unable to change font size from config.js
Validate
Documentation: https://nasa-pds-incubator.github.io/validate/
- validate#15 - Verify that all name/type attribute values correspond to names denoted context products
- validate#24 - Update context check to retrieve and use latest context products from EN Registry
- validate#45 - Check that referenced context products are valid
- validate#50 - Add new target-manifest flag for user to provide a manifest (file) of file/directory paths to validate
Improvements
- validate#30 - Enhance content validation to decrease validation time to <=50% of current benchmark
- validate#87 - Update validate to apply catalog file and local schemas to discipline schema resolution
- validate#133 - Deprecate --no-data-check to --skip-content-validation to fall in line with other argument naming
- validate#20 - Improve documentation about usage of flags in config file with latest flags
- validate#23 - Deprecate -f and -m flags
- validate#28 - Add capability for user to input JSON file with additional context products
- validate#29 - Improve pds4.bundle validation performance
- validate#39 - Investigate and fix memory leak causing validate crash on large bundles
- validate#41 - Perform benchmarking on validate to enable documenting of system requirements
- validate#42 - Add capability to pds4.bundle validation to ignore product-level validation
- validate#43 - Document multi-threaded architecture for maximized performance
- validate#47 - Add flag to temporarily disable context validation
- validate#64 - Complete engineering point build 1.15.1
- validate#65 - Update Maven docs to refer to Github release assets
- validate#90 - Update context checks to include data_to_investigation
- validate#135 - Update config to include telescopes and facilities telescopes and facilities
Defects
- validate#9 - Update content validation to fail when a space character is used when an ASCII_Integer type is specified
- validate#34 - Add missing core.properties dependency
- validate#62 - Context validation needs to be updated to include all possible product type use cases
- validate#71 - Unable to use catalog file after update to always force remote schemas
- validate#72 - Catalog file flag expects a List of files requiring it not be the last argument
- validate#74 - Validate execution script throws arguments error with v1.15.1
- validate#84 - Update Validate to allow specification of schema/schematrons in config file
- validate#99 - Fix bug introduce by --skip-context-validation feature
- validate#107 - Registered context product resource lists only one of multiple instrument or target multiple types
- validate#137 - Update delimited table handling to allow for empty fields
- validate#33 - Validation succeeds despite throwing exception
- validate#37 - JAVA Path does not handle whitespaces in MAC as it used to
- validate#52 - Incorrect package declarations under gov.nasa.tools.web.ui
- validate#55 - Content validation does not work properly
- validate#139 - Revisit PDS-605: L5.PRP.VA.36: Check that the LID for a product has the LID of its parent collection product as its base
- validate#3 - JAXB warning message with Java 9+
- validate#8 - Large Data File Uncaught Exception Error
- validate#118 - Update Validate error/warning counts per ATM regression testing
Harvest
Documentation: https://pds-engineering.jpl.nasa.gov/development/pds4/current/harvest/
Note: Some issues in this component (PDS-*, CCB-*) are tracked via internal password-protected JIRA systems. For more details, please contact PDS Operator.
- None
Improvements
- PDS-921 - Perform trade study to determine if a config generator or config refactor
- PDS-922 - Implement configuration updates per trade study
- PDS-952 - Store document blobs in new registry collection instead of .system
- PDS-953 - Allow search config lookup by data_class
- harvest#9 - Include global policy as a default output product
- harvest#11 - Upgrade to Solr 8.2.0
- harvest#13 - Update registry-mgr tool to accomplish all functionality that Solr Post Tool does
- harvest#8 - Update Harvest to use online namespace for easier configuration and validation
Defects
- None
Tracking Service
Documentation: https://pds-engineering.jpl.nasa.gov/development/pds4/current/tracking-service/
Note: Some issues in this component (PDS-*, CCB-*) are tracked via internal password-protected JIRA systems. For more details, please contact PDS Operator.
- PDS-687 - Tracking UI: Delivery Tracking Interface
- PDS-593 - Tracking: Develop a service-based interface for tracking product status
Improvements
- PDS-914 - Add columns to table to match current data release calendar
- PDS-913 - Update page to include front matter and other information from current release calendar
Defects
- None
Liens
This section details the liens or deviations from the plan for Build 10b along with rationale for the deviation.
Issue | Title | Rationale |
---|---|---|
validate#44 | Notify user when new version of the software is available | Re-prioritized for performance improvements |
validate#1 | Add capability to do data spot checking every nth file | Re-prioritized for performance improvements |
Installation and Operation
This section provides details and links to the installation and operation instructions for setting up Standalone PDS Tools, Discipline Node Environment, and internal Engineering Node Environment and Services.
- Standalone PDS Tools - Tools and services intended for the preparation, inspection, transformation, and visualization of PDS data products.
- Discipline Node Environment - Tools and services intended to be installed at discipline nodes and international partners.
- Engineering Node Environment - Tools and services intended to be deployed in Engineering Node operations.
Standalone PDS Tools
Tool | Installation/Operation Guides | Description |
---|---|---|
Generate | On PDS Engineering Node Website | Provides a command-line interface for generating PDS4 Labels using a user provided PDS4 XML template and input (source) data products. |
Local Data Dictionary Tool (LDDTool) | On Github Pages | Parses a local data dictionary definition file and generates PDS4 data standard files for archival Local Data Dictionaries. |
PDS View (beta release) | On Github | Provides support for visualizing PDS3 and PDS4 data products. |
Transform | On Github Pages | Transforms PDS3 and PDS4 product labels and data into various formats. |
Validate | On Github Pages | Software for validating PDS4 product labels and product data |
Discipline Node Environment
This section details the deployment to a Discipline Node environment. The following tools and services are used to ensure the validity and overall management of products in the archive.
The tools and services are organized into two sections:
- Required - These tools and services should be installed by all discipline nodes. Please notify PDS Operator if you are unable to install this software.
- Optional - These tools and servers are optional installations at this time. Please read the software descriptions = in the table below to determine if the software is applicable for your node. Some of these components may become required in the future.
NOTE: The next generation Registry is still under construction. Engineering Node will work with Nodes
individually to deploy the software as we continue to test it out. Please bare with us during this transition.
Required Software
Tool | Installation/Operation Guides | Description |
---|---|---|
Validate | On Github Pages | Software for validating PDS4 product labels and product data |
Feedback Widget | On Github | Website widget for prompting users in need of assistance or have feedback. |
Optional Software
Tool | Installation/Operation Guides | Description |
---|---|---|
Registry | On Github Pages | Provides functionality for tracking, searching, auditing, locating, and maintaining artifacts within the system. (This software is currently in development as it receives a technology upgrade. EN will work with nodes individually to help install this once the installation and operation have been more thoroughly tested.) |
Harvest | On PDS Engineering Node website | Provides functionality for capturing and indexing product metadata into the Registry. (This is only required if installing the Registry.) |
Transport Service | On Github Pages | Provides functionality for transporting and transforming PDS products using the Registry. This software is optional for the time being until a more integrated architecture is deployed at nodes. This software will be required once the integrated system is ready for deployment. |
Testing Discipline Node Environment
Follow along with the tutorial on the PDS Engineering Node website: PDS4 Data Release at a Discipline Node
Engineering Node Environment
This section provides an overview of the deployment to the Engineering Node operations environment. The following diagram depicts the EN system flow, starting with central catalog migration, data product registration and finishing up with search index generation.
Click the image for a larger version.
For this particular release, here are the components that require a new/upgraded operational deployment:
Tool | Installation/Operation Guides |
---|---|
Validate | On Github Pages |
Feedback Widget | On Github |
Engineering Node Software Catalog
The following list links to all of the software components currently being maintained and operated by the PDS Engineering Node as of the deployment of this build.
- Ingest
- Catalog Tool(EN Only)
- Harvest Tool
- Harvest-PDAP Tool (EN Only)
- Model
- Portal
- Feedback Widget
- Data Search (EN Only)
- Data Dictionary Search (EN Only)
- Data Set View
- Filter
- Phone Book Search (EN Only)
- Tool Registry (EN Only)
- Preparation Tools
- Report
- Report Manager (EN Only)
- Search
- Registry
- Search User Interface (EN Only)
- Security Service (EN Only)
- Storage
- Storage Service (EN Only)
- Product Service (EN Only)
- Transport