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

Lessons from creating App for MP #294

Open
CasperWA opened this issue Jul 5, 2022 · 1 comment
Open

Lessons from creating App for MP #294

CasperWA opened this issue Jul 5, 2022 · 1 comment
Labels

Comments

@CasperWA
Copy link
Contributor

CasperWA commented Jul 5, 2022

This is a list of some lessons and issues we've found during development of an AiiDAlab App for a MarketPlace use case. "We" being mainly @daniel-sintef and partly myself.

Setup Computers and Codes

There used to be "Setup Computer" and "Setup Code" notebooks/apps in the aiidalab-widgets-base application, but they seem to have gone missing in the standard installation. This is an issue, because it makes it incredibly hard to have nice user-friendly ways to do exactly this. The only real way then is to go through the terminal - which a user shouldn't really have to do.

Some of this functionality has been baked into the applications (through the WizardApp framework and the ComputerResourceWidget). This is however quite limited and only allows for loading pre-configured Computers and Codes from an online repository (AiiDA Code Registry). This is a welcome addition, however, the inability to point to an application's own YAML configurations or similar is an issue.

In general, it would be nice to understand the exact pathway an App developer has to take in order to have their App be accompanied by a custom AiiDA plugin and some standard configurations for the associated Code - but also to add one's own custom collection of Computer configurations.

Now, to be fair, there is a short summary in the aiidalab-widgets-base documentation about how to setup a Computer and Code, however, it would be nice to be able to have users do this as well - maybe even by guiding a user to upload a local YAML file with preset configuration options, which will be filled into the given "setup" App.

Misc. (more will hopefully follow here :) )

@yakutovicha
Copy link
Member

Thanks, @CasperWA for the feedback. In general, I agree with your assessment concerning the lack of documentation on how to build apps and on how to use widgets. So not much more to add here from my side :) - it is in our plans to considerably extend the documentation.

There used to be "Setup Computer" and "Setup Code" notebooks/apps in the aiidalab-widgets-base application, but they seem to have gone missing in the standard installation.

The notebooks are still there and they can be linked from the apps. We kept those for backwards compatibility. But we have indeed removed the links to them from the start page.

Some of this functionality has been baked into the applications (through the WizardApp framework and the ComputerResourceWidget). This is however quite limited and only allows for loading pre-configured Computers and Codes from an online repository (AiiDA Code Registry).

I don't think the new ComputationalResourceWidget widget lacks functionality compared to the previous approach. And you guys are very welcome to add more computers/codes you have at SINTEF to the registry.

This is a welcome addition, however, the inability to point to an application's YAML configurations or similar is an issue.

To the best of my knowledge, we never could point to a custom YAML file. But if you think this feature is needed, I am happy to work on it.

P.S. We have biweekly meetings where we discuss the development roadmap. You guys are very welcome to join and share your experience with us.

here are some links:

  1. The AiiDAlab roadmap: https://github.com/orgs/aiidalab/projects/7
  2. HackMD: https://hackmd.io/@aiidalab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants