OSCAL icon indicating copy to clipboard operation
OSCAL copied to clipboard

Grouping of Properties in OSCAL documents other than Catalog

Open degenaro opened this issue 3 years ago • 5 comments

User Story:

As an OSCAL tool developer, I would like Properties to be optionally groupable in order to differentiate different sets of Properties from each other.

For example: one set of Properties may apply at integration time while another set of Properties may apply at deployment time; or one set of Properties may apply during development while a different set of Properties may apply during production.

An existing grouping example is under OSCAL Catalog, where Group is permitted to contain params, props...groups. It would be useful to have a grouping mechanism especially for Properties in other documents such as Component Definition, Profile and Assessment Results.

Goals:

The ability to group Properties in in OSCAL documents besides Catalog, such as Component Definition, Profile and Assessment Results.

  • [x] Add a group flag to the property Metaschema definition
  • [ ] Develop a concrete example
  • [ ] Socialize this during an OSCAL model review.
  • [ ] Collect feedback, and identify any follow-on work if needed.

Dependencies:

N/A

Acceptance Criteria

  • [x] All OSCAL website and readme documentation affected by the changes in this issue have been updated. Changes to the OSCAL website can be made in the docs/content directory of your branch.
  • [x] 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.

{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.}

degenaro avatar Dec 06 '21 19:12 degenaro

It was proposed on the 12/10/2021 model review to add a new flag that would allow for grouping of related properties. This grouping would be scoped to the containing object. A UUID can be used as the grouping value (or maybe a token).

We need some concrete XML, JSON, or YAML examples of what this would look like. @degenaro can you provide some?

david-waltermire avatar Dec 10 '21 15:12 david-waltermire

Here's an example of using remarks to form groups (thanks, Vikas).

profile.json.zip

degenaro avatar Dec 16 '21 15:12 degenaro

Thanks for the contribution, @degenaro and @vikas-agarwal76. We shall take a look. In the future, you might benefit from using GitHub Gists like this to post examples for issues to refine samples!

aj-stein-nist avatar Dec 16 '21 16:12 aj-stein-nist

This has been discussed on a previous OSCAL model review. An option that was discussed was to add a grouping flag to a property and link to allow grouped properties and links to identify their grouping. We should work up a proposal for how this might work.

david-waltermire avatar Mar 04 '22 16:03 david-waltermire

@david-waltermire-nist, where should I set up a concrete example so I can socialize and work down the goals and AC checklist for the issue?

aj-stein-nist avatar Aug 12 '22 18:08 aj-stein-nist

This has been merged into develop and will be included in OSCAL 1.1.

david-waltermire avatar Aug 21 '22 02:08 david-waltermire