You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
22
22
* Added a Trademarks page to website to acknowledge trademarks used within the Standard not owned by FINOS or the Linux Foundation ([#534](https://github.com/finos/FDC3/pull/534))
23
23
* Added details of FDC3's existing versioning and deprecation policies to the FDC3 compliance page ([#539](https://github.com/finos/FDC3/pull/539))
24
24
* Added a new experimental features policy, which exempts features designated as experimental from the versioning and deprecation policies, to the FDC3 compliance page ([#549](https://github.com/finos/FDC3/pull/549))
25
+
* Added a recommended set of user channel definitions to the API docs and typescript sources ([#727](https://github.com/finos/FDC3/pull/726))
25
26
* Added the optional exposure of originating app metadata to messages received via `addContextListener` and `addIntentListener` via the new `ContextMetadata` type. ([#725](https://github.com/finos/FDC3/pull/725))
26
27
* Added the current app's `AppMetadata` to the `ImplementationMetadata` returned by `fdc3.getInfo()` allowing an app to retrieve its own metadata, according to the Desktop Agent ([#726](https://github.com/finos/FDC3/pull/726))
27
28
* Added a context type representing a range of time (`fdc3.timerange`). ([#706](https://github.com/finos/FDC3/pull/706))
Copy file name to clipboardExpand all lines: docs/api/spec.md
+88-4Lines changed: 88 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -374,7 +374,90 @@ Calling `fdc3.broadcast` will now route context to the joined channel.
374
374
375
375
Channel implementations SHOULD ensure that context messages broadcast by an application on a channel are not delivered back to that same application if they are joined to the channel.
376
376
377
-
> Prior to FDC3 2.0, 'user' channels were known as 'system' channels. They were renamed in FDC 2.0 to reflect their intended usage, rather than the fact that they are created by system (which could also create 'app' channels). The `joinChannel` function was also renamed to `joinUserChannel` to clarify that it is only intended to be used to join 'user', rather than 'app', channels.
377
+
> Prior to FDC3 2.0, 'user' channels were known as 'system' channels. They were renamed in FDC3 2.0 to reflect their intended usage, rather than the fact that they are created by system (which could also create 'app' channels). The `joinChannel` function was also renamed to `joinUserChannel` to clarify that it is only intended to be used to join 'user', rather than 'app', channels.
378
+
379
+
### Recommended User Channel Set
380
+
381
+
Desktop Agent implementations SHOULD use the following set of channels, to enable a consistent user experience across different implementations. Desktop Agent implementation MAY support configuration of the user channels.
382
+
383
+
> Note: Future versions of the FDC3 Standard may support connections between desktop agents, where differing user channel sets may cause user experience issues.
384
+
385
+
```javascript
386
+
constrecommendedChannels= [
387
+
{
388
+
id:'fdc3.channel.1',
389
+
type:'user',
390
+
displayMetadata: {
391
+
name:'Channel 1',
392
+
color:'red',
393
+
glyph:'1',
394
+
},
395
+
},
396
+
{
397
+
id:'fdc3.channel.2',
398
+
type:'user',
399
+
displayMetadata: {
400
+
name:'Channel 2',
401
+
color:'orange',
402
+
glyph:'2',
403
+
},
404
+
},
405
+
{
406
+
id:'fdc3.channel.3',
407
+
type:'user',
408
+
displayMetadata: {
409
+
name:'Channel 3',
410
+
color:'yellow',
411
+
glyph:'3',
412
+
},
413
+
},
414
+
{
415
+
id:'fdc3.channel.4',
416
+
type:'user',
417
+
displayMetadata: {
418
+
name:'Channel 4',
419
+
color:'green',
420
+
glyph:'4',
421
+
},
422
+
},
423
+
{
424
+
id:'fdc3.channel.5',
425
+
type:'user',
426
+
displayMetadata: {
427
+
name:'Channel 5',
428
+
color:'cyan',
429
+
glyph:'5',
430
+
},
431
+
},
432
+
{
433
+
id:'fdc3.channel.6',
434
+
type:'user',
435
+
displayMetadata: {
436
+
name:'Channel 6',
437
+
color:'blue',
438
+
glyph:'6',
439
+
},
440
+
},
441
+
{
442
+
id:'fdc3.channel.7',
443
+
type:'user',
444
+
displayMetadata: {
445
+
name:'Channel 7',
446
+
color:'magenta',
447
+
glyph:'7',
448
+
},
449
+
},
450
+
{
451
+
id:'fdc3.channel.8',
452
+
type:'user',
453
+
displayMetadata: {
454
+
name:'Channel 8',
455
+
color:'purple',
456
+
glyph:'8',
457
+
},
458
+
},
459
+
];
460
+
```
378
461
379
462
### Direct Listening and Broadcast on Channels
380
463
@@ -422,9 +505,10 @@ if another application broadcasts to "my_custom_channel" (by retrieving it and b
422
505
`PrivateChannels` are created to support the return of a stream of responses from a raised intent, or private dialog between two applications.
423
506
424
507
It is intended that Desktop Agent implementations:
425
-
-- SHOULD restrict external apps from listening or publishing on this channel.
426
-
-- MUST prevent `PrivateChannels` from being retrieved via `fdc3.getOrCreateChannel`.
427
-
-- MUST provide the `id` value for the channel as required by the `Channel` interface.
508
+
509
+
- SHOULD restrict external apps from listening or publishing on this channel.
510
+
- MUST prevent `PrivateChannels` from being retrieved via `fdc3.getOrCreateChannel`.
511
+
- MUST provide the `id` value for the channel as required by the `Channel` interface.
428
512
429
513
The `PrivateChannel` type also supports synchronisation of data transmitted over returned channels. They do so by extending the `Channel` interface with event handlers which provide information on the connection state of both parties, ensuring that desktop agents do not need to queue or retain messages that are broadcast before a context listener is added and that applications are able to stop broadcasting messages when the other party has disconnected.
0 commit comments