v2.0
版本发布时间: 2022-08-30 19:31:18
finos/FDC3最新发布版本:v2.1(2023-09-14 22:09:37)
v2.0 of the FDC3 standard, consisting of:
Release highlights
Formal specification
- Significantly improved both the structure and content of the Standard's documentation (including merging the overview and specification pages for each part of the standard, ensuring the docs are DRY)
- Introduced abstract, glossary, references and trademarks pages.
- Consolidated compliance information for each part of the standard and both 'personas' (Platform providers and Application providers).
- Documented existing deprecation and versioning policies and new experimental features policy.
- Create a Community page to showcase support for and uptake of the FDC3 Standard.
API
- Added the ability to return data or a channel from a raised intent, via the addition of an
IntentHandler
type and agetResult()
toIntentResolution
. - All DesktopAgent and Channel API functions are now async for consistency, changing the return type of the
broadcast
,addIntentListener
,addContextListener
andgetInfo
functions. - Added support for targetting of intents at specific app instances via an
instanceId
(and optionalinstanceMetadata
) field toAppIdentifier
andAppMetadata
and a new `findInstances() function. - Added a new recommended set of user channel definitions to promote consistency between Desktop Agents (in anticipation of Desktop Agent implementations communicating with each other in future).
- Added the optional exposure of originating app metadata to messages received.
- Added a getAppMetdata() function to the desktop agent that can be used to retrieve the full AppMetadata for an AppIdentifier and reduced types such as IntentResolution.source and ContextMetadata.source from AppMetadata to AppIdentifier to clarify what fields a developer can rely on and that they should manually retrieve the full AppMetadata when they need it for display purposes.
- Clarified descriptions of expected behaviour of many functions including
raiseIntent
,addContextListener
andjoinChannel
- Clarified how the broadcast of 'composed' types should be handled so that apps can respond to the sub-types (broadcast each subtype that you expect other apps to respond to, then the composed type).
- Replaced 'System channels' to 'User channels' to better reflect their usage and reduce developer confusion about the difference between User channels and App Channels.
- Adjusted wording in API spec and documentation to acknowledge the possibility of methods of intent resolution other than a resolver UI.
- The
joinChannel
,getCurrentChannel and
leaveCurrentChannel` functions have been made optional for FDC3 API compliance (as equivalent functionality is usually implemented by a Desktop Agent via a selector UI on the window chrome. -
open
,raiseIntent
andraiseIntentForContext
function signatures that make use of the appname
have been deprecated in favour of usingAppIdentifier
(which is a new parent ofAppMetadata
that clarifies required fields for API call parameters) - Removed details of the 'global' channel that was deprecated in FDC3 1.2.
App Directory
- Reconfirmed the role appD in FDC3 and its description via a re-written AppD overview page.
- Added /v2/ paths to the AppD's specification, allowing a single implementation to support serving both FDC3 v1.2 and v2.0 application records, enabling simpler migration.
- App Directory endpoint for creating applications was removed as these will often be implementation dependent and should not be required for compliance.
- App Directory endpoint for searching applications was removed as searches over multiple app directories are better implemented by retrieving all the records and searching over the resulting combined dataset.
- Changes to app directory records:
- Improved container independence of appD records by adding support for including or referencing multiple container or web app manifests for each app by removing the
manifestType
andmanifest
properties and replacing them with the newtype
(required),details
andhostManifests
properties. - Added better support for native applications in appD via the new
type
anddetails
fields. - Added an
interop
field to AppD application records, replacing theintents
field, to more fully describe an app's use of FDC3 and enable search for apps that 'interoperate' with a selected app -
images
field was replaced withscreenshots
to better align the application record with web application manifest and match its format to that used by icons - Added a
moreInfo
URL field to AppD application records to enable linking to a web page with more information on an app. - Added
lang
field to AppD application records to specify the primary language of an app and its appD record. - Added
localizedVersions
field to AppD application records to support localized versions of descriptive fields in the app records - Added categories field and recommended categories list to AppD application records to enable category based browsing of AppDs
- Improved container independence of appD records by adding support for including or referencing multiple container or web app manifests for each app by removing the
Intents
- Extended Intent Naming conventions to support intents that return or interact with data.
- Added new intent definitions:
-
ViewResearch
: see the latest research on a particular stock. -
ViewProfile
: supersedes the ViewContact intent and allows the viewing of profiles for different entity types (e.g. organisations). -
ViewInteractions
: see the latest interactions (calls, meetings, conferences, roadshows) on a particular stock or with an individual or organization. -
ViewOrders
: see the order history of an individual, an institution or of a particular instrument. -
StartEmail
: initiate an email with a contact or list of contacts.
-
- Deprecated the ViewContact intent, which is superseded by ViewProfile.
Contexts
- Added support for raiseIntent without a context via the addition of the fdc3.nothing context type (#375)
- Added new context types representing:
- a range of time: `fdc3.timerange.
- a currency:
fdc3.currency
. - the price and value of a holding
fdc3.valuation
. - a chart
fdc3.chart
. - parameters for the initialization of a chat conversation
fdc3.chat.initSettings
. - parameters for the initialization of an email to a contact or list of contacts
fdc3.email
- Extended recommended field type conventions for contexts to include types for ids, times, dates, currency codes and country codes.
- The fdc3.country context type was updated to comply with the recommended field name for country codes (COUNTRY_ISOALPHA2).
- Updated definition of the Position context type to support negative (short) positions
See the CHANGELOG.md for full details.