Build 11.1 Plan ======================== .. toctree:: :glob: :maxdepth: 3 plan.rst .. |br| raw:: html
The Planetary Data System (PDS) is a long-term archive of digital data products returned from NASA's planetary missions, and from other kinds of flight and ground-based data acquisitions, including laboratory experiments. But it is more than just a facility - the archive is actively managed by planetary scientists to help ensure its usefulness and usability by the world wide planetary science community. The following page outlines the planned PDS software enhancements, bug fixes, and impacted requirements for the upcoming Build . A more detailed breakdown of these tasks by date and priority can be found in our `Zenhub Roadmap `_ (login required). Key Dates +++++++++ .. list-table:: Key Dates :widths: 15 10 30 :header-rows: 1 * - Date - Name - Description * - 03/19/2021 - Delivery to I&T - The PDS4 IM and all software updated during this build cycle are delivered to EN I&T. * - 04/05/2021 - Test Readiness Review (TRR) - PDS EN internal review to verify readiness to enter I&T phase. * - 05/27/2021 - Delivery and Deployment Review (DRR) - PDS internal review with PDS Software Working Group to verify readiness to deploy build system. * - 06/11/2021 - Operational Deployment - PDS4 system is operationally deployed and website is updated accordingly. For a more detailed schedule, see https://pds-engineering.jpl.nasa.gov/content/schedules. Planned PDS4 Information Model Changes +++++++++++++++++++++++++++++++++++++++ This section details the planned changes to the PDS4 Information Model for this build. These changes are deliverables by the PDS Data Design Working Group (DDWG) to the Engineering Node for implementation. * `pds4-information-model#258 `_ **CCB-301: The attribute in the and classes is not properly constrained** * `pds4-information-model#256 `_ **CCB-312: does not appear to be constrained the way LDDTool expects** * `pds4-information-model#254 `_ **CCB-305: Missing validation constraint on ** * `pds4-information-model#253 `_ **CCB-313: Definition of refers to non-existent documentation** * `pds4-information-model#249 `_ **CCB-288: Change Internal_Reference reference type to 'guided' text** * `pds4-information-model#257 `_ **CCB-302: No values defined in DD_Attribute or DD_Class contexts** * `pds4-information-model#255 `_ **CCB-300: Apparently deprecated units of measure are not actually deprecated** * `pds4-information-model#251 `_ **CCB-303: The definition for is not sufficient.** * `pds4-information-model#250 `_ **CCB-315: "PDS3" is an allowed parsing standard for Bundle documentation file** Planned Software Changes ++++++++++++++++++++++++ This section details the planned software changes for this build. Planned tasks for the next release cycle are grouped by software component, and sub-tasks are included where known at the time of this plan generation. Each section also includes additional information, such as: * Software description * Link to |:mag:| User Guide * Link to |:computer:| Github Repo * Link to |:ambulance:| Issue Tracking * Link to |:ledger:| Backlog - future work not planned for this release cycle **Don't see the tool you are looking for?** This means there is no active development planned for this build cycle. Head to the `PDS Tool Registry `_ to see all possible tools available for PDS data. **Have a new feature or tool you think we should be working on?** Create a ticket in the applicable Github repo or in our `PDS EN Operations repo `_ and we will see how that can fit into our plans moving forward. -------- validate ######## *Validates PDS4 product labels, data and PDS3 Volumes* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `validate#250 `_ **Improvements to meet updated Standards Reference since initial requirements implementation** * `validate#5 `_ Improve file base name check according to Standards Reference * `validate#6 `_ Improve pds4.bundle unlabeled files check to handle files without a file suffix * `validate#11 `_ Update allowable field_format values per Standards Reference definition regarding [+|-] characters * `validate#81 `_ Validate and throw error when duplicate LIDs are found in Bundle * `validate#153 `_ Update validate to throw error when a file has a space in the filename * `validate#230 `_ Update validate per SR requirements for collection inventories * `validate#240 `_ Unexpected error for data collection in a sub-directory * `validate#242 `_ Update LID validation to meet latest PDS4 SR Requirements * `validate#249 `_ **Improvements for validating accumulating bundles / collections** * `validate#51 `_ Provide the capability to specify multiple locations for pds4.bundle validation * `validate#231 `_ For accumulating bundles, validate latest version of collections only * `validate#238 `_ validate does not perform full bundle validation when using a specific bundle.xml * `validate#246 `_ Add output directory flag to validate-bundle tool * `validate#256 `_ validate should only do integrity checking on latest version of a collection when referenced by LID -------- pds4-jparser ############ *Java Library providing APIs for parsing and exporting information on PDS4 products, including table and image objects to various formats including CSV, PNG, VICAR, FITs, etc.* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds4-jparser#21 `_ **Update table reads for large files and improve memory footprints** * `validate#189 `_ Validate error reading tables > 2GiB -------- pds4-information-model ###################### *The software tools and data necessary for generating the Information Model including PDS4 ontology, data, and information model.* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds4-information-model#242 `_ **DocBook HTML/WebHelp generation and conversion processes** * `pds4-information-model#170 `_ LDDTool: DocBook generation does not work from any file system location * `pds4-information-model#243 `_ Document how to generate the DocBook XML and how to generate HTML/WebHelp * `pds4-information-model#241 `_ **Improvements from Build 11.0 testing** * `pds4-information-model#104 `_ LDDTool: Enable to ability to set custom namespace base URI in IngestLDD * `pds4-information-model#175 `_ LDDTool: Displaying invalid Imaging Discipline Classes * `pds4-information-model#186 `_ PDS4_PDS_1E00.sch inconsistent rules for type of Investigation vs Investigation_Area * `pds4-information-model#235 `_ Incorrect error messages for DD_Associate_External_Class * `pds4-information-model#238 `_ **Continuing refactoring of IMTool / LDDTool** * `pds4-information-model#239 `_ Refactor Class information from config to Data Dictionary Protege ontology * `pds4-information-model#240 `_ Improve argument handling using argument parsing library -------- pds-deep-archive ################ *PDS Open Archival Information System (OAIS) utilities, including Submission Information Package (SIP) and Archive Information Package (AIP) generators* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds-deep-archive#80 `_ **NSSDCA Delivery Onboarding** -------- pds-doi-service ############### *Service and tools for generating DOIs for PDS bundles, collections, and data sets* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds-doi-service#68 `_ **Develop Web UI for DOI service** * `pds-doi-service#67 `_ Mock web UI for DOI management * `pds-doi-service#108 `_ Reserve DOI UI forms * `pds-doi-service#109 `_ Release existing DOI (previously reserved, drafted or released) UI forms * `pds-doi-service#110 `_ Release new DOI forms * `pds-doi-service#52 `_ **API Implementation for DOI Service** * `pds-doi-service#38 `_ Add Status / Query component to API * `pds-doi-service#77 `_ Add POST PDS4 or OSTI DOI label to API * `pds-doi-service#78 `_ Add POST Reserve xslx/csv DOI function to API * `pds-doi-service#79 `_ Add Release DOI function to API * `pds-doi-service#80 `_ Develop API specification in SwaggerHub * `pds-doi-service#100 `_ Add GET DOI to the API * `pds-doi-service#101 `_ Add PUT DOI to the API (for updates) * `pds-doi-service#105 `_ Complete get DOIS criterias with the arguments proposed in command line * `pds-doi-service#106 `_ Add exception name in the error messages * `pds-doi-service#107 `_ allow to post PDS4 labels in the payload (for draft) * `pds-doi-service#91 `_ **Develop User Access / Management Strategy** * `pds-doi-service#86 `_ **Deploy DOI API and UI** * `pds-doi-service#87 `_ Dev beta testing with API * `pds-doi-service#88 `_ Operations team test interface with DOI Service * `pds-doi-service#89 `_ Update procedures to use DOI web interface submission * `pds-doi-service#90 `_ Deploy point build of DOI service and UI * `pds-doi-service#23 `_ **Document how to Deactivate a DOI (with curl command)** -------- pds-registry-app ################ *Registry application enabling a PDS node to register all its data products for long term preservation and sharing with the rest of the PDS system.* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds-registry-app#13 `_ **Beta test operational deployment** * `pds-registry-app#82 `_ Develop test plan * `pds-registry-app#83 `_ Deploy and install multi-node ES * `pds-registry-app#84 `_ Download large data set for testing * `pds-registry-app#85 `_ Document performance benchmarks in registry app docs * `pds-registry-app#42 `_ **Integrate Registry API into pds-registry-app** * `pds-registry-app#27 `_ **Manage PDS4 product relationships** * `pds-registry-app#76 `_ Manage relationships between bundles / collections / products * `pds-registry-app#77 `_ Manage relationships described by reference types * `pds-registry-app#97 `_ Research RDF technologies to handle pds4 label cross-references in the registry * `pds-registry-app#92 `_ **Update Registry API per PDS API v0-beta** * `pds-registry-app#91 `_ **Deploy Registries in AWS** * `pds-registry-app#86 `_ Deploy EN Registry in AWS * `pds-registry-app#87 `_ Deploy GEO Registry in AWS * `pds-registry-app#88 `_ Deploy IMG Registry in AWS * `pds-registry-app#89 `_ Document AWS deployment for Registry * `pds-registry-app#90 `_ Develop cost model and reporting for Registry deployments * `pds-registry-app#81 `_ **Registry Integration component** * `pds-registry-app#12 `_ **Ingest PDS supplemental metadata** * `pds-registry-app#53 `_ **Improve Attribute Search Component** * `pds-registry-app#45 `_ Validate Elastic Search index configuration for attribute search * `pds-registry-app#61 `_ Update the index schema in ES dynamically when new record are ingested * `pds-registry-app#64 `_ Fix the Json data dictionary format * `pds-registry-mgr-elastic#5 `_ Create a field-data type lookup table * `pds-registry-mgr-elastic#6 `_ Update the field-data type lookup table * `pds-registry-app#93 `_ Research tech stack modifications due to large number of search fields in registry -------- PDS.nasa.gov-Search ################### *Front-end interface for PDS.nasa.gov data search capability* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `PDS.nasa.gov-Search#20 `_ **Search Details Page / DOI Landing Page** * `PDS.nasa.gov-Search#26 `_ Review search details / DOI page updates * `PDS.nasa.gov-Search#21 `_ **DOI Landing Page Requirements and Design** * `PDS.nasa.gov-Search#22 `_ Develop DOI Landing Page Scope * `PDS.nasa.gov-Search#23 `_ Revise requirements to meet scope * `PDS.nasa.gov-Search#24 `_ Review scope and requirements with DOI WG * `PDS.nasa.gov-Search#25 `_ Develop more formalized design documentation -------- pds-api ####### *PDS API Application with client and server integrated into one package* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds-api#31 `_ **Streamline testing of API server implementation** * `pds-api#17 `_ **Response format conventions and parameter definition** * `pds-api#18 `_ Refine format conventions defined by the API WG * `pds-api#19 `_ Define default response fields * `pds-api#20 `_ Define required response fields * `pds-api#21 `_ Define response formatting for default vs "additional" metadata fields * `pds-api#22 `_ Update API Spec with refined response format conventions and field definitions * `pds-api#23 `_ Implement response format definition in API Service * `pds-api#35 `_ **Initial Federated API implementation** * `pds-api#34 `_ **Deploy PDS API v0 (beta) for beta testing** * `pds-api#32 `_ Deploy PDS API v0 (beta) on pds-gamma test server * `pds-api#33 `_ Update public PDS API Spec in Github * `pds-api#30 `_ **SwaggerHub CodeGen Server adaptation and integration how-tos** * `pds-api-pythonlib#1 `_ Test and write a procedure to develop a python implementation from swaggerHub * `pds-api#26 `_ Document basic adaptation capabilities from pds-api-service * `pds-api#28 `_ **DN Pilot API Project(s)** * `pds-api#16 `_ Implement EN query of DN API service * `pds-api#26 `_ Document basic adaptation capabilities from pds-api-service * `pds-api#27 `_ Identify nodes and define scope for piloting pds-api-service adaptation * `pds-api#29 `_ Implement EN query passing to DN search UI * `pds-api#24 `_ **Define PDS handling of enriched / supplemental metadata** * `pds-api#25 `_ **PDS API extension convention for discipline-specific search engines** * `pds-api#15 `_ **Query passing and search integration design** * `pds-api#14 `_ **Define intra-discipline (product-level) search scope** * `pds-api#12 `_ **Initial Query Syntax Lexer Implementation** * `pds-api#7 `_ **Initial discipline/node-specific search parameter definition** -------- pdsen-corral ############ *umbrella project to manage the build cycle (continuous integration and stable release) for the PDS EN tools. * .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pdsen-corral#16 `_ **Github Action and Documentation Generation Best Practices** * `nasa-pds.github.io#3 `_ Update nasa-pds.github.io with software documentation best practices * `nasa-pds.github.io#4 `_ Update nasa-pds.github.io with github action best practices * `pds-template-repo-python#2 `_ Define a PDS standard to manage version in python project * `pds-deep-archive#81 `_ Update Github Actions for dev and ops releases * `pds-doi-service#94 `_ Update to use pds round-up github action * `roundup-action#1 `_ Add Java / Maven support * `pdsen-corral#24 `_ Re-evaluate generating requirements for -dev versions * `pds-template-repo-python#3 `_ Add the roundup action in the template * `validate#255 `_ Retrofit validate CI to use roundup-action * `pds4-jparser#30 `_ Retrofit pds4-jparser CI to use roundup-action * `pds-registry-app#94 `_ Retrofit pds-registry-app CI to use roundup-action * `pdsen-corral#23 `_ **AWS Continuous Deployment Implementation** * `pdsen-corral#22 `_ **Integration with Test Rail** * `pdsen-corral#20 `_ **AWS Continuous Deployment Strategy** -------- PDS.nasa.gov-UX ############### *PDS.nasa.gov User Experience Task Issue and Prototype repository* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `PDS.nasa.gov-UX#3 `_ **Formulate user stories for prototype** * `PDS.nasa.gov-UX#14 `_ Develop user personas based upon outputs from user interview synthesis * `PDS.nasa.gov-UX#58 `_ Propose users stories for selected subset of the user personnas * `PDS.nasa.gov-UX#6 `_ **Model workflows and initial design directions** * `PDS.nasa.gov-UX#8 `_ **Design mockups and develop Figma prototype** * `PDS.nasa.gov-UX#10 `_ Develop generic design and mockups for cross-node Material templates * `PDS.nasa.gov-UX#11 `_ Define component (footer/header) styles * `PDS.nasa.gov-UX#41 `_ **Review Feedback Widget Design** * `PDS.nasa.gov-UX#38 `_ Re-evaluate the design of the Feedback widget * `PDS.nasa.gov-UX#40 `_ Re-visit Feedback Widget Content * `feedback-widget#10 `_ Apply WDS to Widget * `pds-wds#11 `_ Implement Feedback Widget in React * `PDS.nasa.gov-UX#47 `_ **Design System Documentation** * `pds-wds#1 `_ Show Text Field component that displays units * `pds-wds#2 `_ Add other organizational logos * `pds-wds#4 `_ Propagate PDS brand colors across all components in Figma * `pds-wds#6 `_ Define types of banner notifications * `pds-wds#8 `_ Document UI guidelines and rules * `pds-wds#9 `_ Restructure component organization in Figma * `PDS.nasa.gov-UX#54 `_ Relay for Figma (continuous delivery) * `PDS.nasa.gov-UX#53 `_ **PDS Sitemap Generator** * `PDS.nasa.gov-UX#49 `_ Evaluate sitemap generator tools * `PDS.nasa.gov-UX#50 `_ Generate sitemap for pds.nasa.gov * `PDS.nasa.gov-UX#51 `_ Submit sitemap to Google Webmaster * `PDS.nasa.gov-UX#52 `_ Integrate Google Webmaster and sitemap generator with DNs * `PDS.nasa.gov-UX#45 `_ **WDS Mobile Considerations** * `PDS.nasa.gov-UX#35 `_ **Content Management System** * `PDS.nasa.gov-UX#36 `_ Abstract out the structure of PDS pages from CMS * `PDS.nasa.gov-UX#37 `_ Converge on a CMS solution * `PDS.nasa.gov-UX#31 `_ **Formulate PDS Information Architecture** * `PDS.nasa.gov-UX#32 `_ Evaluate the current structure of PDS structure using mapping tools * `PDS.nasa.gov-UX#33 `_ Re-organize PDS web content based on business/user needs * `PDS.nasa.gov-UX#34 `_ Consolidate pages and ensure there is a logical structure to how we are organizing our sites * `PDS.nasa.gov-UX#30 `_ **User Documentation Consolidation** * `PDS.nasa.gov-UX#28 `_ Document the information that is redundant across nodes * `PDS.nasa.gov-UX#29 `_ Consolidate PDS wide information in to a user guide * `pds-api#36 `_ Propose PDS style for API documentation -------- pdsen-operations ################ *Tickets for the PDSEN Operations Team* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pdsen-operations#14 `_ **LDD CCB and Management processes** * `pdsen-operations#15 `_ Work with LDD Stewards to develop process and CCB * `pdsen-operations#16 `_ Update LDD CI/CD accordingly to match the expectations from the CCB review process * `pdsen-operations#22 `_ Document how to tag an LDD Release -------- pds-tracking-service #################### *Provides functionality for tracking status and other aspects pertaining to PDS products that are not captured in the Registry Service.* .. list-table:: :widths: 15 15 15 15 15 15 * - `User Guide `_ - `Github Repo `_ - `Issue Tracking `_ - `Backlog `_ - `Stable Release `_ - `Dev Release `_ * `pds-tracking-service#1 `_ **Open Source Tracking Service** * `pds-tracking-service#6 `_ **Refactor Tracking Service** * `pds-tracking-service#5 `_ De-couple individual components * `pds-tracking-service#7 `_ Deploy beta of individual components * `pds-tracking-service#8 `_ Integrate DOI Tracking with DOI Service * `pds-tracking-service#2 `_ **Review Tracking Service Requirements and Design** * `pds-tracking-service#4 `_ Identify implemented requirements Other Information +++++++++++++++++ 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. * PDS NSSDC Delivery Software Requirements and Design Document (SRD/SDD), Version 0.1, October 29, 2019. System Requirements, Dependencies, and Assumptions ################################################## See individual applications for specific dependencies and system requirements.