The workflow scripts to render the UI take a really long time to load. So long that pages will timeout if the list of unassigned tasks is long.
3 changes need to be made to optimize the workflow UI logic:
1) To render the unassigned tasks list, the UI is currently getting the list of tasks AND all the data to support the "assignment form" for each task. Change the logic to only get the data to render the list of unassigned tasks: task names and ids might be all. Only when the user clicks the unassigned task, should the data to render the underlying form be retrieved.
2) Once an unassigned task is clicked to assign the task, the assignment form is displayed. The form consists of a pulldown of users that are eligible to be assigned the task. However this list can potentially include all users in the system, and break the UI. UI should replace the Pulldown widget with a user search widget that can better handle when there are 100's or 10,000's of eligible users.
3) For the API calls utilized above, utilize newly added pagination parameters that was added with OPENIDM-12575. The default is how hard coded to only return 50 items, if paging parameters are not provided.
Sidenote - fix may involve no longer using the endpoint script and utilize the API directly; that may be better than changing the endpoint script.