-
Notifications
You must be signed in to change notification settings - Fork 12
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
Improved properties of the NewShare endpoint + some more cleanup #57
Conversation
44012b1
to
be03c09
Compare
@michielbdejong we're now trying to implement this "for real", what do you think about this? The example can surely be made with no repetitions |
For reference, OCM permissions are handled as follows in nextcloud: |
a8dc97e
to
b3fea54
Compare
@michielbdejong and @labkode we should be good to go with those changes, could you please review? This also closes #49, by using the explicit list of strings adopted by Nextcloud (cf. my previous comment). We can also discuss what was raised by Michiel some weeks ago. |
I mentioned my reservations about using Also, the receiver of a transfer type share would like to know the transfer size before deciding to accept it (see cs3org/reva#2104). Can we make this a property of the datatx type protocol? |
Good point, thought to address that on yet another PR but we could do this here indeed. Now I'd try and find another synonym given that the OCM endpoint is already called
Sure. I can do that if you want. |
I'm not so convinced of renaming the keyword |
Great ! |
My thinking is as follows:
Or the protocol could be taken one level up:
But it's all webDAV anyway (for all 3 types I suppose) so that could even be taken for granted (as default protocol) and possibly be left out. So again I tend to lean towards |
Probably it was not clear before, and in this PR with @glpatcern we tried to be clearer in the specs, but the We intended the protocol as the way of accessing/use the share. For example:
Considering the last example, can be useful when creating the transfer know which is the source protocol, so we can even put this info in the source link, as
I'm not so sure about this. I would not strict OCM to have |
1a2062c
to
b04d9ab
Compare
Indeed a Overall it's a bit of an academic question to say that |
@gmgigi96 @glpatcern : OK |
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.
Add comment regarding migration: now is needed both values, later one will be deprecated
It's in the description of |
I was just thinking that probably the properties of WebDAV are not fully spelled out. It's not clear what the
What do you think? @labkode @glpatcern @michielbdejong |
Good point, but for what I understand the OCM specs are more of a guideline, yet quite detailed, than a full protocol spec like the CS3 APIs (which we use to generate strict bindings). Therefore I don't see this is needed, in the sense that it may remain as it is. |
@gmgigi96 ideally the protocol should specify how the other end will make a request and I agree that having just
|
On another side, to complete what we discussed we should rephrase this: And add something like
And in the invitation request and response we should also detail that we hash the ids (with examples). |
To keep things simple for now we can just specify the authentication type (can be only |
This of course makes even more sense, but my point was in the spirit of general backward compatibility: what is the current behavior of e.g. Nextcloud? and ownCloud? and ...? In a way, going from something totally unspecified (we barely had the notion of a secret, as an example in a generic |
OK, following further discussions we have settled in postponing all privacy-related and security-related issues (including e.g. #23, as well as how WebDAV secrets are expected to be used by implementations) to a topical discussion during the upcoming CS3 conference, when OCM will be one of the prominent topics. Therefore @gmgigi96 I'd just rephrase @michielbdejong could you please review? |
081fb7d
to
81d536c
Compare
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.
please clarify whether this PR will break compatibility with existing implementations?
Hello all, I have worked with OCM in Nexctloud recently. I think all changes are warranted but we should keep in mind that this PR will break OCM compatibility for existing implementations. NC uses the |
This better represents the fact that a per resource and per share unique ID is needed, both sending a new share and receiving an accepted/rejected notification about it
@michielbdejong following the direct discussion, a59b273 should do. Note that the notification is consistently renamed as well. |
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.
LGTM
Implementers can start supporting the new field name shareId
alongside its old name providerId
: send both, and accept whichever one is present.
Just a minor comment about the description of the uniqueness of shareId
.
Thanks Michiel, I agree implementers can go ahead using both field names and eventually drop the deprecated one, but it's good to have the specs reflect the final state. I also adapted the phrasing. |
Closes #56
Co-authored with @glpatcern
Includes:
protocols
parameter inNewShare
fully spelled out [this is a breaking change].providerId
asshareId
, both inNewShare
and in/notifications
, as this is how it is meant to be [this is a breaking change, though semantic is unchanged].The corresponding changes in the CS3 APIs are in cs3org/cs3apis#199