# Development

**URL:** https://forum.getodk.org/c/development/5.md

[Latest](https://forum.getodk.org/latest.md) · [Categories](https://forum.getodk.org/categories.md) · [Tags](https://forum.getodk.org/tags.md)

---

## [About the Development category](https://forum.getodk.org/t/about-the-development-category/14)

<div class="topic-metadata">

**Author:** [@getodk](https://forum.getodk.org/u/getodk)\
**Replies:** 0\
**Last updated:** [June 2, 2017, 11:02pm UTC](https://forum.getodk.org/t/about-the-development-category/14 "2017-06-02T23:02:55Z")

</div>

Discuss the process of building and modifying ODK: dev setups, code structure, APIs, translations, docs. Form design questions or usage questions should go to Support.

---

## [Spec proposal: Media in external secondary intances](https://forum.getodk.org/t/spec-proposal-media-in-external-secondary-intances/58567)

<div class="topic-metadata">

**Author:** [@seadowg](https://forum.getodk.org/u/seadowg)\
**Replies:** 3\
**Last updated:** [September 18, 2026, 7:21am UTC](https://forum.getodk.org/t/spec-proposal-media-in-external-secondary-intances/58567 "2026-09-18T07:21:03Z")

</div>

The ODK core team would like to add support for referencing form media (images, audio and video) in external secondary instances that can be used in the form in select options, defaults and as question answers. This is t…

---

## [Proposal: Add .env.example and .env support to central-backend](https://forum.getodk.org/t/proposal-add-env-example-and-env-support-to-central-backend/58430)

<div class="topic-metadata">

**Author:** [@atanu](https://forum.getodk.org/u/atanu)\
**Replies:** 0\
**Last updated:** [August 2, 2026, 2:33pm UTC](https://forum.getodk.org/t/proposal-add-env-example-and-env-support-to-central-backend/58430 "2026-08-02T14:33:24Z")

</div>

I'd like to propose adding official .env file support to central-backend (master branch, current dev version 0.1.0). Currently, configuration is managed exclusively through node-config JSON files (config/default.json, co…

---

## [ODK Terraform deployment - with webhooks](https://forum.getodk.org/t/odk-terraform-deployment-with-webhooks/58358)

<div class="topic-metadata">

**Author:** [@Clinton\_P](https://forum.getodk.org/u/Clinton_P)\
**Replies:** 0\
**Last updated:** [July 9, 2026, 8:19pm UTC](https://forum.getodk.org/t/odk-terraform-deployment-with-webhooks/58358 "2026-07-09T20:19:02Z")

</div>

Hello Community. I would like to share a project idea for anybody learning or setting up ODK central on AWS. I have written a terraform deployment - including webhook functionality. So the terraform deployment will re…

---

## [Collect v2026.3: changes to how OpenStreetMap, USGS and Carto basemaps are displayed](https://forum.getodk.org/t/collect-v2026-3-changes-to-how-openstreetmap-usgs-and-carto-basemaps-are-displayed/58252)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 0\
**Last updated:** [June 10, 2026, 7:40pm UTC](https://forum.getodk.org/t/collect-v2026-3-changes-to-how-openstreetmap-usgs-and-carto-basemaps-are-displayed/58252 "2026-06-10T19:40:02Z")

</div>

In Collect v2026.3, projected for mid-July, OpenStreetMap, USGS and Carto basemaps will be displayed using the Mapbox mapping library. If you use any of these basemaps in Collect, we recommend that you carefully try the …

---

## [Spec proposal: Editable submissions](https://forum.getodk.org/t/spec-proposal-editable-submissions/53577)

<div class="topic-metadata">

**Author:** [@seadowg](https://forum.getodk.org/u/seadowg)\
**Replies:** 12\
**Last updated:** [June 10, 2026, 2:20am UTC](https://forum.getodk.org/t/spec-proposal-editable-submissions/53577 "2026-06-10T02:20:28Z")

</div>

As discussed in this thread, the ODK core team would like to make it possible to edit submissions after they have been finalized or sent in Collect. The intention here is that XForm instances that are edits of a submissi…

---

## [Migrating Web Forms code to Central Frontend repository](https://forum.getodk.org/t/migrating-web-forms-code-to-central-frontend-repository/58177)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 0\
**Last updated:** [May 15, 2026, 7:16pm UTC](https://forum.getodk.org/t/migrating-web-forms-code-to-central-frontend-repository/58177 "2026-05-15T19:16:14Z")

</div>

We would like to give some visibility to a developer-facing change that is underway. We don't expect this change to impact end users. Moving forward, we will be developing ODK Web Forms as part of the ODK Central fronte…

---

## [Designing an expo react-native app to return a value to Collect](https://forum.getodk.org/t/designing-an-expo-react-native-app-to-return-a-value-to-collect/45288)

<div class="topic-metadata">

**Author:** [@mgonzalez](https://forum.getodk.org/u/mgonzalez)\
**Replies:** 6\
**Last updated:** [April 30, 2026, 11:48pm UTC](https://forum.getodk.org/t/designing-an-expo-react-native-app-to-return-a-value-to-collect/45288 "2026-04-30T23:48:31Z")

</div>

I want to use an expo react-native app to find a value and return it to an odk-collect form. I am able to open my app from the odk form with ex:android.intent.action.VIEW(uri\_data='myapp://hello/path') but I have not be…

---

## [Proposal: add \`centroid\` and \`base64Binary-to-string\` functions](https://forum.getodk.org/t/proposal-add-centroid-and-base64binary-to-string-functions/40289)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 7\
**Last updated:** [April 23, 2026, 12:13am UTC](https://forum.getodk.org/t/proposal-add-centroid-and-base64binary-to-string-functions/40289 "2026-04-23T00:13:04Z")

</div>

I want to draw attention to https://github.com/getodk/xforms-spec/pull/301 which proposes two additions to the ODK XForms functions. It additionally clarifies that for convenience, new functions are not namespaced even i…

---

## [Bug: absolute path /data/transfer in docker-compose.yml causes 'mounts denied' on macOS](https://forum.getodk.org/t/bug-absolute-path-data-transfer-in-docker-compose-yml-causes-mounts-denied-on-macos/57967)

<div class="topic-metadata">

**Author:** [@Dr\_Vivek\_Gupta](https://forum.getodk.org/u/Dr_Vivek_Gupta)\
**Replies:** 2\
**Last updated:** [April 10, 2026, 10:36am UTC](https://forum.getodk.org/t/bug-absolute-path-data-transfer-in-docker-compose-yml-causes-mounts-denied-on-macos/57967 "2026-04-10T10:36:39Z")

</div>

Description: On macOS, the docker-compose.yml file fails to start because it uses an absolute host path for the transfer volume. Since /data is not a default directory on macOS and is restricted by the root filesystem, D…

---

## [ODK XForms spec proposal: specify existing data to be mapped as reference for geopoint/trace/shape questions](https://forum.getodk.org/t/odk-xforms-spec-proposal-specify-existing-data-to-be-mapped-as-reference-for-geopoint-trace-shape-questions/57966)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 0\
**Last updated:** [April 8, 2026, 7:15pm UTC](https://forum.getodk.org/t/odk-xforms-spec-proposal-specify-existing-data-to-be-mapped-as-reference-for-geopoint-trace-shape-questions/57966 "2026-04-08T19:15:03Z")

</div>

This is a proposed addition to the ODK XForms spec to support functionality described at Display existing geometry when capturing new point/trace/shape on map Please see that thread for discussion around the user-facing …

---

## [Tricc: a tool to define forms from flow diagrams](https://forum.getodk.org/t/tricc-a-tool-to-define-forms-from-flow-diagrams/54113)

<div class="topic-metadata">

**Author:** [@delcroip](https://forum.getodk.org/u/delcroip)\
**Replies:** 6\
**Last updated:** [March 13, 2026, 9:15pm UTC](https://forum.getodk.org/t/tricc-a-tool-to-define-forms-from-flow-diagrams/54113 "2026-03-13T21:15:42Z")

</div>

Here a little video on how to use tricc fully online our goal is to build a nicer UI, better backend script and be able to export the content to more runner (we have mainly ODK and CHT) but it is already u…

---

## [ODK XForms spec proposal: create and update Entities from repeats or groups](https://forum.getodk.org/t/odk-xforms-spec-proposal-create-and-update-entities-from-repeats-or-groups/55164)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 4\
**Last updated:** [February 3, 2026, 11:31pm UTC](https://forum.getodk.org/t/odk-xforms-spec-proposal-create-and-update-entities-from-repeats-or-groups/55164 "2026-02-03T23:31:37Z")

</div>

See Create and update Entities from repeats for the user-facing functionality and proposed XLSForm spec. :warning: For an expanded version of this spec, see below. The concept We propose adding a well-known meta bloc…

---

## [Retrive data from ODK-Collect while offline](https://forum.getodk.org/t/retrive-data-from-odk-collect-while-offline/57423)

<div class="topic-metadata">

**Author:** [@Beli](https://forum.getodk.org/u/Beli)\
**Replies:** 0\
**Last updated:** [January 11, 2026, 1:52am UTC](https://forum.getodk.org/t/retrive-data-from-odk-collect-while-offline/57423 "2026-01-11T01:52:24Z")

</div>

Hi, I’m developing an external application which I would like to retrieve data from instance while offline. The case is quite similar to How to retrieve data from ODK-Collect while offline , which methodology is not pos…

---

## [Change the button text for Next in ODK Collect spanish version](https://forum.getodk.org/t/change-the-button-text-for-next-in-odk-collect-spanish-version/55876)

<div class="topic-metadata">

**Author:** [@rmirabal](https://forum.getodk.org/u/rmirabal)\
**Replies:** 6\
**Last updated:** [December 18, 2025, 1:55pm UTC](https://forum.getodk.org/t/change-the-button-text-for-next-in-odk-collect-spanish-version/55876 "2025-12-18T13:55:03Z")

</div>

1. What is the issue? Please be detailed. the button text for Next in ODK Collect spanish version says Sig. \>, for end users is confusing to have the button \< Back complete in spanish: \< Retroceder but the button Next \> …

---

## [Enable debug logging for ODK-Central?](https://forum.getodk.org/t/enable-debug-logging-for-odk-central/33438)

<div class="topic-metadata">

**Author:** [@mattelacchiato](https://forum.getodk.org/u/mattelacchiato)\
**Replies:** 3\
**Last updated:** [December 18, 2025, 4:36am UTC](https://forum.getodk.org/t/enable-debug-logging-for-odk-central/33438 "2025-12-18T04:36:00Z")

</div>

I would like to see what internals are going on in the server. How can I enable DEBUG logging for a docker-compose setup?

---

## [ODK XForms spec proposal: add \`incremental=true\` attribute for geotrace and geoshape](https://forum.getodk.org/t/odk-xforms-spec-proposal-add-incremental-true-attribute-for-geotrace-and-geoshape/57181)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 2\
**Last updated:** [December 9, 2025, 12:52am UTC](https://forum.getodk.org/t/odk-xforms-spec-proposal-add-incremental-true-attribute-for-geotrace-and-geoshape/57181 "2025-12-09T00:52:35Z")

</div>

In support of Blocking invalid (self-intersecting) polygons in Collect, we propose adding the following function to the spec: The boolean incremental attribute (see W3C XForms) is recognized on the geotrace and geoshape …

---

## [ODK XForms spec proposal: add \`intersects\` XPath function to detect geotrace/shape intersections](https://forum.getodk.org/t/odk-xforms-spec-proposal-add-intersects-xpath-function-to-detect-geotrace-shape-intersections/57121)

<div class="topic-metadata">

**Author:** [@LN](https://forum.getodk.org/u/LN)\
**Replies:** 2\
**Last updated:** [December 9, 2025, 12:48am UTC](https://forum.getodk.org/t/odk-xforms-spec-proposal-add-intersects-xpath-function-to-detect-geotrace-shape-intersections/57121 "2025-12-09T00:48:51Z")

</div>

In support of Blocking invalid (self-intersecting) polygons in Collect, we propose adding the following function to the spec: The intersects function takes in a geotrace or geoshape and returns true if the geometry self…

---

## [How to customise qr code settings to include username](https://forum.getodk.org/t/how-to-customise-qr-code-settings-to-include-username/47078)

<div class="topic-metadata">

**Author:** [@ravish\_mallya](https://forum.getodk.org/u/ravish_mallya)\
**Replies:** 6\
**Last updated:** [October 28, 2025, 4:56pm UTC](https://forum.getodk.org/t/how-to-customise-qr-code-settings-to-include-username/47078 "2025-10-28T16:56:53Z")

</div>

I have a requirement where i need to embed the properties metadata\_username and username with the value of displayName of the app-user in the qr code pop up that appears under app user tab in odk-central. As i search…

---

## [Homemade decrypt submission data](https://forum.getodk.org/t/homemade-decrypt-submission-data/31151)

<div class="topic-metadata">

**Author:** [@Olivier\_Poujade](https://forum.getodk.org/u/Olivier_Poujade)\
**Replies:** 1\
**Last updated:** [September 15, 2025, 2:20pm UTC](https://forum.getodk.org/t/homemade-decrypt-submission-data/31151 "2025-09-15T14:20:23Z")

</div>

Hello, i use odk collect just on smartphone side and on server side i use my own code on php to intercept and process data. This system complete our web application with a powerfull smartphone collect solution. It's w…

---

## [Launch Collect from a browser, with feature pre-selected](https://forum.getodk.org/t/launch-collect-from-a-browser-with-feature-pre-selected/43190)

<div class="topic-metadata">

**Author:** [@spwoodcock](https://forum.getodk.org/u/spwoodcock)\
**Replies:** 17\
**Last updated:** [August 5, 2025, 2:42pm UTC](https://forum.getodk.org/t/launch-collect-from-a-browser-with-feature-pre-selected/43190 "2025-08-05T14:42:04Z")

</div>

Hello everyone, I am currently working as the lead developer for the FMTM project at HOTOSM. Looking to revive the discussion from @Ivangayton Launching Collect from a browser Requirement Initially we planned to use th…

---

## [ODK Central to Google Sheets Connector](https://forum.getodk.org/t/odk-central-to-google-sheets-connector/40753)

<div class="topic-metadata">

**Author:** [@ODK-MAC](https://forum.getodk.org/u/ODK-MAC)\
**Replies:** 1\
**Last updated:** [July 17, 2025, 2:50pm UTC](https://forum.getodk.org/t/odk-central-to-google-sheets-connector/40753 "2025-07-17T14:50:26Z")

</div>

Hi Has anybody managed to create a simple connector to stream ODK Central submissions to Google Sheets? Thanks

---

## [ODK Central to Google Sheets](https://forum.getodk.org/t/odk-central-to-google-sheets/42072)

<div class="topic-metadata">

**Author:** [@ODK-MAC](https://forum.getodk.org/u/ODK-MAC)\
**Replies:** 3\
**Last updated:** [July 17, 2025, 2:48pm UTC](https://forum.getodk.org/t/odk-central-to-google-sheets/42072 "2025-07-17T14:48:59Z")

</div>

What is the simplest way to pull data directly from ODK Central to Google Sheets?

---

## [Postman collection for odk-central API](https://forum.getodk.org/t/postman-collection-for-odk-central-api/39212)

<div class="topic-metadata">

**Author:** [@ravish\_mallya](https://forum.getodk.org/u/ravish_mallya)\
**Replies:** 2\
**Last updated:** [July 11, 2025, 9:29pm UTC](https://forum.getodk.org/t/postman-collection-for-odk-central-api/39212 "2025-07-11T21:29:17Z")

</div>

Is there a postman collection for the ODK Central API?

---

## [Proposal: better large attachments handling via presigned upload urls for S3](https://forum.getodk.org/t/proposal-better-large-attachments-handling-via-presigned-upload-urls-for-s3/53883)

<div class="topic-metadata">

**Author:** [@mlazowik](https://forum.getodk.org/u/mlazowik)\
**Replies:** 5\
**Last updated:** [June 5, 2025, 5:13pm UTC](https://forum.getodk.org/t/proposal-better-large-attachments-handling-via-presigned-upload-urls-for-s3/53883 "2025-06-05T17:13:15Z")

</div>

ODK Central recently gained support for S3, this was a very good first step towards general scalability and in particular handling of large files. Thank you! The current implementation preserves the existing ingestion o…

---

## [Possibility of an endpoint to trigger pending uploads to S3](https://forum.getodk.org/t/possibility-of-an-endpoint-to-trigger-pending-uploads-to-s3/54110)

<div class="topic-metadata">

**Author:** [@spwoodcock](https://forum.getodk.org/u/spwoodcock)\
**Replies:** 3\
**Last updated:** [June 3, 2025, 7:24pm UTC](https://forum.getodk.org/t/possibility-of-an-endpoint-to-trigger-pending-uploads-to-s3/54110 "2025-06-03T19:24:21Z")

</div>

Problem There is a cron that runs every 24hrs to upload files to S3 (if configured). I have overridden this in a Dockerfile to run every 15 minutes RUN sed -i 's/^0 5 \\\* \\\* \\\*/\\\*\\/15 \* \* \* \*/' /etc/cron.d/odk However, i…

---

## [Ideas and extensions for Central public links](https://forum.getodk.org/t/ideas-and-extensions-for-central-public-links/29499)

<div class="topic-metadata">

**Author:** [@chrissyhroberts](https://forum.getodk.org/u/chrissyhroberts)\
**Replies:** 13\
**Last updated:** [May 20, 2025, 8:00pm UTC](https://forum.getodk.org/t/ideas-and-extensions-for-central-public-links/29499 "2025-05-20T20:00:14Z")

</div>

Thanks to @MatthewMac & @LN for solving this. With Enketo support up and running on central 1.0 I have now had a quick look at the public links feature. My first impressions are It is really great! Being able to send…

---

## [REST API Submission Error: Payload String too Long](https://forum.getodk.org/t/rest-api-submission-error-payload-string-too-long/53782)

<div class="topic-metadata">

**Author:** [@Tariqul\_Islam](https://forum.getodk.org/u/Tariqul_Islam)\
**Replies:** 4\
**Last updated:** [May 1, 2025, 6:24pm UTC](https://forum.getodk.org/t/rest-api-submission-error-payload-string-too-long/53782 "2025-05-01T18:24:23Z")

</div>

Hi All, Thank you in advance to give me some time to read my problem and providing me elegant solutions. My problem is: When I am trying to send my Submission in ODK Central REST Submission API then it is giving me 500…

---

## [Validate issue for decimal-date-time](https://forum.getodk.org/t/validate-issue-for-decimal-date-time/17710)

<div class="topic-metadata">

**Author:** [@aurdipas](https://forum.getodk.org/u/aurdipas)\
**Replies:** 6\
**Last updated:** [April 25, 2025, 6:02am UTC](https://forum.getodk.org/t/validate-issue-for-decimal-date-time/17710 "2025-04-25T06:02:41Z")

</div>

What is the problem? Please be detailed. This post is linked to the form on the Showcase channel If I convert the form with XLSForm (online/offline) it gives a validation error. The sysntax looks correct and if I us…

---

## [Spec proposal: naming media files](https://forum.getodk.org/t/spec-proposal-naming-media-files/38709)

<div class="topic-metadata">

**Author:** [@Grzesiek2010](https://forum.getodk.org/u/Grzesiek2010)\
**Replies:** 20\
**Last updated:** [April 8, 2025, 1:38pm UTC](https://forum.getodk.org/t/spec-proposal-naming-media-files/38709 "2025-04-08T13:38:48Z")

</div>

Media files taken by users (like images/videos/audios) are saved in ODK Collect with names that represent the timestamp (in milliseconds) when they were gathered (e.g. 1660920606988.jpg). For many users, this is a proble…

[Next page](https://forum.getodk.org/c/development/5.md?page=1)
