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:
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?
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