-
Notifications
You must be signed in to change notification settings - Fork 9
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
Update materials cloud archive URL's #13
Comments
The corresponding page on the new Archive should be this (please double check): https://archive.materialscloud.org/record/2018.0001/v4 |
Thanks @borellim. We had discussed this at the time that I made v4 of the archive entry. I did the reorganization and cleanup exactly for the purpose of this plugin. I made sure that all files had a consistent format and file naming scheme. This made it easy for this plugin to automatically build the URL based on say the desired, pseudo family protocol, functional and version. With the new archive version, the URL of each file gets a randomized ID with it, which made this approach impossible. This is why I kept the legacy version around and you said you were going to take a look into making this possible for the new version of the archive as well. Do you think this is still a possibility? For example, the |
Thanks Sebastiaan for the summary of the situation. I will discuss it with Valeria and try to see if this feature can be added quickly. If not, I guess you always have the option of keeping a hardcoded table of UUIDs. |
Hi @sphuber , @mbercx . Valeria and I agreed that this should be possible, but we can't start working on it for about a week, and then I guess it will take a few days but I can't say for certain. I'll leave it to you guys (and @giovannipizzi) to decide whether you want to move immediately to a hardcoded table of UUIDs, so that legacy-archive can be shut down, or to simply continue using legacy-archive: for me it's the same. |
Thanks a lot for the response @borellim ! Well, if you think it is useful in any case to simplify the links for files of archive entries and you plan on working on this regardless of this issue for |
Hi - we can keep the machine online for a few weeks, it's just that we start having too many and we need to start dropping the legacy ones. I suggest to have a URL like this: Where maybe even the record_id is NOT 23 but instead the one of the form 2020.xx (in this case However, as it's not clear how long a proper implementation can need to go into production, and also other websites (for other families) on which we don't have control could have a different naming strategy, I suggest that this library also is implemented in a way to have a table of URLs for cases like this. |
Since the opening of this issue, there have been two new patch releases in the works (one still not released as of this moment): v1.1.1 and v1.1.2. Are we planning to provide support for separate patch releases as well, or do we stick with EDIT: @asle85: is it tricky to set up/maintain these links? Just to have an idea if this causes a lot of overhead on your end. Thanks! |
@mbercx actually no, it's not tricky to maintain the links. I can add the files for the v1.1.2 below the ones for the other versions as done for the current version of the record on the Materials Cloud Archive. For completeness, I'll create an AiiDA export file also for v1.1.2. |
I'm not aware of any limit, but maybe we should also ask @vgranata . |
I do agree with this. I'm also rather in favour of just having one version per minor release, always making available the latest patch release. But that does raise the question on what happens if users try to install e.g. v1.1 with: $ aiida-pseudo install sssp -v 1.1 Do we accept this command and install v |
I need some more information here first. What exactly changed in that |
The first was an additional I'm not sure if a policy has already been set for SemVer, but I would say that:
|
Just pinging @csadorf that the QE app |
Indeed, there were unescaped |
Ok thanks for the info. Then I guess that it doesn't really ever make sense for someone to be wanting to install an outdated patch version, because it would just include more breaking behavior. Only reason I could see is for people wanting to install the broken versions on purpose to test them. But then I think we can just force them to use the API instead of the CLI, which is always available. If that makes sense, should we then maybe simply not add explicit patch versions in the CLI but simply always try to download the latest? So if people ask for This seems to contain the archives for both 1.1 and 1.1.1. Given that what you have described as patch versions being really bug fixes, I am not sure if that is useful nor necessary. At least from the perspective of MCA, in v6 of the entry you could have simply overwritten the 1.1 archives with the fixed ones and not add them separately as 1.1.1 ones. The reasoning being that you could always go back to v5 to get the "original" v1.1. In this sense, there is a double versioning. Than again, this would remove some information for |
@sphuber If you use the standard Python requirement and versioning semantics this would already be implied. See here for an in-code example on how to test for this: https://github.com/aiidalab/aiidalab/blob/9fa4230e11773b92d587cc6133fe1f7dd7c505ca/aiidalab/app.py#L116 |
Thanks for the link @csadorf . I think the problem for us here is that we do not necessarily have an API to ask which versions of the SSSP are available. It is kind of hidden in the filenames that are present in the various versions of the Materials Cloud Archive entry. So we cannot really automate our command to dynamically check what patch version currently exists (and how to download it) for a certain minor version of the SSSP. |
Actually no, the v1.1 has always been the same since version v3 of the MCA entry. The other versions were published because there were changes to other files (for instance, in v5 I migrated and fixed the AiiDA export file).
I agree, and I would keep one list of files for v1.0 and only another one for v1.1 (so keeping only the latest patch release). Regarding the naming, I would prefer to have the full version v1.1.2, so it is clear to users that this differs from v1.1, and also in this case the user can go to the previous versions to get the "original" v1.1. |
Are you forced to update the record id of the URL? If not, maybe you could add a file with a mapping of the minor version to the latest patch release. Then That said, it seems to me that releases of the SSSP are not that common, so maintenance on our end would be rather low. :) |
Yes, this can be done |
@vgranata Great! So we could just have a single URL that points to the current In Just one question regarding "obtaining the latest |
Just to clarify (maybe I misunderstood, sorry in that case) - do you really need to ask the MC Archive for the most recent record_id? Can't you just map a given SSSP version to the correct record_id and filename? Once a new record (i.e. a new version) is published, the record_id and filename of that version will not change anymore. I mean, e.g. if you want a file specifically from v2 than you use e.g. this link, if you want files from v6 e.g. this and so on. I agree that moving forward, we might not need to put all files of all versions in the most recent version (but probably now 1.0 and 1.1 both make sense so we want them to be visible in the most recent version) |
Hi @giovannipizzi 👋! So the way I understood how we can make the publication of new patch releases work without having to update the
That way patch releases can be entirely updated on the materials cloud, without any code changes needed in That said, I'd be happy to update |
Just to note that the main objection here is not the added work on our side, it is rather that it would require a new release to get it into the hands of the users. And that would most likely require other plugins to update their dependencies given that now we are pre v1.0 and we recommend people pinning the minor version since we are changing a lot. Once we are stable this would be less of a problem, but otherwise we might have to start backporting and adding support releases, which all of a sudden make things complicated. |
Fair point! So I suppose my solution is worth it, then. If it works. 😏 |
I see, thanks for the comments |
When trying to install the default SSSP family, I ran into connectivity issues:
After touching base with @borellim, it turns out that the legacy archive had been shut down, since they didn't think anyone was still using it. It's back online now, but we should probably update the URL's so we are no longer relying on the legacy archive.
The text was updated successfully, but these errors were encountered: