-
Notifications
You must be signed in to change notification settings - Fork 164
Description
Date
Thursday 23rd January 2025 - 10am (US eastern timezone EST) / 3pm (London, GMT)
Zoom info
- Join Zoom Meeting
- Meeting ID: 969 4029 4948
- Passcode: 636931
- Dial-in:
Country International Dial-in Toll-free Dial-in US +1 929 205 6099 (New York) 877 853 5247 UK +44 330 088 5830 0800 031 5717 France +33 1 8699 5831 0 800 940 415 Find your local number https://zoom.us/u/ad2WVnBzb8
Meeting notices
-
FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.
-
All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.
-
FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact legal@finos.org with any questions.
-
FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.
Participation Requirements
Note: Meeting participants are expected to accept the terms of the FDC3 license (Community Specification License), understand the governance process and have a CLA in place.
Please click the following links at the start of the meeting if you have not done so previously.
- View the CSL
- View the GOVERNANCE of the Project
- Click here to start a PR.
- Edit the page to add your details.
- Hit the save button.
- Click "Create Pull Request".
- Click "Accept" on the EasyCLA dialog in the PR's discussion section.
- Click here to send email to become a voting participant on the FDC3 Project
Tracking Attendance
Note: Meeting participants are expected to add a comment to this GitHub issue in order that we can track attendance of FDC3 project meetings. Please do this at the start of the meeting.
Agenda
- Convene & roll call, review meeting notices (5mins)
- Review action items from previous meeting (5mins)
- Status of FDC3 for the Web and FDC3 2.2 release
- Ready for review and merge: FDC3 For Web Browsers Implementation #1309
- Includes a test policy for FDC3 NPM modules which will finally resolve Configure OpenSSF Badging For FDC3 #810 and Unit Test Policy #832
- Alpha NPM releases available for testing:
- Main FDC3 module (ESM only): https://www.npmjs.com/package/@finos/fdc3/v/2.2.0-alpha.3 (note that this is NOT tagged as latest as its an alpha release)
- New CommonJS Module: https://www.npmjs.com/package/@finos/fdc3-commonjs/v/2.2.0-alpha.3
- New submodules also available:
- Some minor implementation refinements ongoing
- Allow apps to control logging used in getAgent / agent-proxy #1487
- Set better default timeouts for API exchanges in DesktopAgentProxy and allow DesktopAgents to control them #1488
- N.b. needs to create new error strings in error enumerations
- Migrate workbench to getAgent #1485
- Ready for review and merge: FDC3 For Web Browsers Implementation #1309
- Proposal of a new FDC3 Maintainer: Julianna Langston @ interop.io
- Contribution of a Go binding for the FDC3 API: Proposal to add Go (GoLang) language binding #1482
- Should the desktop agent support both unqualified appIds and fully qualified ones? #1475
- Clarify that Context types are defined in JSON and may be handled differently in specific API bindings #1486
- Issues to discuss if there is time remaining
- Adjourn
Minutes
- @kriswest provided a status update on FDC3 for the Web and the 2.2 alpha release (as detailed in the agenda above).
- The test policy for FDC3 NPM modules was reviewed and no objections to it were raised - other than a duplicated line in the package breakdown.
- Testing and feedback on the alpha NPM module was requested from participants
- @kriswest proposed @julianna-ciq as a new fdc3-maintainer on behalf of interop.io (and his own move to NatWest Bank) and asked for the consent of the SWG to appoint her, which was given.
- A brief discussion of the need for further maintainers and editors was also held and firms invited to put forward canidates.
- @robmoffat asked if @Roaders would be interested in becoming a maintainer - @kriswest to arrange time with @Roaders to discuss the role.
- Proposal to add Go (GoLang) language binding #1482
- A brief overview of the Go binding proposed by @kemerava was provided
- There is as yet no accompanying repo for the binding - however, Go interfaces work differently than in conventional OOO languages in that they don't have to be explicitly implemented. @kemerava has commented that she can provide such a repo, if someone else in the community would find it useful - however it is less necessary than in other languages.
- Consent from the SWG was requested for adopting a Go bindy, which was received.
- The FDC3 maintainers requested support from any Go developers in the FDC3 community in reviewing this contribution, due to a lack of experience with Go on the maintainers team (apart from @kemerava)
- A brief overview of the Go binding proposed by @kemerava was provided
- Should the desktop agent support both unqualified appIds and fully qualified ones? #1475
- An overview of the issue was provided: AppIds are unique within an appD, but maybe non-unique across appDs. The appD specification introduces the concept of fully qualified appIds (where the
@domain-of-appd.comis appended to the appId) to deal with this and make them globally unique. However, the FDC3 (Desktop Agent) API does not address full qualification nor any logic for mapping or resolving between unqalified and fully qualified app Ids - they are generally just treated as string identifiers. - This leads to a situation where the same application may be referred to by two different strings (e.g.
myAppIdandmyAppId@myAppD.com) that may not be recognized as related or equivalent by a Desktop Agent. - This was identified as problematic when working with the FDC3 conformance framework, which hard codes appIds for its test application, unqualified. By extension, two different Desktop Agent implementations can be correct according to the specification but act differently and require different versions of the conformance test application code (and any other applications which work with predefined appIds) - this is obviously undesirable.
- The meeting resolved that a PR should be raised proposing resolution logic. For example, if an unqualified appId is received as a target for a raised intent but not found via a simple string match, then it can be matched to fully qualified Ids by splitting the fully qualified IDs on the @ to extract the first component (the unqualified appId). If a single application match is found it may be used. If multiple matching fully qualified IDs are found then this should be handled in the same way that multiple instances are resolved - show an intent resolver or apply another suitable resolution procedure.
- This would be an additive change that could be applied in FDC3 2.3 - where an alternative proposal of requiring all DAs to use full qualification would be breaking and require an FDC3 3.0 version to be created.
- @Roaders also indicated that they would explore such resolution procedures as they work on conformance testing of their implementation, rather than asking FINOS to provide or adopt a version of the conformance test framework that works with full-qualified appIds.
- An overview of the issue was provided: AppIds are unique within an appD, but maybe non-unique across appDs. The appD specification introduces the concept of fully qualified appIds (where the
- Clarify that Context types are defined in JSON and may be handled differently in specific API bindings #1486
- @kriswest provided an overview of the issue and the confusion it had caused:
- The context specifications are based on JSON.
- API bindings may implement their own bindings or models for Context objects to simplify working with them in an idiomatic style for that language (as is the case in both the .NET and proposed Go binding). They will generally need to be able to convert to and from the JSON encoding in order to exchange messages through a Desktop Agent with other bindings.
- The Typescript Context bindings are very similar to the raw JSON, but (for example) since 2.0 have included date fields which are ISO 8601 strings in JSON and
Dateobjects in TypeScript/JavaScript - the parsing code provided in ContextTypes.ts file (generated by QuickType) handles conversion from the String type to Date, while simple stringification (JSON.stringify(someContext)) already converts Date objects to ISO 8601 strings (for example).- It is likely that this is not implemented by a number of Desktop Agents, but also changing this behaviour would be breaking.
- The issue proposes that we add clarifying language to the Context AND API overviews to explain the difference between the JSON schemas and specific API bindings.
- @Roaders and @kriswest to explore comparisons between string encodings of Dates and Date objects in JavaScript/TypeScript and to report back
- PR to be drafted to add clarifying language to the FDC3 API and Context Specs
- @kriswest provided an overview of the issue and the confusion it had caused:
- The meeting concluded before the final 3 issues were discussed, a very light introduction to each was provided for participants to consider for a future meeting.
Action Items
- @robmoffat add @julianna-ciq to the @finos/fdc3-maintainers team, maintainers slack channel and google group
- @robmoffat fix duplicated line in the testing policy (and check no other packages were omitted).
- @kriswest to announce appointment of @julianna-ciq to the maintainers team
- @kriswest to arrange time to discuss the maintainer role with @Roaders
- @finos/fdc3-maintainers and @finos/fdc3-editors to review and feedback on Adding language binding for golang #1483 - any FD3 community members with Go experience were requested to provide feedback.
- @kriswest to draft a PR to propose techniques for resolving mixed use of fully qualified and unqualified appIds through the FDC3 (Desktop Agent) API. @Roaders to experiment with resolution techniques and to report back.
- @kriswest and @Roaders to explore comparisons between ISO8601 strings and Date objects and any other deviations of the TypeScript context types from the underlying JSON definitions
- @Roaders and @kriswest to explore comparisons between string encodings of Dates and Date objects in JavaScript/TypeScript and to report back on issue Clarify that Context types are defined in JSON and may be handled differently in specific API bindings #1486 - then propose clarifying language to be added to the FDC3 API and COntext specifications.
Rolled over from previous meetings:
- @finos/fdc3-editors and @finos/fdc3-maintainers to review and merge Conformance additions for 2.2 #1426
- @finos/fdc3-maintainers Update the proposal for Support for Multiple Application Scopes (Agents) within a single window process #1250 to include a tear-down function for 'subAgents'.
- @kriswest add Add property to support analytics across apps #1290 to a future meeting agenda to determine what solution to select for the 2.3 scope
- @bingenito create an issue and PR to add the advice about consistent use of pascal case in enums in the API (implementation language and context docs (The Context Interface section after advice on union types).
Untracked attendees
| Full name | Affiliation | GitHub username |
|---|---|---|