Skip to content
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

How do ocm/core and sharing/collaboration relate? #150

Open
michielbdejong opened this issue Oct 11, 2021 · 4 comments
Open

How do ocm/core and sharing/collaboration relate? #150

michielbdejong opened this issue Oct 11, 2021 · 4 comments

Comments

@michielbdejong
Copy link
Contributor

While investigating cs3org/reva#2148 I ran into a question:

Why is there on the one hand a cs3/ocm/core package, with:

And on the other hand a cs3/sharing/collaboration package, with:

I think that ocm/core is used by the sender and sharing/collaboration is used by the receiver of a share, but if that's really the explanation then we should probably rename them to something like ocm/sender and ocm/receiver, respectively?

@labkode
Copy link
Member

labkode commented Oct 11, 2021

When designing the CS3APIS we split the OCM sharing (called federated share) from internal sharing (cs3/sharing/collaboration).

Does it make sense?

@butonic
Copy link
Contributor

butonic commented Oct 11, 2021

the cs3 uses three separate sharing APIs:

  • the LinkAPI is used for public links
  • the CollaborationAPI is used for shares to users or groups on the same instance
  • the OcmAPI is used for federated shares

At least that was the intention. It does create some friction an boilerplate, but I think keeping them separate does make sense.

@ishank011
Copy link
Contributor

Elaborating on @labkode's comment, cs3/ocm/core exposes unprotected endpoints to which other providers can make requests to. For example, for a share created on Surfsara, the metadata would have to be persisted at CERNBox as well. This is the CreateOCMCoreShare call

The cs3/sharing/ocm API exposes endpoints which users belonging to a given provider will call to create an OCM share. This is the CreateOCMShare call. This in turn calls CreateOCMCoreShare on the recipient share provider.

The cs3/sharing/collaboration API does not concern OCM and enables shares among local users.

@michielbdejong
Copy link
Contributor Author

michielbdejong commented Oct 11, 2021

Ah ok, thanks! Is there a documentation page about this somewhere? If not, let's create one.

So then maybe we can rename CreateOCMShare to something like CreateOCM[Outgoing/Sent]Share and
rename CreateOCMCoreShare to something like CreateOCM[Incoming/Received]Share?

The word 'Core' isn't very clear, I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants