At IU, one of our users ran into a situation involving routing to groups via custom role attribute. The criteria change, so new groups were set up and the old groups were emptied out and inactivated.
When attempting to return documents that had once routed to now inactive group back to the start node the error "Routing to inactive workgroup. Putting document in
exception routing." occurs. They were putting them back to the start node so that they could route to the newly created groups.
Initially, we thought that the role was not re-evaluating correctly, but It turns out that this error is occurring before it can get to the re-evaluation of the role. ActionRequestServiceImpl.saveActionRequest (where the error is coming from) is called by revokeRequests, which is called by ReturnToPreviousNodeAction.recordAction. All of the old action requests on the document are revoked before the node change takes place, but in this case when it goes to save the revoked action requests, an error is thrown due to the fact that the group on the old action request is no longer active.
From Eric Westfall:
In general I think that the fact that we are doing this check on save of an action request is problematic. I think it would probably make more sense to allow for documents to continue to route to inactive groups (maybe make a doc type policy on the behavior) to prevent interruption of service. But then prevent people from assigning inactive groups to various things (rules and roles) from the UI. This is a good one to enter a Kuali Rice jira with the foundation for and the rice team can figure out how best to handle it (getting appropriate functional input).
More info in JIRA : https://uisapp2.iu.edu/jira-prd/browse/WFR-12533 (Not sure everyone could see this, so I included the needed information in here.)