App directory endpoints require hosting and configuration
Minor Issue
Reading the endpoint documents for v2 here it states that the GET request for apps ends with /v2/apps. This poses a problem for containers which are looking to avoid REST reach out and having to manually configure hosting environments.
Area of Issue
- App Directory
Issue Description:
In the example I was building I wanted to point the app directory to a static JSON file hosted on the same domain as my UI code. http://mydomain.com/fdc3/app.json
However, as the path for endpoints requires v2/apps this requires that the server is configured for a special default document type in that directory. As this was not configured on the hosting provider it served index.html anf failed to load.
IMHO we should not force people to configure their hosting environments in order to use leverage FDC3 as its a great deal of friction. Static deployment models with no additional services should be supported. Consider mobile apps with all the static HTML resources deployed onto the device. Additionally this will also aid developers running dev environments locally without a supporting server.
Additional Context:
It could be possible to implement service workers to intercept this request but asking each developer to do this is likely to hinder adoption.
Additionally, we should support the scenario where there is no hosting at all. Consider an application which is pure static files served from the file system rather than a HTTP server.
Hi @Davidhanson90,
Connection to one or more app directories is recommended (SHOULD) for implementations, but not required (MUST):
An FDC3 Standard compliant Desktop Agent implementation SHOULD:
- Support connection to one or more App Directories meeting the FDC3 App Directory Standard.
https://fdc3.finos.org/docs/api/spec#desktop-agent-api-standard-compliance
Hence, you can use a local configuration and reuse the appD record format when you do so. You would not be prevented from achieving a successful conformance test result if you work with a config file rather than an appD (although you may have to transcribe the records into a config yourself). I believe the conformance repo contains some configs for vendor products that do this.
@robmoffat static hosts the FINOS appD and can probably report back (when he's recovered from OSFF) on how he set up static hosting for that.
Finally, we have a number of PRs that have just been opened to contribute appD reference implementations in Java (#1620) and Node.js (#1619) that were built during a Citi hackathon (there may be another still to come for .NET). These could leveraged to support a super simple script to start one up and host an appD (based on a file used as input).
As the use of a hosted appD is recommended rather than required (SHOULD rather than MUST), and there are many examples of DesktopAgents that use configuration files rather than appD servers, I'll close this issue. However, if you think there is more we could do here (such as clarification in the FDC3 docs or changes to URL paths used - noting the resolution syntax's use of those paths) then feel free to reopen this @Davidhanson90