-
Notifications
You must be signed in to change notification settings - Fork 10
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
Stub Records Identifier with Envelope #722
Comments
I believe the secondary source publishing mechanism we previously developed was designed to handle this kind of use case. Recall that it started with needing to augment data that was in Collections: All we would need to do is have a different minimum data policy for the secondary source records vs the primary source records, and I think the rest is already handled (in terms of the Registry anyway - our side of the secondary-source record implementation would need some work). The registry already allows filtering search results based on whether the record is primary-source or secondary-source. We could have some other marker in the envelope that indicates whether that record meets our minimum data policy (for non-stub records) that could be used for additional filtering. That could be another enum like we did with primary/secondary source records so we can expand it in the future if needed. For example:
I could see "stub" and "minimum" as two common values, and potentially "benchmark" as a third, though it's unlikely that a resource would meet every benchmark property for a given class. An opportunity to expand on this would involve having Credential Engine maintain minimal records for resources that, today, are stored as bnodes in credentials, for the purpose of having a record that is considered the main record for that resource (in other words, contains the "real" CTID for that resource). Such records would go into the control of the appropriate organization if/when that organization joins Credential Engine. If an organization decides to stop participating with the Registry (or ceases to exist), then its records would also enter Credential Engine's direct control/maintenance, so that they would continue to exist for the sake of any other data that may reference them. I diagrammed a few such use cases (and others) here: |
Some other alternatives to the above that I can think of might involve:
The second one, illustrated:
|
Yesterday, @jeannekitchens had suggested a possible solution that I think would work (and happens to align well with the large diagram in my earlier post) - basically, CE would treat itself as a trusted third-party publisher and use the existing implementation to create organizations and their various resources. Then it's just a matter of:
For example, to get all Certificates that meet the minimum data policy or the benchmark policy (if we implement that), nothing about the query would be different from how it is today:
However, if you wanted to also include the stub records, you'd need to specify all of the levels you want:
For example, to get only stub Certificates:
Or to get only benchmark Certificates:
I am a little hesitant about adding anything other than "stub" and "minimum" since it might make data maintenance and querying more of a headache than it's worth, but I'm curious what others think. |
THIS IS TO INITITATE DISCUSSION AND TO IDENTIFY THE BEST TECHNICAL SOLUTION.
We're going to support use cases for stub records. These are Registry resources that do not meet minimum data policies. We will support publishing these records for the purpose of having CTIDs. It is going to be essential for data consuming to default to complete resources, i.e., the current situation with the Registry where all resources meet minimum data policies AND have an option to consume stub records. Thereby, data consumers need to differentiate stub records and can consume them and/or complete resources.
The envelope needs to identify stub records.
The publishing part will be handled via API similarly to how it's handled now but the stub record API will allow for less data and still require CTIDs.
https://docs.google.com/document/d/12ML6e9psffBjW2d7mnLHzYUnElXBoPxkxNzrGMX3bW8/edit
The text was updated successfully, but these errors were encountered: