This repository was archived by the owner on Nov 17, 2022. It is now read-only.
Create module to keep Standard content up-to-date #293
Labels
enhancement
Some sort of new functionality (rather than fixing or tweaking something that already existed).
missing-feature
A major feature that should exist, but does not.
repo-management
Changes relating to management of the repository.
standard-support
Relating to how pyIATI supports a major component within the IATI Standard.
At the moment, the
resources
module contains a copy of the IATI Standard. Keeping this up-to-date is currently a manual process that requires a new version of pyIATI to be deployed. This is not sustainable.A long-term solution should allow the content that makes up the IATI Standard (Schemas, Codelists, Rulesets, etc) to be updated without manual intervention.
The SSOT cannot be brought in directly using submodules because the structure is not as desired in pyIATI - it contains auxiliary scripts and information that are not desired, while also missing information such as Non-Embedded Codelists. git submodules should also not be used since this adds an additional dependency upon pyIATI that is otherwise not required.
Alongside this, pyIATI is looking to determine a folder structure that could lead to a more sustainable way to manage the IATI Standard. The current train of thought is around using folders rather than branches to track different versions.
There are a few potential issues in this design around maintaining bug fixes across multiple versions (a single fix needs applying to each version, rather than it being possible to apply a single commit to multiple branches). The current branch-based model has, however, become out-of-sync in such as way that these sort of problem that should only exist in a folder-based model are already present.
A module should be created that downloads content from the SSOT and updates the local copy of the IATI Standard. This has two major benefits:
This module (
iati.fetch
has been proposed) could also be the location for other functionality involving network transfer. This could include tasks such as fetching Datasets from the Registry.The text was updated successfully, but these errors were encountered: