The software tools and data necessary for generating the Information Model including PDS4 ontology, data, and information model.
Please visit our website at https://nasa-pds.github.io/pds4-information-model/ for information about the modules that comrpise the information model.
Within the NASA Planetary Data System, we value the health of our community as much as the code. Towards that end, we ask that you read and practice what's described in these documents:
- Our contributor's guide delineates the kinds of contributions we accept.
- Our code of conduct outlines the standards of behavior we practice and expect by everyone who participates with our software.
Installation instructions are broken into sections for operational and development installations.
For operational installation of LDDTool, see the deployed documentation for installation instructions: https://nasa-pds.github.io/pds4-information-model/model-lddtool/install/index.html
For development installation, use maven:
$ # Package the software
$ mvn clean package
$ # Generate the site (must run package first)
$ mvn site:site site:stage
$ # To view generated docs
$ open target/staging/model/index.html
Tests are ran using Cucumber and Maven.
# Package the software
mvn clean package
# Run Cucumber tests
mvn clean test
To add additional tests:
- Create a directory within the resources directory and place your test data there
- In either the developer or integration feature file, add your test case to the table under
Examples
. For example,
| testName | resourceDirectory | testDirectory | commandArgs | expectedResponse |
| "NASA-PDS/pds4-information-model#738 LDDTool is not creating valid URL for KPLO" | "src/test/resources" | "github738" | "-lpJ {resourceDirectory}/{testDirectory}/PDS4_KPLO_IngestLDD.xml" | "0 error(s)" |
To update the site documentation, see each components src/site
directory (this is common for all Java Maven software):
Component | Site Directory | Online Documentation |
---|---|---|
Top-level Page | src/site |
https://nasa-pds.github.io/pds4-information-model/ |
LDDTool | model-lddtool/src/site |
https://nasa-pds.github.io/pds4-information-model/model-lddtool/ |
DMDocument | model-dmdocument/src/site |
https://nasa-pds.github.io/pds4-information-model/model-dmdocument/ |
Ontology | model-ontology/src/site |
https://nasa-pds.github.io/pds4-information-model/model-ontology/ |
The Planetary Data System's Engineering Node uses detect-secrets, specifically a version forked by the SLIM Team, called slim-detect-secrets. This tool replaces Git Secrets but serves the same purpose: it helps prevent committing information to a repository that should remain secret. Unlike Git Secrets, though, the kinds of secrets detect-secrets finds includes not just passwords or API keys, but also hostnames and email addresses. It also uses entropy analysis to detect randomized strings that could be passwords.
To install, see the wiki. To update a new .secrets.baseline
file, run the custom script in the repo to generate the secrets. https://github.com/NASA-PDS/pds4-information-model/tree/main/bin. This is needed because there are numerous additional files that should be ignored in this repo.
See the deployed documentation for usage details for the various components: https://nasa-pds.github.io/pds4-information-model/
Please see the contribution guidelines but also be sure to see our code of conduct.
We use the SemVer philosophy for versioning this software.
The project is licensed under the Apache version 2 license.