Hi @degami.
I know the change is buried among many others in our latest release notes, but this change was made deliberately and it will return as soon as we stop including $given_name
and __version__
in XLSForm downloads. This work is tracked at Exclude internal stuff from XLSForm downloads · Issue #3539 · kobotoolbox/kpi · GitHub.
You’re right on two counts:
- Having identically-named questions with different paths due to grouping is technically allowed in XForm XML;
- KoBo has prohibited this all along, but it’s done so by silently renaming questions; see XLS with duplicates in `name` column is silently transformed · Issue #1017 · kobotoolbox/kpi · GitHub.
This isn’t a great situation, and our options for improvement were:
- Let through forms, unmodified, with duplicate question names;
- Prohibit duplicate question names.
We chose option (2) in the interest of safety. As you also observed, it’s not a huge inconvenience to rename questions to achieve uniqueness when designing a survey. I would argue that, in the examples below, the latter is preferable to the former:
<work>
<address />
<phoneNumber />
</work>
<home>
<address_001 />
<phoneNumber_001 />
</home>
<work>
<work_address />
<work_phoneNumber />
</work>
<home>
<home_address />
<home_phoneNumber />
</home>
The main rationale, however, is that even with a lot of QA, it’d be very difficult to ensure that a code base as large as ours would handle duplicate names (albeit with unique paths) correctly in all circumstances.
In short, support for duplicate names will end in an upcoming release. We reverted the change for the short term because we didn’t want to inflict unnecessary pain in the download-edit-upload XLSForm workflow that many use. Please take note @Josh, @stephanealoo, @Kal_Lam.
Thank you for your patience and understanding.