-
Notifications
You must be signed in to change notification settings - Fork 0
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
Usability: Allow pure folder-based access and storage of AiiDA profiles #22
Comments
Here are some steps to create a minimal running PSQL in user space, confined in a folder. The idea is that probably we could consider this, at least for the folder-based approach? The idea of this message here is just to show that it is actually possible to have a folder-based approach even with PSQL, with some caveats. Here are some steps to create and use a new PSQL DB locally, as a standard users, without ports but just Unix sockets. STEP 1: create an empty scaffolding folder for PSQL.As a folder I use
STEP 2: Minimal configuration of the new PSQL instanceI create in it a sockets dir inside the same folder, and make sure that only sockets are used, and that sockets go in the folder just created
STEP 3: Use this user-space, folder-based PSQLI can start, check the status, and stop the PSQL server with these commands.
Further notes:
|
Thanks, @giovannipizzi, for the detailed write-up! Some preliminary notes:
|
Thanks for the comments! Just a follow up comment ony own comments. What I wrote was just some thoughts and ideas. I'm happy to discuss if, for psql, it's really safe to put all in a folder. Maybe it creates more problems if people start to move the folder while the DB is running etc. To be discussed |
Thanks @giovannipizzi! Just for context, I'm putting the As well as my rather extensive objections to this approach. Just writing down my thoughts quickly, on the train and only have 5 mins. ^^
|
Hi, It comes of course with implications on supporting working on various profiles even if created with different AiIDA versions without automated profile file changes etc. But I think it's OK, we can probably even commit to not making any migration within major versions, as well as having backward compatible profile files within major versions (and anyway avoiding automatic migration of those, but wanting users that they are using a profile of a old - or too new - AiiDA version, with suggestions on how to proceed). |
Motivation
Even advanced users might not fully understand where data is stored (DB, repository, configuration file, ...). This is currently also virtual-environment based. If I want to know all profiles in my computer, it's hard to keep track of them if I'm note very organised.
A user might just want to know that everything about a profile is inside a folder (as it happens for a git repo, everything is inside a .git folder), and if I move the folder, I'm moving everything; if I delete a folder, everything is gone; etc.
Desired Outcome
It is possible to have a way to define a profile that is fully confined in a folder (including all data). This should be easy for the SQLite DB at least (notes in a comment below for PSQL). It should then be easy to just use that profile by just navigating into the folder.
In the future, similar to a
git checkout
, one could have a way to mirror part of the data in the folder, at least in read-only mode, so people can just use usual file browsers,grep
commands etc, to understand what the folder is about. Syncing to this folder does not have to be realtime, but can happen when a command is invoked, similar to git pull, e.g.verdi sync ...
. This could e.g. be in the form of an extended version of theverdi process dump
command, that instead dumps all nodes inside a given group. And, when averdi group sync --all
command is run, it refreshes the dump files to ensure they are up to date with the AiiDA DB.Impact
I think many users have a hard time understanding the concept of profiles, where data is stored, how to delete a profile and back it up (even if we provide commands), what to do when disk storage is running low, etc. Folder based can help a lot in starting with AiiDA while feeling to have a full control of their data.
Complexity
Progress
Being discussed/brainstorming.
The text was updated successfully, but these errors were encountered: