Skip to content

Question: App-specific context metadata #829

@pierreneu

Description

@pierreneu

Question Area

[ ] App Directory
[ ] API
[X] Context Data
[X] Intents
[ ] Use Cases
[ ] Other

Question

Right now Symphony raises intents such as ViewInstrument, with a fdc3.instrument context, allowing the action to be performed in another app that is configured to handle that intent and context pair.

However, we'd like to include more information (metadata about the interaction) in the context data, such as the chat room id, message id, user email/id etc. as this might be useful to the receiving app. However, adding it to the instrument object is not semantically correct (it doesn't relate to the instrument.

This additional metadata might be added not only to the ViewInstrument intent, but any outgoing intents coming from out application.

Options we think of:

  1. Add custom properties to the fdc3.instrument e.g. com.symphony.originatingchatroomid. This is not semantically correct as custom properties in the standard are reserved to identifiers and the metadata relates to the interaction rather than the instument/security.
  2. Add an optional object nested in the fdc3.instrument. It can be either something specific to the type of context such as fdc3.chatinfo or something much more generic such as fdc3.appcontext. However, this has the same issue as the first suggestion.
  3. Change the context type to a new context type that would wrap a fdc3.instrument. This however breaks interoperability with apps that are only listening to ViewInstrument(fdc3.instrument)
  4. Add properties to the ContextMetadata that the receiving app MAY receive (Originating App Metadata). ContextMetadata is currently supplied by the Desktop Agent, we would need a way to supply additional information to the Desktop Agent to augment it.

Based on a side discussion with Kris, it seems that the current standard may not provide a perfect solution.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions