Created
July 16, 2025 14:02
-
-
Save duglin/55666c45bdada4b03e3b3f67f9095a98 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dirs/d1/files/f1 exists | |
PUT /dirs/d2/files/f2 | |
{ xbase: /dirs/d1/files/f1/versions/v1 } | |
creates a v1 pointing to d1/f1 | |
POST /dirs/d2/files/f2 (creating a new version) | |
{} | |
creates a v2 w/o a pointer | |
POST /dirs/d2/files/f2 (creating a new version) | |
{ xbase: /dirs/f1/files/f1 } | |
creates a v3 (like v1) with a pointer to d1/f1 | |
Proposal | |
- keep xref as it is today (in "meta") | |
- add "xbase" as a version-level attribute | |
- XID that can point to a Resource or Version | |
- MUST be a Resource of the same Resource-type | |
- xbase can change from version to version (version-level choice) | |
- look at adding a flag for update(), when xbase is set, to prevent accidental overriding | |
(e,g, ?yes-do-it, otherwise it's a readonly version) | |
- no mechanism to remove an inherited attribute, but they can override its value |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment