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

Specs precision needed about intent handler and app metadata intents property #825

Closed
Tracked by #838
pgn-vole opened this issue Oct 3, 2022 · 1 comment · Fixed by #844
Closed
Tracked by #838

Specs precision needed about intent handler and app metadata intents property #825

pgn-vole opened this issue Oct 3, 2022 · 1 comment · Fixed by #844
Labels
api FDC3 API Working Group docs Documentation

Comments

@pgn-vole
Copy link

pgn-vole commented Oct 3, 2022

It is not clear reading the specification whether an application MUST have an intents property within its application definition in the appDirectory for a desktop agent to consider that application within the intent resolution logic.
A specification implementer may consider that an application just need to call fdc3.addIntentListener('IntentName') for it to be part of the intent resolution logic regardless on whether its app metadata has an intents property or not.
Could this ambiguity be clarified?

@kriswest kriswest added docs Documentation api FDC3 API Working Group labels Oct 4, 2022
@kriswest
Copy link
Contributor

kriswest commented Oct 4, 2022

@pgn-vole This is covered in the Desktop Agent overview under Register an Intent Handler

Register an Intent Handler

Applications need to let the system know the intents they can support. Typically, this is done via registration with an App Directory. It is also possible for intents to be registered at the application level as well to support ad-hoc registration which may be helpful at development time. Although dynamic registration is not part of this specification, a Desktop Agent agent may choose to support any number of registration paths.

However, its not particularly emphasized. In the Desktop Agent API Standard Compliance section there is also this statement:

An FDC3 Standard compliant Desktop Agent implementation SHOULD:

Support connection to one or more App Directories meeting the FDC3 App Directory Standard.

Although this does not relate specifically to registration for intent handling.

If you think this could be clearer please feel free to suggest a clarification. If that clarification doesn't alter the meaning of the standard we can push it into the current version, otherwise, it can be included in the next FDC3 release (and will show up in the 'next' version of the docs until released).

Note that you can edit this doc and raise a PR directly in github. Simply hit the pencil icon at the top of this page and edit the relevant content:

Applications need to let the system know the intents they can support. Typically, this is done via registration with an [App Directory](../app-directory/spec). It is also possible for intents to be registered at the application level as well to support ad-hoc registration which may be helpful at development time. Although dynamic registration is not part of this specification, a Desktop Agent agent may choose to support any number of registration paths.

My read of the current text is that an application SHOULD have an interop.intents.listensFor property (2.0 moved the old intents property to here) to allow the Desktop Agent to consider it for resolution (whether an instance of it has been started or not). Desktop Agents MAY support ad-hoc registration (i.e. considering them after an instance is launched and adds a listener), as well as other registration paths at their discretion.

The wording of the relevant statement for using apps starts with 'Typically', which should really be changed to a more definite statement using a compliance keyword (SHOULD). The last 'may' in the final quoted sentence above should also be capitalized (MAY). Finally, both statements should be repeated in the Desktop Agent API Standard Compliance section.

I would suggest the best way forward on this is to raise a PR which we can vote on at the next meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api FDC3 API Working Group docs Documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants