aiidalab / aiidalab-home

AiiDAlab Home App
MIT License
5 stars 9 forks source link

Implement end-point that triggers app installation prior to redirect #95

Closed csadorf closed 2 years ago

csadorf commented 2 years ago

User stories

As a user, I would like to have a special link that not only opens an AiiDAlab app, but also ensure that it is installed so that I do not need to manually install an app in order to be able to use it.

As an app provider I would like to be able to provide a link that users can use to automatically install and open an app so that I can guarantee that a user can use my app without needing to manually install it.

Context

Right now we use the standard /user-redirect endpoint to be able to provide links directly to app interfaces. This however assumes that the app is already installed. In case that the app is not yet installed, it would simply result in a 404.

Proposed solution

Implement a home app install tool that implements an arbitrary application and then automatically redirects to the correct app. The URL for this tool would be of the form:

/apps/apps/home/install.ipynb?app=<app-url>&redirect=<app-entrypoint>

Example:

https://demo.aiidalab.net/apps/apps/home/install.ipynb?app=my-app&redirect=/apps/apps/my_app/start.ipynb

csadorf commented 2 years ago

This concept was developed in discussion @CasperWA in the context of the Materials Modeling MarketPlace use case implementation. @CasperWA Would you like to add anything?