Closed bedinotti closed 8 years ago
You may have looked at this already, but I think Juliana tried to document a lot of the background thinking in the schema repository. https://github.com/digital-certificates/cert-schema/tree/master/docs (I hope it can help with some of the legacy naming conventions - I agree they don't always make sense, but I think it's worth sticking to the OBI conventions).
We will also be able to rely on the v1.1 OBI JSON LD schema for type information (https://openbadgespec.org/v1/context.json).
I'm working on migrating our v1 schema to fit OBI v1.1, and reworking digital-certs customizations as JSON LD extensions. There are minor structural changes and a few renames that will result from this.
That said, most of the names and types in your object model above will remain unchanged with that migration. The only missing part is the Certificate 'proof' data which will be used in verification. I owe you details on this. (ETA for baked versions of this and OBI v1.1 changes is EOW) Otherwise, the objects and interactions look good.
Re open questions:
Thanks, you two.
@1l2p Yup! I was using the info on readthedocs, but I think it's the same content. It was super useful for making sure my model had all the valid fields, but it doesn't have a lot of info on why something is a certain way.
@kimdhamilton great! I'll move forward with the model outlined above, and I can iterate on it as you evolve the schema.
I've been toying with this in a Playground for a bit, and I'd love some feedback. While I was looking it as a functional-programming style first, I'm liking it better as an OO solution. Here's what I have for an object design:
This is pretty much a destructuring of the cert format and is likely to evolve as we add and modify fields. Also, as I get more clarity about the various values some of these fields support, we'll probably settle on a few enums in place of strings in the JSON.
The more interesting bit is how methods off of these objects could look at the point of use:
Open questions:
Verify
object mean? Can we change that to a noun, or does it mean something specific to the Cert format (or for OBI compliance?) Is there another word that would make sense in this OO model, even if the format maintained theverify
attribute?