1. Overview.
SurveyCTO and KoboToolbox are both built on the Open Data Kit (ODK) framework. Their form design formats are structured around XLSForm (Excel Survey Form). SurveyCTO goes beyond the standard XLSForm format by providing a unique spreadsheet template. It features default columns and fields, alongside an intuitive color-coding system to distinguish different field types. Additionally, SurveyCTO offers more advanced features that streamline the form design process.
Although both platforms share similarities, there are some meaningful differences. This article provides straightforward guidelines to seamlessly convert KoboToolbox forms into SurveyCTO forms.
This guide covers the following sections:
- Minimum required changes
- Major value adds in the SurveyCTO platform
- Steps to convert a KoboToolbox form into SurveyCTO form
- Best practices on form design using SurveyCTO platform
The main focus of this article is form design. If you’d like to learn more about other features of SurveyCTO, check out our free resources: And sign up today for a 15 day free trial of SurveyCTO to test these features yourself! |
2. Minimum required changes for converting a KoboToolbox form to SurveyCTO
In KoboToolbox's XLSForm, there are three primary elements: two mandatory tabs labeled "survey" and "choices", and one optional tab named "settings". These tabs are used to define the structure of the survey, specify the choices for select-type questions, and configure optional settings, respectively.
On the other hand, all these three tabs are ‘required’ in SurveyCTO. SurveyCTO’s sample form definition comes with most of the elements (columns) for each tab by default, which makes it easier for first time users to work on. You can also consult the additional “help” tabs (“help-survey”, “help-choices” and “help-settings”) to learn about the elements of these tabs.
Check out the following chart with both platforms’ minimum required elements (columns) for each tab:
Tabs | KoboToolbox | SurveyCTO |
survey | “name”, “type” and “label” | |
choices | “list_name”, value” and “label” | |
settings | instance('list_name')/root/item[filter expression]/desired_property |
“form_title”, “form_id” and “version”. “version” column comes with a default formula to automatically calculate the version number each time the form is updated. |
Field types
Almost all the KoboToolbox’s field types are supported in SurveyCTO. You can find the list of all their question field types and SurveyCTO’s equivalent fields and features below:
KoboToolbox’s field types | SurveyCTO’s equivalent fields/ features |
integer | integer |
decimal | decimal |
range | select_one with likert appearance |
text | text |
select_one [options] | select_one |
select_multiple [options] | select_multiple |
select_one_from_file [file] | select_one with preload feature |
select_multiple_from_file [file] | select_multiple with preload feature |
rank [options] | select_multiple with ranking-choices field plug-in |
note | note |
geopoint | geopoint |
geotrace | geotrace |
geoshape | geoshape |
date | date |
datetime | datetime |
image | image |
audio | audio |
background-audio | audio_audit |
video | video |
file | file |
barcode | barcode |
calculate | calculate |
acknowledge | select_one with “yesno” choice list. |
hidden | calculate |
xml-external | Server dataset feature |
rating | A group with field-list appearance that has select_one fields with label and list-nolabel appearance |
ranking | A group that has select_one fields with minimal appearance and constraint |
Question-matrix* | text with table-grid field plug-in* |
start** | start** |
end** | end** |
today** | calculate field with the today() function |
deviceid** | deviceid** |
phonenumber** | phonenumber** |
username** | calculate field with the username() function |
email** | text field with constraint |
audit** |
*While the question-matrix field type of KoboToolbox is only supported in the web form, its SurveyCTO counterpart is supported in both web form and Collect.
** Metadata
Field properties
Familiarize yourself with SurveyCTO’s equivalent field property names using this chart:
KoboToolbox | SurveyCTO |
type | type |
name | name |
label | label |
hint | hint |
guidance_hint | hint |
appearance | appearance |
choice_filter | choice_filter |
parameters | parameters |
constraint | constraint |
constraint_message | constraint_message |
relevant | relevance |
trigger | relevance with not(empty(${fieldname}) function |
calculation | calculation |
readonly (column value: true) | read only (column value: yes) |
read_only (column value: yes) | read only (column value: yes) |
required | required |
required_message | required_message |
repeat_count | repeat_count |
label::Languagename (code) | label:language |
image | media:image |
media::audio | media:audio |
video | media:video |
default |
Use default for a static (specific) default, and use calculation for a dynamic (calculated) default. |
instance:: | Not supported |
bind:: | Not supported |
body:: | Not supported |
form_title* | form_title |
form_id* | form_id |
version* | version |
instance_name* | instance_name |
default_language* | default_language |
public_key* | public_key |
style* | Not supported |
namespaces* | Not supported |
attribute:* | Not supported |
* columns in the settings tab
Functions
In the following chart, you will find a list of SurveyCTO functions that are equivalent to the traditional ODK functions commonly used in KoboToolbox:
KoboToolbox | SurveyCTO |
position(..) | index() |
jr:choice-name() | choice-label() |
instance('list_name')/root/item[filter expression]/desired_property | pulldata() |
Also, check out the SurveyCTO-specific functions here that can help you simplify form programming and achieve outcomes that weren’t possible before!
3. Major value adds in the SurveyCTO platform
i. Spreadsheet form definition template
SurveyCTO's Spreadsheet form definition template simplifies form design. With its user-friendly spreadsheet interface, users can easily define form elements like questions, constraints, and validation rules. This template enhances efficiency and flexibility, enabling users to quickly design customized forms tailored to their data collection needs. Check out our support articles to learn more.
ii. Google Sheets compatibility
SurveyCTO supports Google Sheets as one of the form upload options. This enables a streamlined workflow and facilitates real-time collaboration among team members.
iii. Built-in encryption feature
SurveyCTO's built-in data encryption is an easy-to-use and powerful data security tool. This feature ensures that sensitive data collected through SurveyCTO forms remains encrypted from collection to transmission. SurveyCTO's encryption complies with industry standards, providing users with robust security measures and enhancing trust in the platform.
iv. The Hub - Off the shelf workflows
The Hub in SurveyCTO offers pre-designed workflow templates that cater to diverse data collection needs, reducing the time and effort required to create forms from scratch. These templates are fully customizable, ensuring flexibility for users to adapt them to their specific project requirements.
v. Field plug-ins
SurveyCTO's field plug-in empowers users to extend and customize their form fields. Using field plug-ins, users can enhance forms with dynamic interactions and real-time data validation. Along with extensive documentation, the field plug-in catalog facilitates easy adoption and development. Field plug-ins expand data collection capabilities, enabling sophisticated methods and improved respondent engagement.
vi. Support Center - useful resources, 24/7 support team
In the Support Center, users can find comprehensive support articles with versatile topics and easy to follow instructions. Trial and paid users have access to our 24/7 customer support team who assists users with any questions or issues that may arise in using SurveyCTO, ensuring that users in any time zone can receive timely help when they need it. This level of availability is crucial for projects with tight deadlines or those operating in different parts of the world.
vii. SurveyCTO’s AI Assistant
SurveyCTO's AI Assistant significantly enhances the data collection process by providing expert guidance and nuanced advice tailored to both novice and experienced survey designers. It helps users implement complex survey features like relevance and skip logic, ensuring high-quality data collection.
Additionally, the AI Assistant offers best practices and advanced sampling techniques, making it easier to design effective surveys and improve data accuracy.
4. Steps to convert a KoboToolbox form into SurveyCTO form
- Download the XLS form - On the KoboToolbox dashboard, locate the project name for which you’d like to download the form > Click on the three dot button (More actions) > Select Download XLS
- Open the XLS form either using Excel, or by uploading it to Google Drive and opening it with Google Sheets.
- Open the SurveyCTO form template in a new Excel spreadsheet or Google Sheets.
Tip: Adjust the file or browser size to view the KoboToolbox XLS form and the SurveyCTO template side by side.
- While the SurveyCTO form template includes most of the properties available in the default columns, the KoboToolbox XLS form contains only the properties defined by the user at the time the form was created. Therefore, the task will involve copying the form elements from the current KoboToolbox XLS form and pasting them into the corresponding sections of the SurveyCTO form template as shown in the following:
<KoboToolbox Sample form settings tab>
<SurveyCTO Sample form settings tab>
<KoboToolbox Sample form choices tab>
<SurveyCTO Sample form choices tab>
<KoboToolbox Sample form survey tab>
<SurveyCTO Sample form survey tab>
This is a simple example of converting a KoboToolbox XLS form to a SurveyCTO form template. You can continue adding the fields to the new form before deploying this in your SurveyCTO server.
Check out our support articles to learn more about how to work with SurveyCTO spreadsheet form definitions: |
5. Best practices on form design using SurveyCTO platform
Here are some best practices that we recommend you check out out when designing forms using SurveyCTO:
- Use sample forms and workflows: SurveyCTO provides a variety of sample forms and workflows (the Hub) that can serve as a starting point for your form design. These samples incorporate best practices and can significantly reduce the time and effort required to create effective forms.
- Use field plug-ins to customize your form fields: Check out our support articles to learn about how they work and how to customize them. Also check out our catalog for the latest list of field plug-ins.
- Design for optimal form performance: Check out our resources including documentation and support articles to take advantage of our features to design top notch forms.
- Copy and paste the ‘values’ only: When you’re migrating your existing forms to SurveyCTO’s form definition template, use the paste special > values only option to make sure that other hidden characters are copied to the form template.
- Use our troubleshooting features: You can use our test view feature and Google Sheets form validator to test your form while you design the forms.
Do you have thoughts on this guide? We'd love to hear them! Feel free to fill out this feedback form.
0 Comments