Projects
Projects are applied in the Child Specification List editor.
The Child Specification Lists reads information from the Projects that can be specified from it, you will see a helper link (see below) requesting a refresh of the information from the Projects. Click the helper link to refresh the information.
Projects, specified from the Child Specification List, cannot be open while the information is refreshed.
The project information cannot be accessed if it is open in another seat of DriveWorks Administrator.
To launch the Child Specification List Editor:
- Click in the Projects property for the Child Specification List Control.
- Click the build button at the end of the property field to launch the editor
Project Details
The Project Details tab allows the Projects that are to be specified from the child specification list control to be selected.
To Select The Projects That Are To Be Specified From The Control
- Launch the Child Specification List Editor by clicking in the Projects property for the Child Specification List Control.
- Click the build button at the end of the property field to launch the editor
- From the Project Name list select the Projects that can be specified from the Control
The filter box immediately above the Project Name and Constants list allow each to be filtered.
This is very useful if you have many Projects with many Constants.
Please see How To: Use Filters for more information.
The Project Details tab also allows information to be passed into Constants, in the Child Projects, from the Project the Child Specification List Control has been added to.
To Retrieve The Constants From The Selected Child Projects
- Highlight the Project from the Project Name list.
- Click the refresh link
- Repeat for all Projects that can be specified as children.
- All Constants that have been defined in the Child Project will be populated in the Constant List
The image above shows a rule assigned to the Constant retrieved from the Child Project. The rule is applied by clicking the Build button with the Constant selected.
Once all Constants have been retrieved from the Child Project, rules can be built for the Constants created for information being passed from the Parent Project.
The filter box immediately above the Project Name and Constants list allow each to be filtered.
This is very useful if you have many Projects with many Constants.
Please see How To: Use Filters for more information.
To Build A Rule For A Constant
- Select the Project that has the Constant from the Project list
- Select the Constant in that Project from the Constant list
- Click the Build button at the top right of the Constant list
- This will launch the Rule Builder where the information to be passed down can be entered or the rule built.
Result Columns
The Result Columns tab allows you to add placeholders that will store information coming from the Child Project. These placeholders are added as columns to the Child Specification List Control. The Control includes three columns by default, which are:
- Name - Retrieves the name of the Specification that has been added to the Control during run time.
- Type - Retrieves the Project type the Specification was created from.
- State - Retrieves the current state of the Child Specification as determined in the Specification Flow for the Child Project.
The visibility of the Name, State and Type columns can be turned off in the (Name, State and Type) Column Visible property.
When the Result Column Name matches the name of a
Specification Property in the Child Project, the value can be automatically retrieved. See
To pair a value in the project to a result column below.
To Add a Result Column
- Select the Result Columns tab from the Child Specification List editor.
- Enter the name for the column in the Add Column field.
- Click Add
To Remove A Result Column
- Select the Result Columns tab from the Child Specification List editor.
- Select the name of the column from the Current Columns list.
- Click Remove
To Change The Order The Result Columns Are Displayed
- Select the Result Columns tab from the Child Specification List editor.
- Select the column to be re-ordered from the current columns list
- Click Move Up or Move Down as appropriate to re-order.
Result Column Values
The Result Column Values tab is where the values in each Child Project, are matched to the Result Columns created.
Variables or Specification Properties in the Child Project are passed to the Child Specification List Control by this mechanism.
To Pair A Value In The Project To A Result Column
- Select the Result Column Values tab from the Child Specification List editor.
- Select the project from the Projects list.
- Click the refresh information link
- In the Results Column list double click in the Output Name column, next to the Result Column name that the variable result is to be passed into. This will read all available values from the selected project into a drop down box.
- Select the value from the drop down list.
Setting the Output Name to be
(Auto) will match Result Column names with
Specification Properties in the child project and automatically retrieve the value.
- If more than one Project can be specified from the Child Specification List Control repeat steps 2 to 5 for each Project.
Settings - About Synchronized Specifications
Embedded Child Specifications, which are only supported in DriveWorks Projects, can now be constantly synchronized with their Parent.
This means that any Constants being set by its Parent (via rules in the Parent) are updated instantly, regardless of how many levels deep the Child Specification is.
Earlier versions of DriveWorks required each Child Specification to be opened in turn to apply any updates, this happens because synchronized Child Specifications are opened when the Parent is opened.
With Embedded Child Specifications, the instant you open the Root Specification, all Child Specifications that are synchronized will be efficiently opened in the background as well.
The setting for this is at a Child Specification Control level, so on a list by list basis, you can say if the Child Specifications should synchronize all the time.
An example for the use of this is when a top level Project has a particular option that changes what Child Specifications do or return. Such as something that will change the total cost of the entire Specification. Normally, you would have to open each affected Child Specification so that the Constant values are sent into them.
With synchronized Embedded Child Specifications, this is now automatic.
When you enable synchronized Specifications, the Project Setting to enable embedded Specifications must also be enabled.
How to enable embedded SpecificationsDriveWorks Projects (Not Excel Projects) that contain one or
more Child specification controls can now have each child
specification embedded within its parent.
This has numerous advantages:
- An embedded specification is directly stored within its parent.
They are not registered to the Group whatsoever. The only thing
that knows about and controls the child specification is its parent
specification.
- Embedded specifications are assigned globally unique
specification identifiers, so there will never be a conflict of
specification identifiers.
- Documents and reports will be registered against the “root”
(topmost) specification. This is done because the root
specification is the only one that will be visible to the outside
world and to the group. Selecting the root specification in the
specification explorer will show all child reports and
documents.
- This means all relative folder paths will be relative to the
root specification too. This is, again, because documents are
registered to the root specification.
- Automatic states will not work on embedded child
specifications, as Autopilot can not see the projects, but the
topmost specification can still be put in an automatic state and
released which will cause it and all of its children to release.
Emails will work though, as they are registered against the root
specification.
- Copying a child specification will now also copy all its
children. This is a direct benefit from having the child
specifications stored in their parent. Move or copy the parent and
you are moving or copying the children too. All children will be
given new specification identifiers, as well.
- Deleting a child specification will also delete its children
too.
- The setting for embedding child specifications is a project
level setting. Meaning all child specification controls in the
project will embed specifications. This is so the behaviour is the
same across the specification. This is turned on by default for new
projects.
See Also
Child Specification List
Rollup Data Table
Additional Resources
MyDriveWorks - Tech Tips
Create Closed Child
A way of completing a Child Specification, pulling data inputted in the Parent Specification, without needing to open the Child.
Tech Tips Index
View all available MyDriveWorks Tech Tips.
DriveWorks Tech Tips Index