SurveyCTO release notes archive

What you'll find below are the release notes for SurveyCTO from the very first public release up through version 2.60. To see release notes for current and recent versions, please visit our current release notes page.

If you're new to SurveyCTO and would like to learn more, please visit There, you'll find user interviews and case studies, our video library of tutorials and feature overviews, frequently asked questions (FAQs), and other helpful general information about the SurveyCTO platform.

Version 2.60

Released Sep. 3, 2019

Major release

Whether you collect data, manage data, oversee projects, or design forms, 2.60 introduces new features and key improvements that enhance the look, functionality, and accessibility of your SurveyCTO experience.

Notable new features and changes

  1. Replaced SurveyCTO Sync with SurveyCTO Desktop, a more-modern, higher-performing desktop application that includes a full set of offline documentation, convenient access to multiple servers, and far more. SurveyCTO Desktop is the new way for power users to get the most out of SurveyCTO.
  2. Added an iOS version of SurveyCTO Collect.
  3. Gave SurveyCTO Collect a new look and feel, including a new icon, title bar, color scheme, and more.
  4. Added direct support for exporting SPSS .sav files as an alternative to .csv files, so that SPSS users can have easy access to formatted, labeled data.
  5. Added a new data export report alongside every SurveyCTO export, in order to help contextualize the exported data.
  6. Improved the documentation and shifted it to, so that it would be publicly available, searchable via Google and other search engines, and overall more helpful to users.
  7. Added a quick, easy way to use Google for single-sign-on (SSO) support.

Improvements and fixes

  1. Added a new login interface, and made a series of small improvements in how announcements are communicated within the server console.
  2. Added the ability to compare submissions in the Data Explorer: now when a user clicks Compare submissions rather than View submissions, fields that have the same value across the selected submissions will be hidden, so that the differences can be easily reviewed.
  3. Made a series of improvements to the Form inspector within the form designer’s test view: added field labels whenever they contain one or more field references; added current relevance status to the Show current value pop-up window; and added Show expression option for calculate fields referenced in other fields or expressions.
  4. Made a series of improvements to the interface used to configure quality checks: split the process of configuring a new quality check into multiple steps, added an easy way to filter field lists to find the fields you want, and more.
  5. For users who capture text as well as audio audits, improved the Data Explorer interface for submission details: when users click to show text audit data in a form submission, that data will now be used to also highlight which fields were covered by any time-based audio audits.
  6. Improved the workflow for users who manually edit or manage spreadsheet form definitions: added a direct Upload option into the form designer; and, for Google Sheets users, remember the source of each upload so that uploading again from the same location is quick and easy.
  7. Added swipe support to the web forms interface, so that users filling out web forms on mobile phones can more easily navigate from screen to screen.
  8. Added a new API option for downloading server datasets in addition to form data.
  9. Added a new API option for decrypting and downloading encrypted data.
  10. Changed the label style in the form designer’s test view, so that labels would better reflect how they would appear in web and mobile forms (e.g., supporting HTML bold attributes when present).
  11. Improved the index() function to automatically update affected fields when a repeat-group instance is manually deleted.
  12. By default, stopped allowing multiple fields with the same name within a single form. (However, we left a server option to temporarily allow it for those who need it, with the understanding that this option will be removed in a future release.)
  13. In SurveyCTO Collect, added support for transparent backgrounds in .png images.
  14. Fixed the OSM map engine in SurveyCTO Collect to start downloading maps again (they had stopped downloading when OSM's map server stopped serving them to unverified clients), and also fixed selection of the default map style when selecting OSM as the map engine.
  15. Added a warning in SurveyCTO Collect's main menu when notifications are disabled via the Android settings, in order to let people know that constraint and other messages will also be suppressed.

Other small changes

  1. Strengthened the verification process at the end of the single-sign-on (SSO) configuration process, to verify that the login that succeeded was actually the login that was planned.
  2. Improved the interface for configuring SSO to be a bit less drastic about the warnings. (The verification step at the end protects against misconfiguration, and there is a rescue-link facility if things do go badly wrong.)
  3. Removed support for publishing to Google Fusion Tables, as Google is discontinuing the product.
  4. Got rid of the “this form contains no data yet” error that would appear for users trying to monitor, export, or explore their data before they’d refreshed their server console windows.
  5. When automatically recovering from a save-point, improved SurveyCTO Collect to recover any audio audits that had been completed, even if the app or device had crashed before the user had explicitly saved progress.
  6. Removed some unnecessary resources in order to slim the size of SurveyCTO Collect.
  7. Improved SurveyCTO Collect to no longer crash in the background when long lists of forms have been previously loaded in the Get Blank Form screen.
  8. Added an error message when somebody tries to validate a form that has an unsupported field type within a repeat group (e.g., audio or text audit fields cannot be placed within a repeat group).
  9. Fixed SurveyCTO Collect to no longer crash when trying to attach, to a submission, an item from the device’s Downloads folder.
  10. Fixed SurveyCTO Collect to give a sensible error message (rather than crashing) when somebody tries to attach, to a submission, an item located in an unsupported location (like Dropbox, OneDrive, or Box).
  11. Improved all “auto-clean” settings to be more clear that they concern auto-deleting submission data.
  12. Fixed SurveyCTO Collect to no longer shift time and date fields by 30 minutes after having changed the device’s time zone to certain time zones in East Asia.
  13. Improved the filter box in the case management interface of SurveyCTO Collect to better handle changes in device orientation.
  14. Updated SurveyCTO Collect to meet Google’s evolving requirements for Android apps (should be invisible).
  15. Fixed the login screen to support single sign-on, for users logging in via the web forms interface. Also fixed the main login screen for the server console to behave well after you’ve first gotten an error trying to login, then clicked a link from an invitation email.
  16. Added new field types (like sensor_stream) to the survey-help worksheet for new form definitions created via the server console.
  17. Made some small corrections and improvements to the documentation. For example: fixed the sample-form topics to refer to the value column in the choices sheet as value rather than name; fixed discussion of how SurveyCTO Collect will behave when there are multiple audio audit fields in a single form; and made minor revisions to the embedded help cards at the top of each server console tab.

Maintenance release (Version 2.60.1 released Sep. 9, 2019)

  1. Fixed the horizontal alignment of likert radio buttons for web forms.
  2. Fixed an error in the test view of the Form Designer when choice lists contained numeric labels.
  3. Fixed an issue that prevented users in web forms from clicking on select_one fields with the “minimal” appearance.
  4. Fixed the server API to return the instance UUID for the KEY field for encrypted forms.
  5. Added an error message when attempting to launch the Data Explorer for encrypted data using the wrong private key.
  6. Fixed an issue in .sav exports which would prevent many analyses from being run without first re-saving the file in SPSS.
  7. Fixed an issue in the Data Explorer’s submission details view which would prevent audio audit indicators from being displayed on the proper fields when they use default parameter values.

Maintenance release (Version 2.60.2 released Sep. 14, 2019)

  1. More helpful server API response when the wrong private key is used.
  2. More helpful server API response (in JSON) when an invalid form ID is used in the request.
  3. API for encrypted forms will now return corrected data for forms with review workflow enabled.
  4. Exports from the Data Exorter to .sav files will now work for forms with no data.
  5. Uploading a form definition from Google Drive will now remember that source location immediately after the very first time that location is used.

Maintenance release (Version 2.60.3 released Sep. 28, 2019)

  1. Improved the speed with which the server responds to SurveyCTO Desktop users: data downloads will begin more quickly, especially for large, heavy forms.
  2. Fixed .sav exports to truncate long choice labels to the maximum allowed by SPSS (120 bytes).
  3. Fixed the "Powered by SurveyCTO" footer in the Form Designer’s test view to be in the right place at the bottom.

Maintenance release (Version 2.60.4 released Oct. 12, 2019)

  1. Fixed how SPSS exports treat missing values.
  2. Fixed the “Save” button in the SSO configuration panel to remain disabled until the configuration is fully tested.
  3. Fixed an issue with the schedule of the automated warning emails for extra credit exhaustion to not misfire after manual adjustment.
  4. Fixed a bug in the automated quality checks configuration panel for editing group checks regarding the selected field identifying the group.
  5. Improved web forms so that a bad regular expression can no longer freeze the form, and added an explanatory error message about the particular expression.
  6. Improved the submission details view to support the preview of a wider range of media formats (like .mov files recorded in iPhones).
  7. Added the current extra submission credit balance to the monthly usage emails.

Maintenance release (Version 2.60.5 released Oct. 26, 2019)

  1. Fixed a bug that could prevent monthly usage report emails from being sent out.
  2. Fixed a bug that could prevent forms from being able to add a new repeat group instance to a server dataset.
  3. Fixed the test view of the form designer to be able to support geopoint fields with “maps” or “placement-maps” appearances.

Maintenance release (Version 2.60.6 released Nov. 9, 2019)

  1. Improved the downloadable .do file templates for Stata, along with the documentation and options available when generating the templates (most importantly: options for .csv input and .dta output directories).
  2. Fixed the web forms interface for the geopoint "maps" and "placement-map" appearances, to be draggable for moving the map and/or pin.
  3. Fixed self-hosted installations to no longer require a tracking ID for Google Analytics reports.

Maintenance release (Version 2.60.7 released Dec. 7, 2019)

  1. Added an option to download your server’s usage report for all previous usage periods.
  2. Significantly improved the performance of web forms.
  3. Fixed an issue that would prevent SurveyCTO Desktop from being able to access the Data Explorer or the Data Exporter.

Maintenance release (Version 2.60.8 released Jan. 4, 2020)

  1. Enabled file compression for .sav files when exporting for SPSS. This should greatly decrease the file size and allow SPSS to run faster when working with .sav files exported from the server console.
  2. Exported .sav files can now be opened by PSPP (an open-source alternative to SPSS).
  3. Self-hosted accounts can now choose their own SMTP server for the automated emails generated by their server.
  4. Applied further improvements to the performance of web forms.

Maintenance release (Version 2.60.9 released Feb. 8, 2020)

  1. Dramatically improved the performance of exporting large .sav files from the server console.
  2. Updated the Google Sheets API used for publishing form and dataset data from v3 to v4.
    Note: new rows added to existing sheets will now inherit the formatting of the last row in that sheet.
  3. Updated the way SurveyCTO servers fetch data from Google Drive when uploading from Google Drive.

Maintenance release (Version 2.60.10 released Feb. 22, 2020)

  1. Fixed a bug that would prevent Google Sheets publishing from being able to merge properly when the merge key was a numeric value. Google Sheets publishing can now safely merge using numeric and alphanumeric keys.

Version 2.51

Released Feb. 19, 2019

Major release

SurveyCTO 2.51 introduces features for faster survey form testing; simple, yet powerful, choice-order randomization; expanded functionality for more thorough on-device survey review; and many more features for better surveys and data.

Notable new features and changes

  1. Added a powerful new test view into the form designer, replacing the old "Preview" option with "Test" instead. Form testers can now save and restore progress, employ a powerful set of inspection tools to guide and assist them, and submit form data for downstream testing.
  2. Added a new "randomized" appearance option for select_one and select_multiple fields, to allow for easy and flexible randomization of choice order.
  3. Added a new "choices" appearance option for text audit fields, to save details about the exact choice options and order presented for each multiple-choice field.
  4. Improved the ability to review image, audio, video, geopoint, geoshape, and geotrace fields on-device, in SurveyCTO Collect, by adding preview support into the "Go To Prompt" interface.
  5. Made it so duration, audit, and sensor meta-data will no longer resume recording as soon as you use Edit Saved Form to open an existing form in SurveyCTO Collect – so long as you stay on the initial review ("Go To Prompt") screen. Meta-data collection will only resume if and when you enter back into the form. (One effect of this change is that you can now open a form, review it, and exit without having made any changes to the form's data.)
  6. Updated SurveyCTO Collect to verify and save the form's validation status when saving – but not finalizing – at the end of a form. Also indicated when an unfinalized form, listed for saving or editing, has been validated (and is therefore ready for finalization).

Improvements and fixes

  1. Added a new login interface, and made a series of small improvements in how announcements are communicated within the server console.
  2. Added a new "Reload with updated form" option in SurveyCTO Collect, which can be enabled in Admin settings. This can be helpful when a form programming error prevents submissions from being finalized: a fixed form definition can be installed and then this update option can be used to update a form-in-progress.
  3. Added an explicit confirmation whenever somebody moves a form, dataset, or group in such a way that it would affect permissions (e.g., when moving a form from a team group into a shared group).
  4. Added support for downloading rejected or pending-review submissions via the server API.
  5. Improved geotrace fields to also record the altitude and accuracy for each captured GPS position.
  6. Changed the recommended barcode-scanning app from ZXing to Barcode Scanner+, as the former is no longer available in the Google Play Store.
  7. Resolved remaining crashes for some Android devices using shortcuts to forms (via "widgets").
  8. Extended support for audio audits to allow starting at a specific time and ending at a certain field, or starting at a specific field and ending after a certain time.
  9. Improved validation for newly-uploaded form drafts to include verification that neither the version number nor the encryption settings would prevent the draft from being deployed.
  10. Fixed sensor statistic fields to work even when the form lacks the corresponding sensor stream fields.
  11. Fixed sensor stream fields to resume counting seconds at the appropriate number (as opposed to starting back at 1 again) when editing a saved form with a recording period > 0.
  12. Improved the interface for deleting teams, to help identify and clean up affected users and roles.
  13. Fixed the Data Explorer to allow users with "Can view individual responses" permission to fully view encrypted and unencrypted submissions, even if they don't have "Can download data" permission (they just can't export the data or download attachments).
  14. Fixed SurveyCTO Collect not to crash if you try to submit more than 1,000 submissions at once.
  15. Added support for the server console's health notifications into the narrow mobile console view.
  16. Improved handling of very-small decimal numbers such that (a) internal calculations, within a form, can benefit from up to 50 decimal digits of precision, and (b) decimal-type fields, though still limited to 15 decimal digits of precision, will no longer export in scientific notation when too small (they will simply round instead).
  17. Fixed a bug in SurveyCTO Collect that caused the username() function to return "null" in some rare cases.
  18. Added full support for the review_quality, review_comments, and review_corrections columns in SurveyCTO Sync, for KML, XLS, and CSV subset exports.
  19. Updated SurveyCTO Collect to show the current device ID in the app's "About" information.
  20. Fixed the Data Explorer's submission details view, which appears when you select "Review now" from the server console, to display labels in the form's default language (as opposed to in English, if available).
  21. Added support for dynamic filenames in search() appearances (e.g., using ${csv_file} as the first parameter).
  22. Fixed image annotation in SurveyCTO Collect to no longer add grey areas when reshaping the image to fill the device's screen, and to save using the same size and resolution the image started with.
  23. Updated SurveyCTO Collect to allow it to submit file attachments larger than 100MB when submitting to SurveyCTO Sync via local wi-fi sync.
  24. Fixed the server console's narrow mobile menu to hide the "Alerts" option when there are no alerts.
  25. Fixed the "USGS National Map Topo" and "USGS National Map Sat" base maps so they would work with the OpenStreetMaps map engine.
  26. Made it so password changes, role changes, and account deletions cause affected logins to be invalidated immediately (logging them out).
  27. Improved the Support Center button in the online help, to better clarify what you can do and find in the Support Center vs. in the online help.
  28. Removed the extra "?t=#" suffix from web form URLs, so that it would be less difficult to share them.
  29. Added Hindi translation for the initial permissions pop-up that appears when SurveyCTO Collect is installed on newer Android devices.
  30. Fixed support for auto-configuring settings when a custom build of SurveyCTO Collect is installed.
  31. Fixed SurveyCTO Collect to no longer add spaces after the semicolons separating GPS points in geotrace and geoshape data (had happened in rare cases).
  32. Removed the "Skip to next" option from the final screen of a web form.
  33. Fixed a rare problem in the web forms "Go to" interface, where choosing "Go up" might not work if what is just before the current repeat group is another repeat group that has no fixed repeat_count (and so dynamically prompts to add new instances).
  34. Added connection and read timeouts when authenticating against OpenID (SSO) providers, to avoid long freezes from potentially-unresponsive identity providers.

Maintenance release (Version 2.51.01 released Feb. 23, 2019)

  1. Fixed the new 2.51 version of SurveyCTO Collect to behave like earlier versions, where decimal values are recorded with a "." for the decimal place, even on devices configured for locales that use "," for decimals.
  2. Fixed a warning message in the form designer to refer to the possibility that formulas within form definitions could be lost upon save (not macros, as the message had indicated).
  3. Fixed pop-up windows in the form designer's new test view not to have a fade-to-white at the bottom in cases where the fade is unnecessary or ugly.

Maintenance release (Version 2.51.02 released Mar. 9, 2019)

  1. When opening the submission-details view from the main summary view of the Data Explorer, began ordering submissions chronologically by submission date (the date and time at which the submission was first received by the server).
  2. When somebody refreshes their browser while in the test view of the form designer, fixed it to auto-resume the most recent test session – even if that test session had begun by resuming from progress saved in a different browser (or in the same browser, but cookies have been cleared).
  3. Reduced the number of cases where the form designer's test view might prompt you to save new progress when in fact there is clearly no new progress to save (namely, if you had just started a new session, or had just saved progress).
  4. In the new test view of the form designer, fixed the "Add comments" pop-up to not look broken (for forms that include a comments field).
  5. On the Design tab of the server console, fixed the Deploy and Discard buttons to work for form drafts even when those drafts were newly-added to previously-deployed forms.
  6. Fixed some pop-up windows in the server console to preserve their ability to scroll – even after a second pop-up window has since been opened on top of them and then closed.
  7. Fixed an HTTP 403 error that would appear if you tried to use an old server console login page in one browser tab after having used a pop-up window to login from another tab (in the same browser).
  8. Fixed pop-up window titles in the form designer's test view to be more consistent about references to saved progress.

Maintenance release (Version 2.51.03 released Mar. 23, 2019)

  1. When opening the Data Explorer's submission-details view directly from the server console (via, e.g., the Review now button), began ordering submissions chronologically by submission date (the date and time at which the submission was first received by the server).
  2. Fixed a potential problem when loading data to explore or export, where the loading process would get stuck continually retrying the download for a submission if that submission had been purged from the server between the time the loading process started and finished.
  3. When somebody removes an attached file from a form in the form designer, fixed the removal to work even if the current draft is saved and deployed over an earlier-deployed version.
  4. If somebody tries to purge data for a form that already has an earlier purge request in-progress, fixed the error message to be friendly even when the user makes multiple attempts.
  5. Fixed some "file does not exist on the server" errors that could occur in the Data Explorer, for forms with data that had been purged and re-added.
  6. When processing directly-uploaded XML form and dataset definitions, added support for a "BOM" character at the start of the file, in case it's there to indicate the file's encoding (thus avoiding a parsing error that would otherwise appear in some cases).
  7. Fixed a rare problem where a form definition over 100MB in size could break the ability to test or fill out web forms.
  8. Improved the performance of the background task that keeps track of server usage statistics (should be no visible effect).

Maintenance release (Version 2.51.04 released Apr. 20, 2019)

  1. Improved the form designer to use multi-line text boxes for the relevance, constraint, constraint message, and calculation options, so that they can more gracefully accommodate longer expressions and messages.
  2. Fixed a problem that blocked users from submitting test data for a new encrypted form started with Start new form, if that form had never been saved since having been started.
  3. Improved support for reviewing and correcting data, accepting incomplete submissions, and other operations – even while large amounts of form data are being purged.
  4. Fixed the submission details view (via, e.g., the Review now button) to automatically retry when the user's session has expired and they have re-authenticated using a pop-up login window.
  5. Changed the server's health monitor to not include PDF files when looking for (and warning about) large image files attached to submissions.
  6. Fixed the email warning about an approaching monthly submission limit to be sent only once, even if the limit is neared when many submissions are streaming in at the same time.
  7. Improved how temporary and permanent errors are communicated, if there is a problem loading an individual submission for review (via, e.g., the Review now button).
  8. Fixed the individual, submission-by-submission purge feature to fully clean purged submissions so that they wouldn't be included in subsequent quality checks.
  9. Improved the user interface when people retry a failed SSO authentication attempt by switching to login with a local login (one that's not externally-authenticated).
  10. Improved the function that publishes existing form submissions into server datasets to be able to resume in case of server restarts or failures.
  11. Adjusted how often new dataset snapshots are generated as data is actively streaming in, to improve overall server performance.
  12. Made small improvements to the help topic on configuring Google as an external SSO provider.

Maintenance release (Version 2.51.05 released May 11, 2019)

  1. Fixed a database error that users who signed up after 2.51.04 could encounter when deleting a dataset or publishing form data into a dataset.
  2. Fixed data exported directly from the server console to download as a file ending in .csv, even for the latest version of Google Chrome (which had begun saving .csv files with a .txt extension).

Maintenance release (Version 2.51.06 released May 18, 2019)

  1. For Google Chrome users only, removed the sliding animation that was used when clicking Next or Previous within the console or web forms (because the latest Chrome release made them suddenly look really bad).
  2. Fixed the web forms interface not to record choice options presented during the course of a form, for auditing purposes, if there isn't actually a text audit field set to record choice options. (Recording choice options could, for long choice lists over 65,536 characters in length, lead to data overflow issues that could result in the loss of unsaved answers.)

Maintenance release (Version 2.51.07 released Jun. 1, 2019)

  1. Made it so that users can resume web forms using a new form definition when the original form definition is no longer available on the server (because the form itself was deleted).
  2. Fixed a bug that prevented logged-in web forms users from resuming with Edit Saved Form when the form had been saved under a pre-2.51 SurveyCTO release.
  3. Fixed the count of server health warnings that appears when you load a server console page to properly match the number of warnings you see when you click to see the list. (It had been getting confused in some cases where a form had both draft and deployed versions.)
  4. Fixed the online help to clarify that quality checks can't be directly configured for repeated fields, but can be indirectly configured via non-repeated fields that select from or summarize repeated data.
  5. When adding or editing a field with an HTML label in the form designer, fixed it so that the relevance and default-calculation fields would be properly viewable, editable, and deletable.
  6. Fixed it so that there is no problem if a text audit is set to record choice options and a single field's options list requires more than 64K bytes in length. (In prior releases, over-long choice lists in web forms, combined with auditing of those choice lists, could lead to data overflow issues that could result in the loss of unsaved answers.)

Maintenance release (Version 2.51.08 released Jun. 29, 2019)

  1. Fixed the Show current value popup to not reveal old values for fields that are not-relevant but used to be relevant in the past.
  2. Fixed the media player's UI (playback controls) for audio and video files while testing a form.
  3. Fixes offline form validation for Windows users of SurveyCTO Sync (requires users to download and install the updated version from the Export tab).
  4. Fixed it so that text audit data in web forms can take more than 64K bytes in length. (In prior releases, over-long text audit data in web forms could lead to data overflow issues that could result in the loss of unsaved answers.)
  5. Fixed the documentation and form designer for date and datetime fields, to include the supported "year" appearance rather than the unsupported "month" appearance.
  6. Fixed a pop-up error that would appear if you tried to download a submission attachment with a .xml extension from the Data Explorer or server console export page.
  7. Fixed all monthly submission limits to reset within 60 seconds of midnight UTC, so that extra submission credits stop being consumed at the right time regardless of the volume or timing of the submissions.

Maintenance release (Version 2.51.09 released Jul. 20, 2019)

  1. Fixed the Show current value popup to properly reveal values for relevant fields (fixing something broken in 2.51.08).

Version 2.50

Released Sep. 12, 2018

Major release

SurveyCTO 2.50 introduces a new team-based subscription model so you can easily add multiple projects to the same subscription, each with their own secure space, and scale usage as needed.

Notable new features and changes

  1. Added direct support for teams, to allow multiple teams to securely share a single SurveyCTO server. Forms and datasets within shared groups are still shared by all users, but those in team groups can be restricted by team.
  2. Simplified the SurveyCTO subscription model so that all users can access all features.
  3. Opened features that were previously accessible to only enterprise subscribers, including the ability to manage custom user roles, define separate cases datasets for case management, and route internal support queries.
  4. Added support for authenticating users via external authentication providers (otherwise known as single-sign-on or just SSO). Documentation and support are available for authenticating users via Google, Okta, or Microsoft Azure Active Directory, though other providers may be supported via the OpenID Connect authentication standard.
  5. Added login options to periodically expire user passwords and enforce minimum password requirements.
  6. Added new experimental options to collect meta-data from device sensors, to enhance quality-control efforts (new sensor_statistic and sensor_stream field types).
  7. Added a new Image size setting into SurveyCTO Collect’s General Settings, to automatically scale saved photos (to prevent high-resolution device cameras from clogging the entire data pipeline with overly-large image files).
  8. Dramatically reduced the delay between the time new data publishes into a dataset and forms that have that dataset attached become updated. This makes testing form and dataset linkages, in particular, much easier, because data updates become reflected much more quickly.
  9. Reorganized how users are listed in the Your users section of the Configure tab, to organize by user role once the number of users starts getting lengthy.

Improvements and fixes

  1. Replaced the SurveyCTO Collect app in the Google Play Store with a version that can be used for either demo purposes or real data-collection, and shifted to recommending that users install the app directly through the Play Store.
  2. Added the ability to re-order Data Explorer workbooks (using drag-and-drop) when Advanced mode is used to configure multiple workbooks for a single form.
  3. Added new options to SurveyCTO Collect's Admin Settings, to auto-accept geopoint accuracy at 10m vs. 5m, and to allow switching the Android location provider. Both settings were in response to some devices never getting below a 10m accuracy when using the default location provider to read the current GPS position.
  4. Stopped supporting Android devices with versions of Android earlier than 4.3 (released in 2013). Users still on older versions of Android can keep using the older 2.41 version of Collect.
  5. Improved SurveyCTO Collect to avoid re-downloading a form's media attachments when only the form's attached dataset data gets updated.
  6. Updated data exports from the server console to include the instance name when an instance_name is configured in the form definition's settings worksheet.
  7. Extended support for HTML formatting in labels, to cover select_one and select_multiple fields with the "label", "list", and "list-nolabel" appearance styles.
  8. Added a timeout for webhook publishing connections, to prevent stalled connections from stalling webhook publishing overall.
  9. Resolved some cases where media file attachments were still being saved even when the corresponding fields were not relevant when the form was finalized.
  10. Fixed the Data Explorer to always warn users before they exit the submission-detail view without saving changes.
  11. Added a new option to SurveyCTO Collect's Admin Settings, to ignore an encrypted form's requested submission_url and always submit data to the currently-configured server. Also made this the default for new Collect installations.
  12. Fixed SurveyCTO Collect not to crash if a form has a bad URL in its submission_url.
  13. Fixed the submissions chart on the Monitor tab to properly include submissions for the first day of the month when zoomed in on a specific month.
  14. Updated the General Settings interface in SurveyCTO Collect to never reveal the current password (it will always be obscured).
  15. Fixed audio audit fields to start at the beginning of the form when set to begin on a note field with the "intro" appearance.
  16. Stopped including correction details (the actual data values) in the review_comments column, since they are more-securely available in the corrections log.
  17. Added team – and, if there is one, the team's internal reference code – when generating usage reports.
  18. Fixed the alerts drop-down in the top-right of the server console to better handle cases where there are too many alerts to fit on the screen.
  19. Began limiting all user email addresses to a maximum of 80 characters, for greater compatibility across different systems.
  20. Restored the ability for users with only Can view form data in aggregate permission to view the main Data Explorer page for a form.
  21. Fixed SurveyCTO Collect not to crash if somebody tries to fill in a file field with an external file (like one hosted in Google Drive).
  22. Began requiring that server addresses for new webhooks include an http:// or https:// prefix, in order to avoid errors using the webhook.
  23. Updated publishing via webhooks to accept any HTTP response in the 200-299 range as success.
  24. Fixed an issue where SurveyCTO Collect users on Android 8 would get a double error message when trying to load the case list when no case list was configured on the server.
  25. Re-ordered the font-size menu in SurveyCTO Collect's General Settings.
  26. Made a series of small improvements in the online help.

Maintenance release (Version 2.50.01 released Sep. 29, 2018)

  1. Added the ability to rename team groups.
  2. Added a delete button for team groups (which advises that you have to delete the team first).
  3. Improved the progress bar that shows how many of the current month's submissions have already been used to no longer round up to 100% when there are still submissions left.
  4. Updated warning emails about monthly usage limits to always report the end of the current usage month in UTC.
  5. Made it so the Data Explorer can handle geoshape and geotrace data that includes extra spaces.

Maintenance release (Version 2.50.02 released Oct. 20, 2018)

  1. Dramatically improved the speed with which preloaded data is processed when previewing a form or starting a new web forms session.
  2. Improved the user interface for previewing a form or starting a new web forms session, particularly for large forms or forms with a lot of preloaded data.
  3. Improved the user interface to show progress better when exporting large datasets from the server console.
  4. Improved the speed with which SurveyCTO Sync exports large datasets, and improved the user interface to better report on progress. (Users who downloaded and installed the 2.50 version of Sync before Oct. 27 will need to re-download and install in order to take advantage of this improvement.)
  5. Improved the performance of the Data Explorer's "field chooser" pop-up in cases where there are a large number of fields to choose between.
  6. Improved how random subsets of submissions are selected when exploring, monitoring, or exporting from a very large dataset.
  7. Made it so the console data exporter would continue loading even when it has encountered certain kinds of error in individual submissions' data.
  8. Ensured that incomplete submissions would not count against the current month's submission limits – or consume extra submission credits – but then incomplete submissions that are completed or accepted do count as normal.
  9. Fixed it so that you can publish repeated fields to webhooks or Zapier, without having to publish the entire repeat group.
  10. Improved the error message given by the server if somebody tries to upload a submission attachment over 100MB.
  11. Fixed dataset publishing – and quality checks – to work even for submissions that include emojis.
  12. Fixed the Start new process in the server console's Design tab to work in IE 11 browsers.

Maintenance release (Version 2.50.03 released Nov. 3, 2018)

  1. Increased the bandwidth available to publish data to Google, in proportion to the number of teams sharing the server.
  2. Expanded the range of values that quality checks can consider, to allow up to 255 characters (up from 15).
  3. When filling out a form on the web, made it so any answers that were entered or changed on the current screen are committed first, whenever you choose to switch the display language.
  4. Improved the user interface for cases where you try to review an encrypted submission in the Data Explorer, but provide the wrong private key.
  5. Made it so the Data Explorer and server export process can continue loading even when it has encountered certain kinds of error in individual submissions' data.
  6. Fixed the repeat-group KEY column in long-format data files downloaded via the server API, to include the proper index number for each repeat instance.
  7. Improved the error shown when a form or dataset is configured to publish to a Google Sheet or Fusion Table that has been deleted.
  8. Improved the alignment of labels in the form designer's add/edit field interface.
  9. Fixed a problem where the server API could become unavailable for long periods if a prior API request got stuck or abandoned.
  10. When purging submissions, improved the user interface in the pop-up confirmation box, for cases where form titles include HTML code.
  11. Fixed the server console's header to behave better when the current user's email address is very long.
  12. Improved how the Data Explorer's submission details view wraps very long responses, to fit within the width of the display.
  13. Fixed a cryptic "Please consult the server logs" error that could appear when you refreshed the server console just as a dataset snapshot was being updated with new data.
  14. Improved how the mobile version of the server console's navigation menu works, to no longer require that you manually close the navigation menu after choosing an option.
  15. Fixed the server not to send warnings about running out of submission credits when there has been a recent increase in the number of extra credits available.
  16. Rather than reporting a cryptic "Invalid credentials" error, made it so the server re-authenticates with Google Drive whenever Drive login credentials have expired.
  17. Fixed the mobile version of the server console's navigation menu to properly remove options for which the current user doesn't have access.
  18. Made it so ODK Collect can again interact with SurveyCTO servers, for those rare cases where that is useful.
  19. Fixed it so that only users with "can edit groups" permission can rename groups.

Maintenance release (Version 2.50.04 released Nov. 24, 2018)

  1. Fixed the on-demand dataset snapshot updater to not get stuck or confused if multiple people try to request and then update the same dataset at the same time.
  2. Fixed comments made as part of the submission review and correction process to always support quotes and Unicode characters.

Maintenance release (Version 2.50.05 released Dec. 1, 2018)

  1. Added a new type of server health notification that encourages users to keep their servers tidy and performing well. Initial notifications: when devices are sending large images (a Collect setting could be used to auto-size images to a more reasonable size), when devices are sending a large volume of audio data (form settings could better randomize or limit audio audits), and when an old form has not been used in a long time (it should be downloaded, archived, and purged from the server).
  2. Made the process by which encrypted forms are finalized and saved in SurveyCTO Collect to be more bullet-proof, to protect against the potential for data loss when there is a device error during the encryption process.
  3. Updated SurveyCTO Collect to target newer Android devices, in order to meet upcoming Google Play requirements. Depending on the device, there may be small changes in the app's launch icon and user interface.
  4. Updated the OSX version of SurveyCTO Sync to be "notarized" by Dobility, in order to meet upcoming Apple security requirements.
  5. Updated the OSX version of SurveyCTO Sync to be able to use versions of Java other than the old Java 6 that used to be required.
  6. Fixed a problem where audio audits with a random start time would not be saved.
  7. Updated the list of available form languages to be ordered alphabetically in both SurveyCTO Collect and the web forms interface.
  8. Fixed rare cases where leaving SurveyCTO Collect in the middle of a form, returning, and clicking Go To Prompt could cause Collect to crash.
  9. Added new minor-version and build numbers into the About boxes for SurveyCTO Collect and SurveyCTO Sync, and in the footer of the server console.
  10. Began updating release notes for automatic maintenance releases, so that all changes would be noted.
  11. Fixed the console login to accept the same classes of special characters that are allowed when setting a new user's password.
  12. Added a little extra space under labels in web forms, to make the spacing a bit more pleasing.
  13. For quality checks that are set to run nightly, added a note into the server console so you can see what time it's scheduled for each night.
  14. Made slight adjustments to email notifications for quality-check reports.
  15. Fixed a problem where the last few dataset columns could be cut off in the drop-down used to select a dataset's unique ID column.
  16. Made minor improvements to alignment of labels in the form designer and Data Explorer.
  17. Fixed the server API to properly export 1/0 columns for select_multiple fields, even when submission values include multiple spaces in a row.
  18. In web forms, fixed dates that use the "no-calendar" appearance to default based on the current user's timezone, rather than UTC.
  19. Fixed SurveyCTO Sync to no longer get authentication errors if scheduled to automatically sync less frequently than every eight hours.
  20. Started properly cleaning up the Edit Saved Form list in the web version of Collect, when forms are deleted.
  21. Improved the user interface within several parts of the server console, for cases where form titles are extremely long.
  22. Made some small improvements in how the server console and error messages appear for users of IE 11 browsers.
  23. Fixed the form designer to be able to load properly, even when column headers include a blank language name (like "label:").
  24. Changed the default to "collapsed" for the list of configured quality checks in the Data Explorer.
  25. Fixed web forms to be able to work properly when there is preloaded data but the form's version number is blank or missing.
  26. Improved the navigation menu available in the online help to no longer offer options to navigate to console tabs for which the current user lacks access.
  27. Fixed the help system's header to behave better when the current user's email address is very long.
  28. Made sure to disallow publishing of a dataset to Google if all publishing has been disabled by another user or browser tab.
  29. Fixed the "please wait" animation that appears when you click Approve all within the review and correction workflow, to appear in the proper place and for the proper form.
  30. Improved the error message that appears when a user tries to create a form or dataset within a group for which they lack sufficient access.

Maintenance release (Version 2.50.06 released Jan. 5, 2019)

  1. Fixed a "TypeError: f is not a function" error that could arise for some Windows Chrome users filling out web forms, if they had Google Input Tools installed in their browser.
  2. Fixed a problem where users who could only see one form group were unable to add new forms on the Design tab.

Maintenance release (Version 2.50.07 released Jan. 19, 2019)

  1. Fixed a problem that prevented users from publishing form data to datasets when the Advanced: publishing form and dataset data to the cloud console section was disabled.
  2. Prevented the Data Explorer from crashing when processing a corrupted encrypted submission.
  3. In web forms, fixed the "quick" appearance to no longer horizontally center multi-line labels.
  4. Fixed the form designer's Export function to no longer crash when the original form definition's filename contained special characters that cannot be included in a web URL without being escaped.

Version 2.41

Released Apr. 14, 2018

Major release

Easily add Likert-style scales to your forms; import, export, and attach data to Data Explorer workbooks; more flexibly configure "review and correction" workflows for incoming data; and enjoy many other improvements in this release.

Notable new features and changes

  1. Added a new "likert" appearance option for select_one fields, in order to show multiple-choice options along a horizontal, Likert-style scale. (Also added the "likert-min" and "likert-mid" appearance options, to label only the ends or ends+middle of the scale.)
  2. Added a new spreadsheet format for Data Explorer workbooks, so that they can be exported, edited offline, and imported more like form definitions.
  3. Added the option to attach server datasets to Data Explorer workbooks, so that outside (or other-form) data can be monitored and explored alongside any form's incoming data.
  4. Added an advanced view that allows for multiple Data Explorer workbooks for a single form, so that users can design different monitoring and exploration views for different purposes.
  5. Added new options to "un-approve" or "un-reject" submissions in the review and correction workflow, as well as an option to enable or disable this power at the workflow level.
  6. Added the option to flag only a subset of incoming submissions for review, when configuring the review and correction workflow for a form; flagging can be random and/or based on the results of automated quality checks.
  7. Added classification of submission data quality, on receipt, to the review and correction workflow process; this allows reviewers to classify submissions as GOOD (no problems found), OKAY (one or more minor problems), POOR (serious and/or many problems), or FAKE (fake or fraudulent responses), and these classifications are then exported with the data (in a new review_quality column).

Improvements and fixes

  1. Added the option to comment on specific fields as part of the review and correction workflow.
  2. Added the option to require comments for all corrections, when configuring the review and correction workflow for a form; any comments on corrections (whether required or not) are then included in the corrections log exported with the data.
  3. Added the option to encrypt all comments made during the review and correction process, when configuring the review and correction workflow for an encrypted form.
  4. Improved the way warnings from automated quality checks are noted in the Data Explorer, distinguishing between current and old warnings, and highlighting the relevant warnings when viewing an individual submission or field.
  5. Shifted all user management and server settings into a new Configure tab of the server console.
  6. Added support for integration with enterprise identity management systems like Okta and Azure Active Directory, using OpenID Connect (for enterprise subscribers only).
  7. Added more details about form updates (who and when) in the Download... Form files interface, on the Design tab.
  8. Changed to no longer require possession of the private key when a user clicks to review a submission; if a user doesn't have the private key, he or she will still be able to review the submission's "publishable" fields.
  9. Updated the Data Explorer and server data export process to always "ignore groups" when dealing with potentially-missing data; this means that, e.g., if a field named "age" moves between groups in different versions of a form, data views and exports will still find and show "age" data in the same column or location.
  10. Expanded the missing-data warning that can appear when viewing or exporting data for forms that have changed significantly, allowing the user to now drill down to see exactly what's missing.
  11. Added a new Download option to the server console, when viewing current server usage; this exports current-month usage by form and also aggregated by top-level group.
  12. Expanded the form designer to allow editing of the "publishable" status of meta-data fields (in form settings), as well as for the following field types: speed violations auditspeed violations countspeed violations listtext auditaudio auditcommentscalculate, and calculate_here.
  13. Made it harder to accidentally delete data when deleting a form, by requiring that the deleting user more explicitly confirm the number of submissions being deleted (with the difficulty linked to the number of submissions).
  14. Added a new URL for hyperlinking directly to secure SurveyCTO pages from Microsoft Office products on Windows (https://[servername][URL]). If you're in Excel, and the server name and URL are in cells A1 and B1 respectively, this formula safely constructs a URL (with the proper URL encoding): ="https:" & A1 & "" & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B1, "%", "%25"), " ", "%20"), "?", "%3F"), "&", "%26"), "=", "%3D"), "{", "%7B"), "}", "%7D"), "[", "%5B"), "]", "%5D")
  15. Added a new secure URL for downloading submission attachments (https://[servername][filename]?uuid=[KEY]) so that outside systems can more easily construct and follow URLs for attachments. If you're in Excel, and the server name, KEY, and filename are in cells A1, B1, and C1 respectively, this formula safely constructs a URL (even when filenames have illegal URL characters): ="https:" & A1 & "" & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C1, "%", "%25"), " ", "%20"), "?", "%3F"), "&", "%26"), "=", "%3D"), "{", "%7B"), "}", "%7D"), "[", "%5B"), "]", "%5D") & "?uuid=" & SUBSTITUTE(B1, ":", "%3A")
  16. Improved server logging and support for integration with outside log-monitoring systems (for enterprise subscribers only).
  17. Improved support for self-hosted (on-premise) SurveyCTO installations.

Other small changes

  1. Improved the performance of the Data Explorer for large forms, so that the "Add field summaries" and "Add relationship summaries" windows appear more quickly and smoothly.
  2. Fixed the server console to display and export dates and times relative to the current user's timezone, the way that SurveyCTO Sync always has (so if I am using the server console in EDT, I should view and export data relative to EDT).
  3. Revised Stata .do file templates to automatically strip HTML from field labels.
  4. Improved the way that histograms in the Data Explorer are labeled if there's only one value in the data.
  5. Fixed SurveyCTO Collect to show constraint and required messages in a more readable way on the latest versions of Android (by changing the font color to match the system's recommendation).
  6. Fixed the "Toggle all" button in SurveyCTO Collect to no longer crash when clicked for an empty form list.
  7. Fixed the add-user interface not to allow email addresses with accents, spaces, or other characters that aren't technically allowed in email addresses.
  8. Fixed it so that repeated fields would not be offered as candidates for quality checks or dataset unique IDs (for merging).
  9. Fixed an issue where SurveyCTO Collect would get confused about the filenames of attached files that (a) had periods in the names and (b) were the same before the first period.
  10. Fixed web forms not to get confused about the order of fields when there are multiple tables of select_oneor select_multiple fields separated by one or more other fields in the same field-list group (i.e., on the same screen).
  11. Fixed an issue where SurveyCTO Collect would, if the device got certain types of error when capturing an image field, end up saving data with a missing image attachment – but not reporting that the submission was incomplete.
  12. Fixed an issue where users might get errors submitting data if a form definition had too many file attachments.

Version 2.40

Released Oct. 16, 2017

Major release

Enable a secure "review and correction" workflow for correcting incoming data, collect richer GPS data with new support for shapes, traces, and offline maps, use the new filtered table views for case management, and much more.

Notable new features and changes

  1. Added a new review and correction workflow so that users can review, comment on, correct, and then approve or reject incoming submissions (even encrypted submissions).
  2. Added additional options for GPS data collection, including support for new two new field types – geoshape and geotrace, which allow drawing and tracing GPS boundaries or paths – and advanced options for loading map tiles for offline maps support.
  3. Added display options for case lists, when using case management, including a new option to display case lists as tables that include arbitrary columns from the cases dataset.
  4. Added the ability to filter case lists, when using case management, to only include cases that include a search string.

Improvements and fixes

  1. Added a new Organize option to the Your forms and datasets section of the Design tab, in order to allow bulk re-organization of forms and datasets (when dragging and dropping items one-by-one would be too tedious).
  2. Added a Search option for forms, datasets, and users throughout the server console.
  3. When browsing current subscription usage statistics (count of mobile or web submissions, or total data storage used), made it easy to drill down into details about which forms and datasets are responsible for what usage. This includes an option to tally data storage up to a certain date, which can be helpful for learning how much space will be freed by purging old data.
  4. Added a Current usage period option to the Daily submissions by form graph on the Monitor tab.
  5. Created a simplified, single-page version of the server console for logins that only have data-collection or download permission.
  6. Added a new Preview option for administrators of Enterprise subscriptions to quickly see how the server console looks and operates for different user roles.
  7. Added the ability to download raw data exports, printable form versions, Stata templates, and mail merge templates directly from the Data Explorer.
  8. Added the ability to easily switch over to the Data Explorer, start using SurveyCTO Sync, or download printable form versions, Stata templates, and mail merge templates when exporting data from the server console.
  9. Added the option to include the form ID when publishing form data to outside systems (via Google, Zapier, and webhooks).
  10. Added the option to include a text summary when publishing form data to Zapier.
  11. Once the Your users list grows beyond 10 users, re-organized the list into groups by user role (and started to default the groups to collapsed when the list grows beyond 50 users).
  12. Dramatically improved the load time and overall performance of the server console when there are many hundreds of forms.
  13. Dramatically improved the speed with which the server console exports certain large datasets.

Other small changes

  1. Improved offline support for the form designer: when loading, we pre-load the HTML editor and other components that might be needed later, when editing fields.
  2. Added support for a range of new math functions for in-form calculations: log10(fieldorvalue), sin(fieldorvalue), cos(fieldorvalue), tan(fieldorvalue), asin(fieldorvalue), acos(fieldorvalue), atan(fieldorvalue), atan2(x, y), sqrt(fieldorvalue), exp(x), and pi().
  3. Improved calculation of durations within forms (e.g., the results of the duration() function) to no longer be thrown off by changes in the device's date or clock settings.
  4. Added an option to directly view GPS data in a map when looking at individual submissions in the Data Explorer.
  5. Added support for the full range of new emoji characters in text fields, in both SurveyCTO Collect and web forms (including new emojis above the 16-bit UNICODE range).
  6. Made it so the Daily submissions by form chart on the Monitor tab displays submissions even for deleted forms (for administrators and global form managers only).
  7. Fixed speed violations audit fields to record audio audits when appropriate – even after a form has been saved, exited, and resumed.
  8. Fixed SurveyCTO Collect to properly recognize when audio audits should stop at a particular question, even when that question is inside a group with the "field-list" appearance.
  9. Revised the "table" appearance for repeat groups to respect SurveyCTO Collect's current font-size setting rather than having just one fixed font size.
  10. Revised the "table" appearance for repeat groups to take less space when the keyboard is on-screen, and to adjust the table height when the screen orientation changes.
  11. Made web forms smarter about detecting changes in attached dataset data – even when version numbers stay the same (e.g., if a dataset is deleted and re-created using a new .csv file).
  12. Fixed quality checks to stop considering data that has been purged from a form.
  13. Made it so that any change to a deployed form would require that the form's version number be incremented. This now includes changes to form attachments, even if they take place within 15 minutes of the form being deployed.
  14. Fixed the Fill Blank Form form list available via the web interface to always show groups as opened, so that all forms are always visible.
  15. Fixed a rare problem in which SurveyCTO Collect would start or stop an audio audit too soon if it saw a field name that begins with the name of the field at which an audio audit was meant to start or stop.
  16. Added support for selecting images via Google Drive for image fields in SurveyCTO Collect.
  17. Improved Collect's handling of over-large submission files that can't be sent to the server: now, rather than giving an unresolvable error, submissions with attachments over 100MB in size will be sent to the server without the over-large attachments, and the user will be advised that they can use local wi-fi sync to access the full submissions.
  18. Fixed enforcement of the "readonly" field attribute in SurveyCTO Collect, for select_one and select_multiple fields with special appearance settings.
  19. Un-broke help links within the form designer's built-in relevance, constraint, and relevance builders.
  20. Removed some buttons from the server console when the current logged-in user doesn't have sufficient access to use them.
  21. Optimized the form designer and Data Explorer to default most groups to closed when there are a large number of items to display.
  22. Made web forms and SurveyCTO Collect smarter about detecting changes in form attachments – even when the form version hasn't changed.
  23. Improved the server console to better refresh hidden panels so that, when they are re-opened, they are up-to-date.
  24. Fixed the placement of the error message that appears when an enterprise user tries to create a new user role without specifying an ID for the role.
  25. Fixed SurveyCTO Collect to be able to download blank forms even when they happen to have linebreaks in their titles.
  26. In the form designer, fixed a bug that displayed the wrong number of matches when search criteria matched the starttime or endtime meta-fields.
  27. Improved the server console to auto-close option panels used to open results in a new browser tab (like when downloading data or opening the Data Explorer).
  28. Optimized the server console to no longer refresh the form list when unnecessary.
  29. Fixed the "Group mean is different" quality check to no longer give an error when the field used for grouping has multiple values that are the same except for capitalization or accents. (Groups with different capitalization or accent characters are treated as different groups.)
  30. Fixed a bug where toolbars from the HTML editor could still be visible after closing the add/edit pop-up.
  31. Improved the next and previous buttons when scrolling through search results in the form designer, to visually indicate whether there is or is not a next or previous result.
  32. Made it so that the Select all option is now fixed in place outside the scrollable list of fields when adding or editing a webhook or Zapier connection.
  33. Removed the current role, the global administrator role, and the global user manager role from the "copy from" list when editing an enterprise user role.
  34. Fixed a rare case where users filling out web forms would be told that their submissions couldn't be submitted because they were incomplete (and incomplete submissions would appear in the server console).
  35. Fixed the "placement-maps" appearance for geopoint fields to allow users to replace an existing marker without having to delete another one first (had been a problem for "Google Maps" mapping engine only).
  36. Fixed the form designer to show the month-year appearance option for date and date-time fields (rather than no-calendar, which is how it appeared before).
  37. Fixed web forms to properly preserve date and date-time fields when moving backwards and forwards, even when shifting between UTC and the user's time zone crosses midnight (before, the date could move by one day).
  38. Changed the form designer to no longer allow users to create fields or groups with names already taken by other fields or groups. (Duplicates are technically allowed as long as they are in different groups, but they cause confusion and make it difficult to uniquely refer to fields or groups.)
  39. Improved the load time for the form designer and preview sessions within the form designer.
  40. Fixed cases throughout the server console, where you choose a form or field, to better handle cases where labels include HTML formatting.
  41. Fixed server exports to respect the local time zone when exporting time fields.
  42. Fixed problems in both SurveyCTO Sync and SurveyCTO Collect that could shift saved times by one hour during daylight savings time.
  43. Fixed the drop-down menu for the UI language in the form designer to scroll when there are many languages available.
  44. Improved how long form titles are displayed in the Data Explorer.
  45. Improved reporting of errors when the Data Explorer is opened within private browsing windows.
  46. Fixed a rare crash in SurveyCTO Collect that happened very occasionally on some devices, while swiping from one question to the next.
  47. Fixed another rare crash in SurveyCTO Collect that happened very occasionally if swiping forward to the first screen of a form when the form was still loading.
  48. Changed the technology used to display the Daily submissions by form chart on the Monitor tab, in order to avoid an external dependency (Google).
  49. Improved some text in the web interface to no longer be blurry in newer releases of Google Chrome.
  50. Fixed SurveyCTO Collect in Android 4.4+ to no longer give an error when trying to attach a file from an external SD card.
  51. Fixed a variety of buttons in the server console to no longer double-open something when a user double-clicks.
  52. Updated public copyright statements in all SurveyCTO components.

Version 2.30

Released Jun. 19, 2017

Major release

Organize your forms and datasets into groups, export encrypted data right from your web browser, publish directly to Zapier and other web services, show select_one data in pie vs. bar charts, and much more.

Notable new features and changes

  1. Added the ability for form and dataset managers to organize forms and datasets however they wish: forms and datasets can now be ordered and grouped in whatever way makes the most sense (rather than always being listed in alphabetical order). Throughout the server console, forms and datasets are now organized together into the same sections, with the organization of those forms and datasets being set on the Design tab.
  2. Added support for a new "enterprise" version of SurveyCTO, for institutions that require finer-grained control over user roles and permissions, to facilitate the sharing of a single SurveyCTO subscription across multiple country offices or teams. (Contact to inquire about enterprise subscription options.)
  3. Expanded data download options on the Export tab of the server console: now users can export encrypted forms directly from the website (if they have the private key), and choose between wide and long export formats.
  4. Added the ability to easily publish incoming form data directly to Zapier, from where that data can trigger innumerable outside actions or transit into innumerable outside systems.

Improvements and fixes

  1. Added the ability to easily publish incoming form data directly to many other outside systems via webhooks.
  2. Added the ability to edit the field type for certain types of fields in the form designer: now you can change between select_one and select_multiple, decimal and integer, date and datetime, or calculate and calculate_here.
  3. Added a "pie" (vs. "bar") display option for select_one data in the Data Explorer, to show categorical data in a simple pie chart.
  4. Revised the percentages shown for select_multiple bar charts in the Data Explorer, to be based on the percentage of submissions that included each selection vs. the percentage of all selections.
  5. Added a basic search function into the Data Explorer, so that it's easier to find individual submissions.
  6. Added a new "case management" option to filter case lists by user role (access level) rather than user.
  7. Added the ability to export Stata .do files directly from the Design tab of the server console (just choose Download, then Stata .do template).
  8. Reworked the Stata .do file templates to accept either long- or wide-format exports, producing a .dta file structure that mirrors the .csv data structure.
  9. For forms that record information about speed-limit violations, added a friendly interface for warning about violations in the Data Explorer's submission-details view.
  10. Improved how dataset-form linkages are reported in the Your forms and datasets section of the Design tab (including an option to click for field mapping and other details).

Other small changes

  1. Added an option to exclude note fields in the Data Explorer's submission-details view.
  2. Revised the username() function to clarify whether the currently-configured username has or hasn't been authenticated with the server. This prevents users from configuring one username offline, filling out a form, and then changing the username again when connecting to the server.
  3. Removed the special Case management section from the Collect tab of the server console. Now you can easily add or edit "cases" datasets in the Your forms and datasets section of the Design tab.
  4. Changed it so that users uploading revised form definitions for existing forms have to explicitly choose to upload a definition for the specific form they want to update (to cut down on accidental updates to other forms).
  5. Made it so no user can downgrade themselves by changing their own user role.
  6. Removed support for "desktop datasets," which very few users found valuable. (Support for "server datasets" remains. And desktop datasets will remain, for now, if somebody updating from an earlier version already has them configured.)
  7. Improved support for web forms to allow low-volume web requests (e.g., for small-scale data-entry forms or attempts to preview a new form draft) to be processed quickly – even when high-volume web requests (e.g., for larger-scale web surveys with lots of simultaneous users) are flooding in and causing traffic jams.
  8. Eliminated a possible pathway to losing work: if you work offline in the form designer, logout and login again in a separate browser tab, then try to save, the form designer will now allow you to resume without losing your unsaved changes.
  9. Made the form's public key (if any) read-only in the form designer: encryption keys should only be added as part of starting a new form, and they should never be changed.
  10. Made it so that changes in a user's access take effect immediately, even if the user is currently logged into an active session (as opposed to waiting for the next login).
  11. In SurveyCTO Sync, fixed a problem with exports of nested repeat groups that would sometimes omit repeat instances from exported .csv files.
  12. In SurveyCTO Collect, fixed an error that would appear when trying to display a field with an image but no text label ("Attempt to invoke interface method 'int java.lang.CharSequence.length()' on a null object reference").
  13. Corrected an error that had made it impossible to create a quality check to monitor for missing (empty) values.
  14. Changed the Go To Prompt screen to no longer trigger calculate_here calculations.
  15. When downloading old versions of form definitions from the Design tab, fixed the old versions to be ordered by version (rather than being in a random order).
  16. Fixed the summary of monthly usage and the indication of when monthly usage limits reset to be more accurate around the time of the actual monthly reset; also made it so the Refresh button refreshes the next-reset date and time.
  17. Made it so the server will refuse to accept empty (0-byte) submissions from devices; this way, if there is some device error (like a full SD card), the server doesn't end up with empty submissions that cause errors down-stream.
  18. If "Publish existing data" is not selected, fixed new Google publishing configurations to no longer publish one old submission before new submissions.
  19. Fixed publishing to Google Sheets to work for response values that begin with an = (and thus look like formulas); these will now have an apostrophe added to the beginning, so that Google doesn't interpret the value as a formula.
  20. Improved treatment of attached datasets when new versions of forms are uploaded, saved, and deployed: a new version of a form will automatically inherit the dataset attachments from the existing draft (if any), otherwise from the currently-deployed version (if any); and when deploying a draft, the now-deployed version will have whatever datasets were attached to the draft.
  21. Fixed the filenames of audio audits that start at a random time to properly reflect the time that they started.
  22. Made it so users filling out web forms don't need to have "cookies" enabled in their browsers to upload images or other file attachments.
  23. Ensured that read-only text fields will not be mistaken for note fields and dropped from exports or Stata datasets.
  24. Improved how the Data Explorer formats certain HTML labels (like headings, bulleted lists, and tables).
  25. Improved how the form designer shows HTML labels with single- and/or double-quotes.
  26. Fixed the "Next page" option in the online help to always start the next page at the top.
  27. After somebody purges data, made sure that the submission or dataset record count immediately updates in that person's server console.
  28. Improved the web display for field-list groups that include multiple note fields.
  29. In the Data Explorer's submission-details view, stopped trying to dynamically-substitute field values in labels: now, dynamic field references are simply left like .
  30. Corrected cases where, under heavy concurrent use of web forms, returning users might not be offered an option to resume a previously-abandoned web form.
  31. Improved the Data Explorer's handling of incomplete submissions that have been accepted (no longer offering missing attachments for download).
  32. Fixed the attachment-download function in the Data Explorer to work better in Safari.
  33. Fixed a problem that would prevent the Data Explorer from loading if a submission included an attached file with an apostrophe in its filename.
  34. Fixed the form designer's summary of fields to not be confused by single- or double-quote characters in labels that also have HTML code.
  35. Made it so the web and Android interfaces were consistent about handling HTML code inside field hints and dynamic field references.
  36. Fixed the form designer to not get confused when a media file is named such that its name is also within the name of another media file's name (like the name "image.jpg" is within "2-image.jpg").
  37. Fixed it so that pressing ESC to close a pop-up in the form designer won't leave you unable to scroll the main browser window.
  38. Improved the error message users get if they use a hyperlink from another user who was filling out a web form (since the other user's session information is in the URL).
  39. When looking up submission details by KEY, fixed the server to ignore cases where the same KEY is listed multiple times.
  40. Improved the error message for cases where somebody tries to attach a dataset to a form that has just been deleted.
  41. In SurveyCTO Collect, fixed text inside field references to be escaped, so that it won't be misinterpreted as HTML.
  42. Fixed an error about not being able to deploy a draft version of a form not to mistakenly use the term "sample."
  43. Fixed the public/private key generator to always add the proper filename suffixes, even when key names are really long.
  44. Removed the warning when downloading key files in Safari, since Apple has solved the problem that was breaking filenames for saved key files.
  45. Improved the error message when somebody uses the "look up by key" function to view a submission but then gives the wrong private key for decryption.
  46. Fixed links to other SurveyCTO servers inside web forms not to presume that the link is to another web form.
  47. Made it so that abandoned, unsaved web forms sessions are eventually deleted even for logged-in users (after 120 hours, vs. 48 hours for anonymous web forms sessions).
  48. Made it so the form designer only loads the first 1,000 columns and 50,000 rows of a form definition (in order to avoid spending too much time on worksheets that have thousands or millions of blank columns and rows).

Version 2.21

Released Jan. 20, 2017

Minor release

2.21 includes a range of small improvements: trend and map relationship views in the Data Explorer, direct visibility into survey-administration timing when reviewing submissions, and more.

Notable new features and changes

  1. In the Data Explorer, added a new map relationship view, for when you relate a geopoint field with some other field; if the other field is numeric then the map pins will be shaded, and if the other field is a select_one then the map pins will be colored by value.
  2. In the Data Explorer, added a new trend view, for when you relate a date/time field with a numeric field; in this case, the numeric field will be graphed by time, allowing you to easily see time trends in your data.
  3. In the Data Explorer, added an option to show text-audit data in the submission-details view; now, with one click, you can see the time at which enumerators arrived at each field and the total time they spent on each.

Improvements and fixes

  1. Added a "Duplicate form" option to the "Your forms" section of the server console's Design tab; this allows you to safely duplicate any existing form, resetting the title, ID, and encryption settings as appropriate.
  2. Added the ability to safely create new encryption keys right in the server console, from the global Toolsmenu at the very top of the "Your forms" section of the Design tab.
  3. Changed audio audits to record in .mp4 format, which is more widely-supported by web browsers and desktop computers.
  4. Added an option to directly hyperlink to view a submission's details; in the Data Explorer's submission-details view, there is now a button to copy a hyperlink directly to that submission, in order to share it with somebody (though a valid login is still required, plus the correct private key for encrypted forms).
  5. Added a "Look up by key" option to the "Your submissions" section of the server console's Monitor tab; this allows you to directly view submission details by key (or UUID).
  6. In the Data Explorer, improved the table view for date/time fields, so that you can control the level of aggregation (days, weeks, or months).
  7. In SurveyCTO Sync, improved Stata templates to have fewer naming conflicts when reshaping repeated data; now, Stata variable names for reshaped data will be named like "age__1" rather than just "age1" (using two underscores).

Other small changes

  1. In the Data Explorer, added a warning up-front to anybody with a web browser that is too old or otherwise incompatible.
  2. In the Data Explorer, improved the labeling of the x axis for date/time fields.
  3. In the Data Explorer, improved the formatting for HTML labels and multi-line responses.
  4. In the Data Explorer, made sure that the submission-detail view always scrolls back to the top when changing submissions.
  5. In the Data Explorer, improved the toolbars and menus for the submission-details view.
  6. In the server console, fixed the "Start new" wizard to ensure that form ID's don't include any illegal characters (like periods). Also fixed the Form Designer to prohibit illegal characters when editing a form ID.
  7. Changed the server to leave decimal values alone on export instead of trying to format them; this avoids "Null" errors in cases where field types have changed from something else to decimal (and some data in the field is non-numeric).
  8. Fixed the usage graph on the Monitor tab to no longer generate an error or disappear when Firefox or some browser add-on blocks Google Analytics.
  9. Made some small improvements to the server console interface for Microsoft Edge v14 users.
  10. In the Form Designer, added a "Normal" formatting option to the HTML text editor.
  11. In the Form Designer, improved the summary of a field label at the top of the edit screen, when the label has a wide HTML table inside it.
  12. In SurveyCTO Collect and SurveyCTO Sync, fixed local wi-fi sync to work for forms with UNICODE characters in their titles.
  13. In the Data Explorer, improved the performance of the floating yellow bar that indicates global filters or exclusions. Also made sure that the language-selector never opens behind this yellow bar.
  14. In the Data Explorer, made sure that table-view customizations are always saved.
  15. In the Data Explorer, fixed the submission-print view to include a title.
  16. In the Data Explorer, fixed a case where changing the title of a parent group would wrongly change the titles of child groups.
  17. In the server console, changed some "Cancel" buttons to "Close" to be more consistent.
  18. In the web forms interface, improved the sizing of HTML text in the "Go-to" UI.
  19. In SurveyCTO Sync, made the "replace linebreaks" option work for all exports, not just the long-format .csv exports.
  20. Throughout the web interface, stopped popping up error messages that come from browser plug-ins.

Maintenance release (Version 2.21.1)

  1. Fixed the Data Explorer to properly render map-relationship views when they initialize off-screen.
  2. Fixed the Form Designer to work properly for forms with attachments that have apostrophes in their filenames.

Maintenance release (Version 2.21.2)

  1. Improved the process by which new users are added to a SurveyCTO account: new users who login with email addresses will automatically receive an email notification about their new login, and administrators who add those users will be able to invite them to set their own passwords or include a pre-set password in the email notification.
  2. Added a more direct option for users to reset their passwords when having trouble logging in to their SurveyCTO servers.
  3. Added the option to add a sample form, complete with sample data, to the server. In the "Your forms" section of the Design tab, the Tools menu now has an option to add a sample household listing form with sample data that can then be explored or exported on the Export tab.
  4. Added the option to disable the Restore Data function from SurveyCTO Collect's Admin Settings, and changed the default for new devices so that Restore Data defaults to disabled. This can help to avoid cases where enumerators might accidentally restore old data.
  5. In SurveyCTO Collect, fixed a problem where some question screens might sometimes appear as blank on some devices, when HTML labels are enabled. This could occur randomly, for example, when swiping very fast through a lot of screens, and you might have to swipe away and then back again to get the questions to appear.
  6. On the server console's Monitor tab, fixed an error in the submissions chart caused by an April 2017 Google update.
  7. In SurveyCTO Sync, fixed a problem that occurred for some combinations of forms and data, where data in nested repeat groups might be omitted from exports.
  8. In SurveyCTO Collect, changed the default introductory screen, at the beginning of a form, to be centered even on devices with wide screens. (If there is a custom note with the "intro" appearance, though, then it will be left-aligned by default.)
  9. Got rid of an incorrect warning that would appear in quality-check results if quality checks were run very soon after creating the first quality check.
  10. Fixed a problem in the web forms interface, where a select_one or select_multiple field's current selection could become confused if there were negative and positive versions of the same choice value (with the negative value first). In such cases, selecting the negative value and then revisiting the field would result in the positive value being selected.
  11. Changed how web forms initialize so that servers can better handle a lot of users starting to fill out forms at the same time.
  12. Improved text auditing for fields within a single "field-list" group (i.e., within a single screen): all fields in the group will get the same timing information now, rather than no fields having anything recorded.

Version 2.20

Released Dec. 7, 2016

Major release

2.20 gives you incredible new options for monitoring and exploring your data.

Notable new features and changes

  1. Added the new SurveyCTO Data Explorer for flexibly and securely visualizing and exploring data – even when the data is encrypted using your own encryption keys.
  2. Removed all support for Statwing (it's been acquired and is no longer available for integration).

Improvements and fixes

  1. Improved the "table" appearance for repeat groups, to have it take less than 50% of the SurveyCTO Collect screen when the current table is small enough.
  2. Fixed a problem with the "Go To Prompt" interface in SurveyCTO Collect, where some questions and labels would be jumbled when HTML labels were enabled.
  3. Corrected the "Add all" button when publishing to Google, to no longer skip every 10th field by accident.
  4. Improved performance for cases where many simultaneous users are filling out forms on the web.
  5. Fixed a problem where newer quality checks could cause older quality checks to no longer report new warnings.
  6. Fixed SurveyCTO Sync to no longer give security warnings on Mac OSX Sierra systems.
  7. Removed a vulnerability by which an error might cause some submissions to wait for later, newer submissions before publishing to Google.
  8. Corrected an intermittent problem with text audits when many simultaneous users are filling out forms on the web.
  9. Corrected an intermittent error with text audits when SurveyCTO Collect users on Android swipe through a survey form very quickly.
  10. Made it so you can use SurveyCTO Collect to submit data for a form even if the form's title has linebreaks in it.
  11. Limited the size of form attachments uploaded from Google Drive to the server console or form designer (100MB per attachment, 300MB overall).
  12. Fixed the form designer to properly load Excel form definitions even when they have zero fields.
  13. Fixed SurveyCTO Collect to not use Android M's fake MAC address as the unique deviceid.

Version 2.12

Released Sep. 17, 2016

Minor release

2.12 features rich HTML styling for field labels, a new 'table' appearance for repeat groups, several big improvements to our GPS support, and more.

Notable new features and changes

  1. Added support for rich HTML formatting in field labels, including a WYSIWYG editor built into the form designer. Now it's easy to format labels however you want!
  2. Added new "table" and "table-labeled" appearance options for repeat groups. With those appearances, users will see a table underneath each repeated field, allowing them to easily review and navigate data in the repeat group.
  3. Made a series of improvements to geopoint fields: improved GPS performance for many devices, added new support for showing and adjusting GPS positions on maps, added support for invisibly recording locations in the background, added a SurveyCTO Collect option to pre-warm GPS at the start of any form that collects GPS positions, and added an option to specify when to stop trying to record a more accurate location (the accuracy threshold, which defaults to 5m).
  4. Added help links into the form designer, so that it's easy to get to an appropriate help topic.
  5. Improved the SurveyCTO help system's search function. Now it's easier to find the right help topics!
  6. Made it easy to move existing fields and groups into a newly-created group in the form designer (so that you don't have to individually drag and drop each individual field or group into the new one).
  7. Added a Hindi interface to SurveyCTO Collect.

Improvements and fixes

  1. Added an automatic reminder to download back-ups of forms before deleting them.
  2. Made it so SurveyCTO Collect will simply ignore blank values in the sortby column of a cases dataset (rather than giving an error).
  3. Added help for the time field type.
  4. Added a new option in the server console's Server preferences to stop update notifications from being sent to users of older versions of SurveyCTO Collect. Administrators who wish to keep using a custom-branded build of Collect (or an older version) can use this option to more easily prevent users from downloading the latest update.
  5. Fixed SurveyCTO Collect to properly show labels for multiple-choice selections in the Go To Prompt interface, even when the choices are dynamically-loaded and the submission has been saved and resumed.
  6. Made it so a user filling out a web form will have their current response saved when they click a hyperlink to jump to another part of the form.
  7. Fixed the round() function to round cleanly in cases that used to leave small trailing decimals.
  8. Made it so the constraint and calculation builders (in the form designer and elsewhere) will show calculateand calculate_here fields as options whenever a numeric field is needed.
  9. Changed the form designer to show groups with the "field-list" appearance with a different icon.
  10. Improved the experience of users who refresh the server console but have to re-login because their sessions have expired: no longer have multiple pop-up messages that need to be closed.
  11. Added a "please wait" message when loading large web forms.
  12. Fixed the mouse cursor in the main screen of the form designer, to always indicate whether you can or can't pick up a field or group to drag it somewhere else.
  13. Corrected a French label for the "Edit saved form" option in Admin settings to be French instead of Spanish.
  14. Got rid of the "GPS coordinates can only be collected when outside" hint when showing geopoint fields to users filling forms in a web browser.
  15. Fixed SurveyCTO Sync to properly export KML files when the geopoint field isn't selected to be included in the KML details.
  16. Added a check to make sure that new form versions that call pulldata() have the correct number of parameters.
  17. Added a message in the Start new form wizard to warn Microsoft Edge and Internet Explorer users that they might have to turn off their pop-up blocker to open the form designer.
  18. Fixed the calculation builder to properly order the terms when constructing subtraction expressions.
  19. Corrected the Download form files interface to properly indicate when a form has not yet been deployed.
  20. Fixed the Download to computer option for new forms to work even when the "Ripple Emulator" Chrome extension is installed.
  21. Improved handling of incomplete-submission detection in cases where forms are updated such that fields with file attachments change groups.
  22. Improved SurveyCTO Sync's "ignore groups" option to also ignore non-repeated groups that are inside repeat groups.
  23. Fixed the interface for uploading files from Google Drive to allow you to change your mind and upload from your local computer instead.
  24. Improved SurveyCTO Sync's handling of cases where a repeated image field is moved inside a nested non-repeating group.
  25. Fixed SurveyCTO Sync to properly show UNICODE form titles, even on Windows.
  26. Improved the error messages when people try to upload files that are too big (over 100MB).
  27. Improved performance when publishing large datasets to Google.
  28. Fixed it so that accidentally including "intro" or "thankyou" in a non-note field wouldn't cause the field to be invisible.
  29. Changed data exports done directly from the server (via the Export tab or via the API) to support up to a maximum of 10,000 columns. For exporting data with more than 10,000 columns, one can always use SurveyCTO Sync.
  30. Fixed the interface for publishing to Google to be more forgiving if somebody tries not to name the target Google Sheet or Fusion Table.
  31. Improved how the form designer shows very long relevance expressions.
  32. Fixed the Download printable version option not to let you click to download until the list of possible languages has been fully loaded.
  33. Fixed the configuration interface for publishing to Google Sheets to require that at least one non-repeated field be published.
  34. Revised the SurveyCTO logo everywhere, to match our subtly-updated logo.

Version 2.11

Released May 14, 2016

Minor release

2.11 features improvements to the calculation and relevance expression builders, a new send/receive status option in the SurveyCTO Collect UI, and more.

Notable new features and changes

  1. Added support for the new Community and Plus subscription plans.
  2. Began enforcing new subscription limits, and added a new interface for seeing (and being warned about) server usage.
  3. Made some improvements to the wizards used to build calculation and relevance expressions, to make them easier to use.
  4. Added a new option to display send/receive status on the SurveyCTO Collect main menu, to help increase transparency about connection status, background-sync settings, and more.

Improvements and fixes

  1. Improved the form designer's performance when loading and working with very large forms.
  2. Added explicit support for proxy servers into SurveyCTO Sync.
  3. Fixed a problem that prevented web users from submitting forms when there was heavy simultaneous use combined with validation errors in the final attempt to submit.
  4. Updated the web UI to no longer offer to resume a previous submission if the case ID in the URL was different (so different cases are effectively treated as different forms now).
  5. Fixed a problem that could cause a web user's survey language to automatically change mid-survey.
  6. Fixed the web UI to use the latest Chrome and Firefox support for capturing images and other media (since browser updates made it so the camera would stay on even after capturing a photo or video, and the microphone would turn on even when it wasn't needed to capture a photo).
  7. Improved the documentation for quality checks (which are now supported in all SurveyCTO subscription plans).
  8. Fixed a small problem with daylight savings time sometimes causing times to be improperly shifted by one hour.
  9. Added support for longer email addresses (now up to 100 characters).
  10. Added a new "minimal appearance" mode to the web form UI, for embedding web forms into other pages with iframe tags (just add appearance=min to the URL query string).
  11. Changed the server to ignore columns beyond column 1,000 and to ignore rows beyond row 50,000 in uploaded form definitions (so that it doesn't waste huge amounts of time trying to process millions of blank cells).
  12. Fixed SurveyCTO Sync to properly exclude note fields from Stata .do file templates when configured to exclude notes from exports.
  13. Fixed it so the duration recorded for time users spent filling out forms would not be over-estimated because of repeated rounding errors.
  14. Removed Statwing integration from subscription plans that don't include it.
  15. Fixed constraint expressions generated by the built-in wizard to properly handle cases where punctuation or letters are disallowed.
  16. Fixed problem that prevented forms with periods (.'s) in their form ID's from being filled out on the web.
  17. Improved behavior of SurveyCTO Sync for forms with titles starting with periods (.'s).

Version 2.10

Released Mar. 26, 2016

Major release

2.10 features a vastly-improved interface for starting and editing survey forms, support for draft vs. production forms, and more.

Notable new features and changes

  1. Added a new online, drag-and-drop form designer, to make building and editing forms dramatically easier. Form design in MS Excel, Google Sheets, and even XML is still supported, but the new designer is expected to become the primary form-design interface for new users.
  2. Added support for draft vs. deployed forms, so that revisions to a form can be safely reviewed before being deployed to live users.
  3. Made several improvements to the "Start new" process for starting a new form on the Forms tab (for example, to make it easy to start from a sample form rather than a blank form template).
  4. Removed all limits on the number of user accounts, for all SurveyCTO subscriptions. Now all team members can have their own SurveyCTO logins.

Improvements and fixes

  1. Shifted to requiring email addresses for all SurveyCTO user accounts, except for data-collection-only accounts (which can now use either an email address or a non-email username). Users who try to login to the server console after upgrading will be asked for their email addresses and logged in under new accounts; old logins will be left in place in case any devices are configured to use them.
  2. Added new "single sign-on" support so that users could easily login from our public website, start using their server console, open the Manage Subscription page, and visit the Support Center, all without having to login more than once.
  3. Changed to using "value" instead of "name" for the column of the choices worksheet that indicates the internal value for each multiple-choice option.
  4. Added the new file field type for accepting arbitrary file attachments as part of a form.
  5. Extended the calculation builder to include additional calculation types (e.g., "current position in repeat group").
  6. Fixed the indexed-repeat() function to again work within choice_filter expressions.
  7. Fixed jr:choice-name() to again work on repeated fields that have choice_filter expressions, even when editing a saved form.
  8. Fixed a problem where quality-check reports would delete quality checks if they hadn't first been run manually.
  9. Improved the online help interface for users with smaller screens or browser windows.
  10. Fixed relevant-but-blank field values to overwrite prior values, if any, when merging data into a server dataset, Google Sheet, or Google Fusion Table.
  11. Fixed the Stata templates not to include an extra / (as in "C://") when saving to a Windows drive's root directory.
  12. Fixed video fields with the "new" appearance to work properly in web forms.
  13. Removed Enketo web form support (in favor of our built-in web forms).

Version 2.00

Released Oct. 21, 2015

Major release

2.0 includes a new web interface for previewing and filling out forms, a more deeply-integrated data analysis and visualization option, and a totally re-done server interface that makes even our most advanced features much easier to use.

Notable new features and changes

  1. An entirely new server console. This console features a more modern, easier-to-use interface that better organizes SurveyCTO's growing range of capabilities and online help resources.
  2. A web interface for previewing and filling out forms. This allows users to easily preview forms for testing, fill out forms in-office (e.g., for a telephone survey), and share forms for others to fill out online.
  3. Direct access to data, analysis, and visualization. The new server console's Export tab allows you to download data – or even start to visualize or analyze it – with a few simple clicks. For visualization and analysis, SurveyCTO has integrated directly with Statwing's powerful cloud platform (and SurveyCTO automatically covers all of their fees for professional-level subscribers).
  4. Direct publishing of form data to Google. Rather than having to publish form data to a dataset in order to then publish that dataset to Google, you can now publish forms directly to Google.
  5. Direct configuration of quality checks for form data. Rather than having to publish form data to a dataset in order to then configure quality checks for that dataset, you can now directly configure automated quality checks for forms.

Improvements and fixes

  1. Renamed SurveyCTO Client to SurveyCTO Sync.
  2. Added new "intro" and "thankyou" appearance styles for note fields, so that forms can include custom content on the opening and closing screens of a form.
  3. Extended support for exporting dummy variables (1/0 columns) for select_multiple fields, to cover more export formats and cases.
  4. Added an option in SurveyCTO Sync to exclude note fields from exports (since they never contain any actual data).
  5. Added an option in SurveyCTO Sync to merge old and new data in cases where fields have changed groups over time (this is the new "ignore groups" option).
  6. Improved the performance of server datasets, so that data can stream into them more quickly (for projects with many enumerators sending in data simultaneously).
  7. Fixed the constraint tester to properly show the field name when selecting an existing field that happens to be inside a group.
  8. Made several performance improvements in SurveyCTO Sync: starting to listen for submissions on a local wi-fi network should be quicker, and systems with datasets downloaded to the local storage should face fewer delays.
  9. Added support for resuming failed downloads of SurveyCTO Sync or SurveyCTO Collect.
  10. Fixed the server to be able to properly generate printable versions of forms that include calculated repeat_count expressions and calls to the username() and caseid() functions.
  11. Fixed it so that incomplete submissions that are later completed do not result in duplicate server dataset records (they will only publish to the dataset once, when they are completed).
  12. Made SurveyCTO Collect more tolerant of cases where the underlying Android directory structure changes (which could happen when upgrading the device or moving data from one device to another).
  13. Added support for a new file field type for arbitrary file uploads – but haven't documented it yet since it currently works only in the web interface.
  14. Improved the format of data sent by SurveyCTO Sync to Statwing, so that visualization and analysis on the Statwing side is easier (e.g., select_multiple fields are sent in a certain format that allows Statwing to group responses together as checkboxes).
  15. Added a new hash() function to allow generation of hash values for passed parameters (can be used by advanced users to obscure/encrypt data that is published, e.g., as pre-loaded data).
  16. Fixed desktop datasets to support exported values over 255 characters in length.
  17. Shifted from recommending the old position(..) function for getting the current repeat-group position to recommending instead the new index() function. This new function will give the index number you want even when called within a non-repeated group nested within the repeat group.
  18. Improved the error messages given in cases where there are problems encrypting or decrypting form data (often it's just that the person trying to decrypt data is using the wrong private key).
  19. Fixed SurveyCTO Sync to be able to properly export desktop datasets that have names starting with numbers.
  20. Fixed SurveyCTO Sync to export 1/0 columns for missing select_multiple responses as missing, rather than as all 0's.
  21. Fixed server datasets to enforce a reasonable limit on the overall number of fields rather than crashing when the number of fields becomes absurd: server datasets will now be limited to a maximum of 2,000 fields.
  22. Extended the REST API to support encrypted forms: if somebody requests an encrypted form's data via the API, the server will export and return a .csv file that includes all publishable fields.
  23. Fixed server datasets not to get confused by fields that have names that look like repeated-field names (like age_2).
  24. Added an option to set a SurveyCTO server to require all forms to be encrypted. Contact support if you'd like to request that your server be set to this "only encrypted" mode to help enforce your data-security policies.
  25. Fixed the "month-year" appearance to work again for date and datetime fields shown on devices running Android's "Lollipop" release.
  26. Added a few example fields into the default form template, to give new users a bit more to work with.
  27. Added the option to clean old datasets from local storage in SurveyCTO Sync.
  28. Improved the error message for cases where pre-loaded data includes empty values.
  29. Fixed documentation for the substring() function to be more correct.
  30. Fixed Google publishing to better support target column names that begin with numbers.
  31. Heavily revised (improved!) online help content.

Maintenance release (Version 2.01 released)

  1. Fixed it so that expressions for choice filters (a.k.a. "cascading selects") can reference repeated fields (so long as the referenced fields are within the same repeat context as the expressions).
  2. Improved compatibility with Microsoft Internet Explorer and Edge browsers.
  3. Improved performance for servers with hundreds of user accounts configured.
  4. Improved performance for web users finalizing forms.
  5. Changed the form preview feature to no longer offer to resume previous sessions; now every time you preview a form, it starts fresh using the latest version of that form.
  6. Improved compatibility for anonymous web users, so that they can fill out forms without enabling "cookie" support in their browsers.
  7. Added support for the name column of the choices worksheet to be called value instead. (In a future release, we plan to use this more intuitive column name in samples and form templates.)
  8. Improved the error messages for users who try to login to SurveyCTO without "cookie" support enabled in their browsers.
  9. Extended server to auto-correct names of incoming text audit files when necessary. This avoids submissions being marked as incomplete for some cases where there were device-side file system errors.
  10. Fixed quality checks to always consider all submissions, even ones with all-blank values.
  11. Fixed errors that would result from previewing a form in multiple browser windows, if one or more datasets were attached to the form.
  12. Fixed a problem where errors could result from configuring a dataset to use a certain field as the unique ID, if that field already contained data with duplicate values.
  13. Fixed SurveyCTO Collect not to stop with an error when a form calls index() multiple times.
  14. Fixed printable surveys, form previews, and web forms to properly display linebreaks inside hints and group labels.
  15. Added the ability for users to review server logs (including all logins and other server activity).
  16. Fixed a very occasional problem with how some browsers displayed radio buttons in web forms.
  17. Fixed the server to allow you to switch from uploading from your Google Drive to uploading from your local computer, without having to refresh the page.
  18. Fixed the rank-value() function to work properly in the case of ties.
  19. Fixed the server console's editor in the case management section, to no longer create duplicate cases when the same row is edited multiple times.
  20. Fixed a problem with the REST API whereby certain sequences of queries could result in some data being duplicated in the returned .csv files.
  21. Improved the server console alert that appears when one's number of allowed web submissions has been reached for the month.
  22. Added a warning to discourage users from configuring SurveyCTO Sync to use a Dropbox or Boxcryptor folder for local storage.
  23. Added a warning on form upload for cases where fields by the same name appear in multiple groups.
  24. Fixed situation where, after manually deleting the cases dataset, the case management section of the server console would still report that there were cases.
  25. Fixed SurveyCTO Sync to properly download preloaded data files when downloading form definitions via local wi-fi sync.
  26. Fixed an exceptionally-rare problem where a crashed form would resume with a new version and then, after being encrypted, get errors on decryption.
  27. Improved the behavior of server console tabs when you switch between them (new tabs start at the top, previously-viewed tabs revert to their prior positions).
  28. Improved some panels on the server console to auto-scroll into view, when they open mostly or completely off-screen.
  29. Fixed a few error messages that had broken links to online-help topics.
  30. Fixed the date-time() function example in the help to have the proper syntax.
  31. Made it so that you could resize all windows in SurveyCTO Sync, including the license-verification window.
  32. Made it so the contact support option in the help section goes directly to the page for opening a new support case.
  33. Fixed an error that could result from attempts to publish encrypted data from pre-v1.40 to a dataset.
  34. Fixed a rare bug where clicking the device's back button while a form was loading could cause SurveyCTO Collect to crash.
  35. Fixed a problem with the graph of submissions on the Monitor tab for new users.
  36. Improved the degree to which elements of the server console's Design tab update immediately when you upload a new or revised form.
  37. Fixed the server console to give a comprehensible error when you try to delete a form that is already in the process of being deleted.
  38. Added a note to the help topic on using Enketo, to mention that we'll be discontinuing support for Enketo in a future release.
  39. Improved server performance for forms with many thousands of submissions and attachments.
  40. Started limiting datasets to 1,890 fields (rather than 4,000) in order to avoid potential errors when submissions include large amounts of text. Also improved error message for the case where a form publishing to a dataset tries to publish too many columns, and fixed case where an uploaded .csv file for a dataset violates the limit.
  41. Fixed a rare server console login error that would happen if you tried to upload a form using a browser window with an expired session.
  42. Fixed the server console to require that a field selected as the unique ID for a dataset also be published to that dataset.
  43. Updated the online help for local wi-fi sync to advise on the necessary firewall configuration.
  44. Made small improvements to the online help, including the navigation.

Maintenance release (Version 2.02 released)

  1. Extended SurveyCTO Collect's Edit Saved Form feature to allow users to resume from whatever position they had previously left off in a form. Also added the ability to configure which resume options should appear when editing a saved form.
  2. Added support for password expiration and minimum-complexity requirements. Users who wish to add password requirements for their SurveyCTO logins should contact customer support.
  3. Added support for users to review the past 30 days of server log files for their virtual servers. Users who wish to review their server log files should contact customer support.
  4. Extended SurveyCTO Collect's ability to be launched from other Android apps, to allow for more data to be passed from those apps into SurveyCTO forms.
  5. Extended the server's REST API to support JSON-formatted data responses, and to support partial (new) data downloads.
  6. Added Bengali translation for SurveyCTO Collect (thanks to Amplifier Strategies).
  7. Improved tracking of durations (via the duration() function) for users filling out forms with the web interface: now, time spent between long absences will be included in the logged duration.
  8. Improved the auto-generated Stata templates so that they would automatically detect regional settings where dates are not in month-day-year order and adjust the generated Stata code accordingly.
  9. Fixed a few cases where incomplete submissions that are manually marked as complete might either be left out of server exports or cause duplicate records in server exports.
  10. Fixed a problem where selecting the SurveyCTO Sync set to include group names in .csv headers option when generating a mail-merge template would generate an error.
  11. Changed data exports done directly from the server (via the Export tab or via the API) to give up at 100,000 columns. For exporting data with more than 100,000 columns, one can always use SurveyCTO Sync.
  12. Automatically stripped any unprintable or illegal characters from scanned barcodes in SurveyCTO Collect (in order to prevent errors saving submission data).

Version 1.40

Released Apr. 13, 2015

Major release

This release removes a series of prior limitations: you can now upload revisions to forms without worrying about changes in data structure, datasets can now include thousands of fields (including repeated fields), and more.

Notable new features and changes

  1. Removed the restriction on updating existing survey forms in ways that affect the data structure. Nearly all updates to an existing form are now allowed, including updates that add fields, remove fields, or otherwise change the structure of collected data; the only restriction that remains is that you can't change an existing form's encryption status or settings: you must change the form's unique form ID if you want to alter its data encryption.
  2. Removed the 81-field restriction on datasets so that over 1,000 fields can now be included in a single dataset (and, e.g., published on to Google).
  3. Expanded datasets to support fields in repeat groups, so that repeated data can be published into a dataset (and then, if desired, on to Google). Repeated fields publish in "wide" format, as when a repeated name field publishes into name_1name_2, etc. columns.
  4. Added a new option to immediately publish all existing data when linking a form to a dataset.

Improvements and fixes

  1. Increased the speed with which the SurveyCTO Client exports data (for some forms on some computers, the improvement is massive).
  2. Added a new option to the SurveyCTO Client's preferences, to output missing values as something other than blank/empty. This allows one to distinguish, in exported data, between blank or empty values entered by the user vs. those fields that did not appear for the user: for fields that did not appear (either because they were not relevant or because they were not present in the version of the form filled out), any specified character or string of characters can be used to signify a missing value.
  3. Added a new formdef_version column to all exported .csv files. For each row (i.e., for each submission), that column will contain the version number of the form definition used on the device.
  4. Added a new option to export the internal KEYSubmissionDate, and formdef_version columns to Excel, Google Earth, and other formats supported by the SurveyCTO Client; also added these internal columns to the list of fields that can be published to datasets.
  5. Added a new option to attach media or .csv files to forms validated offline (when installing them into local client storage for wi-fi sync).
  6. Added a new facility to clean out old forms and data from the SurveyCTO Client's local storage.
  7. Made it so SurveyCTO Collect will refuse to delete a blank form if there are unfinalized submissions begun with that form. This will prevent some users from getting into trouble.
  8. Fixed SurveyCTO Collect to be able to enforce "speed limits" even when no form fields are configured to record attempted violations.
  9. Fixed it so that local wi-fi sync could be used even for an encrypted form with an embedded server URL.
  10. Fixed the SurveyCTO Client to download and export datasets even if there was an error downloading forms.
  11. Updated Stata templates to drop all auto-generated label fields for groups with the table-list appearance.
  12. Fixed an export problem that existed for repeated GPS fields when those fields were located at the very beginning of a repeat group.
  13. Fixed a problem with mail merge templates where group names were being assumed part of column names for GPS fields, even when group names were turned off in the SurveyCTO Client preferences.
  14. Fixed publishing to Google Spreadsheets to allow columns with names beginning with numbers.
  15. Fixed publishing to Google Spreadsheets to survive Google's deprecation of one of their API's (as of Apr. 20, 2015).
  16. When re-encoding .csv files with the SurveyCTO Client, updated to show only the first 50 rows of the .csv file in the preview window (so that the preview will be quicker for large .csv files).
  17. Improved some warning and error messages (as always).

Maintenance release (Version 1.40.1 released)

  1. Added ability to bundle specific settings, forms, and cases into custom-branded builds of SurveyCTO Collect (available for an additional fee for those who want a more customized and plug-and-play experience for their users).
  2. Further improved the performance of the SurveyCTO Client so that exports will be faster for most users.
  3. Added a new appearance for image, audio, and video fields to require the captured media to be new: when the "new" appearance is specified, the user will not be allowed to choose an existing image, audio, or video file on the device.
  4. Extended SurveyCTO Collect's setting for the number of days to back up finalized submissions to allow up to 90 days, and added a graceful error when internal storage space becomes too low to back up new submissions.
  5. Fixed publishing and wide-format exports of repeated fields to include fields inside non-repeating groups nested within repeating groups.
  6. Fixed publishing of repeated fields to work properly for cases where the repeated fields were encrypted but marked as publishable.
  7. Fixed fields with calculated default values to allow users to delete the pre-filled values (without re-adding the calculated default values back again).
  8. Fixed the server to allow users to manually accept incomplete submissions (those with missing attachments).
  9. Fixed the server not to claim attachments were missing or cause download errors when really they were all there (but some of them had been sent after the form was updated).
  10. Fixed repeated select_multiple fields to properly export into wide-format export files as series of 1/0 columns (when configured to do so).
  11. Fixed not-relevant select_multiple fields to properly export as series of 1/0 columns (when configured to do so).
  12. Fixed calculate_here fields at the very end of repeat groups not to cause errors in SurveyCTO Collect.
  13. Fixed dataset .csv file exports to enclose linebreaks in quotes so as not to confuse Excel or the SurveyCTO Client.
  14. Fixed scheduled syncs to work again in the SurveyCTO Client.
  15. Made it so the server login screen will give a more clear error when there is a browser plug-in interfering with server communication.
  16. Improved client datasets to better handle repeated fields (both in the choose-fields interface and in exports).
  17. Fixed the client not to complain when exporting client datasets that happen to be empty.
  18. Fixed form titles with illegal filename characters (like colons) to work more reliably throughout the system.
  19. Fixed SurveyCTO Collect not to crash when attempting to resume a 0-byte submission (which can be caused by an out-of-disk-space error).
  20. Fixed the server to accept form uploads when the form definition file is included both as the definition and as an attachment.
  21. Fixed the printable version of forms not to give errors when encountering hand-coded XPath expressions.

Maintenance release (Version 1.40.2)

  1. Added a new duration() function that returns the total amount of time spent, in seconds, filling or editing the current form submission. Call this function in a calculate_here field to capture the user's number of seconds into a form when they reach a particular point (expression for the calculation column: "once(duration())"); you can then subtract one captured duration from another to get the time spent in between. Or, use in a regular calculate field to capture the total duration spent on the form overall (expression for the calculation column: "duration()").
  2. Improved text and audio audits so that they now resume after saving, exiting, and then editing a form. If a certain audio audit is configured to begin 5 minutes into a survey, for example, but the user saves and exits after 2 minutes, then the audit will begin 3 minutes after the user resumes editing the form. Likewise, text audits will now continue to log for all editing sessions.
  3. Made it so data published to Google Spreadsheets doesn't always have to publish to the first worksheet: if there is a worksheet named "data", SurveyCTO will publish there even if it's not the first one. This allows for the first worksheet to be a dashboard or other worksheet, with the raw data appearing on a subsequent sheet.
  4. Extended SurveyCTO Collect to automatically unzip all files in .zip files attached to forms, regardless of whether those files were included in subdirectories (Collect used to only unzip the contents of the root directory, and it would even miss some of those files if subdirectories were present).
  5. Fixed a problem in Collect where you couldn't move forward if there were multiple calculate_here fields in a row.
  6. Fixed a one-in-a-million vulnerability that would cause serious database slow-downs when many users send submissions for the same form at the same time.
  7. Fixed it so that select_one fields with cascading-select filters and spaces in their choice values work properly when editing saved forms (previous selections were being lost when saved forms were re-opened).
  8. Fixed it so that you could download the printable version of a form even if that form used the pulldata()function in a repeat_count column and even if that form had repeat groups that might repeat forever (or a very large number of times).
  9. Fixed the server login screen to give an appropriate error about needing to be refreshed if cookies are cleared (rather than confusingly claiming that the username or password is incorrect).
  10. Fixed audio audits not to get confused about when to start when returning from recording audio or video (audits scheduled for later in the survey would start immediately upon returning).
  11. Fixed publishing to Google Fusion Tables to correctly publish data containing backslashes (rather than giving an error).
  12. Fixed Google publishing to fully cancel any ongoing publishing operations when a dataset is manually cleared of all data while in the middle of publishing.
  13. Fixed client datasets so that multiple fields with the same name could be safely merged from different forms into the same target column.
  14. Fixed SurveyCTO Collect to allow you to delete blank forms that have duplicate definitions (a rare event for people with multiple servers) even when there are unfinalized submissions pending.
  15. Fixed Stata .do file templates to always format the incoming SubmissionDate column as a Stata-format date/time field.
  16. Fixed Stata .do file templates to always include the full file path when calling out to other .do files (for processing nested repeat groups).
  17. Fixed it so that those with standard subscriptions over their user limit can delete users to get back under the limit.

Version 1.31

Released Feb. 20, 2015

Minor release

Notable new improvements include dramatically better support for offline operation using local wi-fi networks and a new REST API for pulling data directly from the server (for professional-level subscribers), plus improved Excel export options and other smaller improvements (for everybody).

Notable new features and changes

  1. Dramatically improved ability to operate without an Internet connection, using local wi-fi networks. This replaces the earlier option of directly connecting devices via USB (which was, frankly, too tedious and error-prone).
  2. Changed Excel exports from .xls to .xlsx format and increased the maximum number of exported columns from 256 to over 10,000.
  3. Added a REST API for programmatic access to .csv exports directly from the server. (This isn't documented in the online help, so contact support if you are interested in using this API.)
  4. Added a new option to the SurveyCTO Client preferences, to replace all linebreaks in .csv exports with some other character. This defaults now to changing linebreaks to spaces because Excel too often messes up when importing cell values with linebreaks in them.
  5. Added a new help topic on how to import .csv files into Excel (since Excel has so many quirks).

Improvements and fixes

  1. Fixed Google Spreadsheets publishing to properly merge on numeric and mixed text-and-numeric columns, regardless of the cell formatting on the Google side.
  2. Improved server and Collect behavior when a repeat group is accidentally designed to keep repeating forever.
  3. Made it so none of the automated quality checks will fail when there's no data yet to check.
  4. Fixed it so that Collect's Admin Settings would properly remember the "Skip to Next" setting when different from the "Go to UI" setting.
  5. Added support for audio audits to begin or end at fields within field-list groups.
  6. Improved some warning and error messages (as always).

Version 1.30

Released Nov. 17, 2014

Major release

For subscribers in the "professional" subscription tier, it adds powerful new options for automated quality checks and nightly email reports. For all subscribers, it features new options for enforcing or auditing violations of "speed limits," as well as a new data-collection interface for case management.

Notable new features and changes

  1. New support for monitoring the quality of incoming data. This includes checking for outliers, out-of-bounds values, field means that are too high or too low, field values that are too frequent or too infrequent, and even means or categorical response distributions that differ by group (e.g., when there are interviewer effects). See our page on collecting quality data to learn more...
  2. New support for enumerator "speed limits." These allow you to configure the minimum time that should be spent on particular survey fields; you can quietly record details about violations, automatically trigger audio recordings to help you investigate violations, or simply enforce the speed limits.
  3. New support for case management. Allows you to center your data-collection workflow not on forms but instead on the houses, schools, health centers, patients, or other subjects of your data-collection efforts.

Improvements and fixes

  1. Added a lengthy new help topic on assuring data quality.
  2. Dramatically improved the performance of the server interface for publishing datasets to Google Spreadsheets, for cases where users have a large number of Google Spreadsheets.
  3. Updated the client's UI to make it easy to sync multiple times without having to restart.
  4. Added a help topic to describe what to do if Excel gets really sluggish when editing a large form.
  5. Fixed occasional errors that could occur when manually deleting repeat-group instances (using a long-press followed by Delete Group in Collect).
  6. Changed all download links for the client and Collect to be un-encrypted, so that those downloads will be faster and more trouble-free.
  7. Fixed the server to accept form definitions pushed by ODK Briefcase, to ease ODK-SurveyCTO transitions.
  8. Added support for as-yet-unreleased versions of Java, so that future Oracle releases don't cause problems.
  9. Fixed the version() function to always return the form version, even for cached forms.
  10. Added a warning to Collect if running from the device's SD card (since performance and stability would be improved by moving the app itself to internal storage).

Maintenance release (Version 1.30.1)

  1. Streamlined the user experience for publishing lots of form fields to a dataset; you can now "select all," and the dataset's field name will default to the form's field name so that you don't need to re-enter anything.
  2. Improved the first-time user experience for the SurveyCTO Client: now users won't need to install the Java cryptography update unless and until they need to work with encrypted forms.
  3. Restored the friendly error message that appears when trying to scan a barcode without the barcode-scanner app installed.
  4. Fixed a problem where media fields (for recording audio or video) wouldn't work unless there were audio audit fields configured.
  5. Corrected an issue with saving audio and text audits on some devices with non-Western locales; media filenames and text audits will now always use Latin numerals.
  6. Added a "please wait" pop-up for when a user filling out a form clicks the validate-now button. For very long forms that take a while to validate, it was appearing to do nothing.
  7. Made it so that you can switch back and forth between the 1.3x and 1.2x versions of Collect without running into database versioning errors.
  8. Fixed printable versions of forms to support groups with no visible fields.
  9. Fixed a problem with the Download as PNG and Download as PDF buttons on the Statistics tab.
  10. Corrected a rare issue where the Statistics tab would get stuck refreshing (and require a browser restart).
  11. Made it so that you can't accept incomplete encrypted forms (encrypted forms with missing attachments) because they can't be decrypted when incomplete.

Maintenance release (Version 1.30.2)

  1. Markedly improved performance for SurveyCTO Collect, particularly when loading, navigating, and validating long, complex forms. (This was the result of a particularly rewarding collaboration with the core ODK team. Thank you, Mitch!)
  2. Added a new SurveyCTO Client option to export repeat groups in "wide" format. (Additional (title)_WIDE.csv files will be exported for every form that includes one or more repeat groups; these files will include a variable number of extra columns to hold data for all repeated fields.)
  3. Added a new SurveyCTO Client option to export select_multiple data as a series of 1/0 columns (i.e., as a series of "dummy variables").
  4. Updated the SurveyCTO Client to allow inclusion of repeat-group data in Excel, Google Earth, StatWing, and .csv-subset exports.
  5. Updated the SurveyCTO Client to respect the "include group names in column headers" option in Excel, Google Earth, StatWing, and .csv-subset exports.
  6. Made it so that SurveyCTO Collect will notify users when a newer version is available on the server (and link to the download via the Admin Settings screen).
  7. Added a new sample form that demonstrates five methods of asking follow-up questions based on user selections (e.g., asking follow-up questions for selected crops or acquired assets).
  8. Added a new help topic for migrating ODK users, to help quickly orient them.
  9. Fixed a problem where you couldn't publish server datasets to Google Spreadsheet columns if those columns had spaces or punctuation in their headers.
  10. Corrected some rare and as-yet-unreported problems with calculations in complex forms (particularly in those involving repeat groups).
  11. Added a linebreak() function for cases where you want to include a linebreak in a calculated expression.
  12. Updated the rank() function to make it more useful within repeat groups.
  13. Relaxed a technical server limit on the number of possible fields and groups in a form.
  14. Fixed Collect to save audio and text audit files in more cases (e.g., even in the case of some crashes, and even if they are not-relevant during one or more mid-form saves – as long as they are relevant at the end).
  15. Made it so that you can once again accept incomplete encrypted forms (encrypted forms with missing attachments) if and when necessary.

Version 1.23

Released Sep. 15, 2014

Major release

For subscribers in the "professional" subscription tier, this release adds the ability to publish datasets directly to Google Fusion Tables for data visualization, monitoring, and more. For all subscribers, this release features improved support for form navigation, including the ability to add hyperlinks to field groups, color groups and fields based on whether or not they've been completed, and organize the overall list of survey fields by group.

Notable new features and changes

  1. Improved support for form navigation, including the ability to add hyperlinks to field groups, color groups and fields based on whether or not they've been completed, and organize the overall list of survey fields by group.
  2. Added support for publishing to Google Fusion Tables, for professional-level subscribers. This allows for automated streaming of data into a simple, free system for data visualization, for real-time monitoring, publishing, and more. See our page on datasets to learn more...
  3. Fixed the form upload/conversion process not to take forever when groups are nested very deeply.
  4. Fixed the manual .csv upload process for datasets to no longer drop 1% of imported rows for .csv files over 100 rows in length.

Maintenance release (Version 1.23.1)

  1. Added support for publishing to Google Spreadsheets, for professional-level subscribers. This allows for automated streaming of data into Google Drive for real-time monitoring, publishing, and more. See our page on datasets to learn more...
  2. Improved options for validating, saving, and finalizing forms, as well as a lengthy new help topic that discusses the various options and workflows.
  3. Made use of pre-loaded data easier by including an option to automatically include the necessary fields when downloading a form template.
  4. Added the option to open online help into a separate window, so that it can be easily printed or used side-by-side with the server console.
  5. Changed it so that form definitions and attached .csv files are always compressed in transit, so that form downloads will be quicker over slow connections.
  6. Extended pulldata() to support geopoint fields, so that you can both publish and pre-load GPS locations.
  7. Added the new rank() function for determining the rank order of repeated fields.
  8. Improved the performance of hyperlinked field references, to reduce delays when swiping from one question to the next.
  9. Added a new help topic on improving the performance of long, complex forms.
  10. Updated Android home-page shortcuts to survey forms to automatically open the latest available version of a form.
  11. Improved the catching and handling of errors relating to publishing of datasets and integration with Google Fusion Tables (column names with spaces, over-long column names, over-long column values, too many fields).
  12. Fixed date-time fields (like survey start and end times) to properly adjust the date when time-zone changes shift the time past midnight. This corrects some cases where incorrect dates would result from time-zone differences between the data-collection device and the data-exporting computer.
  13. Made the repeat_count column in the survey definition more forgiving about string values vs. integer values. Whenever it can, it now tries to automatically convert strings to numbers, rather than reporting errors.
  14. Made the selected() function more forgiving about string values vs. integer values. Whenever it can, it now tries to automatically convert numbers to strings, rather than reporting errors.
  15. Fixed the process that generates Stata templates to allow for cases where multiple-choice options do not have labels (but only pictures).
  16. Made it so Collect plays a notification sound when finished downloading forms or uploading submissions (if the device isn't muted).
  17. Added the ability to increase the length of a text field beyond 255 characters (though it's still undocumented, so contact us if you need this capability).

Version 1.22

Released Jul. 15, 2014

Major release

For subscribers in the new "professional" subscription tier, this release includes support for powerful new workflows using datasets and the ability to pull data directly from devices (while offline). For all subscribers, this release includes improvements like the ability to update pre-loaded data without having to update the form itself, a new "show_formatted" appearance style that helps enumerators to avoid mistakes when entering long numbers, and more.

Notable new features and changes

  1. Support for powerful new workflows using datasets. See our page on datasets to learn more...
  2. Support for pulling data directly off of devices.

v1.22 also introduced a new tiered subscription model wherein not all SurveyCTO users have access to unlimited use of all SurveyCTO features; some SurveyCTO users now pay a discounted rate in exchange for some limitations. Existing paying customers were "grandfathered" in, so that they could continue to pay their existing subscription fees and yet retain unlimited usage – but these customers do not automatically gain access to all new features.

Improvements and fixes

  1. Added the ability for all subscribers to use server datasets to update pre-loaded form data without having to update the form itself. See our page on datasets to learn more...
  2. Added the "show_formatted" appearance style for integer and decimal fields, so that users can more easily avoid mistakes in long numbers. For example, depending on the Android device's locale settings, "120000" may appear as "120,000".
  3. Added the "numbers_decimal" and "numbers_phone" appearance styles for text fields, so that different variations of the numeric keypad are available.
  4. Added the format-number() function to format a number according to the Android device's locale settings (so, e.g., "120000" may appear as "120,000").
  5. Added support for Unicode characters in mail-merged data.
  6. Changed calculate_here fields so that they do not calculate when the user views nearby fields in the Go To Prompt interface, but only when the user swipes past them in the course of filling out the survey. This improves the accuracy of "module start times" when calculate_here fields are used to calculate those start times.
  7. Improved some error messages (as always).
  8. Broadened support for pre-loaded .csv files to support Unicode files that start with a BOM character.
  9. Fixed Collect to properly display long decimal fields for editing.
  10. Changed Collect to default to 14 days of internal-storage backups rather than just 2.
  11. Updated the client's form validation to better catch and report all errors that would be caught and reported on upload to the server.
  12. Fixed a problem where calculation and relevance expressions were sometimes not evaluated in a proper sequence for groups that became relevant mid-way through a survey.
  13. Included ODK fix for Nexus 7 video capture on Android 4.3.
  14. Fixed a problem where single-word constraint messages were not being displayed.
  15. Added documentation for the new ODK pow() function to raise fields, numbers, or expressions to a given power.

Maintenance release (Version 1.22.2)

  1. Added support for pushing new survey forms to devices via USB, for professional-level subscribers. Combined with the offline sync capability added in v1.22, this allows for fully-offline operation in settings that require it.
  2. Improved handling of extremely long calculation, relevance, or constraint expressions. If loading a form in Collect more quickly on the second or subsequent load would result in a "stack overflow" crash due to an expression longer than the device can handle, Collect will now automatically fall back to a slower method of loading the form. This should allow the device to handle the expression in most cases.
  3. Added support for "geoshape" and "geotrace" field types, to support new features in Enketo Smart Paper.
  4. Added desktop client support for Java 8, the newest Java platform released by Oracle this year.
  5. Improved desktop client support for Windows 8.1 (allowing more windows to be resized in case the default font and window sizes truncate window content).
  6. Renamed the enclosed-area() function to just area(), in order to harmonize with the broader ODK community (while maintaining backward-compatibility with any forms that use the old enclosed-area() name instead).
  7. Stopped opening Enketo Smart Paper pages as pop-up windows, in order to avoid issues with pop-up blockers.
  8. Fixed the root cause of very occasional "more than one fileset" errors: made it so canceling a form upload mid-processing and re-starting that same upload would not sometimes create duplicate database records on the server.
  9. Made some improvements to error messages (as always).

Version 1.21

Released Apr. 15, 2014

Minor release

Version 1.21 includes support for dynamically calculating either the distance between two GPS readings or the area enclosed by three or more GPS readings.

Notable new features and changes

  1. Added the distance-between() function to calculate the distance between two geopoint fields.
  2. Added the enclosed-area() function to calculate the area enclosed by a series of three or more geopointfields.
  3. Added support for self-hosted SurveyCTO Server licensing, for cases where organizations wish to host their own servers.

Improvements and fixes

  1. Changed the server to reject .zipx file attachments since Android devices don't support the ZIPX format.
  2. Fixed a problem where downloading the same form onto a device multiple times -- with file attachments -- would result in a cryptic "ENOENT (No such file or directory)" error.
  3. Changed the indexed-repeat() function to suppress errors when passed instance numbers are invalid, to match the behavior of v1.17. When the instance number is invalid, an instance number of 1 will be automatically used instead (returning the first instance).
  4. Fixed a rare problem where canceling a slow download of a form's attachments could result in an attachment-less version of the form installed on the device.
  5. Fixed the new calculate_here field type to properly trigger reconsideration of field relevances when recalculating.
  6. Fixed the new calculate_here field type to not always have one decimal place included (.0) after integer values.
  7. Fixed a problem where saving a form submission multiple times would lose any comments already attached to the submission.
  8. Broadened compatibility of Collect's support for auto-downloading form updates, to function properly on devices with older versions of Android.
  9. Fixed the Russian Collect UI to appear for the Russian locale (rather than the Romanian locale).

Maintenance release (Version 1.21.1)

  1. Added the de-duplicate() function to remove duplicates from a string-separated list of values (useful when generating a combined list from repeated multiple-choice selections).
  2. Added support for an optional "style" column on the settings worksheet of form definitions, to support a new feature in Enketo Smart Paper.
  3. Fixed the printable versions of survey forms to include visible fields that have calculated defaults.
  4. Updated exported .kml files so that they can be loaded into Google Maps (in addition to Google Earth).
  5. Corrected inconsistent behavior and a potential crash in Collect when clicking Go To Prompt, then canceling before a very long form's list of fields has been rendered.
  6. Updated the client so that it consumes less memory when run for long periods in the background.
  7. Fixed Collect to be able to restore a crashed form even if its instance name was empty (a potential issue only for those dynamically constructing instance names).
  8. Improved the error message for cases where invalid column names are configured for a dynamically-loaded multiple-choice field.
  9. Resolved a case where Collect could crash when trying to use the Go To Prompt interface to navigate to a not-yet-created repeat group.
  10. Fixed cases where the client could show unnecessary errors when editing options for .kml exports or options for data-subset exports.

Maintenance release (Version 1.21.2)

  1. SurveyCTO Collect defaulted to maintaining 2 days of back-ups in internal device storage. In prior releases, setting the days to auto-back-up above 25 would result in no back-ups being stored. This has been fixed so that you can save more than 25 days of back-ups.

Version 1.20

Released Mar. 15, 2014

Major release

This release includes support for calculated field defaults (so that, e.g., you can pre-load form fields), improved handling for form updates, Enketo integration (so that you can fill out forms using a web browser), additional offline functionality (the ability to use the various expression-builders and the constraint tester offline), improved localization for SurveyCTO Collect (updated Spanish and French support), and considerably more.

Notable new features and changes

  1. Added the ability to calculate default values for form fields (which allows for, among other things, pre-filling fields with pre-loaded .csv data).
  2. Updated Collect to only show the latest version of a form in the Fill Blank Form list, and added the option for Collect to automatically download form updates in the background. Simply go into Collect's General Settings, then check Auto download with Wi-Fi and/or Auto download with network (the latter being to download via 2g or 3g cellular networks). When enabled and the appropriate connection is available, Collect will check hourly for form updates; updates will be downloaded automatically, but they won't be installed until the user confirms the installation by clicking on the Install Form Updates button (which will appear on the main menu when updates are available), or by confirming the update when about to fill out an older version of the form.
  3. Added integration with Enketo Smart Paper for the ability to fill out some survey forms with any modern web browser.
  4. Added quick-reference help tabs into downloaded form templates and all sample forms. These are simply additional worksheets in the Excel workbooks.
  5. Added the constraint builder, constraint tester, relevance builder, and calculation builder to the client, so that they could be used offline. To use one of these tools from the client, simply select it from the Tools menu's Form tools... sub-menu. (Also made it easier to perform offline form validation on Windows, removing the requirement that Python be installed.)

Improvements and fixes

  1. Made a series of improvements to the SurveyCTO Collect user interface: updated the French and Spanish localizations, so that the interface is fully and correctly translated; added a second confirmation prompt for when somebody tries to exit a form and Ignore Changes; made common Internet connection errors a bit more clear; added the form ID and version to all form lists; and updated the Go-To Prompt interface to show field names for fields without labels.
  2. Made a series of improvements to the printable versions of survey forms: added the option to include constraint and/or relevance expressions; added support for images and field hints; added indication of required fields; added support for optional text to appear in the response area (to facilitate the filling-out of printed surveys); and improved the display in cases where multiple-choice options are dynamically filtered.
  3. Dramatically improved the performance of SurveyCTO Collect's mid-survey save operations by exhaustively checking and cleaning form data only when finalizing a form. If you wish to keep checking and cleaning data on non-finalizing form saves, simply un-check Enable quick saves in Collect's Admin Settings.
  4. Improved the performance of SurveyCTO Collect when first initializing pre-loaded .csv data.
  5. Added the ability to easily send crash reports from SurveyCTO Collect. If the app has crashed, click the device's menu button from the main Collect menu, select Admin Settings, then click the device's menu button again and select Submit Crash Report to send a report directly to SurveyCTO support staff.
  6. Added the calculate_here field type for calculations that only happen when users reach the field's place in the survey. (In contrast, regular calculate fields calculate whenever forms load or save, and whenever fields upon which they rely change.) For example, to capture the date and time at which a user first reaches a particular point in your form, use a calculate_here field at that point, with "once(format-date-time(now(), '%Y-%b-%e %H:%M:%S'))" in its calculation column.
  7. Added an explicit option to retain old media and .csv files when uploading a new version of a form.
  8. Added the once() function for calculations that should only happen once (as in, e.g., "once(random())" to draw a random number once and then keep that same draw as the form is edited, saved, and ultimately finalized). If a calculate expression is not enclosed in once(), it will recalculate periodically, including each time that the form is edited and saved.
  9. Added the username() function to store the currently-configured Collect username in a form.
  10. Changed terminology from "client name" to "server name" for the unique server name assigned to each SurveyCTO customer (as in
  11. Fixed Stata .do file templates to filter out duplicate multiple-choice values (for when cascading-selects are being used).
  12. Fixed Collect not to crash when, for an image field, the user selects an existing image from certain problematic apps (e.g., the multi-tabbed selector app on the Google Nexus 7).
  13. Fixed forms to upload without errors when they use position(..)-1 within a calculate field that may not be relevant.
  14. Fixed Google Earth export options in the client, to support the selection of forms in which GPS fields are within or after field groups.
  15. Made other small fixes and improvements to error messages.

Version 1.17

Released Jan. 1, 2014

Major release

This release includes new export features for data visualization and analysis (namely, the ability to export subsets of data to Google Earth and, the option to hyperlink field references, the ability to download a printable version of survey forms, support for users to add free-form comments as they fill out forms, offline form validation, and more.

Notable new features and changes

  1. New export options for data analysis and visualization. In the client, all export options are now located within Preferences; new options support exporting subsets of form data to Google Earth (.kml files), to, or to separate .csv files (for use in other data analysis or visualization tools).
  2. New Collect option to hyperlink field references in notes, question labels, and hints. When enabled, field references will be clickable so that users can jump back to quickly change earlier responses.
  3. New server option to download printable versions of survey forms. Printable versions can include explanations about relevances and constraints, and can be saved and edited in Microsoft Word.
  4. New comments field type to allow users to add free-form comments to forms, as they fill them out.
  5. New client option to validate forms while offline.
  6. New server option to download all original form files from the server's administration console. On the Forms tab, just choose Download form files for any form, and you will be able to download the original form definition (in spreadsheet or XML format) as well as any media or .csv attachments.
  7. New client option to export data without group names in .csv headers (so that, e.g., no group names appear in Stata variable names).
  8. Ability to test new forms without them showing up for most users. Just begin any form title with "TEST - " and it will not appear, by default, to users of Collect or the client.
  9. Improved Excel template for new forms, including conditional formatting and a formula for the form version (which will automatically increment every 15 minutes). This new template is in .xlsx format; if you are using a pre-2007 version of Microsoft Excel, you may need to install the MS Office compatibility pack.
  10. New version() function for recording the current form's version number in a calculate field (just put "version()" in the calculation column).
  11. Richer support for external apps. (This feature is effectively invisible. It allows for more form fields to be more easily passed to and from external apps; it will allow for new integrations with custom-written apps and other apps that support "external intents.")

Maintenance release (Version 1.17.1)

  1. Changed the default formula for form versions (in form templates and samples) to update the version every minute. With the old formula, if you updated a form within 15 minutes of the last change, it would be difficult to upload (because the version number would not have automatically incremented yet).
  2. In the printable version of forms, added support for references in group labels and began showing the group name when no group label is present.
  3. Fixed it so that a help search with an underscore in the search string would work properly.
  4. Fixed Stata .do file templates to refer to the proper .csv filenames when loading repeat-group data with the "include group names in .csv column headers" option disabled.
  5. Changed the client to be more conservative when it encounters a new version of a form with the same version number as the old version: now it will assume major changes to the form, back up the old data, and start fresh with the new form definition.
  6. Fixed it so that old versions of form files are not shown when you select to download form files.
  7. Updated the client to use the latest "include group names in .csv column headers" setting whenever generating Stata templates -- even if the setting has just been changed and not yet committed.
  8. Fixed Collect to properly display field references in field hints when those hints are translated into multiple languages.
  9. Fixed Collect to properly display hyperlinks after hyperlinks to empty fields.
  10. Fixed Collect crashes when swiping forward before a form is ready and when a submission fails to send with the French locale.
  11. Fixed broken Browse buttons in the Mac version of the client.

Maintenance release (Version 1.17.2)

  1. Only one fix, for an error that would appear, starting in 1.17, on form fields that had no labels (only images).

Version 1.16

Released Sep. 16, 2013

Major release

New features include Google Drive integration for collaborative form design (i.e., direct support for Google Spreadsheets), and a much-improved help system (with 94 screenshots, walk-throughs of all sample forms, and the ability to search all help content).

Notable new features and changes

  1. Integration with Google Drive for form uploads and downloads. This means that forms can be collaboratively designed directly in Google Spreadsheets, without the need to export to .xls or .xlsx format. Find the new Google Drive features in the Download form template and Upload form pop-ups, on the Forms tab.
  2. An improved help system, including 94 screenshots, walk-throughs of every sample form, and the ability to search help content.
  3. Added new functions for repeated fields: sum(), min(), and max().
  4. Slightly improved support for nested repeat groups. (There had been a Collect bug that affected certain types of nested repeat groups when they used fixed counts.)

Maintenance release (Version 1.16.1)

Version 1.16.1 was an emergency maintenance release, to solve a problem with Collect's form encryption on new Android 4.3 devices. All versions of Collect prior to this v1.16.1 release slightly corrupted encrypted submissions, causing errors on decryption.

  1. We fixed Collect to no longer corrupt submissions.
  2. We also fixed the client so that any submissions corrupted under earlier versions of Collect would be automatically fixed, decrypted, and exported. This auto-fix technology was added to avoid the possibility of data loss for any client who might have already collected encrypted data with an older version of Collect (on Android 4.3).

Maintenance release (Version 1.16.2)

Version 1.162 was a very minor maintenance release. We discovered a small vulnerability in Collect: if you canceled in the middle of finalizing and saving a very long form, then moved away from that form and back again, you could experience a crash; further, in this case, Collect did not auto-resume the form so that it could be fully saved.

  1. We fixed the vulnerability in the cancel-save process.
  2. We also added a new "Resume Crashed Form" option to the main Collect menu, accessable via the device's Menu button. Via this option, users can resume old forms even in cases where Collect did not auto-resume. (We frankly expect nobody to ever need to use this option, but we added it out of an abundance of caution.)

Maintenance release (Version 1.16.3)

  1. Added support for nested repeat groups in Stata .do file templates.
  2. Added support for images in .csv-based multiple-choice fields.
  3. Added the option to export .csv files with some column separator other than a comma.
  4. Improved a number of error messages to be more clear and user-friendly (e.g., on form upload, or when referring to a repeated field from outside its repeat group).
  5. Added progress feedback into the user interface for some long-running processes (e.g., when loading, saving, or navigating within large forms in Collect, or when waiting for Google Drive on the server).
  6. For very large forms being repeatedly retried over poor connections, sometimes the server would end up with duplicate records for certain submissions. This would result in "SUBMISSION NOT RETRIEVED" ("Fetch of a submission failed. Detailed error: Internal Server Error (500) while accessing...") errors when downloading these submissions. SurveyCTO support staff would manually correct these errors; now, the errors will no longer appear in the first place.
  7. For large numbers of very large form submissions, the client could run out of memory performing mail-merges. We have now enabled the client to use substantially more memory.
  8. We have fixed the jr:choice-name() function to work for multiple-choice fields that are filtered based on earlier responses.
  9. When pre-loading data from .csv files with blank lines, Collect will no longer give errors (it will simply ignore blank lines).
  10. Fixed Stata templates to ignore line-breaks and convert double-quotes in multiple-choice option labels.
  11. Further improved the ability to automatically and manually resume after a crash in the middle of filling out a form.
  12. Disabled the form-upload warning that would appear whenever using the disabled column in a form definition.

Version 1.15

Released Aug. 8, 2013

Minor release

New features include: administration console graphs that plot form submissions over time; support for collecting annotated pictures, drawings, and respondent signatures; automatic hyperlinking of media and audit files in mail-merge output; and more. v1.15 also includes several fixes.

Notable new features and changes

  1. Graphs that plot form submissions over time. See these on the new Statistics tab.
  2. Improved and documented support for collecting annotated pictures, drawings, and respondent signatures. Use by simply including "annotate", "draw", or "signature" in the appearance column of an image field.
  3. Automatic hyperlinking of media and audit files in mail-merge output.
  4. New Collect setting to defer form validation until the end of a form. When the new constraint-processing option is set to "Defer validation until finalized", field constraints will only be checked when users go to finalize their forms. (For most projects, the original, default behavior is what is desired, however: you do not want users to be able to swipe forward until a field's constraint has been satisfied.)
  5. Improved user interface for the Forms tab.

v1.15 also included an important fix for a bug introduced in v1.14: if saved forms are edited such that they shrink in size, errors will no longer result. Other, smaller fixes have been included, mostly from the ODK community (for example, a problem downloading images within repeat groups has been fixed).

Version 1.14

Released Jul. 14, 2013

Minor release

New features include the ability to schedule the client to download and export data periodically in the background, improved support for random form elements, the ability to easily reference the labels of earlier multiple-choice selections, the ability to easily encode different fonts in pre-loaded .csv data, reduced memory usage for large forms, improved reliability and performance for Collect's automatic save-points, support for ${fieldname} references in media columns, improvements to error reporting when form definitions are rejected on upload, and more.

Notable new features and changes

  1. Ability to configure the client to automatically download and export data periodically, in the background. From the client, simply choose Schedule sync... from the Tools menu.
  2. New random-once() function to generate a random number that will not change if a form is later edited.
  3. Ability to re-encode .csv files to UTF-8 format, so that different fonts will display properly from pre-loaded .csv data. In the client, just select Re-encode .csv file... from the Tools menu.
  4. Added the jr:choice-name() function, to be able to reference the label for any prior select_one or select_multiple choice. On the Forms tab, choose Build calculate expression..., then choose either Label for select_one selection or Label for select_multiple selection.
  5. Improved memory usage for large forms. Collect will now require 80-95% less memory to load any given form.
  6. Improved save-point performance and reliability. Collect saves the current form every time you swipe from one question to the next, so that it can automatically resume if there is a crash. Now, these save-points work more reliably in the case of hard Android or device failures, and the performance has been dramatically improved by moving the save-point process into the background (so that it saves the save-point while the user is looking at the next question, rather than making the user wait mid-swipe).
  7. An improved Collect user interface for newer Android devices, in order to conform to newer Android UI standards. Context-specific menu options now appear as buttons in the top-right, as part of a title/menu bar along the top of the screen.
  8. Support for references in media columns, so that image, audio, and video filenames can be specified dynamically.
  9. Improvements to error reporting when form definitions are rejected on upload, so that it is easier to find and fix errors.

Improvements and fixes

v1.14 also included a series of small fixes: Collect will no longer crash when the device's SD card is mounted or un-mounted; use of selected-at() will no longer trigger validation errors; Collect's overall list of form fields now properly lists fields following a repeat group; the client can now download encrypted forms that are incomplete, provided that they have been marked as complete; and newer Android devices will no longer have problems with attached files sometimes failing to download with form definitions.

Version 1.13

Released Jun. 14, 2013

Minor release

New features include the ability to view and manage incomplete form submissions, plus an option for both Collect and the Client to download compressed form XML (useful for very large forms). v1.13 also includes a fix for OSX-zipped support files, small fixes to Stata templates (for mixed-case field names and different permutations of group nesting), and small improvements to help content.

Notable new features and changes

  1. Ability to view and manage incomplete form submissions. On the Forms tab, incomplete submissions are now noted, along with an option to view and accept them.
  2. Option for Collect to download compressed form XML. If you have very large forms that take a long time to download, you can now check the Compress form downloads option in Collect. When enabled, the server will zip all form XML files, and Collect will download the zipped versions and unzip them automatically.
  3. Option for the Client to also download compressed form XML. To enable, just check Compress form downloads in the SurveyCTO Client's preferences; like in Collect, zipping and unzipping is fully automatic.

v1.13 also included a fix for OSX-zipped support files, small fixes to Stata templates (for mixed-case field names and different permutations of group nesting), and small improvements to help content.

Version 1.12

Released Jun. 6, 2013

Minor release

Features include the ability to search-and-select pre-loaded .csv data, the ability to compress form support files in .zip archives, support for longer, more complex forms in Collect, the ability for later repeat groups to refer to values from prior repeat groups, and more.

Notable new features and changes

  1. The ability to search-and-select pre-loaded .csv data. As of v1.12, any select_one or select_multiple field can pull some or all of its choices from a pre-loaded .csv file. These dynamic choice lists can depend on previous fields, or even display the results of search queries.
  2. Ability to compress form support files in .zip archives. Just compress large support files -- such as pre-loaded .csv files -- and upload them as one or more .zip files; in Collect, they will be automatically unzipped.
  3. Support for longer, more complex forms in Collect. Now, on newer devices (Android version 3.0 and up), Collect will be able to utilize more of the device's memory, and so will support larger forms without crashing with out-of-memory errors.
  4. The ability for later repeat groups to refer to values from prior repeat groups.

Improvements and fixes

  1. Improved Stata templates, so that extraneous variables will be dropped for repeat groups inside other groups, and so that repeat groups with over 10 instances will sort in the correct order.
  2. Small improvements to error messages when there are errors in the choices sheets of uploaded forms.
  3. Addition of form-upload warnings for potential form issues that do not prevent the form from being uploaded and used.
  4. Improvements to the documentation of select_one and select_multiple appearance styles.
  5. Correction for the substr() function, so that it is easier to use in expressions (without triggering validation errors).
  6. Addition of the format-date-time() function, so that both dates and times can be captured and expressed.

Version 1.11

Released May 14, 2013

Minor release

Features include the ability to search-and-select pre-loaded .csv data, the ability to compress form support files in .zip archives, support for longer, more complex forms in Collect, the ability for later repeat groups to refer to values from prior repeat groups, and more.

Notable new features and changes

  1. Ability to pre-load data into your forms, from baseline surveys, listing surveys, and other sources.
  2. Ability to generate calculate field expressions with a simple Calculation Builder (find as an action on the Forms tab).
  3. Ability to reference current index number within repeated groups (search for "position" on the Forms help page).
  4. Improvements in UNICODE support in form titles and user responses.
  5. Improved client installation process for Windows.
  6. Improved client installation process for Mac systems with gatekeeper restrictions.
  7. Dramatically faster load time for server Forms tab when there are many forms and thousands of submissions.
  8. Small improvements to Stata templates.

v1.11 also included the latest ODK v1.3 features

  1. Ability to auto-send finalized forms when network connections are available (see General Settings in the new Collect).
  2. Ability to restrict the features accessible by users of Collect (with password-protected configuration).
  3. Ability to easily export and copy Collect configuration, so that it is easier to set up lots of devices.
  4. Ability to auto-name form instances based on survey details.
  5. Ability to configure Back and Next buttons in Collect, as an alternative to swiping forward and backward (see General Settings in the new Collect).
  6. Ability to see count of finalized and saved forms on main Collect menu.
  7. Improved compatibility for newer Android devices.

Version 1.10

Released Apr. 1, 2013

Major release

Version 1.10 was the first public release of SurveyCTO. It included a wide range of improvements over earlier releases, each of which had been deployed in a limited number of pilot sites.