civiform / civiform

CiviForm simplifies the application process for government benefits programs by re-using applicant data for multiple benefits applications. It's being developed by Google.org and Exygy, in collaboration with the City of Seattle and community contributors.
https://civiform.us
Apache License 2.0
98 stars 60 forks source link

[Epic] Program migration between environments #7087

Open caitlinshk opened 7 months ago

caitlinshk commented 7 months ago

Checklist (remove this section after completion)

Epic Overview

When a new deployment of CiviForm is getting set up, we encourage CEs to create a staging environment and use it to draft programs and questions until they're ready to launch. However, programs and questions are often very complex, with many questions, many blocks, and many eligibility and visibility conditions. Manually porting over all the questions and programs from staging to production is too time-intensive and error-prone. So, admins will often not use a staging environment at all and just create everything in production. This makes the program and question setup very messy on the admin side in production.

We'd like to have an easy way to export a program setup from one environment, and then import it into another environment. This would remove a lot of the work required to manually move programs from staging to production.

GitHub issues filed around these problems:

Goal

Admins are able to easily port programs (including questions) between different environments.

Key Deliverables

Documentation

PRD: https://docs.google.com/document/d/1mu4Nr-gsEj62NAXWoBjooVwkVUOP79I8ijAK4-jpsE0/edit?resourcekey=0-jwFNNYAH-SPW59-GolzzIg&tab=t.0 Mocks: TODO TDD: https://docs.google.com/document/d/1a_Uo5J5zQQ3jo__vTwbPHYIzxUemdZjFrcgQBMqUBr0/edit

caitlinshk commented 7 months ago

https://docs.google.com/document/d/1a_Uo5J5zQQ3jo__vTwbPHYIzxUemdZjFrcgQBMqUBr0/edit has a list of completed tasks and tasks to still do. There are also a lot of TODOs in the codebase with TODO(#7087) that should be addressed before this can be marked completed: https://github.com/search?q=repo%3Aciviform%2Fciviform%20%22TODO(%237087)%22&type=code.

dkatzz commented 2 months ago

Doc updates (https://github.com/civiform/docs/pull/502) - https://docs.civiform.us/user-manual/civiform-admin-guide/program-migration