1. Home
  2. Docs
  3. Architecture & scale
  4. TALA Flow runtime and collection paths
Architecture & scale

TALA Flow runtime and collection paths

How form design, XLSForm processing, public collection, OpenRosa clients, submissions and exports move through the platform.

Developer v2026.10 Updated 4 Nov 2026

Form-definition path

TALA Flow stores projects, schemas and versions in Laravel/PostgreSQL. Large XLSForm uploads can be sent to go-xlsform, which streams the requested worksheet once and returns NDJSON row/progress frames. Laravel remains responsible for validation, schema creation and persistence.

Collection paths

TALA Flow supports more than one collection surface:

  • Browser/public collection through the /api/v1/public/collect endpoints.
  • OpenRosa-compatible collection through /api/v1/orx/{token} for ODK/Kobo-style clients.
  • Mobile form submissions carried through the Campaign sync path where the form is embedded in field workflows.

All paths converge on governed submission records rather than creating separate untraceable datasets.

Submission and correction

Submissions, media, repeat data, edits and anomaly/review state remain in the application data model. Corrections should create an auditable revision/edit path rather than silently overwriting historical evidence.

Export path

For large exports Laravel creates a bulk_operations record and go-report performs the heavy streaming work. This keeps the web request responsive and bounds memory use.

Was this page helpful?

Still stuck?

Open a ticket and reference this page — we will pick it up from there.

Open a ticket