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:
- Connect — authorise Akuko against your OnaData server.
- Account — choose the OnaData account or organization that owns the form.
- Project — choose the project.
- Form — choose the form.
- Configure — set the refresh schedule and any options.
- 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:
| Column | What it holds |
|---|---|
_id, _uuid | The submission's identifiers |
_submission_time, _date_modified | When it was submitted, and last changed |
_submitted_by | Who submitted it |
_status, _edited, _version | Submission state and form version |
_duration | How long the submission took to complete |
_media_count, _total_media | Counts of attached media |
_review_status, _review_comment, _review_date | The review lifecycle, where reviews are used |
tags | The 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_countand_total_media— not the files or their links. -
A
select_multipleanswer 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>_latand<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.
| Badge | What it means | What to do |
|---|---|---|
| Importing | The first import is running | Wait — the data panels appear when it finishes |
| Active | Connected and refreshing normally | Nothing |
| Paused | Refreshing is switched off | Set a schedule, or use Refresh now |
| Disconnected | Akuko can no longer reach Ona | Update credentials |
| Schema broken | A question's type changed incompatibly | Create a new Source from the same form |
| Failed | The import failed — often the form was deleted in Ona | Check the form still exists |
| Legacy, Archived | An older Source, or one no longer in use | Nothing, 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.
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.