I'm working on a new Change process implementation, including an authorization workflow of rfC Tickets.
Actually we are managing the Change process according to following flow:
a) Customer (User) request a RfC by means of a ticket sent to one of three queues (one for each rfC Types)
b) Agents (a backoffice team) acquires tickets, analyzes the request and creates a Change, linking the ticket to the Change.
c) After that the lifecicle of the Change is basically a standard lifecicle (authorization, in progress, closed)
Now my client ask me to modify the first step a), including an additional authorization step where customer's responsibles (one or more responsibles)
will 'authorize' the RfC request before to jump into step (b).
A prelimianry issue is about the customer's organizational structure: Customer's groups have different responsible(s) team so I have to find a good a small expensive method
to link Customer's groups to Responsibles group.
I think about following scenario:
a) Customer (User) request a RfC by means of a ticket sent to its Organizational Group queue (one queue for each rfC Types)
a1) Group responsibles (configured like agents sharing the same role) take the ticket and authorize (or not) it taking following action:
- a1.1) changing the state to 'authorized' with a note for signature
- a1.2) moving the ticket to the queue according with the RfC type
b) Agent (a backoffice structure) acquires tickets, analyzes the request and creates a Change, linking the ticket to the Change.
c) After that the lifecicle of the Change is basically a standard lifecicle (authorization, in progress, closed)
My questions are :
1) there is some tradeoff about creates additional queues to manage the workflows ? (performances, etc.)
2) actually we are using LDAP access to Customer and Agent authentication, it's possible use some LDAP attributes to match role/group assignment automatically (to select the right queue....) ? (ACL?)
3) would I have some value using the state-machines-in-ACL package (modifying some piece of code, state, etc.) to reach a minimu level of automation?
4) last but not least .... some alternative suggestion ? (I would leave coding at minimum)
regards