-
Notifications
You must be signed in to change notification settings - Fork 21
Proposal: Add default controlled vocabulary for versioning
- Status: Accepted/Modified
- Closed: March 23, 2015
- Issue: #244
Since the inception of the STIX effort the community has been discussing requirements and solution approaches for versioning of STIX content. As a result of those discussions and schematic iterations the current release of STIX is believed to have the appropriate structures and guidance to support at least the fundamental versioning use cases identified as critical. A key element of this is the ability to specify a characterizing Relationship descriptor string defining the nature of relationship between a new piece of content and an existing piece of content. The Relationship element can be constrained to a specific controlled vocabulary (CV) of values. The community has on many occasions discussed potential versioning Relationship values but to date has not reached consensus to formally define them in a default versioning CV for STIX.
This is an attempt to capture the core takeaways of the discussions that have occurred and reach consensus on an initial CV for STIX versioning.
- Creation of new information
- Revision (unqualified) of previous information (revision makes no assertion as to the validity of the previous information)
- Revision of previous information through addition of expanded content
- Revision of previous information through refinement/improvement of existing content
- Replacement (unqualified) of previous information with updated information (replacement asserts that the previous information is no longer valid and the new information should be used in its place)
- Replacement of previous information through correction of existing content
- Revocation (by the originator) of previously produced information
Note: Part of the versioning discussion revolved around more complicated use cases for transactional updates in real-world sharing use cases. These are captured in Proposal: Add default vocabulary for sharing communication use cases. Due to their lower priority and higher complexity it is the STIX team's recommendation that those items be explored further (beyond the STIX 1.2 release) and potentially included in either an out-of-band release of a new vocabulary or in the next release of STIX.
Value | Definition | Use Case |
---|---|---|
Revises |
The new content represents a modified form of the previous content with no specific characterization of the nature of the change. | UC2 |
Revises - Expands |
The new content represents a modified form of the previous content with expanded information provided. | UC2i |
Revises - Refines |
The new content represents a modified form of the previous content with existing information refined for improved quality or confidence. | UC2ii |
Replaces |
The new content represents a modified form of the previous content where the previous content should be considered invalid and the new content should be used in its place. | UC3 |
Replaces - Corrects |
The new content represents a modified form of the previous content with corrections to errors in the existing information. The previous content should be considered invalid and the new content should be used in its place. | UC3i |
Revokes |
The previous content is asserted to be invalid and should not be considered for operational purposes. | UC4 |
Based on community discussion this proposal was accepted with modifications: rather than six elements, it will include three:
- Revokes
- Updates - Corrects
- Updates - Revises
- Is the use case list above missing any important minimal core versioning use cases?
- Do the CV values proposed adequately cover the identified use cases?
- Are there suggestions for better CV values?
Feedback can be sent to the public STIX discussion list (make sure to join first), as a public comment on the github issue for this proposal or sent privately to the core STIX team at [email protected].