Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

Date

Attendees

Goals

  • Understand ODK 2.0 Architecture and how OpenLMIS would use it

Action items


ODK 2.0 Description and Changes

Original ODK Update is a huge clump of code, that is being refactored into a dockerized service that doesn't use big table, but uses a structured database (mysql/postgres). Changes are coming to the Agrogate service API as the current API doesn't match the underlying structure — but a majority of the API should stay the same , and is keep the existing unit tests to honor the service API contracts.


Docker containers are stripped down aggrogate (built on linux and windows images). Trying to do two paraell paths — windows cloud or linux cloud

...


ODK file system


-- system


-- config overrides system


-- data which holds the database


-- output hold logs


-- permanent can put any large items here

The full SQL Lite database is stored on an SD card in the phone. Each row has an owner (which is used with groups) — rows can be set as ‘read-only’


Currently there are no webhooks implemented in the ODK Service that OpenLMIS might use. They have said they would make the webhooks work for us.

ODK 2 Questions

  • Users and permissions (groups)

    • Azure cloud

    • MSQL has structures we don’t want to rebuild (supporting 3rd party logins)

    • Currently aggregate permissions work as they did

How ODK and OpenLMIS might be integrated

Requisitions has data that needs to be configured — it is a mix of complex and simple data — so of it is programatic that would change in many different ways

...

Overall we would never touch ODK's database structure directly, and simply read data out of ODK as needed and let services use as they need.

UI and ODK App

Tables and survey use the same interfaces, they are passed a DB javascript object and render code according to implemented javascript. This is the Android common interface that is underneath it.