finos / finos/FDC3

Question: App-specific context metadata

Open
#829 9 comments 0 reactions 0 assignees View on GitHub
Context Data & Intents needs-pr
Dominant language
TypeScript
Stars
270
Forks
193
Avg merge
3d 4h
Merged PRs (30d)
32

Description

### 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 ](https://fdc3.finos.org/docs/context/spec#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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.