-
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
Check use of updated IATI codelists #1407
Comments
Sharing this for awareness @praweshsth - let me know if you want to keep it as a GH issue or check it elsewhere as part of general maintenance of IATI Publisher |
@emmajclegg The IATI codelists used in the IATI Publisher are all maintained as static files within the system which have not been updated in quite some time and so, the most up-to-date lists are not being used. CONCERNS
|
@Sanilblank We expect that codelists within the IATI Standard will update fairly regularly (every few weeks to months) so I think it's worthwhile automating the import process. The formats and locations of the codelists won't change without notice, so you can rely on those. We're still figuring out the best way to communicate about code list updates without excessive notifications, so either a regular process (e.g. once a month) or a daily check for changes that triggers a manual process to update the codelists would be appropriate. I don't know how often codes get deprecated or removed, or what the process is for those, so I'll ask one of my colleagues to reply on that question. |
@Sanilblank - to answer your concerns question, if a code gets deprecated/withdrawn by IATI, it should no longer be possible to select this from drop-down menus within IATI Publisher (i.e. it should not be possible to use the withdrawn code when adding new or updating existing data) The code remains valid however in historic (i.e. previously published) data, so no changes should be made to existing data in IATI Publisher when a codelist is updated. I wouldn't recommend keeping withdrawn codes in the drop-down menus (even with an appropriate label) as some users are likely to ignore this and use them anyway, with an impact on data quality. If you can see issues to existing users with this approach, please elaborate and we can try to help. |
Currently in IATI Publisher, we are facing an issue where the CRON job (the one responsible for running tasks periodically automatically) is unable to update any files present within the public directory (the place where all our json files are currently placed). We had also faced this issue for the Organisation Registration Agency data retrieval command and had worked around the problem by using AWS to host the files. IATI Publisher would read the data from the file (in AWS) the first time and place it in cache for use every other time. We could employ a similar mechanism for all other codelists as well.
To implement this, with the current codebase, we will need to remove the code and its data entirely from the json data file which will result in some issues in the activity detail page and the edit page. We will need to update the codebase so that we can inform the system that certain codes have been deprecated and so they should not be shown on the drop down options. In this update, the deprecated data will not be shown in the drop down options but will still be present in the json data file. This will solve the issue for the detail page and so correct data will be seen even if the code has been deprecated. When user tries to edit the data, the edit option will be seen as empty and if the user saves the form without making any changes, the deprecated code will be replaced by empty value. |
@Sanilblank - can you provide more detail on what the CRON job issue is? I can pass it to one of the developers in our team for advice. I'll discuss your comments on the interface and drop-downs with the wider Support team this week and get back to you to confirm. |
@emmajclegg - I just had a talk with our devops team member and this is what he has said:
In a similar manner, the CRON job is unable to modify any files present in our code's directory. |
Thanks for the extra info @Sanilblank. Having checked with our developers, we think your AWS workaround is likely the better way of the two to update these codelists going forward (i.e. the same solution as used for the Organisation Registration Agency). The alternative may have been storing the codelists in database tables and drawing from that, though we're not sure what the work required for that set-up would be at this point. I am still discussing with IATI Support colleagues what the expected behaviour should be on data already existing in IATI Publisher when codelists change (there's a few edge cases to think through as you've described above). I hope to share these expected behaviours for the interface by the end of this week |
Hi @Sanilblank @praweshsth - we've discussed and I've summarised below what we think the expected behaviour should be around codelists in IATI Publisher. This is slightly more complicated than originally thought as it does look like we need some record of deprecated codes kept within the system. Have a read and let me know if this is clear enough to go on? One question we had - in your first comment on this thread @Sanilblank, you said "We will have to copy the contents of the updated json files present in the registry". We don't believe you can get these from the Registry so did you mean the IATI website? Codelist updatesWhen an IATI codelist changes, the relevant page of the IATI website will be updated and changes should be reflected in IATI Publisher as soon as possible. The IATI website should remain synched with the IATI GitHub repo codelists, so either can be used by YI to find the most recent codelists. We expect codelists to change fairly frequently (every few weeks to a month), so it is worth automating the update process for IATI Publisher. Expected user interface behaviour for IATI PublisherHow IATI Publisher data is treated will depend on whether it’s newly entered, already published or in draft state. It will also depend on whether IATI Publisher is displaying data that has already been entered or presenting a user with dropdown menu options to choose from. Activity DataAlready published activity data from IATI Publisher should remain unchanged. Draft (unpublished) data in IATI Publisher should be treated differently depending on whether the activity has previously been published.
Organisation DataAlready published organisation data from IATI Publisher should remain unchanged.
Other considerationsMigrated organisations: If an organisation is migrated from AidStream to IATI Publisher, their data should be treated according to whether it is published or in draft state, as described in the sections above. |
TODO
|
|
@emmajclegg This has been deployed to staging. Since deprecated codelist do not show up on the dropdown unless they are used, I've added activity : "Activity with deprecated code" in the testing organisation: "My org's name", belonging to username: "emma_clegg_90" |
For awareness - some IATI codelists have recently been updated, as explained here: Notice: Nonembedded codelist updates
Can we check the most up-to-date lists are being used in Publisher? (and that we have an easy way to update them when needed!)
The text was updated successfully, but these errors were encountered: