kpi is the (frontend) server for KoboToolbox. It includes an API for users to access data and manage their forms, question library, sharing settings, create reports, and export data.
Currently, autonaming of questions with no given "name" takes place in 2 places with different behavior.
In the project, names have been essential at 3 steps:
When the form is deployed
When a question is referenced in skip logic by another question (either in the form builder or in an XLSForm)
Before a form is exported to XLSForm
After some consideration, it turns out only 1. above is absolutely essential.
The best place to do this essential autonaming would be on the back end.
Therefore, to avoid maintaining duplicate modules in coffeescript and python, I suggest we replace the autonaming with a simple function that assigns a unique string ($kuid) to the row, for purposes of skip logic, and then filter out those values on the back end, and replace with python-generated "autoname" values.
This approach will avoid touching the fragile skip logic / validation code.
There is no timeframe for this, but we can reference this issue when we run into autoname issues in the form builder in the future.
Description
Currently, autonaming of questions with no given
"name"
takes place in 2 places with different behavior.In the project, names have been essential at 3 steps:
After some consideration, it turns out only 1. above is absolutely essential.
The best place to do this essential autonaming would be on the back end.
Therefore, to avoid maintaining duplicate modules in coffeescript and python, I suggest we replace the autonaming with a simple function that assigns a unique string (
$kuid
) to the row, for purposes of skip logic, and then filter out those values on the back end, and replace with python-generated "autoname" values.This approach will avoid touching the fragile skip logic / validation code.
There is no timeframe for this, but we can reference this issue when we run into autoname issues in the form builder in the future.