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

More configurable mapping of format-sensitive path names across conversions #481

Closed
3 tasks
wendellpiez opened this issue Aug 30, 2019 · 1 comment
Closed
3 tasks
Assignees
Labels
enhancement Scope: CI/CD Enhancements to the project's Continuous Integration and Continuous Delivery pipeline. Scope: Tooling and APIs Issues targeted at development of tooling and APIs to support OSCAL content creation and use. User Story

Comments

@wendellpiez
Copy link
Contributor

User Story:

In Issue #398 we addressed the problem that processing dependencies in the OSCAL toolchain are represented by paths to files, which are format sensitive. We want an XML version of a profile to point to an XML catalog, while the JSON version points to the JSON version of the same catalog. This means a file path /my/xml/catalog.xml might need to become /my/json/catalog.json.

Expecting XML and JSON resources to be maintained in parallel, we can manage these relations -- and rewriting the values in conversion -- via configurable rules.

Addressing #398 we did this quick/dirty with a post-process. We need to make this more configurable, less opaque and tighter.

Goals:

Implement a mapping protocol to be produced for (in) the XML->JSON and JSON->XML conversions for any metaschema-based OSCAL model, which they can use to rewrite path names.

This can take the form of an external specification for any string conversions, expressed in XML so the converter-producer XSLT can read it and build templates from it. (Even a handwritten XSLT sub module could work if it's easy enough to rewrite.)

Only URI values (relative and/or absolute) as defined by a metaschema should be considered in scope. The mapping should have no effect in strings that are not typed as URIs.

While we are doing this, we can also address documentation needs.

Dependencies:

None presently.

Acceptance Criteria

  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.
  • Documentation on content conversions has been updated to describe the mappings, or an Issue has been created to reflect documentation requirements

{The items above are general acceptance criteria for all User Stories. Please describe anything else that must be completed for this issue to be considered resolved.}

@david-waltermire david-waltermire added this to the OSCAL 1.0 Milestone 3 milestone Sep 4, 2019
@david-waltermire david-waltermire added Scope: CI/CD Enhancements to the project's Continuous Integration and Continuous Delivery pipeline. Scope: Tooling and APIs Issues targeted at development of tooling and APIs to support OSCAL content creation and use. labels Sep 4, 2019
@david-waltermire
Copy link
Contributor

Closing in favor of #623.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Scope: CI/CD Enhancements to the project's Continuous Integration and Continuous Delivery pipeline. Scope: Tooling and APIs Issues targeted at development of tooling and APIs to support OSCAL content creation and use. User Story
Projects
None yet
Development

No branches or pull requests

2 participants