usnistgov / oscal-xslt

Open source XSLT for OSCAL display and processing
Other
6 stars 3 forks source link

Basic HTML rendering capability for catalogs and SSPs #9

Open wendellpiez opened 4 years ago

wendellpiez commented 4 years ago

User Story:

As an OSCAL user, I need to be able to browse and review OSCAL catalog and SSP contents without having to look at code.

I need to do the same for profiles, but their close relation to catalogs makes them more problematic, so they are out of scope for this Issue. A tailored catalog that has been produced by resolving an OSCAL profile, however, is in scope, so profiles are included in that sense.

Goals:

A useful off-the-shelf piece of software that can convert OSCAL catalogs and SSPs into a browsable HTML version for proof and preview (not final production, 'publishing' or submission).

This software must meet the following requirements:

We focus on OSCAL XML for a pilot, with an XSLT implementation. We can consider a more direct JSON pathway once OSCAL semantics have stabilized further (in part, through this exercise).

In the best case, the HTML delivered by this transformation will be clean and well-tagged enough to serve as both an OSCAL (HTML) microformat for downstream processors, and the first step for more exacting rendering pathways including "production" outputs in PDF or other formats.

Dependencies:

More realistic sample data is probably called for, especially SSPs.

Additionally, we need a model for maintenance and extension of this capability, addressing longer-term strategic questions such as where this should be maintained (tools repo?), how its scope of development should be managed, and how both users and others including emulators can be supported.

Earlier XSLT stylesheets in the repo for rendering catalogs and profiles into HTML can be mined for useful templates.

The fact that models will also be changing introduces dependency on issues addressing modeling (especially SSP modeling) including usnistgov/OSCAL#478, usnistgov/OSCAL#498, usnistgov/OSCAL#535, usnistgov/OSCAL#568.

Acceptance Criteria

wendellpiez commented 4 years ago

Sprint 26 Update Jan 30 2020

This Issue should probably be split into two, as work on the Catalog rendering is now near complete at least for demo purposes, while work on the SSP rendering (or any implementation layer) cannot proceed much further while those models (and examples) are soft.

The second issue -- generic implementation-layer handling -- is related to Issue usnistgov/oscal-xslt#10, which specifically targets a single SSP template.

The first issue regards both generic and NIST-emulation catalog rendering. Work proceeds in my branch here: https://github.com/wendellpiez/OSCAL/tree/publishing-v0dot1

It is now about feature complete, and requires only some more refactoring of interfaces for ease of use. Also documentation.

Additionally, to complete the work (including deploying the capability) there is a dependency on usnistgov/oscal-xslt#6

wendellpiez commented 4 years ago

usnistgov/OSCAL#630 now tracks work on the catalog side of this work item.

We still do not have a separate Issue for the (longer-term) Implementation Layer side (SSPs etc.)

wendellpiez commented 4 years ago

Since the catalog presentation logic is stable (see usnistgov/OSCAL#630), this Issue should be rewritten or replaced with one that scopes work only to the SSP.

Note that work for FedRAMP (see https://github.com/GSA/fedramp-automation) includes SSP rendering as well.

aj-stein-nist commented 1 year ago

Per discussion with the team today during backlog review, I am moving this to the appropriate repository per our guidance, oscal-xslt.