What is the correct strategy to support usability and permissions?

I’m a little confused on how to approach the following scenario. And maybe typing this out will help me figure it out :slight_smile: .

Documents need to go through workflow and approval processes. Tasks are split across various roles. Users need to be presented with the documents and steps they are responsible for, but without digging through the system.

I am not sure what the best approach is to support easy identification of documents and next user steps. Since Cabinet hierarchy ACL is only top level, should I create unique cabinets and move documents around so they can easily identify the task at hand by cabinet name? For example: ‘Invoices waiting for entry’, ‘Invoices waiting for approval’, ‘Invoices waiting for payment’, ‘Paid invoices’.

If I take the above approach then I can assign cabinets to specific roles which would simplify directing users to the task at hand.

What about transitioning through workflow steps? Is there an easier way than going into the document, clicking workflow, and selecting a transition action? I guess I am looking for the approval process to be more fluid and front and center to the document.

Any suggestions are appreciated. Thanks.

1 Like

So here is how I set it up for now. I set up two users: manager and worker. After playing with the ACLs, really the only thing that a worker cannot do is transition between Entered and Approved/Rejected. Lots of places for permissions, this will take a while to get used to. So really, a nested Cabinet would work as well since I don’t need to prevent worker from seeing documents in a specific Cabinet.

I would assume the best way for a user to see what’s in queue is via Documents. Cabinet per workflow state, nested or not, are helpful to determine the ‘state’ of the document. Navigating through Cabinets is an extra step of clicking Details to view the documents in the Cabinet.

Transitioning a Workflow seems to involve many steps. Go to Document > Workflows > Actions > Transition. If there is a simpler way, I would like to know what that is. Otherwise, there is always the API, but then we’d be recreating parts of Mayan UI elsewhere.