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

Intent naming conventions #681

Closed
mistryvinay opened this issue Apr 28, 2022 · 1 comment · Fixed by #701, #721 or #724
Closed

Intent naming conventions #681

mistryvinay opened this issue Apr 28, 2022 · 1 comment · Fixed by #701, #721 or #724
Labels
Context Data & Intents Contexts & Intents Discussion Group enhancement New feature or request intents
Milestone

Comments

@mistryvinay
Copy link
Contributor

mistryvinay commented Apr 28, 2022

Enhancement Request

Provide guidance on the naming of intents.

  • View____ and Start____ are the existing conventions
  • Intents sometimes are meant to transfer focus and sometimes not, how do we represent/encode that?

Submitted on behalf of Riko Esteen (@rikoe )

Use Case:

As the FDC3 standard matures, more use cases will evolve in turn identifying new intents that need to be created. This issue has been raised to provide guidance on the naming of those intents.

New proposed conventions:

  • Create / Update / CreateOrUpdate for e.g. orders, RFQs
  • Delete
  • Get (for two-way intents)
  • Share
@mistryvinay mistryvinay added the enhancement New feature or request label Apr 28, 2022
@kriswest kriswest added intents Context Data & Intents Contexts & Intents Discussion Group labels Apr 28, 2022
@pauldyson
Copy link
Contributor

pauldyson commented Apr 28, 2022

My two cents:

  • View doesn't imply focus change (although a vendor may interpret it that way, e.g. if ViewProfile has multiple matching records and the user needs to disambiguate them to get to the detail they requested)
  • Start does imply focus change to do the work being initiated
  • Create and CreateOrUpdate are slightly different. E.g. CreateInteraction means even if you think there is an existing matching record, I don't think there is so please create anyway and deal with duplication separately. Whereas CreateOrUpdateProfile means if you think there is an existing matching record, please treat this as an update. The hard point of distinction is, I think, whether there is a shareable unique Id or not. In the Interaction case there isn't, in the COUP case for contact there is email
  • I'm not sure there is a case for Update. This introduces implied shared state and what is the correct behaviour if the thing system A wants system B to update doesn't exist in system B. Perhaps this changes as we start to return values and do longer, multi-step actions but right now I think it introduces an expectation most vendors can't handle.
  • If we have Get (which I'm all for) should we also have Find? Get is, I'd guess, something that matches exactly (or not) to an Id where as Find matches with more or less relevance to a search term. E.g. GetResearchDocument (with the Doc Id passed) vs. FindResearchDocuments(with the phrase 'Large Cap US Bank' passed)
  • I don't understand the purpose of Share

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Context Data & Intents Contexts & Intents Discussion Group enhancement New feature or request intents
Projects
None yet
3 participants