-
Notifications
You must be signed in to change notification settings - Fork 132
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
Make optional: fdc3.joinChannel and fdc3.leaveChannel #431
Comments
I would consider making these functions ( Further, if we accept #242 these functions will change - or #242 can be simplified if we decide to deprecate the functions (#242 would simply become a spec addition saying that you can support multiple channels if you want to, there are no API additions for this). |
Recommendation from discussion group:
|
@kriswest I agree that in many cases it’s users who join/leave channels, so fdc3.joinChannel/fdc3.leaveChannel is usually used together with UI functions. But I cannot ignore the fact that in some of our real use-cases, fdc3.joinChannel/fdc3.leaveChannel is used for pure cross-app communication without any UI interoperations. In such cases, apps need some app channels to share info between each other for app feature purpose rather than user interaction purpose. So from my perspective, it’s better not to force to bound channel to UI and leave the possibility to use channel programmatically.
|
@Qiana-Citi for pure cross-app communication without any UI interactions you should use app channels, rather than the (perhaps poorly named) 'System channels'. These are interacted with through the Channel API directly rather than through the top=level desktop agent E.g. const myChannel = await fdc3.getOrCreateChannel("myChannel");
const myChannel.addContextListener(null, context => {});
myChannel.broadcast(myContextObject); See https://fdc3.finos.org/docs/api/spec#direct-listening-and-broadcast-on-channels for more details. This issue is not proposing to remove AppChannels - only that the |
Output from the Channels, Feeds & Transactions discussion group: #420
The
fdc3.joinChannel
andfdc3.leaveChannel
functions provide programmatic access to joining and leaving channels. Once joined to a channel, the top-levelfdc3.broadcast
function will broadcast to that channel andfdc3.addContextListener
function will receive those broadcasts. However, it is intended that the desktop agent provide UI to enable joining and leaving (system) channels, making these functions redundant and occasionally giving rise to requests for additional functions needed to use these alongside the built-in UIs (e.g. #313). Further, the spec doesn't currently limit which channels can be joined - allowing the unintended joining of 'App channels' and problems with a lack of display metadata for them (e.g. #243).Consider deprecating these functions and removing them from the API in favour of the requirement that the desktop agent provide UI for joining channels.
The text was updated successfully, but these errors were encountered: