ODK Central v1.5

We are excited to announce a new release of ODK Central, the ODK server.

If you haven't used Central, the easiest way to get started is with ODK Cloud. Our cloud hosting provides Central servers with automatic updates, daily backups, uptime guarantees, and fast support.

If you are technical and prefer to self-host and rely on community support, start with our installation docs.

If you are using ODK Cloud, we'll be rolling out these updates in the coming days. If you are not using ODK Cloud, follow the upgrade instructions.

:warning: Managed backups include all of your collected data but do not include sufficient information to re-establish the same Web Form links. If you use managed backups and Web Form links, read this. :warning:


Release Overview

Version 1.5 of ODK Central reworks the Projects list (on the Central homepage) and the Forms list (on each Project page) to be quicker to navigate and display more useful information. It also adds the ability to customize a description for each Project, which can be used to add instructions, notes, links to internal or external resources, and more. Stability and bug fixes are included as well.

Projects and Forms list
In Central v1.5, the homepage Projects list now includes a reduced Form listing for each Project shown. Not only can this help give a clearer sense of recent activity across many Projects, it helps you jump into working on a Form much quicker. You can even jump straight to, for example, Submissions that have been edited or need reviewing, by clicking on that number in the table. The Forms list has received a similar upgrade, with much of the same information available.

Project description
You can now go to the Project settings page of any Project and add a description to it. Full Markdown is supported, so you can add images, tables, links, headings and sections, and any other Markdown document formatting to help organize and communicate around the Project. You can, for example, use this section to add instructions, links to resources related to the Project, and much more.

Other Highlights

Thanks in part to feedback from our users and contributions from community developers, we have made a number of additional improvements:

  • When you filter Submissions, your filter selections will now appear in the URL. That means that if you bookmark the URL in your browser, you'll be able to return to a filtered view of your Submissions. You can also share the URL with other Central users who have access to the Project.
  • When you install Central for the first time, it will no longer have a Project named "Default Project". To get started, create a Project with the name of your choice.
  • Add the ability to configure the size of the database connection pool.
  • Show an informative error message when a duplicate Form ID contains ). Thanks to @Sadiq_Khoja for contributing this fix!
  • Do not send a password reset email if the account does not exist. Thanks to @Sadiq_Khoja for contributing this change!
  • Return a consistent API response for password reset when ?invalidate=true. Thanks to @Sadiq_Khoja for contributing this fix!
  • Add the ability to use a port other than 443 for HTTPS. Thanks to @delcroip for contributing this feature!
  • Resolve Sass warnings shown during the build of the frontend.
  • Update Enketo.
    • Add support for geoJSON external secondary instances. Learn more here.
  • Update pyxform.
    • There is now more accurate identification of dynamic defaults.

As always, we have updated our User Documentation and API Documentation for the latest changes.

More notes about changes to the API for v1.5 can be found in the API Changelog, which lists additions, breaking changes, and other things of note for each major release.

What's Next

To learn more about the roadmap for Central, read What's coming in Central over the next few years.

6 Likes

ODK Central v1.5.1 is now available. It includes the following changes:

  • If two Forms have the same title, Central will now show their IDs in order to differentiate them.
  • Update translations.
  • Update Enketo.
  • Update pyxform.

We have also updated the API docs about OData.

8 Likes

ODK Central v1.5.2 is now available. It includes the following changes:

  • Fix a performance issue introduced in v1.5.1. In v1.5.1, the homepage could be slow to load if there were many Projects or Forms. The Project Overview page could be slow to load if there were many Forms. This performance issue should now be resolved.
  • Upgrade the operating system.
6 Likes

ODK Central v1.5.3 is now available and includes several changes. Please take special note if you use encrypted backups to Google Drive or if you have disabled or customized Sentry.

As previously announced here, on January 31st, 2023, encrypted backups to Google Drive will stop working. Central v1.5.3 removes the ability to set up backups to Google Drive. If you already have backups set up, your backups will continue working until January 31st, 2023. A warning will be shown on the Backups page.

By default, Central uses Sentry for error logging, which provides the ODK core team with an anonymized log of unexpected programming errors that occur while the server is running. If you have disabled or customized Sentry, then when you upgrade to Central v1.5.3, you will need to follow special instructions. That's because we've updated Central's Sentry configuration to match a planned change to the Sentry API. If you have not changed how Sentry is configured, you do not need to follow these special upgrade instructions.

If you have disabled Sentry

Since you have modified files/service/config.json.template, you will see an error message when you run the git pull command:

error: Your local changes to the following files would be overwritten by merge:
        files/service/config.json.template
Please commit your changes or stash them before you merge.

Don't worry, nothing bad happens if you see this. To get around this error, run this set of commands instead of git pull:

mv files/service/config.json.template config-tmp
git pull
mv config-tmp files/service/config.json.template

After following these steps, you can continue with the regular upgrade instructions.


If you have customized Sentry

Since you have modified files/service/config.json.template, you will see an error message when you run the git pull command:

error: Your local changes to the following files would be overwritten by merge:
        files/service/config.json.template
Please commit your changes or stash them before you merge.

Don't worry, nothing bad happens if you see this. To get around this error, run this set of commands instead of git pull:

mv files/service/config.json.template config-tmp
git pull
mv config-tmp files/service/config.json.template

Next, modify files/service/config.json.template. Below the line that contains "sentry": {, insert a new line that looks like this:

"orgSubdomain": "SENTRY_ORGANIZATION_SUBDOMAIN",

Replace SENTRY_ORGANIZATION_SUBDOMAIN with your Sentry organization subdomain.

After following these steps, you can continue with the regular upgrade instructions.


Central v1.5.3 takes steps to fix database connection leaks, which could cause Central to become unresponsive. Central will now automatically clean up database streams that have become inactive. Thank you to @jcwatson11 and @abhishek for reporting this issue and to everyone who has contributed to the discussion around this issue.

Central v1.5.3 also includes the following changes:

  • Handle errors when creating a database stream.
  • Set security headers at the root path.
  • Don’t include referrer information in cross-origin requests.
  • Update Enketo.
  • Update the server url configuration for Enketo.
  • Update translations.
10 Likes

ODK Central v1.5.4 is now available. It includes the following change:

  • Select the PostgreSQL apt repo based on the OS codename

This change is necessary to build any version of Central. If you need to build an older version of Central, you can manually make the change as described in this post.

If you are upgrading from a version older than v1.5.3, please read through the v1.5.3 notes above.

1 Like