The mechanism of declarative workflow, implemented in SharePoint line products, provides unique opportunities for automation of numerous tasks. The uniqueness is in having at your disposal a pretty convenient and fast method of debugging any workflow directly at the customer’s, resulting in a ready-to-use program .net module. As the module is compiled already, the declarative workflow operations speed is quite comparable with the running speed of the modules built with Visual Studio.
For the above reasons, the use of declarative workflows for automation of requests processing in HarePoint HelpDesk for SharePoint is one of the priority tasks of product options implementation.
All the workflows of HarePoint HelpDesk solution are declarative. They are developed by means of a special instrument for designing and customizing Microsoft SharePoint websites – Microsoft SharePoint Designer.
The current version of the product includes the following workflows.
- HarePoint HelpDesk Assigning by Category
Automatic assignment of a person responsible for processing the request. He is appointed on the basis of attributes of the request category. - HarePoint HelpDesk New Request Notifications
The process sends a notification via email. - HarePoint HelpDesk Request Processing
The process that describes the life cycle of the request processing. - HarePoint Helpdesk New Request Comment Notifications
The process sends a notification via e-mail.
Workflows are created at HarePoint HelpDesk website creation. All the above workflows are connected with the web-site lists. Working simultaneously, these workflows control normal execution of the request life cycles.
A simplified life cycle of a HarePoint HelpDesk request can be represented as follows:
- User creates a request to the technical support service. The request is created by a special mechanism, which we shall call User Console. Using the features implemented in User Console, User can specify the subject, description, as well as additional request parameters. User Console from a technical point of view is a Web Part that can be placed on any page of the site-collection. This method of User Console implementation allows you to completely close the direct access of consumers to the very HarePoint HelpDesk website.
- Technician, having received the notification via e-mail, makes the decision to appoint a person responsible for processing the incoming request. To work with the incoming requests, Technician uses another mechanism – Technician Console. Technician Console provides an employee of the technical support service with a rich set of tools for working with users’ requests. A person responsible for further processing of the request is also notified.
- Responsible Technician analyzes the contents of the consumer’s request and gives him the most adequate solution of the described problem. In case it is necessary to obtain additional information from the consumer to solve the described problem, Technician has the opportunity to ask the customer a question, using the mechanism of comments to the request.
- User, having received the notification on the decision of providing him with a solution, makes a decision about whether he is satisfied with the provided solution. If the solution satisfies all of the consumer’s requirements, the latter closes the request by clicking the appropriate button in the User Console interface. Furthermore, a permitted request can be closed automatically after a certain period.
Terms User and Technician used in the request lifecycle description stand for roles played by HarePoint HelpDesk users:
- User
The consumer of technical support services. Users with this role generate requests, take part in the process of clarifying request details and make decisions on the quality of provided solutions. - Technician
The specialist of the technical support service. The responsibility of such user includes ensuring an adequate level of technical support service, timely response to requests generated by consumers, providing consumers with the most viable options for solving problems described in the request.
All the workflows are started automatically in the event of query creation and editing a query or a query comment. Thus, in case a query is created, three workflows are started automatically: HarePoint HelpDesk Assigning by Category, HarePoint HelpDesk New Request Notifications, HarePoint HelpDesk Request Processing. In case of editing: HarePoint HelpDesk Assigning by Category, HarePoint HelpDesk New Request Notifications. The workflow HarePoint Helpdesk New Request Comment Notifications is started when a request comment is created.
The function of control over the request processing stages execution is primarily carried out by the workflow HarePoint HelpDesk Request Processing. That is why we will describe the workflow in detail.
Schematically, the workflow HarePoint HelpDesk Request Processing may be shown as follows:
Here, it should be noted that the real workflow diagram imported from Visio will differ from the one shown above. However, writing this article we considered the result built up automatically to be less informative.
The workflow HarePoint HelpDesk Request Processing is connected with Request list and started automatically when creating or editing a request.
The above algorithm is notable for the fact that the cycles not available for use in SharePoint declarative workflows are not used here. In case one instance of the workflow fails, another instance is created automatically to continue the same task. The cycle of the described workflow instances creation is broken, only if the request has Closed status, or if the time for query assignment expires (status: On Hold). This place is shown in the diagram with the Checking initial request state block. However, the cycle described may be restored at any time. It happens in case of request state change from the closed (with Closed status) to the open one. Thus, work with the request may continue as long as you like.
We should also say a few words about the technical aspect of the above-mentioned cycle implementation. As stated above, the workflow HarePoint HelpDesk Request Processing is started automatically, when a query is created or edited. This approach certainly does not ensure continuous cycle restoring (which, in fact, happens when closing or assigning the responsible person). However, in all other cases, all the query life cycle events are connected with its attributes change, which was used by us.
As stated at the very beginning, the use of declarative workflow technology enables to edit the workflows at any time with Microsoft SharePoint Designer.
More details on workflow editing may be found in the project documents at: Product Guide
In conclusion, we should note that the workflow scheme described here is open-ended. The development of the product will entail complication and expansion of its workflows. A procedure enabling to update the workflows earlier deployed, as well as other elements of HarePoint Helpdesk node has already been developed. The updating procedure is also described in the product documents.