processmaker
processmaker copied to clipboard
FOUR-18994 Load screen performance improvements [FALL]
Issue & Reproduction Steps
WebEntry endpoints are slow. This was caused by two features:
- Sanitize data when a webentry (task) is submited
- Get screen with nested screens
Solution
- Implement a Screen Cache for screens and nested screens.
- This cache stores a screen by process, by language and by version
- The cache is cleared when a process translation is updated or the screen is modified.
How to Test
- Run a web entry like Expenses process
- You will see a cache was created for the web entry task screens
- Any time the screen is updated the cache is cleared
Related Tickets & Packages
- https://processmaker.atlassian.net/browse/FOUR-18994
Code Review Checklist
- [ ] I have pulled this code locally and tested it on my instance, along with any associated packages.
- [ ] This code adheres to ProcessMaker Coding Guidelines.
- [ ] This code includes a unit test or an E2E test that tests its functionality, or is covered by an existing test.
- [ ] This solution fixes the bug reported in the original ticket.
- [ ] This solution does not alter the expected output of a component in a way that would break existing Processes.
- [ ] This solution does not implement any breaking changes that would invalidate documentation or cause existing Processes to fail.
- [ ] This solution has been tested with enterprise packages that rely on its functionality and does not introduce bugs in those packages.
- [ ] This code does not duplicate functionality that already exists in the framework or in ProcessMaker.
- [ ] This ticket conforms to the PRD associated with this part of ProcessMaker.