Skip to content
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

FDC3 for Web Browsers Discussion group - 29th June 2023 #1017

Closed
7 of 10 tasks
kriswest opened this issue Jun 26, 2023 · 11 comments
Closed
7 of 10 tasks

FDC3 for Web Browsers Discussion group - 29th June 2023 #1017

kriswest opened this issue Jun 26, 2023 · 11 comments
Labels
FDC3 for Web Browsers help wanted Extra attention is needed indexed When a meeting attendance is being tracked meeting

Comments

@kriswest
Copy link
Contributor

kriswest commented Jun 26, 2023

Group overview

Group convened to discuss how to enable FDC3 use in a web browser, without the use of a browser extension (such as fdc3-desktop-agent or a container).

Issue: #896
Mailing list discussion: https://groups.google.com/a/finos.org/g/fdc3/c/jCvlLjokBLs

In a recent email on the FDC3 mailing list, @kriswest wrote:

... I also want to add that there is clearly significant interest in the community in enabling FDC3 use on the web. There is a strong use case in that it would enable better onboarding journeys with less drop-off (where you use an app on the web with others before adopting a desktop container or similar).

and:

But there are also additional challenges such as how to make the API available reliably without importing a proprietary module from a particular vendor into every app, how to deal with more than one implementation of API/Desktop Agent in the browser at once, how to do this reliably and securely within the browser sandbox etc.. Work needs to be done in the Standard to solve these issues and to make web browser use possible in a future FDC3 Standard version - which I believe is possible (and likely to involve using a vendor-agnostic FDC3 NPM module to detect and connect to API implementation(s)). However, we're going to need to do that work to enable the aforementioned API implementations to be compliant and if we fail to hold the line now on compliance with the current version of the FDC3 Standard, that may never happen.

Shared doc with current draft: https://tick42-my.sharepoint.com/:w:/g/personal/finsemble_datastore_interop_io/EZ0dfTCdRlJCnIF3C_1Oit0B7xK0OOJ0nAvC73dwad53AA?e=x2zlge

Relevant issue tags

Current open issues that relate to the above concepts with the label:
image

Meeting Date

Thursday 29 June 2023 - 11am EST / 4pm BST

WebEx info

More ways to join

  • Join by video system:
  • Join by phone
    • +1-415-655-0003 US Toll
    • +44-20319-88141 UK Toll
  • Access code: 255 217 33304

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.

  • A Discussion Group has no direct decision-making power regarding the FDC3 standard - rather it is intended that anything they propose or work on will result in proposals (via Github issues and PRs) for the Standards Working Group participants to consider and vote on for inclusion in the standard.

Agenda

  • Convene & roll call, review meeting notices (5 mins)
  • Review action items from previous meeting (5 mins)
  • What should we call an 'installer', 'bootstrapper' etc.? (5 mins)
  • Continue discussion of how a solution might be used in an app via code examples (15-30 mins)
  • Discuss implementation options (if time)
  • What 'Identity' issues might we need to solve? (15 mins)
  • AOB & Adjourn

Minutes

  • What should we call an 'installer', 'bootstrapper' etc.?
    • The name and role of the library were discussed - including a recap of the fact that we'd expect to introduce the library as a new default/recommended way to get at the FDC3 implementation in both containers and browsers (in support of WORA for FDC3 apps).
    • The name chosen is important as, if well chosen, it can help with comprehension of its role
    • A table was added to the google doc with suggestions, which participants were asked to consider and comment on offline.
      • A number of participants thought that 'installer' is not appropriate as it might simply be retrieving a reference to an existing script or providing a proxy to an agent running elsewhere
      • @kriswest identified that a participant was using terminology in a way that differed from their understanding of current FDC3 terminology, which might indicate that further work on the FDC3 glossary is needed to standardize terms (in particular Agent/Provider/API endpoints etc. - although 'Desktop Agent' and 'Platform Provider' already have definitions in FDC3)
  • Continue discussion of how a solution might be used in an app via code examples
    • Much of the rest of the meeting centered around how to pass options to the proposed library function and what those should be:
      • Passing options:
        • One or more participants noted that:
          • It is sometimes useful to be able to change options at deploy time, rather than development time.
          • But then at other times (or for other options) it may be necessary to tie to the code.
          • Options as code leads to more flexibility?
        • There was consensus that flexibility would actually be achieved by not forcing the options to be in either code or config, but either.
          • For example, code passes in options, or a flag saying 'check my web manifest' or 'retrieve from this URL'
          • We might allow code to set some options as well as indicate remote config that can fill in missing options.
      • Options to support:
        • Identity / appId ?
          • Need something to link to appD record to give us the interop config (amongst other things)
            • For independent web apps this is not known in advance by the Desktop Agent as it did not spawn the window
            • This will also be needed in solutions for the Microfrontend container use case
          • (optional) Authentication details in support of Identity?
        • (optional) What Desktop Agents an app will accept?
          • Once an fdc3 instance is received you could check what it is and whether you want to use it - but then others might have been available and you might need to go back for one - where discovery might negate that need
          • Discovery strategies to use (for running desktop agents, or those available on a domain etc.) and/or use cases to support
            • Discovery:
              • App origin
              • Container origin? Most containers could/would continue to set the window global.
          • Use cases:
            • Only load an agent if started by one (use case 1 or 2)
            • Load specific agent if not started by one - or go to discovery!
            • Allow/disallow micro-frontends (requesting sub-agents)
  • Proprietary vs. Open Source implementation
    • During other discussions the question of whether this could/should/would be an opensource library or a standard for proprietary implementations
      • A participant pointed that they might need to have their own implementation as they have trouble accessing/on boarding some projects/github
        • They were encouraged to discuss this with their OpenSource Project Office (OSPO)
        • Also to contact FINOS for any support they can provide in resolving
      • @kriswest pointed out that, if it is used internally, there is little that anyone could do to prevent the use of a proprietary implementation and if it conformed to what was being defined by the Standard then it would not matter - the existence of the open standard and an open source implementation would make this very easy to achieve.
    • There was general consensus that providing an opensource implementation was by far the best way to proceed and should be the easiest to gain uptake for

Action Items

  • All to consider naming for the library and feedback in the google doc
  • All to consider what options would be needed in the library function and make some notes for next time
  • @kriswest to migrate the document (his firm hosts the doc and are moving off Google docs) - links to be updated where possible.
  • @kriswest include continuation of options discussion in next agenda - in particular discuss discovery and delivery

Untracked attendees

Full name Affiliation GitHub username
@Julia-Ritter
Copy link
Contributor

Julia / FINOS

@robmoffat
Copy link
Member

Rob / FINOS 🦘

@novavi
Copy link

novavi commented Jun 29, 2023

Derek Novavi / S&P Global

@pbaize
Copy link

pbaize commented Jun 29, 2023

Pierre / OpenFin

@hampshan
Copy link

Andrew Hampshire @ UBS

@Julia-Ritter
Copy link
Contributor

Julia / FINOS

@kriswest
Copy link
Contributor Author

Kris West / Interop.io 🪨

@lspiro-Tick42
Copy link

Leslie Spiro / interop.io

@mistryvinay
Copy link
Contributor

Vinay Mistry / Symphony 🎵

@hughtroeger
Copy link
Contributor

Hugh Troeger / FactSet

@kriswest
Copy link
Contributor Author

kriswest commented Jul 5, 2023

Meeting document migrated to Sharepoint from Google Drive and can be found here.

@github-actions github-actions bot added the indexed When a meeting attendance is being tracked label Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FDC3 for Web Browsers help wanted Extra attention is needed indexed When a meeting attendance is being tracked meeting
Projects
None yet
Development

No branches or pull requests

9 participants