cs3org / OCM-API

OpenCloudMesh API
38 stars 11 forks source link

Caps Disco #136

Open michielbdejong opened 1 month ago

michielbdejong commented 1 month ago

In my presentation about OCM at CS3 2023 in Barcelona I had this slide about CAPabilitieS DISCOvery ;) cs3-2023-bcn-ocm 001

Now I'm thinking if we put good capability discovery into the /.well-known/ocm / /ocm-provider document, then discovery doesn't even have to rely on the apiVersion field we have there. Older implementations will just have less entries in the capabilities object, or the object will be missing from the document altogether.

michielbdejong commented 1 month ago

The current resourceTypes object is weird because it seems to be used both to advertise what types of resources a server can receive, and to advertise details about how this server acts as a resource server.

glpatcern commented 1 month ago

Concerning apiVersion, IMHO its useful for humans, as the branding, and should NOT be relied upon to decide on caps. Yet it is used for that by Nextcloud.

michielbdejong commented 1 month ago

Capabilities should be about being able to process something you receive. Being able to send something or not is not so interesting to discover.

glpatcern commented 3 weeks ago

@michielbdejong can you please rebase this on top of develop, as opposed to caps-disco-base ?

michielbdejong commented 5 days ago

Rebased on develop.

michielbdejong commented 5 days ago

I think we want to start off our capabilities list with all functionalities that we introduces since 1.0-proposal1 and for which one server needs to know whether the other one supports it. I can think of the following list:

Functionalities which I think don't make sense to announce (these functionalities can just be present unannounced):

michielbdejong commented 5 days ago

so caps to add:

webapp URI should probably also somehow be bound to the server domain name from discovery

glpatcern commented 5 days ago

Let's not forget:

As very first capability (in the form of endpoint)!