Difference between revisions of "SurveyCTO Programming"

Jump to: navigation, search
(41 intermediate revisions by 5 users not shown)
Line 1: Line 1:
There are two common ways to program your questionnaire in SurveyCTO. Either by using the form builder or by writing your code in an Excel Sheet. The form builder is useful for the absolute beginner and also when you need to make a quick edit in a form already uploaded to the server. However, the complexity of a typical DIME survey makes all projects sooner or later switch to coding in Excel.  
The [[Impact Evaluation Team|impact evaluation team]] (or '''research team''') must begin by first [[Questionnaire Design|designing]] and [[Questionnaire Translation|translating]] the '''survey instrument''' (or '''questionnaire'''). Once the translated survey instrument is ready, the next step in [[Primary Data Collection|primary data collection]] is to [[Questionnaire Programming|program the electronic survey]] for a [[Computer-Assisted Personal Interviews (CAPI)|CAPI]] or a [[Remote Surveys#Phone Surveys (CATI)|CATI]]. The biggest challenge in '''questionnaire programming''' is keeping track of the [[Questionnaire Design#Modules|content and structure]] of the questionnaire. While there are several [[Computer-Assisted Personal Interviews (CAPI)#Software|software tools]] available for questionnaire programming, [https://www.surveycto.com/ SurveyCTO] is the most commonly-used [https://getodk.org/ Open Data Kit (ODK)-based] tool in development research. Learning the [[SurveyCTO Programming Work Flow|steps]] and [[SurveyCTO Coding Practices|best practices]] in '''SurveyCTO programming''' is therefore essential for anyone who wishes to code a complex, high-quality survey instrument.


As a questionnaire grows bigger, even the best coder lose the overview over the questionnaire. This is the most significant advantage of coding in Excel. While it is possibly to push through and keep using the form builder, data sets from questionnaires not finalized in Excel tend to be less well structured and more cumbersome to work with.  
== Read First ==
* The [[Impact Evaluation Team|research team]] must only move to [[Questionnaire Programming|questionnaire programming]] after finalizing the [[Questionnaire Design|design]] and [[Questionnaire Translation|translated versions]] of a questionnaire.
* [https://www.surveycto.com/ SurveyCTO] is the most commonly-used [https://getodk.org/ Open Data Kit (ODK)-based] tool for '''programming electronic surveys''' in development research.
* There are two common methods involved in '''SurveyCTO programming''' - using the in-built '''form builder''' in '''SurveyCTO''', or by writing the code in an Excel sheet.
* While it is easier '''program an instrument''' using the '''form builder''', we strongly recommend switching over to the '''Excel method''' as soon as possible, which a '''research team''' will have to do that eventually, unless the questionnaire is very short.
* It is easy to switch back and forth between the form builder and the Excel method.
* Therefore, a recommended strategy to transition into programming in Excel would be to create something using the '''form builder method''', and then download and inspect it in the Excel format.


We do not object towards starting programming in the form builder, but we strongly recommend that the questionnaire is at least reviewed in Excel. Experienced coders tend to skip the form builder part altogether, apart from making a quick update to a form already uploaded to the server.
== Form Builder Method ==
 
There are two common ways to program your questionnaire in SurveyCTO. Either by using the form builder or by writing your code in an Excel Sheet. The form builder is useful for the absolute beginner and also when you need to make a quick edit in a form already uploaded to the server. However, the complexity of a typical DIME survey makes all projects sooner or later switch to coding in Excel.
= Read First =


*It is easy to switch back and forth between the form builder and the Excel method. Therefore, one way to transition into coding in Excel might be to create something in the form builder that can be downloaded and inspected in Excel format.
As a questionnaire grows bigger, even the best coders lose the overview over the questionnaire. This is the most significant advantage of coding in Excel. While it is possibly to push through and keep using the form builder, data sets from questionnaires not finalized in Excel tend to be less well structured and more cumbersome to work with.  
*While it is easier for a beginner to start in the form builder, we strongly recommend you to switch over to the Excel Method as soon as possible, as you will have to do that eventually unless your questionnaire is very short.


= Form Builder =
We do not object towards starting programming in the form builder, but we strongly recommend that the questionnaire is at least reviewed in Excel. Experienced coders tend to skip the form builder part altogether, apart from when making a quick update to a form already uploaded to the server.
The form builder is a feature that SurveyCTO provides on their servers.  
The form builder is a feature that SurveyCTO provides on their servers.  


== How to access? ==
=== How to access? ===
You access it by going to the Design tab and click on any form that already exist. After clicking the form a menu appears below it. Click <code>'''edit'''</code> and this questionnaire will be opened in the form builder. If you do not already have a form you want to edit, then click <code>'''start new'''</code> right at the top of the section ''Your Forms''. After you have filled in the forms and generated your questionnaire, you can click <code>'''edit online'''</code> and it will open your new questionnaire in the form builder.
You access it by going to the Design tab and click on any form that already exist. After clicking the form a menu appears below it. Click <code>'''edit'''</code> and this questionnaire will be opened in the form builder. If you do not already have a form you want to edit, then click <code>'''start new'''</code> right at the top of the section ''Your Forms''. After you have filled in the forms and generated your questionnaire, you can click <code>'''edit online'''</code> and it will open your new questionnaire in the form builder.


== How to use? ==
=== How to use? ===
The form builder is an intuitive web interface where you add new questions, groups, etc. by the click of a button. After creating a question you fill in a form with question type, question label, skip patterns, etc.  
The form builder is an intuitive web interface where you add new questions, groups, etc. by the click of a button. After creating a question you fill in a form with question type, question label, skip patterns, etc.  


== How to switch to the Excel method? ==
=== How to switch to the Excel method? ===
Save your work in the form builder and when you are back to the Design tab on your server, you can click the questionnaire. After clicking it you have a menu below the questionnaire, click <code>'''download'''</code>, and in the second menu that appears click <code>'''form files'''</code>. You then get a list of the files associated with the questionnaire. Download the <code>'''Spreadsheet form definition (filename.xlsx)'''</code> and then open that file in Excel.
Save your work in the form builder and when you are back to the Design tab on your server, you can click the questionnaire. After clicking it you have a menu below the questionnaire, click <code>'''download'''</code>, and in the second menu that appears click <code>'''form files'''</code>. You then get a list of the files associated with the questionnaire. Download the <code>'''Spreadsheet form definition (filename.xlsx)'''</code> and then open that file in Excel.


= Programming in Excel =
== Excel Method ==


This method is inherited from ODK (the open source CAPI language that SurveyCTO is built on).  
This method is inherited from ODK (the open source CAPI language that SurveyCTO is built on).  


== How to access? ==
=== How to access? ===
The questionnaire is saved as an Excel file. To start a new form, download a SurveyCTO template form the form You open the questionnaire in Excel.
The questionnaire is saved as an Excel file. To edit a form that already exist, you simply open that file in Excel. Each row is a element in the questionnaire, for example, question, group, note, repeat group etc. Each column is the information that controls how the question, group, note, repeat group etc. behaves and/or is displayed.


== How to use? ==
To start a new form, it is easiest to set up encryption if you create a questionnaire from SurveyCTO's [[SurveyCTO_Programming_Work_Flow#Template_Forms|template forms]] from the form builder. Download the new form as described in the [[SurveyCTO_Programming#How_to_switch_to_the_Excel_method?|How to switch to the Excel method?]] above and open the downloaded file in Excel. You can also access SurveyCTO's most [https://docs.google.com/spreadsheets/d/1JroFCu0HqnPsZwt0jAYa7o311VeOZFc6FRYfET4wAsA basic template form here] in which you can make quick experiments. Remember to encrypt this form if you were to upload it to for data collection.
   


== How to switch to the Excel method? ==
=== How to use? ===
On your
The language used to program Questionnaires in Excel is inherited from ODK. It is more difficult for a beginner to get started with the Excel method compared to the form builder, but there are a lot of resources to help you. All Excel versions of the form templates provided by SurveyCTO has help tabs with quick help on how to write the Questionnaire. SurveyCTO provides detailed documentation on in the help section of all of their servers. Many experienced SurveyCTO programmers have gained their skills by looking at other people's code. Finally, the ODK community also provide resources. However, use this with care as SurveyCTO have made some alterations to how ODK is implemented. Use the ODK community's resources as a final solution if no SurveyCTO source provides you with an answer.


= Back to parent article =
'''''Tip''''': An excellent way to learn is by trying out new constraints, settings, and checks on Form Builder and then [[SurveyCTO_Programming#How_to_switch_to_the_Excel_method?|downloading the excel file]] for that form and studying the code.
 
=== How to switch to the form builder? ===
After logging in to a SurveyCTO server, go to the design tab and in the menu at the top of the Your forms section click the <code>'''Upload Form'''</code> button. Upload your form by following the instructions. The name of your form on the server is set in the [[SurveyCTO Form Settings|form settings]] in the settings tab in your questionnaire file.
 
Scroll down to find your form and access the form builder according tot the [[SurveyCTO_Programming#Form_Builder|How to access the form builder]] instructions.
 
== Back to parent article ==


This article is a part of the chapter [[Questionnaire Programming]].
This article is a part of the chapter [[Questionnaire Programming]].


= See also =
== Additional Resources ==
 
*https://opendatakit.org/help/form-design/


= Further Reading =
[[Category: Questionnaire Programming]]

Revision as of 21:27, 7 July 2020

The impact evaluation team (or research team) must begin by first designing and translating the survey instrument (or questionnaire). Once the translated survey instrument is ready, the next step in primary data collection is to program the electronic survey for a CAPI or a CATI. The biggest challenge in questionnaire programming is keeping track of the content and structure of the questionnaire. While there are several software tools available for questionnaire programming, SurveyCTO is the most commonly-used Open Data Kit (ODK)-based tool in development research. Learning the steps and best practices in SurveyCTO programming is therefore essential for anyone who wishes to code a complex, high-quality survey instrument.

Read First

  • The research team must only move to questionnaire programming after finalizing the design and translated versions of a questionnaire.
  • SurveyCTO is the most commonly-used Open Data Kit (ODK)-based tool for programming electronic surveys in development research.
  • There are two common methods involved in SurveyCTO programming - using the in-built form builder in SurveyCTO, or by writing the code in an Excel sheet.
  • While it is easier program an instrument using the form builder, we strongly recommend switching over to the Excel method as soon as possible, which a research team will have to do that eventually, unless the questionnaire is very short.
  • It is easy to switch back and forth between the form builder and the Excel method.
  • Therefore, a recommended strategy to transition into programming in Excel would be to create something using the form builder method, and then download and inspect it in the Excel format.

Form Builder Method

There are two common ways to program your questionnaire in SurveyCTO. Either by using the form builder or by writing your code in an Excel Sheet. The form builder is useful for the absolute beginner and also when you need to make a quick edit in a form already uploaded to the server. However, the complexity of a typical DIME survey makes all projects sooner or later switch to coding in Excel.

As a questionnaire grows bigger, even the best coders lose the overview over the questionnaire. This is the most significant advantage of coding in Excel. While it is possibly to push through and keep using the form builder, data sets from questionnaires not finalized in Excel tend to be less well structured and more cumbersome to work with.

We do not object towards starting programming in the form builder, but we strongly recommend that the questionnaire is at least reviewed in Excel. Experienced coders tend to skip the form builder part altogether, apart from when making a quick update to a form already uploaded to the server. The form builder is a feature that SurveyCTO provides on their servers.

How to access?

You access it by going to the Design tab and click on any form that already exist. After clicking the form a menu appears below it. Click edit and this questionnaire will be opened in the form builder. If you do not already have a form you want to edit, then click start new right at the top of the section Your Forms. After you have filled in the forms and generated your questionnaire, you can click edit online and it will open your new questionnaire in the form builder.

How to use?

The form builder is an intuitive web interface where you add new questions, groups, etc. by the click of a button. After creating a question you fill in a form with question type, question label, skip patterns, etc.

How to switch to the Excel method?

Save your work in the form builder and when you are back to the Design tab on your server, you can click the questionnaire. After clicking it you have a menu below the questionnaire, click download, and in the second menu that appears click form files. You then get a list of the files associated with the questionnaire. Download the Spreadsheet form definition (filename.xlsx) and then open that file in Excel.

Excel Method

This method is inherited from ODK (the open source CAPI language that SurveyCTO is built on).

How to access?

The questionnaire is saved as an Excel file. To edit a form that already exist, you simply open that file in Excel. Each row is a element in the questionnaire, for example, question, group, note, repeat group etc. Each column is the information that controls how the question, group, note, repeat group etc. behaves and/or is displayed.

To start a new form, it is easiest to set up encryption if you create a questionnaire from SurveyCTO's template forms from the form builder. Download the new form as described in the How to switch to the Excel method? above and open the downloaded file in Excel. You can also access SurveyCTO's most basic template form here in which you can make quick experiments. Remember to encrypt this form if you were to upload it to for data collection.

How to use?

The language used to program Questionnaires in Excel is inherited from ODK. It is more difficult for a beginner to get started with the Excel method compared to the form builder, but there are a lot of resources to help you. All Excel versions of the form templates provided by SurveyCTO has help tabs with quick help on how to write the Questionnaire. SurveyCTO provides detailed documentation on in the help section of all of their servers. Many experienced SurveyCTO programmers have gained their skills by looking at other people's code. Finally, the ODK community also provide resources. However, use this with care as SurveyCTO have made some alterations to how ODK is implemented. Use the ODK community's resources as a final solution if no SurveyCTO source provides you with an answer.

Tip: An excellent way to learn is by trying out new constraints, settings, and checks on Form Builder and then downloading the excel file for that form and studying the code.

How to switch to the form builder?

After logging in to a SurveyCTO server, go to the design tab and in the menu at the top of the Your forms section click the Upload Form button. Upload your form by following the instructions. The name of your form on the server is set in the form settings in the settings tab in your questionnaire file.

Scroll down to find your form and access the form builder according tot the How to access the form builder instructions.

Back to parent article

This article is a part of the chapter Questionnaire Programming.

Additional Resources