Issue
I think we implemented two rules at the v2.03 upgrade which are not backwards compatible, as v2.02 and previous data may not validate against the v2.03 ruleset. This may have been missed as the rules were added as the relevant Indicator Measure codelist transitioned from embedded to non-embedded.
The Rules are:
- The @value must be omitted for qualitative measures
- The @value must be included for non-qualitative measures
- The @value should be a valid number for all non-qualitative measures
And they are found in three places:
- iati-activities/iati-activity/result/indicator/baseline/@value
- iati-activities/iati-activity/result/indicator/period/target/@value
- iati-activities/iati-activity/result/indicator/period/actual/@value
Measures are declared using the @measure attribute at indicator level. The ability to do was present at v1.04 onward. As the Indicator Measure codelist is now non-embedded all values are available for all versions of the Standard - this includes the new ‘qualitative’ measure.
(See the Discuss post for more information)
This means that as of version 2.03, publishers using an earlier version of the IATI Standard could report a qualitative measure and include an @value. Similarly, they could include a non-qualitative measure and not include an @value. Neither of these would be breaking a rule in IATI.
Solution
We propose that the two must statements added at v2.03 are to be changed to shoulds. This means they will be taken out of the Standard Ruleset and publishers’ data will not be checked against this in the new validator.
These three now should statements are to be made musts at the next major upgrade (version 3.0.0). The proposal for this is here.
Who would be affected?
No publisher will be disadvantaged by this change.
Publishers who are obeying the rules as they currently are will not be affected. They will continue to be following the guidance provided by the IATI Standard. Publishers using an earlier version may be going against the guidance resent in v2.03. However, if they change their published data to v2.03 their files will still validate as they will not be breaking a rule.
Next Steps
The relevant GitHub changes to the Standard can be seen here. The current discussion and PR for the rulesets can be found here.
If there is no objection to this bug fix within 7 days, the IATI Technical Team will implement the changes. This only applies to version 2.03 of the IATI Standard. If objections are raised, we will go into consultation about how this issue should be resolved.