-
Notifications
You must be signed in to change notification settings - Fork 130
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
Introduce a general, host independent, fdc3.general.app.manifest
manifest type describing an application
#314
Comments
fdc3.general.app.manifest
manifest type describing an applicationfdc3.general.app.manifest
manifest type describing an application
fdc3.general.app.manifest
manifest type describing an applicationfdc3.general.app.manifest
manifest type describing an application
fdc3.general.app.manifest
manifest type describing an applicationfdc3.general.app.manifest
manifest type describing an application
This is a good proposal and would let vendors fully standardize vendor independent manifests. I think the first alternative, of raising |
Thanks @thorsent - we are targeting this for v2.0 so that we can make breaking changes, so fingers crossed! |
We will be adding support for this draft format into our 1.2 version, so that we can start to show container independent app stores. |
I propose we drop the We could also integrate this proposal directly into the application schema as it's pretty fundamental to the definition of an application - that would make the |
Kris, I like the idea of this being the one and only FDC3 Manifest type, with Desktop Agent specific overrides. If we do this, then I think it would be useful to add some kind of 'requires' field, so that an app which could run in Finsemble or Glue42 could indicate that. On a related note, I also wonder if we should separate Container and Browser applications. In Glue42 we also support Node.JS as a type of app for loading background service type apps, so maybe we could allow this, or else make the app type extensible. |
I think everyone is pretty much on the same page with this one. @ggeorgievx would you mind raising a PR for this? We have agreed above:
Anything I've forgotten? @lspiro-Tick42 I don't understand what you mean by the requires field. |
This is a full example, based on the above discussion: const appDefinition = {
appId: "myApp-v1.0.0-prod",
name: "my-app",
title: "My App",
description: "My description",
type: "browser", // options: browser, native (exe)
details: {
url: "https://finance.yahoo.com/", // or "path"
},
version: "1.0.0",
tooltip: "My tooltip",
images: [
{
url: "https://my-app/my-image.png",
},
],
contactEmail: "contact@my-app.com",
supportEmail: "support@my-app.com",
publisher: "Glue42",
icons: [
{
src: "https://my-app/my-icon-48.png",
sizes: "48x48",
type: "image/png",
},
{
src: "https://my-app/my-icon-72.png",
sizes: "72x72",
type: "image/png",
},
],
hostManifests: [
{
name: "Glue42",
manifest: {
height: 640,
width: 560,
left: 120,
top: 120,
mode: "tab",
allowChannels: true,
},
schema: "https://glue42.com/schema.json",
},
],
}; |
Some comments:
|
Enhancement Request
Introduce a general
fdc3.general.app.manifest
manifest type describing an application. The specification would cover exe and browser type applications and would allow for host specific configurations. It would be defined with extensibility in mind.The JSON schema of the manifest type would be:
Please note:
Application
interface of the App Directory specification and introduce thetype
anddetails
properties as first class citizens (similarly to how we do it at Glue42). In this case the new generalfdc3.general.app.manifest
manifest would only include the optionalhostManifest
property.additionalProperties: false
would prevent developers from adding new properties that would otherwise need to be inside of the hostManifests thereby enforcing the specification.hostManifests
property (currently an array ofhostManifest
s) would be an object with the host name as key e.g.:Use Case:
It would be really convenient if there was a standard manifest type that allowed us to define one single definition per application that also included all the host specific configurations.
Going back to the idea of a Toolbar from some of the other issues (e.g. Introduce a new
fdc3.applications()
method #311). Having a general manifest type would also allow the Toolbar to launch any application, regardless of the vendor, as it would know where to look for the URL.A general manifest type would also allow for reuse of existing App Directories. Let's say we want to create a quick FDC3 PoC - we wouldn't have to write our own App Directory and could instead use an existing one (e.g. Nick Kolba's) that follows the common manifest type that everyone understands.
Workflow Description
Every host would need to be adapted to understand the new manifest type. It would have to look inside of the parsed
manifest
for its host specific application manifest.Workflow Examples
Here is an example of an application definition using the new manifest type:
Additional Information
A PR for this issue would include the schema, tests and examples.
The text was updated successfully, but these errors were encountered: