How To: Modify Specification Flow
This article gives a synopsis of the default specification
flow and looks at modifying it to suit a particular requirement
during the specification process.
Default Specification Flow Overview
Specification flow always starts with the Specify state. This
can be renamed but the name of this state is never visible to any
user.
States and Transitions
The default specification flow has three States the initial
Specify state can enter. To enter these states the specification
will pass through a Transition. The default States and the
transitions they pass through are as follows:
| Transition from Specify state | State |
|---|
| Finish | Pending |
| Release (ReleaseLocal when using DriveWorks Administrator or
DriveWorks User/ReleaseAutopilot when DriveWorks Autopilot is
installed) | Completed /Released to Server |
| Save | Saved |
The default specification flow progresses from the Specify State
to:
- The Pending State when the Finish button is selected on the
user form.
- The Completed State when the Release button is selected on the
user form.
- The Saved State when the Save button is selected on the user
form.
States and Events
States have OnEnter and OnLeave events which can trigger tasks
that will be run when these events take place. Additionally tasks
can have conditions that must be met for the task to run.
The default Pending State triggers the following Enter State
Events
- Complete Child Specification
- DriveWorks_OnPreFinish
- DriveWorks_OnPostFinish
- Release Documents. This event has the condition Setting:
Document Generation Behavior where the value must be Both or Finish
for this event to take place.
The Completed State triggers the following Enter State
Events
- Complete Child Specification event
- Change Child Specification State
- DriveWorks_OnRelease
- Release Documents. This event has the condition Setting:
Document Generation Behavior where the value must be Both or
Release for this event to take place.
- Release Email(s)
- Release Model(s)
The Saved State triggers the following Enter State Events
- Complete Child Specification event
States and Operations
Once at the state any number of operations could happen to the
specification. These will be listed under the Actions
heading, once the specification is selected from the
specification explorer window.

Operations can have Teams assigned that allow access to that
operation based on who has logged onto the DriveWorks session.
Operations can also have conditions set that must be met for the
operation to be available.
The default Pending State has the following Operations that can
be applied from the Specification Explorer window
- Edit (cannot be modified)
- Release (cannot be modified)
- Copy
- Delete
The default Completed State has the following Operations that
can be applied from the Specification Explorer window
- Copy
- Delete
- Archive
The default Saved State has the following Operations that can be
applied from the Specification Explorer window
- Edit (cannot be modified)
- Copy
- Delete
No Conditions are set on any of the above Operations in the
Default Specification Flow.
Modifying the Default Specification Flow
We can see from the Default Specification Flow Overview that it
allows a specification to be saved (if the user is interrupted),
have documents generated (if the user clicks Finish) or have
documents, models and emails generated (if the user clicks
Release).
To start modifying the default specification flow:
- Open the project to be modified in DriveWorks Administrator.
and select Specification Flow from the task list
- Click the Customize Specification from the DriveWorks
toolbar.
Rename the buttons on the User Forms
The Next and Previous buttons that appear during specification
when more than one user form appears in the navigation are
mandatory and cannot be modified. The save, finish and release
buttons however can be modified.
- Expand the Specify State by clicking the arrow icon in the top
right of the Specify State box.
- Move the mouse over the transition that is to be renamed and
click the Title link
- Enter the new name for the transition and then click away from
the text field.
OR
- Expand the Specify State by clicking the arrow icon in the top
right of the Specify State box.
- Select the transition that is to be renamed by clicking the
name
- Click the Rename button from the toolbar and type the new name
for the transition.

The new name for the transition will now appear on the
corresponding button during Specification.
Rename a Default State
The name of all of the default states can be modified, all
states in the specification flow must have unique names.
- Select the state to be renamed from the specification flow
window.
- Click the Rename button from the toolbar and type the new name
for the state.
Once a specification has passed through a transition the name of
the state it currently resides will appear in the specification
explorer.

Delete a State
When states are deleted all transitions to and from the state
are also removed. Any remaining state that has transitions without
a target will be highlighted in red. All transitions must have
target states for the specification flow to be complete.
- Select the state to be deleted from the specification flow
window.
- Click the Delete button from the toolbar.
Add a New State
- Click the New State button from the toolbar
- Enter a name for the state in the dialog that appears next to
the New State button.
Exercise: Include a New State to the default specification
flow
This exercise involves adding a new state that will create a
document requests more information to allow the specification to
proceed.
Our user forms also require some additional information to make
the exercise work so this is where we will start.
Create a dialog user form where the person specifying can enter
what information is required
- Open the project to be modified in DriveWorks
Administrator
- Select Form Navigation from the task list and add a new form
called
Info Request (No navigation is needed as this will
be a dialog form)
- Right click the form from the Navigation window and select Go
To Form Designer
- Add a text box to the user form called
NeedThisInformation, change the Multiline
(appearance) property, for this control, to
True.
- Select one of the other existing forms from the Forms window in
the Form Designer.
- Add a dialog button (select More... from the toolbar and select
Dialog button>OK) called RequestInfo.
- In the Dialog Name property enter the name of the dialog form
created in step 2 (
Info Request)
- Copy the dialog button (select>ctrl+c) and paste it onto all
other forms in the navigation path (not the dialog form)
If the rule
builder is used to enter the name of the dialog in step 7 above,
include quotes around the dialog form name
"Info Request". When typing the name directly into
the property quotes are not required.
Create a document to drive the requested information
into
- Open Microsoft Word and create a simple document like the one
below.
- Somewhere in the document type some text that will act as a
placeholder for the bookmark required to drive the text into. This
is seen in the image below as the text
Requested Information driven here.
- Highlight the placeholder text and from the Microsoft Word menu
select Insert>Bookmark.
- Give the Bookmark a name
RequestedInformation and click Add.
- Save the document to the content folder of the DriveWorks
project you are working on, with the name
Information Request.doc and close the
document.
- In DriveWorks Administrator select Documents from the task
list, click Add to add a new document.
- Select Word Document, and enter the name
InformationRequest in the Name field. Click
Next.
- Click Browse from the Master File Location field and locate and
select the document stored in step 5 above, click Finish .
- Select Build from the Rule field of the Document Name panel of
the documents window
- In the Rule Builder enter the rule
"Information Request " & DWSpecificationId to
give the document a unique name. Click OK to apply the rule and
close the rule builder.
- In the Document Bookmarks section select the bookmark
RequestedInformation and select Build. Click Clear from the toolbar
of the rule builder to clear the existing text.
- From the Forms tab of the rule builder, select the form Info
Request to filter out controls from other user forms, and double
click the control NeedThisInformation.
- Click OK to apply the rule and close the rule builder.
- Click OK on the DriveWorks toolbar to close the document edit
window.

Add a New State to the Specification Flow
- Select Specification Flow from the task list of DriveWorks
Administrator
- Click New State and enter the name
Information Requested, Click OK.
The new
state can be positioned above the existing Specify state by
dragging the state icon into position in the Specification Flow
window. The existing specification flow can be muti selected by
dragging a window around all of the icons and re-positioned by
dragging into place.
Add a New Transition to the Specify State
- Select the Specify State and click New Transition, enter the
name Request Info and click OK.
The name of
the transition will appear on the button during specification.
Consider the length of the text entered to minimize the length of
the button.
- Expand the specify state and locate the Request Info
transition.
The small black arrows at the top and bottom of the state icon
(once expanded) allow the list to be scrolled through by hovering
the mouse over the arrow.

- Select the transition and drag it onto the Information
Requested state.
Consider the required Transitions from the Requested Info state
and add them
Once the specification has entered the Information Requested
state we need to consider what we would like our users to be able
to do to the specification from the specification explorer
window.
As the state created is clearly awaiting information it is
logical that we want to be able to Edit the specification once the
requested information is received.
- Select the Information Requested state and click New Transition
from the toolbar.
- Enter the name
Edit and click OK.
- Locate the Edit transition in the Information Requested state
and drag it onto the specify state.
Consider the required Events that need to take place on
entering the new state
The Events that need to take place on the state now need to be
considered. Unlike the Saved state, where the specification is
stored and no action taken to produce data, we do need data
generating. Once the Request Info button (transition) has been
clicked, by the person specifying, we need the information request
document to be generated.
- Select the Information Requested state and click the Edit link
in the bottom left of the state icon.
- Select the Enter State item from the State Items tree.
- Locate the Release Documents task from the toolbox and drag it
into the Task Sequence for "Enter State" window.

- With the Release Documents task highlighted in the Task
Sequence window select the Documents property.
- Enter the name of the document that was added to DriveWorks
(see step 7 of "Create a document to drive the requested
information into" above), if you have been following the steps this
will be
InformationRequest
- Click OK to close the state editor and save the project.
| Knowledge Base Article Ref: | KB13022603 |
|---|