-
Notifications
You must be signed in to change notification settings - Fork 26
APD Auto Saving Process
Every APD change in the application is made via the Patch store and the Save Middleware service. Changes are converted into JSON patches and added to the Patch store queue. For most of the fields in the APD form, the changes are saved to the Patch store as they are being changed, using the onChange function in the field. For subforms (Key State Personnel, State Staff, State Expenses, Contractors, Milestones, Outcomes, and Metrics) and the new APD form the data submitted to the appropriate Redux Action when the user clicks the save button. Then the action creates the appropriate JSON patches and adds them to the queue.
JSON patches join the Patch store queue as changes are made throughout the system. Once every 300ms, the Save Middleware service triggers a save APD action that checks the queue, if there are changes in it, then save APD collects them and sends them to the API as an array of JSON patches. Those patches are applied to the APD. The APD is validated. The budget is updated, if any values related to it change. The changes are saved and then returned to the save APD action. It updates the APD and Budget Redux stores with any updates.
If a save is still running after 300ms, the next save is added to a queue and performed once the current one is finished running.
- Team Working Agreement
- Team composition
- Workflows and processes
- Testing and bug filing
- Accessing eAPD
- Active Documentation:
- Sandbox Environment
- Glossary of acronyms
- APDs 101
- Design iterations archive
- MMIS Budget calculations
- HITECH Budget calculations
- Beyond the APD: From Paper to Pixels
- UX principles
- User research process
- Visual styling
- Content guide
- User research findings
- eAPD pilot findings
- User needs
- Developer info
- Development environment
- Coding Standards
- Development deployment
- Infrastructure Architecture
- Code Architecture
- Tech 101
- Authentication
- APD Auto Saving Process
- Resetting an Environment
- Hardware Software List
- Deploying Staging Production Instances Using Scripts
- Terraform 101 for eAPD
- Provisioning Infrastructure with Terraform
- WebSocket basics
- Operations-and-Support-Index
- Single Branch Deployment Strategy
- Ops and Support Overview
- Service Level AOI
- Incident Response Plan
- On-Call Policy
- Infrastructure Contingency Plan
- Updating CloudFront Security Headers
- Requesting and Installing TLS Certificates