-
Notifications
You must be signed in to change notification settings - Fork 6
Add OCABundle render method #30
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
base: main
Are you sure you want to change the base?
Conversation
- Add new OCABundle render method to specification - Define OCABundle type with properties: id, type, name, description, digestMultibase, version - Explain use of JSON paths (RFC6901) in capture base for mapping to credentialSubject - Include comprehensive OCA v2.0.0-rc1 bundle example with: - Capture base with JSON path attributes - Meta overlay (name, description) - Label overlays (English and French) - Information overlay - Sensitive overlay - Update renderMethod property description to include OCABundle type
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Update all JSON path examples in the OCA Bundle section to reference from the root of the VC document rather than from within credentialSubject. Changes: - Update capture_base attributes to use /credentialSubject/degree/* paths - Update all overlay examples (label, information, sensitive) to use full paths - Update descriptive text to clarify paths start from document root - Update example from /degree/name to /credentialSubject/degree/name This ensures JSON paths follow RFC6901 correctly by starting from the document root, making it clear how to reference properties within a verifiable credential's credentialSubject.
Replace 'schema base' with 'capture base' throughout the OCA Bundle section to use the correct OCA specification terminology. Changes: - Updated id property description - Updated example explanation text In OCA, the term is 'capture base' (which captures the schema structure), not 'schema base'.
msporny
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to spend some time trying to unify the approaches to rendering in the spec and decide what should be in v1.0.
|
+1 to figure out if this fits in as an extension or if we can fold it into a unified approach with the other render methods. We also need to work out where the lines are for extensions, what we can unify, and so on. It seems like minimally unifying on "high-level medium type" to start with would be good (visual, audio, tactile) and then for each of these there might be further breakdowns, e.g., visual => HTML, SVG, etc. Alternatively, maybe visual/audio/tactile just slot in and are just categories for understanding covering accessibility in the spec. |
|
@PatStLouis thank you so much for this PR, this is a great start to the conversation. |
|
This was discussed during the vcwg meeting on 14 November 2025. View the transcriptw3c/vc-render-method#25 and w3c/vc-render-method#30dmitriz: those were discussed previously brent: do you mean the core data model? dmitriz: no, the render spec brent: to clarify: this method is introducing things for a specific render method dmitriz: correct phila: reminds me of a discussion I had a long time ago with Mark Nottingham dmitriz: my understanding of the PR is that it proposes a "super class" of OCABundle phila: that feels right manu_: the current way the specification is structured is: we have an extension mechanism, called render method manu_: I don't want us to take 2 years to get Render Methods 1.0 published phila: difference between linking to a render method and embedding JoeAndrieu: we want to get one, to be able to go to CR dmitriz: this is a good segway to look at PR 36, which emphasized that the spec is an extension mechanism (as manu_ and JoeAndrieu said) <dmitriz> we've implemented the HTML template, at MIT DCC. (we started with SVG, but ran into line wrapping probems, and switched to HTML) dmitriz: SVG and HTML are widely applicable, but maybe not the ones with the most implementations phila: as GS1, we use SVG and would like SVG to be in there dmitriz: dare we bring up the dreaded word "registry"? |
|
I've missed the meeting again, my apologies. Here's my intention with this PR and response to some of the comments. For the added terms, the only thing I've added here is the type (OCABundle) and the version property. I've observed 3 main patterns to "control" type versioning across w3c / w3c-ccg work items, and I'm open to reconsider this approach.
I opted for option 3, since OCA has different versions (v1 and v2.rc-0). When it comes to maintainability, version 3 SEEMS to me like the more convenient solution, since its not entirely reliant on external factor and can allow this spec to evolve without requiring any normative changes. An note can be added for a SHOULD on a specific version (ex: implementers SHOULD use version x). As far as interop / testing goes, I would only test if A) the bundle resolves B) Each attribute (json pointers) actually points to something in the VC. This is IF we consider testing each individual method necessary, or are only concerned with the DataModel of the renderMethod property. As for the spec, the only thing that are important is:
Now for what model this follows (extension or explicit method) I think this needs more conversation. I could see an extension model that explains each extension and says: here's what to include in your context if you want to use this specific extension. This way we don't need to maintain a context for each method type, only some type definition file that can be linked to but still have a means to test implementations. |
References #15
Preview | Diff