build icon indicating copy to clipboard operation
build copied to clipboard

Embed Build into Central

Open florianm opened this issue 3 years ago • 0 comments

This is probably not needed, as build.getodk.org provides a free form builder already.

What

  • Build (GUI to XForm) and build2xlsform (XForm to XLSForm) as Docker images embedded in Central's docker-compose, alongside Enketo (XLSForm to preview) and pyxform (XLSForm to XForm).
  • Some level of integration between Central UI (links to open local Build) and Build (publish to local Central).
  • Let integrated Build build forms without a link to any project, then let users choose a project to publish the form to (match any existing form IDs).
  • Each Central now has a built-in form builder.

How

  • Add a separate Build postgres db image to Central's docker-compose. Keeping Central and Build dbs physically separated will help maintenance but requires some link for user management.
  • OR use same db - add routes to Central for Build JS frontend's requests for users and forms (unpublished forms stored in internal Build format for each Central user).
  • Add Build's image to Central's docker-compose.
  • Add build2xlsform's image to Central's docker-compose.
  • Change Central to add routes and UI to Build and build2xlsform.
  • Change Build to add (if enabled through deployment env vars) "publish to local Central".

Challenges

  • Have Central users and their permissions available in Build but also keep Central and Build dbs separate.
  • OR change existing Build frontend routes to not collide with existing Central routes, and add new Central routes for changed Build routes.

florianm avatar May 03 '22 07:05 florianm