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

562 AppD vendor agnostic native apps #671

Merged

Conversation

kriswest
Copy link
Contributor

@kriswest kriswest commented Apr 21, 2022

resolves #562

Introduces launch details for native application types and adjusts the standardized application types to accommodate. Also adjusts the relationship between type, details and hostManifests by eliminating the host application type and allowing hostManifests to override details if they want/need to. I believe this makes the (vendor agnostic) details field more useful and more likely to be used than if it is simply ommited when a hostManifest is used. This allows details to become a required field.

Documentation example:
EDIT: see updated example in comment thread instead

Change was agreed in principle (but not in detail) at meeting:

@kriswest kriswest added enhancement New feature or request app-directory labels Apr 21, 2022
@kriswest
Copy link
Contributor Author

kriswest commented Apr 21, 2022

@ggeorgievx here's an initial proposal for vendor-agnostic native app launch details and the tweaks I mentioned to the type/details/hostManifests relationship.

Base of the PR is wrong, but have set it up this way so you can see just these changes. Will change the target when we're agreed on it.
EDIT: targeting consolidated update branch.

In particular, can you check the citrix launch args against what you use?

To run the thing locally run the following in the website folder:
yarn prebuild; yarn build; yarn start

then take a look at: http://localhost:3000/schemas/next/app-directory#tag/Application/paths/~1v2~1apps/post

@kriswest kriswest changed the base branch from AppD-lang-and-translations to Appd-consolidated-update-branch April 22, 2022 10:24
Copy link
Member

@ggeorgievx ggeorgievx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kriswest LGTM! Thank you for clarifying the relationship between hostManifests and details!

Two minor things:

  • should we add a comment about DAs that don't support certain types of applications?
  • should we leave the host application type to allow for other application types?

@kriswest
Copy link
Contributor Author

kriswest commented Apr 25, 2022

@ggeorgievx

  • should we add a comment about DAs that don't support certain types of applications?

Good idea. We could either:

  • State that at least one application type MUST be supported, but any subset MAY be supported.
  • State that at least the Web type must be supported, while other types MAY be supported.

I'm leaning towards the latter as interop between web and other apps types is what I think most would expect of a 'FDC3 compliant' desktop agent and I know of no implementations that don't support web apps...

  • should we leave the host application type to allow for other application types?

A good point - although I might prefer and other type for that and state that its details would have to be defined by a hostManifest? The first example that springs to mind is something like a python app, but I suspect you could still handle that as native and start with a path and arguments...
What your preference here?

@ggeorgievx
Copy link
Member

ggeorgievx commented Apr 25, 2022

@kriswest

I'm leaning towards the latter as interop between web and other apps types is what I think most would expect of a 'FDC3 compliant' desktop agent and I know of no implementations that don't support web apps...

I agree with you.

A good point - although I might prefer and other type for that and state that its details would have to be defined by a hostManifest?
...
What your preference here?

Happy to rename host to other. This would give DAs the flexibility to provide other, custom application types e.g. a node (Node.js) application type that uses the internal, Electron Node.js runtime.

As both changes would require minimal changes I suggest we raise this at the next AppD WG.
I am also adding @donbasuno as a reviewer to run everything by his team.

@kriswest
Copy link
Contributor Author

Heres what it looks like after that last change (to simplify review):
image

image

image

image

image

My only outstanding question is whether path & arguments is enough for native apps (and url for online native) or whether we need to support some sort of appAsset and alias combo.

@kriswest kriswest requested review from a team and hughtroeger April 25, 2022 11:22
@ggeorgievx ggeorgievx self-requested a review April 25, 2022 11:28
Copy link
Member

@ggeorgievx ggeorgievx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only outstanding question is whether path & arguments is enough for native apps (and url for online native) or whether we need to support some sort of appAsset and alias combo.

From our side path + arguments is sufficient. Thank you @kriswest!

Copy link
Member

@ggeorgievx ggeorgievx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only outstanding question is whether path & arguments is enough for native apps (and url for online native) or whether we need to support some sort of appAsset and alias combo.

From our side path + arguments is sufficient. Thank you @kriswest!

@kriswest kriswest added this to the 2.0 milestone May 5, 2022
@kriswest kriswest merged commit 310b45f into Appd-consolidated-update-branch May 16, 2022
@kriswest kriswest deleted the AppD-vendor-agnostic-native-apps branch May 16, 2022 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app-directory enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add vendor-agnostic properties to the AppD application definition format for launching native apps
2 participants