Skip to content

Conversation

@mickenordin
Copy link
Collaborator

This updates IETF-RFC.md with a significantly expanded framework for describing OCM using ASCII diagrams in the vain of https://datatracker.ietf.org/doc/rfc3290/ as referenced by https://datatracker.ietf.org/doc/rfc3444/.

It introduces formal definitions of OCM functions, clarifies the roles of Sending and Receiving Servers, and adds detailed object models for Address Books, Contacts, Invites, Providers, Shares, Users, and Resources. The change reorganizes and expands terminology, adds diagrams to illustrate relationships, and alphabetizes and harmonizes defined terms. Legacy duplicated sections are removed or merged into the new structure.

This updates IETF-RFC.md with a significantly expanded conceptual
framework for OCM. It introduces formal definitions of OCM functions,
clarifies the roles of Sending and Receiving Servers, and adds detailed
object models for Address Books, Contacts, Invites, Providers, Shares,
Users, and Resources. The change reorganizes and expands terminology,
adds diagrams to illustrate relationships, and alphabetizes and
harmonizes defined terms. Legacy duplicated sections are removed or
merged into the new structure.

Signed-off-by: Micke Nordin <[email protected]>
Copy link
Contributor

@KrausMatthias KrausMatthias left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great improvement! Adds a lot of clarity to the involved concepts.

I think a distinction on what is Binding Specification and what is helpful context should be added.

- acts as an API client, allowing the receiving user to access the
Resource through an API (e.g., WebDAV [RFC4918]) of the sending
server.
* __Remote Resource__ - A Resource provided by the Sending Server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A Resource accessible on a Receiving Server via a Share from a Sending Server ?

Comment on lines +605 to +606
* __Shared Resource__ - A Resource shared by an OCM Server, becoming a
Remote Resource if accepted by the Invite Receiver OCM Server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whats the difference to a Resource?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two (this and your comment above) have been part of the definitions for a long time, I just alphabetized them. But I take your point that there is a lot of redundancy in definitions, and I was also pondering that when sorting them.

* the Invite Receiver OCM Server sends the Invite Acceptance Request to
the Invite Sender OCM Server

```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add Users and their actions (Alice and Bob :D )?

@KrausMatthias
Copy link
Contributor

KrausMatthias commented Nov 25, 2025

I think my main concern is still what is strictly necessary for interoperability, and what should be left open to implementations (while guidance regarding the concepts is still extremely helpful there).

So I'm not after removing details but clearly separating, "this must what a share payload looks like with these semantics so it works with other implementations" and "this is what you might keep track of in your implementation to build a working service, but doing it differently would still work".

So maybe we could have two separate sections? "Protocol Specification" and "Context and Implementation Guidance" ?

@glpatcern
Copy link
Member

I think my main concern is still what is strictly necessary for interoperability, and what should be left open to implementations (while guidance regarding the concepts is still extremely helpful there).

Overall I'm quite sympathetic with this comment. I appreciate the overall effort to "canonicalize" the implementations, but it has to be clear what is prescribed and what is guidance. I did not have time yet to review this PR in details and I thank both of you for the combined effort!

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

Successfully merging this pull request may close these issues.

5 participants