Replies: 1 comment 1 reply
-
Note, the category uid is used to create a unique class uid in the OCSF schema. Thus the visual representation of the categories and classes is:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Note: OCSF entities in this proposal are referred to using proper nouns (Classes, Categories, Profiles, etc.)
Background Information
Categories were originally implemented in OCSF with two purposes:
Thus, Categories were designed to be a "superset" of related data sources. However, as the schema has developed, two things have happened:
These two progressions have diluted the role of Categories in providing a value as a "superset", as that is largely undertaken by Classes. In addition, the diversity of sources in a Category don't necessarily overlap in such a way that a "superset" makes sense.
Categories are a label for Classes that do not enforce any attributes in the schema itself, and this label is currently used primarily to define the maintainers for various Classes. The maintainers of the Classes may not be the best maintainers for Classes put into a category of best fit. For example, container maintainers (say that out loud fast 10x if you can) would not necessarily have any virtual machine expertise, nor would “Cloud” maintainers necessarily have expertise with virtual machines running on bare-metal hypervisors.
This poll is aiming to explore options for changing the existing Category structure in the pursuit of simplicity, flexibility, and the reduction of verbosity of OCSF.
For the purposes of this poll, we will refer below to
The names themselves do not matter, only the concepts, and this poll is not suggesting that they be the final names.
Options
Keep the existing vertical Category structure
Leave the existing structure in place, it’s fine how it is. Categories can be revised if necessary.
Visual representation:
Flat labels
Flatten the categorization by creating a pool of labels, any number of which can be applied to any Class.
Visual representation:
Vertical categories + labels
Leave the current vertical Category structure in place, add / remove / change the Category names as needed, and implement a discrete set of “labels” that can be applied horizontally to any Class.
Visual representation:
Tags that can be applied either horizontally or vertically
Adjust the vertical Category concept to a pool of tags. Each Class has a single “primary” tag, creating a vertical structure, and then any number of “secondary” tags, creating a horizontal structure. This is conceptually similar to a user being a member of a “Primary Group” in Linux or Windows AD, and then a member of any number of additional groups. Not all tags would have any Classes where that tag was designated as a primary tag meaning not all tags would be used vertically, and not all tags would necessarily be applied horizontally.
Visual representation:
Considerations
Any decision will cause cascading decisions and while the intent is not to capture all of them here an attempt will be made to highlight the main ones:
If we make changes, are the current categories even “right” for a different model? Should we be re-imagining everything if we move to a flat(ter) model?
It has been pointed out that the categories are potentially useful for things like partitioning of data. How much do we need to consider these implications for each option?
We currently allocate maintainers to categories, so if things are going to fall into multiple categories, how do we allocate maintainers?
If we move to a flatter model, how do we do tag management? How are changes to tags / labels / categories determined?
We already have the concept of Profiles which are applied horizontally across Classes. Is there enough crossover with horizontal labels or tags that we should / could restructure the implementation of Profiles to meet the same need (regardless of what implementation is chosen)?
5 votes ·
Beta Was this translation helpful? Give feedback.
All reactions