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

Add Diagram Link Validation Constraints #865

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

Gabeblis
Copy link

@Gabeblis Gabeblis commented Nov 5, 2024

Committer Notes

Purpose

This PR introduces the implementation of three new system-characteristics constraints leveraging the functionality provided by OSCAL-CLI version 2.3. These constraints ensure that all necessary diagram links are properly validated, ensuring all diagrams have valid and accessible resource targets in the back-matter.

Changes

Constraint: has-authorization-boundary-diagram-link-href-target

  • Ensures that a valid href target is specified for the authorization boundary diagram link.
  • Validates the presence and correctness of the link target.

Constraint: has-network-architecture-diagram-link-href-target

  • Ensures that a valid href target is specified for the network architecture diagram link.
  • Validates the presence and correctness of the link target.

Constraint: has-data-flow-diagram-link-href-target

  • Ensures that a valid href target is specified for the data flow diagram link.
  • Validates the presence and correctness of the link target.

Tests:

  • Invalid case test files were created for each constraint.
  • Pass/fail case yaml files were created for each constraint.

All Submissions:

  • Have you selected the correct base branch per Contributing guidance?
  • Have you set "Allow edits and access to secrets by maintainers"?
  • 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]
  • Have you added an explanation of what your changes do and why you'd like us to include them?
    - [ ] If applicable, have all FedRAMP Documents Related to OSCAL Adoption affected by the changes in this issue have been updated.? Documentation already exists.
  • If applicable, does this PR reference the issue it addresses and explain how it addresses the issue?

By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.

@Gabeblis Gabeblis self-assigned this Nov 5, 2024
@Gabeblis Gabeblis requested a review from a team as a code owner November 5, 2024 15:39
@Gabeblis Gabeblis linked an issue Nov 5, 2024 that may be closed by this pull request
17 tasks
@aj-stein-gsa
Copy link
Contributor

aj-stein-gsa commented Nov 5, 2024

Oh I now realize this is a PR, not an issue. I will backport an issue.

@Gabeblis
Copy link
Author

Gabeblis commented Nov 5, 2024

Oh I now realize this is a PR, not an issue. I will backport an issue.

I opened an issue here

@aj-stein-gsa
Copy link
Contributor

Oh I now realize this is a PR, not an issue. I will backport an issue.

I opened an issue here

I just realized I was maybe tagging and adding something incorrectly to the board.

aj-stein-gsa added a commit to aj-stein-gsa/fedramp-automation that referenced this pull request Nov 5, 2024
Until upstream bugs are fixed in the oscal-server integration with
oscal-js as used by the CI/CD environment, we will put this workaround
to get GH Actions back as an interim measure.
Gabeblis added a commit to Gabeblis/fedramp-automation that referenced this pull request Nov 5, 2024
…stics/href-target

Workaround test issues with server for GSA#865
@Gabeblis Gabeblis force-pushed the constraints/system-characteristics/href-target branch from 201fdee to edcb9c5 Compare November 5, 2024 17:30
@Gabeblis Gabeblis force-pushed the constraints/system-characteristics/href-target branch 3 times, most recently from fad8c91 to edcb9c5 Compare November 7, 2024 13:34
@Gabeblis Gabeblis requested review from aj-stein-gsa and a team November 7, 2024 15:02
aj-stein-gsa
aj-stein-gsa previously approved these changes Nov 7, 2024
Copy link
Contributor

@aj-stein-gsa aj-stein-gsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, I like the dev process, tests, and their inline docs. I have minor tweaks and I will reapprove either way. Thanks for taking the time on these.

@aj-stein-gsa
Copy link
Contributor

aj-stein-gsa commented Nov 7, 2024

@Gabeblis can you also go the referenced page in the help-url and add an example of the inline link approach (not just a href URI reference to UUID)? It will not block this issue.

aj-stein-gsa
aj-stein-gsa previously approved these changes Nov 7, 2024
@Gabeblis Gabeblis requested a review from a team November 8, 2024 15:24
wandmagic
wandmagic previously approved these changes Nov 8, 2024
@wandmagic
Copy link
Collaborator

looks good but we really need a function that auto-resolves the hashes, because having so many if thens about the # character is a bit of cognitave overload, can we create functions in metapath and re-use that concept?

also would we want a more general, every resource should have a doc-available?

@Gabeblis Gabeblis dismissed stale reviews from wandmagic and aj-stein-gsa via 5e8b5d9 November 8, 2024 22:42
@Gabeblis Gabeblis force-pushed the constraints/system-characteristics/href-target branch from 5e41be6 to 5e8b5d9 Compare November 8, 2024 22:42
@Gabeblis
Copy link
Author

Gabeblis commented Nov 8, 2024

looks good but we really need a function that auto-resolves the hashes, because having so many if thens about the # character is a bit of cognitave overload, can we create functions in metapath and re-use that concept?

also would we want a more general, every resource should have a doc-available?

This is just to check that a valid resource is referenced. It is not checking the actual content. As far as the cognitive overload goes, I'm always down to make things easier, but I'm not too bothered by how it is currently.

@david-waltermire
Copy link
Member

looks good but we really need a function that auto-resolves the hashes, because having so many if thens about the # character is a bit of cognitave overload, can we create functions in metapath and re-use that concept?

The issue metaschema-framework/metaschema-java#242 is about this. This is on my short list of capabilities to add.

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.

Implement Constraints for Diagram Link Validations That Are No Longer Blocked
4 participants