Clarify how apps should handle broadcast and receipt of multiple context types #434
Labels
api
FDC3 API Working Group
channels feeds & transactions
Channels, Feeds & Transactions Discussion Group
context-data
FDC3 Context Data Working Group
docs
Documentation
Milestone
Enhancement Request
When sharing context over channels, you can
addContextListner
for all context or for particular types of context (which will filter the messages you receive). However, the specification does not advise on whether an application, intended to link to multiple other applications consuming a variety of different types, should broadcast multiple times with different types or expect the other applications to listen for its preferred type and extract what they need for it.Use Case:
A particular application (e.g. an OMS) might broadcast details of orders (lets call that
fdc3.order
for the sake of the example). A type representing an order might be composed of several other types, including:fdc3.position
)fdc3.instrument
)fdc3.organization
)fdc3.contact
)That application might be linked (via a System channel) to other components that use particular types as context, e.g.
fdc3.contact
),fdc3.organization
)fdc3.instrument
)fdc3.instrument
)fdc3.position
)fdc3.order
)Possible solutions
Should the OMS:
This question may need to be answered for components that use different types to be able to work together without prior coordination. That answer could form advice in the specification OR could update it (e.g. to have context listeners added to channels automatically extract types they are listening for).
Note: it is possible to write a general purpose function for searching for and extracting a specified type from another type that is composed from it:
The text was updated successfully, but these errors were encountered: