Keep extra-column when creating a new question in the form builder UI

Hi everyone,

When you created an XLSForm you can add optional columns that have nothing to do with XLSForms official syntax, so as to put some comments. We use this in a global template of a form to give instructions to people needing to modify the form for their local context or other interesting aspects. What is great is that, when you import the XLSForm in question to KOBO, you can see these extra columns in the Kobo builder question settings :

image

But, if you create a new question directly on KOBO in this survey, you will not have these extra-columns, they will only be for the other questions you have already imported.

It could be very useful to keep these columns also for new questions. In fact, it can be necessary to add some comments : to keep the construction of the form easier, to specify some aspects etc… for example, we have an “analysis” column, that is also read by the Kobo Excel Analyser tool to know how data should be read in the tool (for pie chart, bar chart, comparison questions etc). If a new question is created, it would be great to be able to view these extra columns to be able to define the full analysis plan in the Kobo online builder rather than just for existing questions.

I am using KOBO Humanitarian response & ODK Collect v1.22.4.

You can use this XLSForm to do the test (as you have additional columns in it)
WASH_KAP_mobile_template_v9_9_4.xlsx (1.1 MB)

I think it could be an interesting feature to add (and very pratical one!) :slight_smile:
Chloé

Hi @chloelaborde,

Could you kindly share with us the screenshot as a backup. It would be very helpful in understanding your suggestion more pictorially.

Please correct me if i have mistaken you … you wish to have a question type which represents a column in the xlsform which can store comments for the question. This comment has nothing to do with the survey itself (neither does it get displayed in the data entry form while collecting data) but is only used to backup information for that particular question (if needed).

Have a great day!

Hi @Kal_Lam,

Sorry for this - way - too little screenshot, it should be better now:

yes more or less. On my screenshot you can see in yellow the additional column I created directly in my XLSForm - before uploading it on KOBO -
What I want is - once my XLSForm is upload on KOBO - create a new question, - directly on KOBO this time - and have also these additional columns for my new question.
I do not only want a comment column, I want the same columns I created before to be reproduce for new questions.

I hope it’s clearer now,
Thank you for your interest :slight_smile:
Chloé

1 Like

Dear @chloelaborde,
The recent Formbuilder behaviour is even more complex. Additional columns are only mapped to a variable in the Formbuilder, if they have a (non-empty) value in the XLSForm. (Or if they are the corresponding ::language field.) So, if all cells in your XLSForm for an additional column are empty you will NOT see anything of it after the export.

Here an example

OwnColumnsXLS02.xlsx (12.2 KB)
image

Also good to know:

  • An additional column without any value in total will not be kept after XLS-import and re-download (even without editing).
  • The (non-empty) additional columns are kept when (re-)downloading them as XLS, but the column order may change.
  • Additional columns are not visible for data collection (XForm/User Interface) and not included in print-out.
  • Additional columns for choices are not visible in Formbuilder, but are kept on (re-)download XLS (if not all cell empty).
  • In general, mixing XLSForm editing with Formbuilder re-editing and re-download may create problems, like column re-ordering and small differences between ODK/KoBoCollect and Formbuilder, for example hidden type.

Example above after re-download (even without editing)

Kind (WASH-)regards
Wolfgang

3 Likes

Hi @wroos,

Thank you very much for the details, good to know how it works exactly to ease our work. My screenshot was recent, we have empty columns for each variables thanks to the corresponding ::language field.
My suggestion makes even more sense. :slight_smile:

Best regards,
Chloé

1 Like