Using Workflow Solution to Create Change Management Requests
Hello and thank you for taking the time to read this article. What we will discuss in this article is how to use WorkFlow solution in your business to start the process of Change Management. While most business has some "unofficial process" for Change Management there is no real defined method for creating this type of documentation.
In this article I will show you how to utilize Workflow Solution to create this and put it to good use. Your process may different a little bit from mine however the form and the process are easily modifiable by just using this document.
Requirements for this article
- Workflow Solution
- Workflow Designer
- HelpDesk Solution
- Access to the SQL server that contains that Database Altiris_Incidents
First things first you must obviously have a Workflow Server and Workflow Designer Installed. In this example my Workflow Server is installed on my NS box. Until your organization grows and begins using multiple Workflows it should run just fine on your NS.
Now what we want to do is create a new Web Form and Title it. In this example we will title our Change Management Request.
From here we will start out with a blank workflow with both a start and an end. If you are not familiar with searching components then the first thing you want to do with every project you create is to be sure that all of your libraries are imported. If you do not do this and you do a search it will search all of the unloaded libraries and you will have to drill down though the categories in order to find these components.
The way that we accomplish this is to do the following:
- In the new Workflow click on the Import Components button.
- Be sure that you are in the LogicBase Libraries, Select all of the Components.
- Click Add.
- Click OK (it may take a few moments to do this so don't get discouraged.)
- When it is finished it will exit back to the project and you will see all of the available components (they will be marked with a red and yellow star).
What we want to do now is create NS Credentials. The reason for this is because once the form is finished we want to create a ticket on this and assign it to our Change Management Group within the HelpDesk Solution. By default the NS Credential component should be added for you. For some reason if it is not you just need to add it. Just go up in your component search box and type of the phrase "Create Notification Server" and it will be the only option that pops up. Click on it and drag it into the project.
We need to set our NS credentials on this so that we can create tickets as well as get all of the options available to us from the HelpDesk Solution which we will review later on in this document. Go ahead and double click on the NS Credential in your project and you should get a screen that looks like this. There 4 selection in the screen that you must set. You must set your NS Server name, your domain, the username, and the password. I recommend using the service account that you used with Altiris. However you want to use a different account; just create a new account in AD and assign it at least Level 1 permissions within Helpdesk (Level 1 is all you need to make tickets).
Now since we have completed that we want to go ahead and get some data from the user to put in our form. The first two things we want to know are who is requesting the change and what date did they request it. To find these components just go to your component search and type in Get. From here locate the Get Current User and Get Current Date and drag them in one at a time into the Project. On each of them you will have to open up the properties and give it a value name. For Get Current User lets just call it CurrentUser and for Get Current Date let's just call that CurrentDate (remember the variables can have no spaces and must be easy for you to remember so you can make things work without being too complicated. Less is more in Workflow). Now after you have set the variable names connect the Get Current User to the NS Credentials and then connect the Get Current Date to Get Current User.
Ok, so now we will know who the requestor is and when they will submit the ticket but now we have to have some place for them to fill out what they are going to do. We will do that using the form builder. Do a search again on the work Form. You should see something come up called Form Builder. Go ahead and drag that into your project.
Double click on it to start building your form. The first thing you are going to see is a box requesting to have an outcome component. Just click yes and then another box will pop up asking you label it.
Label it next and click OK. Now go ahead and maximize this page because you are going to need a lot of room to work with here. After you do that go ahead and expand your workspace with this project to a pretty good size. Do this by clicking anywhere in the white area to select the work space and then just size it up by clicking on the white dots and dragging it to a size that you feel you will need. After you do that go ahead and move that next button down to the bottom of the screen (unless you want to be different and put it somewhere else; but users are normally used to seeing it on the lower right).
Now we need to add some boxes in here that will allow the users to describe the type of changes they are doing. As I said earlier, your change management requirements may differ from mine so feel free to customize this next part as much as you wish. Just replace my examples with your own or delete them if they are not needed in your organization.
The first thing we want the form to contain is who is making the request and what date they made the request on. Remember those Get Current User and Get Current Date components we used earlier? Well this is where we are going to use them. So let's do the name first.
In your search box within the form go ahead and search for a label. Once you get the results go ahead and drag the Component named Label Component into the. Double click the label to open up the properties and then give the label a name so users know what is going in the box. We will call ours Requestor.
Ok, now we have a label that will give users the idea of where to enter in date but we have nowhere for them to enter it. To get that we need a Text Box. Go ahead and search for text and when you get results drag the TextBoxComponent into the project. When you do this it is going to ask you for an output name. Again remember to keep it really simple. We are going to name this one Currentuserform.
Next you want to double click on text box to open it up. What you want to look for is a section called "Default Data." Once you find this click on the box to the right of it with the 3 periods in it so we can modify what type of default data. You will get three types of data to select from. Since we are interested in getting data we have already collected without the user knowing we want to select "Process Variable" and then click add.
From this screen you should see pretty clearly what we want to add. Go ahead and select the CurrentUser variable and then click OK. Repeat the same setups for the Current Date Label and Text Box as well. Once you complete that your first part should look like this:
Now that we have the date and the current user we need a few boxes to enter in some data we want to capture for our ticket.
Let's say you want to know what the server name is that changes will be made too. You just need to make a label called Server and then a text box called ServerText. To do this repeat the same process as above except for you don't need to make any changes to the Default Value box, however you do need to make a change in the appearance tab of this text box properties.
Change the Overflow Behavior to Clip and change the Text Box Mode to Multiline. What this will do is allow word wrapping. If you do not do this and your user goes to type in information that runs off the screen it will drag the box out with it; making it look really unprofessional. Go ahead and repeat these steps for all of the data that you are wanting to collect.
Be sure you adjust the size of the text boxes for things that are going to obviously require more information such a description, back out procedure, etc... To do this you just click the text box and drag it out to ample size. Don't forget to set the properties to clip and multiline.
Another thing that we want to discuss is that if you have multiple types of change management requests (such as planned or emergency) you will want to consider using a drop down list. Just search for the word drop in your components and you will see one called DropDownListComponent. Drag this component into your project and modify it to display both Planned and Emergency. There are all kinds of uses for DropDownLists and we will use them to make the workflow do other things, so keep that in mind as we go further into the document.
Another thing I would like to add is if you are interested in collecting the data of when the work is to be accomplished you will want to add what is called a CalendarComponent. Adding this will just make a standard Calendar that you uses can easily select a date.
Key things to remember:
- Keep your variables names very simple so you can reference them later.
- Label boxes are different from text boxes even though on the project they look very similar.
- Use your search tool to find components because you might be missing out on something if you don't.
- Take your time and don't rush. One thing being incorrect will throw off the entire project. So be patience when working with the form because it will be very beneficial to you once you are done but if you rush it could turn into one big mess.
When you are finished with it you should have something like this:
Alright we are getting into the final stages of this form. We have our form and we have all of this data that the person has entered into it so what do we do with it all? Well, that is simple. We take the data and we create a ticket with it. Go ahead and search for Create Ticket. Drag that into your project, connect it to the next button on the form, and double click on it to open it up.
With this there is not a lot of manual typing that you have to do. All we need to do is tell the component where to get the data from. Once you click on it and open it up the first thing you will see is the option to select a title.
Now I want the title of the ticket to tell me 2 things. Who requested the change and what server will the change be occurring on. You can do this by clicking on the 3 periods to the right of the subject, selecting Dynamic Variable, and clicking Edit.
What comes up now appears to be just a blank HTML input screen but it will do lots of things for you. What we are going to do is something really simple. We are going to drag in our currentuser string from the left hand side of the screen and drop it into the HTML form; then after it we will type the words "is requesting a change." It's that simple. If you want more or less data in your subject just drag away.
This is how it should look:
Repeat the same steps for the Comment field in the ticket but instead of adding just one line we are going to add multiple. Here is what my example looks like:
Your start and stop dates will be a process variable that you will link to your Currentdate and to your Calendar (if you put on in your form).
Your classifications fields are really simple. Just select picker in the bubbles and it will populate the list that is related to it in the HelpDesk Solution.
On the next tab called Associations the first two fields are what require you to have SQL access so you can look up the numbers associated to the worker/contact names. You can not enter a name here because it is looking for an integer that is associated in SQL for a name. You can get these numbers by logging into your SQL server, expanding the Altiris_Incidents database and then opening up the table called Workers. All of the numbers will be in there. For my example we will use 15 which is the Change Advisory Board.
Next down you will see the works and owners. Just select the picker option here and it will load them all from the HelpDesk Solution. The Escalation tab works in using the same method. All other tabs should be left at default.
Connect the Create Ticket to END and then you are complete. When you are done you should have something pretty simple that looks like this in the Project:
And looks like this in a webpage after you debug it:
Congratulations!!! You have completed your Change Management Form in Workflow. Now just publish it out to your Workflow Server and send your users the link to start using it. You can get really complex with this if you want. I am including my more complex workflow for Change Management which includes match rules for Planned and Emergency types of changes, email notifications, and PDF conversions. Please enjoy this and should you have any questions please feel free to post and I will answer them.
Remember that Juice only works for us as much as we use it so if you make something post it, if you have a question, post it, and if you just want to tell us how you're doing POST IT.
Thank you all for your time any attention.
Thanks
Wes
| License: | AJSL By clicking the download link below, you agree to the terms and conditions in the Altiris Juice Software License |
| Support: | User-contributed tools on the Juice are not supported by Altiris Technical Support. If you have questions about a tool, please communicate directly with the author by visiting their profile page and clicking the 'contact' tab. |
| Attachment | Size |
|---|---|
| Cogent Change Management.zip | 2.67 MB |
- Login or register to post comments
- 2856 reads
- Printer-friendly version



























Good job
This should really help people starting out with workflow to see it's potential. As a potential user myself, I can already see the flexibility that makes this solution so powerful.
Error to Import All Components
When I try to do the step:
2. Be sure that you are in the LogicBase Libraries, Select all of the Components.
I get the message bellow. Is that a installation problem? What should I do? Everytime I download a flow from the Juice I get an error message saying I do not have the correct libraries.
Method 'get_UseHTTPS' in type 'Symantec.Workflow.Components.ServiceDesk.CreateTicketAndWaitForStatus' from assembly 'Symantec.Workflow.Components.ServiceDesk, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.