Skip to main content

Ona

An Ona Source connects a form in OnaData to Akuko. Each submission becomes a row, each question becomes a dimension, and the Source stays current on a schedule — so a dashboard built on it reflects what has been collected in the field.

Creating an Ona Source

There are two ways in, and they produce the same kind of Source.

From OnaData

If you arrived in Akuko from OnaData, this has usually happened already. Enabling analytics on a project connects it, and the forms you choose become Sources without your visiting the Akuko wizard at all.

From the Ona wizard

In a Space, choose New Source, name it, and pick Ona as the type. The wizard then walks through six steps:

  1. Connect — authorise Akuko against your OnaData server.
  2. Account — choose the OnaData account or organization that owns the form.
  3. Project — choose the project.
  4. Form — choose the form.
  5. Configure — set the refresh schedule and any options.
  6. Confirm — review, then create.

You can select more than one form at the Form step. Doing so creates a single merged Source whose rows come from every form you picked, with columns from all of them combined.

Akuko then imports the submissions. The Source shows Importing while that runs, and the Dimensions, Measures, Geometries, Cube and Query panels appear when it finishes.

What you get

One dimension per question. Each is named after the question and titled with the question's label from the form. Questions inside a group arrive with the group name folded into the column name — household/size becomes household_size.

A fixed set of system columns, present on every Ona Source whatever the form asks:

ColumnWhat it holds
_id, _uuidThe submission's identifiers
_submission_time, _date_modifiedWhen it was submitted, and last changed
_submitted_byWho submitted it
_status, _edited, _versionSubmission state and form version
_durationHow long the submission took to complete
_media_count, _total_mediaCounts of attached media
_review_status, _review_comment, _review_dateThe review lifecycle, where reviews are used
tagsThe submission's labels, as one comma-separated string

_review_status holds a number rather than a word: 1 is Approved, 2 is Rejected and 3 is Pending.

One measure — count, titled Number of records. Unlike an uploaded CSV, an Ona Source does not start with Sum and Average measures for its numeric questions. Use Generate Measures in the Measures panel to create them; see Measures.

Dates arrive as dates. Both date and dateTime questions become time dimensions, so they can be filtered by range and grouped by month or year without any further work.

Labels follow the form's languages. A multilingual form brings its languages with it, and the Display language control in the Source's Settings decides which set of labels Akuko shows — on dimensions, on option values, and on the charts built from them. See Dimensions.

Repeat groups

A form with a repeat group cannot be one flat table, so Akuko does not try to make it one.

The repeating section becomes its own child Source, one row per repeat entry, linked back to its parent submission. Alongside it, Akuko creates a Source View named after the form with (joined) on the end — for a form called Household Survey, a view called Household Survey (joined). That view is the one to build on when you want the parent's answers and the repeated answers together.

Keeping it up to date

The refresh schedule is set in the wizard's Configure step and changed afterwards in the Source's Connection panel. The options are:

  • Manual only
  • Every hour
  • Every 6 hours
  • Daily
  • Custom cron expression

Refresh now runs one immediately. A refresh brings in submissions that are new since last time, and submissions that have been edited since Akuko last saw them.

What does not come across

Some things in a form deliberately do not become chartable data, and each one surprises somebody eventually.

  • Attachments and media are not imported. Photos, audio and video stay in OnaData. What you get is the count_media_count and _total_media — not the files or their links.

  • A select_multiple answer arrives as a single string holding every selected option at once. You can group by the exact combination somebody chose, but you cannot count how many people chose one particular option without splitting the value yourself.

  • Geopoints become two numbers, not a map. A geopoint, geotrace or geoshape question is split into <question>_lat and <question>_lng, and the original value is dropped. That is what you need in order to map it — but the map is not made for you. Build a Latitude / Longitude Geometry from those two columns; see Generating Point Geometries.

  • Merged Sources do not support repeat groups. If you combine several forms into one Source, the repeating sections of those forms are not brought across.

When something goes wrong

The Source's Connection panel shows a status badge, and an explanation when the news is bad.

BadgeWhat it meansWhat to do
ImportingThe first import is runningWait — the data panels appear when it finishes
ActiveConnected and refreshing normallyNothing
PausedRefreshing is switched offSet a schedule, or use Refresh now
DisconnectedAkuko can no longer reach OnaUpdate credentials
Schema brokenA question's type changed incompatiblyCreate a new Source from the same form
FailedThe import failed — often the form was deleted in OnaCheck the form still exists
Legacy, ArchivedAn older Source, or one no longer in useNothing, unless you want to replace it

Disconnected is the common one. It means the API token Akuko was using has been revoked, regenerated or has expired — the fix is the Update credentials button in the same panel. Refreshing resumes automatically once the credentials are accepted.

Schema broken cannot be repaired in place, and this is worth understanding before it happens. If a question's type changes in OnaData in a way that cannot be reconciled with data already imported — a number becoming text, say — Akuko stops refreshing rather than corrupting what it has. The remedy is to create a new Ona Source from the same form; Posts built on the old Source have to be pointed at the new one.

caution

Project names with punctuation can stop a project from linking. Akuko derives a folder name from the OnaData project name, and folder names accept only letters, digits, spaces, hyphens and underscores. A project called Malaria (2024) fails to link on the punctuation, and the failure is reported only as a generic error. Keeping project names free of brackets and other punctuation avoids it entirely.

If someone in your organization can open Akuko but gets a permission error on a Source they should be able to see, their OnaData membership has not been mirrored across yet. Re-syncing the project's members from the OnaData side grants the missing access.