Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements, extensions and repairs to profile resolver #1071

Merged

Conversation

wendellpiez
Copy link
Contributor

Includes various improvements to profile resolution XSLT pipeline:

  • Now accepts a runtime parameter assign-uuid that, when valid UUID format, is assigned to the resulting catalog.
  • If this value is not provided, the available fallback methods are better:
    • reset UUID service
    • try Java utility (hey why not)
    • fail gracefully if UUID service is not available (e.g. under SaxonJS)
    • provide 'blank UUID' fallback when other methods fail.

Creating this PR as a WIP draft, so more to come (see below).

Committer Notes

As we build forward with specs and unit tests the profile resolver needs updates (here).

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you squashed any non-relevant commits and commit messages? [instructions]
  • Do all automated CI/CD checks pass?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you included examples of how to use your new feature(s)?
  • Have you updated all OSCAL website and readme documentation affected by the changes you made? Changes to the OSCAL website can be made in the docs/content directory of your branch.

* Many fixes to the constraints in the OSCAL metaschemas to repair broken Metapaths.
* fixing defects in metaschema constraints
* Updating to latest Metaschema toolchain. Removed use of the "require" constraint.
* updating readme with current links
@david-waltermire david-waltermire added this to the OSCAL 1.0.1 milestone Dec 16, 2021
@david-waltermire david-waltermire changed the base branch from main to release-1.0 January 14, 2022 17:45
@david-waltermire david-waltermire marked this pull request as ready for review January 14, 2022 17:52
@david-waltermire david-waltermire merged commit 5ed0ab2 into usnistgov:release-1.0 Jan 14, 2022
@david-waltermire david-waltermire deleted the profile-resolution-update-v1a branch January 14, 2022 17:57
david-waltermire added a commit that referenced this pull request Jan 26, 2022
* party should be required, but was marked as optional by mistake
* documented the default value for with-child-controls
* Adding missing structuring directive from Profile resolution.
* Release 1.0 metaschema adjustments (#1065)
* Many fixes to the constraints in the OSCAL metaschemas to repair broken Metapaths.
* fixing defects in metaschema constraints
* Updating to latest Metaschema toolchain. Removed use of the "require" constraint.
* updating readme with current links
* Permits provision of a fresh UUID for a resolved catalog at runtime, or more graceful fallbacks.
* New improved version moves UUID generation logic into the profile processor XSLT shell. (So the internal process is platform-agnostic and will not attempt any external references.)
* Further syntax improvements; start at an XSpec for file set (not working yet)
* Adding missing 'random' utility XSLT
* Providing XSpec support for normalized comparison
* Samples corrected (wrt metadata/oscal-version); added XSpec for running full set with XSLT to produce it
* Peeled off 'safe' profile resolver for XSpec to avoiding runtime errors. 'Full' set now runs (showing 11 passed 6 failed)
* Making UUID-generation more robust (will fail instead of break)
* Refining top-level profile resolution testing; more improvements to interface
* Repairing broken test; extending testing under XSpec
* More refinements to end-to-end XSpec for profile resolution

Co-authored-by: David Waltermire <david.waltermire@nist.gov>
iMichaela pushed a commit to iMichaela/OSCAL that referenced this pull request Apr 7, 2022
)

* party should be required, but was marked as optional by mistake
* documented the default value for with-child-controls
* Adding missing structuring directive from Profile resolution.
* Release 1.0 metaschema adjustments (usnistgov#1065)
* Many fixes to the constraints in the OSCAL metaschemas to repair broken Metapaths.
* fixing defects in metaschema constraints
* Updating to latest Metaschema toolchain. Removed use of the "require" constraint.
* updating readme with current links
* Permits provision of a fresh UUID for a resolved catalog at runtime, or more graceful fallbacks.
* New improved version moves UUID generation logic into the profile processor XSLT shell. (So the internal process is platform-agnostic and will not attempt any external references.)
* Further syntax improvements; start at an XSpec for file set (not working yet)
* Adding missing 'random' utility XSLT
* Providing XSpec support for normalized comparison
* Samples corrected (wrt metadata/oscal-version); added XSpec for running full set with XSLT to produce it
* Peeled off 'safe' profile resolver for XSpec to avoiding runtime errors. 'Full' set now runs (showing 11 passed 6 failed)
* Making UUID-generation more robust (will fail instead of break)
* Refining top-level profile resolution testing; more improvements to interface
* Repairing broken test; extending testing under XSpec
* More refinements to end-to-end XSpec for profile resolution

Co-authored-by: David Waltermire <david.waltermire@nist.gov>
Rene2mt pushed a commit to Rene2mt/OSCAL that referenced this pull request May 17, 2022
)

* party should be required, but was marked as optional by mistake
* documented the default value for with-child-controls
* Adding missing structuring directive from Profile resolution.
* Release 1.0 metaschema adjustments (usnistgov#1065)
* Many fixes to the constraints in the OSCAL metaschemas to repair broken Metapaths.
* fixing defects in metaschema constraints
* Updating to latest Metaschema toolchain. Removed use of the "require" constraint.
* updating readme with current links
* Permits provision of a fresh UUID for a resolved catalog at runtime, or more graceful fallbacks.
* New improved version moves UUID generation logic into the profile processor XSLT shell. (So the internal process is platform-agnostic and will not attempt any external references.)
* Further syntax improvements; start at an XSpec for file set (not working yet)
* Adding missing 'random' utility XSLT
* Providing XSpec support for normalized comparison
* Samples corrected (wrt metadata/oscal-version); added XSpec for running full set with XSLT to produce it
* Peeled off 'safe' profile resolver for XSpec to avoiding runtime errors. 'Full' set now runs (showing 11 passed 6 failed)
* Making UUID-generation more robust (will fail instead of break)
* Refining top-level profile resolution testing; more improvements to interface
* Repairing broken test; extending testing under XSpec
* More refinements to end-to-end XSpec for profile resolution

Co-authored-by: David Waltermire <david.waltermire@nist.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants