I am working on an analysis based on open data from a CKAN data store. For this analysis to be reproducible it obviously needs the exact same input dataset. I would hence like to make sure that a resource that is downloaded in a future execution of my analysis is the exact same resource of any current execution. For that CKAN would need to support revisions of resources, but I couldn't find such a mechanism. How does versioning of datasets and its resources work in CKAN and how do I know which part of the data and metadata will never change, and which part could change in the future?
Revisioning in CKAN is something that needs to be refactored and that is currently not exposed via the UI but internally objects are being revisioned and assigned a
revision_id, including resources, that is accessible via the API.
Also for uploaded files (not for resources that are linked to external sources) there is a
last_modified timestamp added to the resource whenever the file is updated.
Would any of these be helpful?