build
build copied to clipboard
Embed Build into Central
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.