We first tried and achievied to query Central's DB directly with PostgreSQL FDW (as we always did with Aggregate) and xml capabilities, to create views exposing submitted data "live and direct" but :
So we now use the OData API calls to feed and update our internal database.
As we can now filter the API to get the lasts json submissions (filter over submission_date), the refresh frequency (cron job) can be "high" (15 minutes here to be sure that submitted data will be seen in our other tools), but is not a real "live and direct" access.
So we have quite the same process as @Florian_May :
- first feeding a json database table with new submissions, parse it with SQL to expose tables or views
- and then connecting other apps to show data and media
We really start it in a "production" mode this month, because last field season was supported by Aggregate and also because we merged with our neighbors and the team grow up.
I think the API encourage us to be lazy and it is comfortable. In a near future, the API will allow us to get only one json for a whole form (including repeats) simplifying again the process.