Replies: 2 comments 2 replies
-
Support adding labels for the child processes.Take
There are too many PwBandsWorkChain<104> Finished [0] [7:results] |
Beta Was this translation helpful? Give feedback.
-
For the discussion on the features to improve the usability of the QueryBuilder, my idea is to implement a "Search bar" like tool where a human readable string is converted in a simple query (initially just the function, than it could be converted in a nice WebUI with autocompletion/suggestions). EG: In a simpler database structure, like a movie database i would be able to run a query of the type In the AiiDA case where the structure is more treelike, we would have to discuss how to implement this, mostly how many feature the query string would have, but i would keep it as simple as possible, something like: The core of this feature would be the parser that transform the string into a query, but for userfriendliness, having an actual searchbar with an autocomplete/suggest feature would make this usable by someone who has never seen AiiDA or a query |
Beta Was this translation helpful? Give feedback.
-
New users to AiiDA often complain that the learning curve is quite steep. We should think about how to lower the barrier for new users to get started using AiiDA, and generally improve the usability of the code.
In this discussion I want to ask AiiDA users to give ideas/feedback on AiiDA's user experience, so we can identify the biggest hurdles and make life easier for our users. To kick things off, I'll give a few examples of my experience when using AiiDA and what I think can be improved.
Improving docstrings of constructors and methods
A lot of the signatures of the constructors and methods of AiiDA classes rely on
*args
and**kwds
and often do not have complete docstrings. Take for example the constructor ofStructureData
:This makes it difficult for a new user to understand how to use the AiiDA classes, without having to consult the documentation (which can sometimes be tricky to find and is often not complete). I think we should:
Try to avoid relying on
*args
and**kwds
too much and explicitly list the input arguments. I understand this may have downsides with regard to maintainability, but on the other hand it would also make it easier to use the constructors/methods in development with tab-completion etc.Make an effort to try and list all input parameters in the docstring. As another example here, I noticed recently that in the constructor docstring of the
InstalledCode
class, only thecomputer
andfilepath_executable
input arguments are listed:So a new user would not be immediately aware of other important inputs from the parent constructor (
prepend_text
,default_calc_job_plugin
, ...)Improve the process of setting up computers/codes
One of the first things new users of AiiDA have to do is set up a computer and code. However, this process doesn't always go very smoothly. Some well-known hurdles are:
verdi computer setup
#4981). This might be solved with some better documentation (I wasn't aware of the--non-interactive
option when using YAML files to set defaults for a long time, for example) or a tutorial on setting up codes/computers (as discussed during a recent tutorial feedback meeting). However, as discussed in Simplify the interface ofverdi computer setup
#4981 we could also consider only requesting essential information and setting defaults for most settings/configuration.verdi computer list
(Makeverdi computer list
show also unconfigured machines #3355). I.e. the computer is still hidden at this point, and can be seen when adding the-a, --all
option, but perhaps we should not hide non-configured computers by default.prepend_text
after the computer/code has already been set up.Beta Was this translation helpful? Give feedback.
All reactions