Synchronize date from Aggregate with programs, apps, spreadsheets, and external databases

I'm not very experienced and need help.
I created a vm odk aggregate.
I have some tablets from which I send data via odk collect form to the server.
Through the web page I can correctly view the data and through filters I can exclude the display of some data.
I would need to sort the inbound forms based on search criteria (eg: alphabetical order, crescent order based on a numeric value, etc) and i would like to know if it is possible to synchronize incoming data to the server so that they are displayed in a calender or database (example: libre office or some apps) so that they can be sorted by criteria.
For security reasons I can not rely on third-party servers such as google or other platforms.
Thanks for any help.

Welcome to the ODK community, Andrew!

In ODK Aggregate, you cannot sort inbound forms based on search criteria. Given your security restrictions, your best bet is to use ODK Briefcase to download the data to your local machine, export to CSV, then open it in Libre Office and do what you'd like with the data there. If you are a little technical, you can automate this process using the command line interface. Alternatives for getting data out of ODK Aggregate are detailed in Data Transfer using Aggregate.

When you get a chance, please introduce yourself here. I'd also encourage you to add a real picture as your avatar because it helps build community!

Thank you for the reply... :slight_smile:
Unfortunately for the needs that I go after listing I can not use Odk Briefcase, support me as it would be easier for Google.
I looked at the other formats you have proposed but at least for my skills I can not satisfy our needs.
These are requirements that we have:
-types of forms sent by devices with odk collect (and this works)

  • Need to see and sort by incoming data on a real-time basis (with ODK Aggregate from web page this is not possible) by replicating that data to other web servers / pages or other (non-public, of course)
    -What more operators can work / access simultaneously on the same sheet / web page / other so that changes made by an operator can be displayed in real time by others.
    For organizational and security issues on published data I can not rely on or publish on external / public servers but only on our servers that I will need to create.
    In fact, I created a server with a VM-ODK Aggregate
    Any idea how to solve our GREAT problem would naturally be acceptable !!! :slight_smile:
    Thank you for your great availability

sorry for my bad English and for my insistence.
Do you think you can find a solution to our problem with ODK or do you think I should look for a solution with other programs?
I must
Thank you and sorry yet

Hi, You are looking for real time transfer of the collected data to a platform/software running on your own server where it can be viewed, sorted, and edited by multiple users?

good morning
and thanks for the answer.
Sorry for my English .. I hope to make me understand ... :slight_smile:

I have some teams sending forms (with odk collect through the tablet) to odk aggregate (vm odk aggregate on our server).
Odk aggregate allows you to create filters and filter out the various inbound forms but not sort them (example date, triage.etc)
I need that the Command Unit operators can do these things in real time or that the changes made by any Commander Unit operator are displayed by others.
For me, it would be good on ODK Aggregates (but I do not think this is currently possible) or redirecting that data to other servers or databases or spreadsheets that can be modified in real time by multiple operators.
Another limitation that is imposed on us is the use of third-party servers such as google or otherwise for security reasons, confidentiality of processed data, etc.
I had tried to use ODK Briefcage but with my skills I can only cyclically export csv forms to a local PC
The operator who makes changes, modifies only his csv.
I've read that maybe this is possible with the public function on the json server and from this in a shared database or spreadsheet.
I'm not as practical as a json server.
For the moment I found it as a test:
If in your opinion the solution is that of the json server, can you help me or show me a tutorial on how to create a json server on our server?
Thanks for any suggestion, help, etc that you can give me.

Hi @andrea! This is a hard problem to solve and there aren't a lot of turnkey solutions that I'm aware of.

You can try self-hosting Ona, Kobo, Smap, or ELMO which are open source data collection tools that work well with ODK and might have some of the sorting and filtering you'd like. And then maybe you can customize them to get your calendar view.

You could also try connecting something like Pentaho or Talend to Aggregate's MySQL database and building something using those tools. The caveat is these are all enterprise tools and so are quite complex.

Hello and thanks for the reply..
could you indicate the path / file name in which odk aggregate puts the uploaded forms and incoming forms sent by odk collect? (windows platform and ubuntu vm)
Could I redirect them to some database or something else?
Thank you

ODK Aggregate already stores the forms and submissions in a DB. You can find the documentation on that DB structure at