Catalog chokes on dataset-id containing forward-slash #3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
BTW,
uvis awesome, and this buildpage script.Got some "impossible" results locally when building the catalog:
Then, looking at the metadata in the catalog after the build:
So some step in the metadata creation process takes the dataset id
https://trr379.de/datasets/q01and then incorrectly creates a hierarchy of directories matching that "path". This needs to be fixed.Well, on inspecting the catalog, it seems like some functionality at least works as it should. The dataset id is URL encoded when accessing it in the served catalog, and this leads to the correct information being rendered. There might still be other functionality that doesn't work (like the
catalog_removecalls), but it needs to be explored further to figure out the implicationsThanks for the observation. In the pool we have the PID to work with first and foremost, we are not guaranteed to have any DataLad dataset distributions (dataset IDs). The catalog pages worked all right for me, so I didn't investigate, but in the end this is a "lazy" choice for determining the dataset ID: if the PID is
https://pid.datalad.org/datasets/<uuid>...then take the UUID from there, otherwise use the PID as-is. This probably should be urlencoded or (even better) there should be another special treatment for thetrr379.de/datasetsnamespace.For PIDs like
https://trr379.de/datasets/q01, I'm thinking of either:http://, replacing. -> -&/ -> _: producestrr379-de_datasets_qo1UUIDv5(nsURL, "https://trr379.de/datasets/q01"): produces83b98d3e-9a39-5b4f-adea-a3bee7276640UUID5(UUID5(nsURL, "https://trr379.de"), "datasets/q01"): producesd657b52b-a6e2-5424-9c21-ffe23c3b482aPersonally I am not a fan of squeezing everything into UUID format, considering that the dataset ID can be any string, but it would make the dataset IDs more uniform 🤔