-
Notifications
You must be signed in to change notification settings - Fork 890
Resource Versioning Profile #1333
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: gh-pages
Are you sure you want to change the base?
Changes from 1 commit
df9838a
e815ccd
c302a8c
84d4840
ea9c13c
9d9e263
9368cbc
d3c1d13
cac4baf
56bc05e
75659ce
2d5346e
c351d9c
3e4b67e
515aba9
0feddd6
b0a1e3d
f0d73db
a4329d5
7a352dc
9129eb2
ba9bf0b
6bc95be
1a1395d
e4adbd7
5c5b0f4
c82ecbe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -167,8 +167,8 @@ same: | |
``` | ||
|
||
A server **MAY** provide a `version-history` link in a resource object's links | ||
object. This link must reference a collection resource providing all revisions | ||
of the context resource object. | ||
object if a [version history](version-history) endpoint is available for the context resource | ||
object. | ||
|
||
A server **MAY** provide the following resource object links so that a client may | ||
navigate a resource object's version history: | ||
|
@@ -201,7 +201,8 @@ a e g | |
No other revisions were ever the latest version. In this example, the following | ||
links could be provided: | ||
|
||
| revision | `latest-version` | `working-copy` | `predecessor-version` | `successor-version` | `prior-working-copy` | `subsequent-working-copy` | | ||
| Revision | `latest-version` | `working-copy` | `predecessor-version` | `successor-version` | `prior-working-copy` | `subsequent-working-copy` | | ||
| :------: | :--------------: | :------------: | :-------------------: | :-----------------: | :------------------: | :-----------------------: | | ||
| `a` | `g` | `h` | no link | `e` | no link | `b` | | ||
| `b` | `g` | `h` | `a` | `e` | `a` | `c` | | ||
| `c` | `g` | `h` | `a` | `e` | `b` | `d` | | ||
|
@@ -218,7 +219,7 @@ links could be provided: | |
# Version History | ||
|
||
A server **MAY** provide a "version history" endpoint. The primary data | ||
gabesullice marked this conversation as resolved.
Show resolved
Hide resolved
|
||
of a response document from a version history endpoing must be a collection of | ||
of a response document from a version history endpoint must be a collection of | ||
resource objects. | ||
|
||
Unless an `id` contains version information, the `type` and `id` members of each | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [Spec compliance] Having multiple resource objects in
So, if this version history response isn't a compound document, you're technically in the clear. But the intent has always been that this restriction should apply to all responses. (I can't find the link for that now, but it's come up in conversations with @dgeb over the years.) Note: I've also proposed removing the restriction altogether. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is not intended to be a compound document. I don't think this profile can impose a requirement that I've been considering adding a recommendation that implementations add information to resource object's
The rule would be something like:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I just read the #824 PR. I like the idea of a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I also like a Taking this further, there are multiple potential axes along which a variant of a resource can exist: I'd say versioning and translations are the two most common needs. I think we should keep both in mind if we're going to go this direction. But for the sake for consistency and optionality (to ensure backwards compatibility & evolvability), I think we should consider not adding a After having written this, I continued reading #824, to make sure I didn't miss anything. I think my There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Crazy thought... maybe we could we extract a variant profile out of this profile? Re-minting In fact, if this variation scheme were part of the base spec, then revisions, translations, etc could just enhance that mechanism for its needs. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @wimleers noted very important thing. It's not enough to add version of the resource because each resource could have many translations and each translation could have it's own versions. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Word |
||
|
Uh oh!
There was an error while loading. Please reload this page.