Welcome to Altiris Workflow Solution. The purpose of this article is to get you introduced to Workflow Solution and get it installed and running.
The second piece is the server which is where projects are published to and the piece that actually manages the actual workflows. The Solution Designer can be installed almost anywhere but the server has some minimum requirements that should be met to make sure it runs smoothly.
Altiris Workflow Solution has some pre-requisites that need to be met before installation.
- Altiris Notification Server 6
- Notification Server SP3
- SQL 2005
- Altiris Asset Management Suite Level III (This is not necessary to make workflow solution work but will greatly increase the number of components possible to Workflow Solution for task building)
After you have Notification Server (for installation directions please go to Http://kb.altiris.com ) you can install the workflow solution. The installation files can be gotten either from http://www.altiris.com or the beta portal at http://beta.altiris.com
There are five steps to installing Altiris Workflow Solution:
- Download and install the ASDK version 1.4 (file name Altiris_SDK_1_4.exe).
- When installing, accept the license and click Next
- The next screen will ask you which components to install, select all of them and hit next.
- Download and install the updated diagnostics package (AltirisDiagnostics.6.7.7631.0.msi)
- This installation is very fast and requires no input on your part
- Install the Altiris Service Layer 1050 (Altiris_Service_6_0_1050.msi)
- The service layer also installs quickly with no real input on the end users part
- Next run the Altiris Workflow Solution 2007 Setup. This will install the Workflow Server
- Choose the default locations and run the installation.
- Then install the workflow designer. The designer is found at c:\Program Files\Altiris\Workflow\agent\Altiris.Workflow.Designer.Setup.2007.exe
- During the Designer setup, you will be asked for a default notification server, specify the default notification server that workflow will be using. You can specify one or multiple Notification Servers
The First Workflow
After installation, open the Altiris Workflow Designer. A shortcut can be found on the desktop or on the Start Menu under Start | All Programs | Altiris | Workflow Designer | Workflow Designer
This will launch the workflow designer console and you should see something like this:
The console will show the component palette on the left and the designer window on the right where the components are assembled into workflows.
To get a basic feel for how the components are manipulated, we will build a very simple workflow that will send an email.
Sending an E-mail
Click the "New" button to start a new workflow, from the "project types" tab select a "Workflow" document. In the "Name" field give it a name of "Send_Email"
For this short example, we do not need the component named "create basic authentication token". This token is used to authenticate to the notification server when we begin to build full workflows. The component allows the process to authenticate to the NS on the fly and not require credentials at each step in the process. Because we won't be authenticating to the NS, we can delete this component. Highlight the component, right click and delete it.
You'll notice on the left is a list of components that will be used in the workflow. If you don't see a list of components, click on the "Toolbox" tab on the left to expose them.
At the top of the component list is a search field. In that field type "Send Email" to locate the email component. The search function is dynamic and will update as you type. There are nearly 1000 components out of the box to govern the various interactions in a workflow.
Once the Send Email component is found, drag it out into the designer canvas and drop it between the "Start" and "Stop" components.
You will notice a couple of things right away. The components all have a red exclamation mark on them. These mark designate validation breaks in the model, or points where the workflow will not proceed if not corrected.
Go ahead and link up the Start and Send Email components by highlighting the Start component, grabbing one of the 4 corner buttons and dragging and dropping it on the Send Email Component. Connect the Send Email Component to End as well to complete the flow.
The Email component will still have a validation break because it has not been configured with the email server and the sender and recipient email addresses. Notice the hovering the pointer over the broken component will pop up a help box outlining the reason for the break in validation.
Double click on the component to configure it to send email. Across the top are several tabs, the tab with the validation issue will show the red interdiction symbol, describing where the break is. Click the ellipses in the first field labled "From Address" to set a Sender address. This can be either a dynamically populated process variable or a constant value. We'll use a constant value here for this example. For the Sender address type in Workflow@Altiris.local
Note: use a valid email domain and address in your example. You should have an email server setup that is accessible to the system to be able to send and receive emails. In this example a test email server has been setup and configured at the Altiris.local domain.
Click OK and then edit the "To Addresses" and add a valid email address that the mail will go to.
After adding a To address, click on the Subject field and put "this is a test" in the subject box. After adding that, click in the Html Content box and type in "this is a test from workflow" or some other message that will be recognizable.
Once the To, From, Subject and Email contents have been specified, the validation breaks will be gone and the workflow can be tested.
To test the workflow there is a test runtime environment installed that will compile the project and allow it to be tested on the fly. The test project button is found on the toolbar and looks like this:
Click the Test Project button to launch and test your very basic workflow. The validator will take a few moments to build the project and then launch a window that shows your workflow.
In the left hand column double click the word Execute to execute and test the project. One unique thing about the workflow validator is that it will show you the steps that it is running through during the workflow to allow you to trace the path that it's taking.
A yellow line will trace the path that this workflow is following, allowing you to follow the logic in complex workflows that you'll build later. The workflow steps can also be replayed to see what is happening in a particular step. There are a series of buttons under the workflow playback window that will allow you to see the steps that the workflow has followed and to rewind and replay those steps if necessary to see how the workflow is going and what path it's taking.
Once you have seen the workflow complete, close the project test environment window and open your email client to see the email that was generated from Workflow Solution. If everything is configured correctly you should have an email from Workflow solution with the text you specified in the component.
One of the more common ways Workflow Solution will interact with end users is through the use of forms. Forms allow the process to gather data and feed it into the workflow at any point. Forms can be posted as part of a web portal or links can be mailed to end users to complete various steps in the process.
Using forms is very simple and the form builder offers an easy way to build interaction with end users. We will add a form to our email sample to gather a users Name and let them submit a simple vacation request and then pass that data on to a manager.
- Move the Email component down nearer the End component to give yourself some room. Leave the component connected to keep the model valid.
- In the component palette search field, Search for the "Dialog Workflow Component".
- Drag and drop it onto the connector between the Start and Email components. The connection line will light up green as soon as the component is correctly positioned over the line. When the line is green, the component will be automatically connected up in the workflow with the correct inbound and outbound connections being made.
- Note that you can only drag and drop onto a line and have it automatically connect up the FIRST time you bring a component off the palette. Once a component is in the workspace, to hook it up you have to select and remove existing connections and then reconnect the component into the workflow. This is to prevent a component from accidentally being dropped into the workflow somewhere where it doesn't belong.
- The Dialog Workflow Component will have a validation break icon on it because it's not properly configured. The Dialog Workflow Component allows us to dialog with the end user, and is necessary to be able to use a form. One common problem users face is that they cannot find the form builder on the main workflow palette because you need to be inside a dialog workflow component to be able to find it.
- Double click on the Dialog Workflow Component to edit it. This will bring up a series of tabs. Like before, the tab that needs to be configured will have a red interdiction symbol on it.
- Click on the Interaction Setup tab. Notice the "Dialog Model" field is not correctly configured. Click on the ellipses at the right to edit the Dialog Model. This will open another workflow space with the familiar Start and End components.
- In the component palette, search for the Form Builder component, drag it into the workspace and hook it up to the Start and EndDialogWorkflow Component
- Double click the Form Builder component to edit it. The first thing you'll be prompted for is to add an outcome component. This is basically just an exit path for the form data, or what you want your users to do after they are done filling out the form.
- Click "Yes" to add an outcome component. In the "Path Name" field type "Submit" and click OK. You will notice this puts a "Submit" button at the bottom right of the form.
- In the Component Palette Search for a component named "TextBoxComponent" and drag and drop it onto the workspace. As soon as you do it will pop open the properties to edit this component.
- In the "Output Name" field type Name and hit OK. You can resize this field to give the end user more room to type
- In the component palette search for the "LabelComponent" component. Drag and drop it onto the workspace in front of the TextBoxComponent. Notice the snap-to lines that allow for easy alignment.
- Double click on the LabelComponent and in the Text field type "Enter Name" and hit OK
- Search for the "DatePickerComponent" and drop it onto the palette, aligning it with the Name field. When it prompts for the output component, enter "Day" as the output component. This is data that we can feed to other components later in the workflow. Say OK to add the DatePickerComponent
- Search for and add the Label Component to the left of the DatePickerComponent
- Add one more labelComponent to the top of the form by either copying and pasting or dragging a new LabelComponent from the the palette. Configure this one to say "Time off Request Form". Your completed form should look something like this;
- Click "OK" to close the form. We now have two types of data to work with in this simple workflow; a user name and the date they would like to take off.
- Click OK to shut down the Dialog Model and OK again to close the DialogWorkflowComponent and get back to the main workflow window.
At this point there are two pieces of data being gathered on the form, the user name and the day they would like to take off. We will now configure the email component to use that data to forward to the manager.
- Double click the email component you placed earlier to edit it.
- In the "Subject" field, type "Vacation Request"
- In the HTML Content field, click the ellipsis to edit the HTML field.
- On the left under the "String Formatter" you should see the two data pieces that came from the form: Name and Date. These were specified in the DialogWorkflow component earlier in the process.
- Click and drag the "Name" field onto the HTML palette, it should put the word Name down in blue.
- Type "would like to request" and then drag the word "Date" onto the field. This will place the word Date on the window in blue.
- After the word Date type "off for vacation." This will generate an email with the phrase [Username] would like to take the [selected date] off for vacation and send it to the manager. It should look like this:
- Click "OK" to close the Email Component, Click OK again to get back to the main model and then we have to make one more change.
Because this is a web based workflow, we have to change the way this workflow will start to a Form Start workflow.
- On the top left you will see a small tab labeled "Project". Click on that tab to bring out the project window.
- Once the project tab is opened, click on the top level of the project where it says "Send_Email".
- Then you will see a tab that says "Publishing".
- On the Publishing tab you will see three radio buttons: Webservice, Auto Start and Form Start. Select Form Start to allow this workflow to use a form.
- Click on the "Model:Primary" tab and then the Run Project Button again to launch the project.
- Once the simulator has launched, click on the link that says "Composer.aspx?Startworkflow=true..." On the left.
The project should run and you should be prompted to enter a username and select a date. Once you click "Submit" and close it down, check your email address you configured and you should have an email requesting the selected day off.
This is a very basic workflow but now you have a good start and should be able to get Altiris Workflow Solution installed and build a simple workflow. The Workflow Solution will offer an unprecedented ability to coordinate IT systems and human interactions across multiple people, business units or systems and allow complex business processes to be fully automated and tracked.