Asset Types
You use an asset type to define the collection of data fields, or attributes, that can be edited on assets having that particular asset type. When the database is created, a first asset type — simply named Asset — using a few predefined attributes is automatically created for you. You can modify this asset type by adding new attributes to its definition, or you can create entirely new asset types using a combination of predefined and new attributes.
An asset type has a list of sections, with each section having a title and a subset of the asset type’s attributes. The order of the attributes in each section, as well as the overall order of the sections themselves, determines how the corresponding Asset page for an asset having that particular asset type is displayed.
An asset type may also be associated with workflows. Workflows enables you to set up organizational processes and rules to help you manage the lifecycle of assets. This includes, for example, defining various stages that an asset can go through and the available transitions between those stages.
The Asset Types page, opened by clicking Asset Types in the Database navigation sidebar, shows a table with all asset types in the database. The table columns are:
The Name column — the name of the asset type.
The Alias column — the unique shorthand alias for the asset type.
Select the Show deleted checkbox to include deleted asset types in the table.
Click on an asset type in the Name column of the table to show more details for that asset type. Click the Add button to add a new asset type.
Adding Asset Types
To add a new asset type:
1
2
Write a shorthand alias for the asset type in the Alias field. The alias must be unique among the set of all aliases and start with an uppercase Latin alphabet character followed by zero or more such characters, numbers, or underscores. The alias can contain, at most, 16 characters.
The alias is used in web links for assets of this asset type, as seen, for example, in the web browser’s address bar on the Asset page. Once set for an asset type, it cannot be changed.
3
a
b
Add attributes to the section in the Add attribute list — either by creating a new attribute in the database or by selecting an existing one. Added attributes appear in the Attributes table. You can rearrange the attributes in the order they should appear in the section using drag and drop — see also Rearranging Table Rows.
Select New primitive attribute in the Add attribute list to both create a new primitive attribute in the database and add it to the section — see Adding Primitive Attributes for the available fields. Select New composite attribute to do the same for a new composite attribute — see Adding Composite Attributes. A created primitive attribute or composite attribute may later be reused for other asset types as well.
Click Edit (the pen icon) next to an attribute added via the New primitive attribute option or the New composite attribute option to edit its fields. Click Delete Permanently (the cross icon) to permanently delete the attribute from the database.
4
5
Click the Workflow menu option and select the Use workflows checkbox to enable the use of workflows with the asset type — see Using Workflows with Asset Types for details. Click Preview to see a preview presentation of the corresponding Asset page populated with some placeholder data for an hypothetical asset having the new type. Click Sections to return to the initial section presentation.
6
Click Save to add the new asset type.
Any new primitive attribute or composite attribute created via the Add Asset Type page will remain in the database even if you cancel the asset type creation. You can delete the attribute via The Primitive Attribute Page or The Composite Attribute Page, respectively.
Using Workflows with Asset Types
You apply Primitive Attribute Workflows and Composite Attribute Workflows to assets by adding them to the assets’ corresponding asset types. The workflows for attributes may be shared between different asset types analogous to how attributes themselves may be shared.
The workflow management system in Model Manager server also enables you to apply workflow rules for the asset type itself via an asset type workflow. You can, for example, set up Transitions with associated Activities for this workflow so that updating the value of one attribute automatically sets the value for another attribute. You can also grant permissions to assets based on their current attribute values, including ones for opening their Asset pages or saving new asset versions.
The workflow state for an asset type workflow is given by the current values of its attributes — both primitive and composite — on the Asset page. Workflow transitions involve modifying these attribute values by saving a new asset version. You can define at most one such workflow for each asset type.
You enable workflows for asset types when adding or editing the asset type:
1
Click the Workflow button.
2
Select the Use workflows checkbox.
3
Write a label for the workflow of the asset type in the Label field. The field is automatically populated with the name of the asset type.
4
An asset type workflow contains lists of Member Workflows, State Conditions, Transitions, Activities, and Permissions. A list can be left empty.
Member Workflows
To apply a primitive or composite attribute workflow on the Asset page, you must first add it as a member workflow to the corresponding asset type workflow. Select the workflow from the Add workflow list under the Member workflows table. Only workflows for attributes that are added to the asset type’s sections are available for selection — workflows for member attributes of composite attributes must be added via composite attribute workflows. Multiple member workflows may be added for the same attribute. You can rearrange the member workflows using drag and drop — see also Rearranging Table Rows. The top-to-bottom sort order reflects the order in which the workflows are evaluated when saving an asset.
State Conditions
State conditions for asset type workflows are defined similar to those of Composite Attribute Workflows. Asset type workflows supports state conditions of type State expression and the built-in state conditions listed in Table 3-4. State values are not supported.
To add a state condition to the workflow:
1
2
For a State expression, write its label and optional description in the Label and Description field, respectively.
3
For a State expression, specify the expression statement in the Expression field. You write the statement by combining Primitive Attribute Field Expressions and Composite Attribute Field Expressions using boolean AND and OR operators, NOT and ANY operators, and by grouping them with parentheses. Unlike composite attribute workflows, expressions involving member attributes of a composite attribute must include the identifier of the composite attribute itself.
Only primitive attributes of value type Boolean, Integer, Keyword, Keyword array, User, and User array can be used in a state expression. There are no restrictions on composite attributes.
Table 3-4: All available state conditions of built-in type for an asset type workflow..
A condition that is always satisfied. Combines the Any state value and No state value built-in state conditions.
A state condition of type Never is primarily useful to temporarily disable a transition by adding it as a from-state condition or as a to-state condition.
Transitions
Transitions for an asset type workflow correspond to changes made to the overall attribute values when saving an asset. For the from-state and to- state conditions, you can use any state condition belonging to the asset type workflow itself, as well as any state condition from a member workflow. Member state conditions are evaluated using the same grouping-logic as applied for the transitions of Composite Attribute Workflows. Action transitions are not supported for an asset type workflow.
To add a transition to the workflow:
1
Click Add Transition.
2
Write the label of the transition in the Label field. Write an optional description in the Description field.
3
In the From and To field, select state conditions to add as from-state and to-state conditions for the transition, respectively.
You can select any number of state conditions belonging to the workflow itself and to its member workflows.
4
In the Permissions table for the transition, add users and groups that are granted permission to perform the transition. Leave the table empty to grant everyone permission.
In the Permissions with State Conditions table cell, next to the Perform transition permission type, add state conditions from the Add State Condition menu to conditionally grant the permission. The permission is granted to the user or group if at least one state condition is satisfied before saving the asset. The permission is always granted if the collection of state conditions is empty.
See also Permissions for permission types granted to the assets themselves.
Activities
The same activities available for the transitions of Composite Attribute Workflows are also available for the workflow of an asset type.
To add an activity:
1
Select either Perform transition or Transition cancellation in the Add Activity menu below a transition.
2
Write the label of the activity in the Label field. Write an optional description in the Description field.
3
For a Perform transition activity, select transitions from the Add Transition menu.
For a Transition cancellation activity, select state conditions from the Add State Condition menu.
Permissions
You can grant shared permissions to all assets of a specific asset type by adding permissions to the workflow of the asset type. The available permission types are listed in Table 3-5.
To add permissions:
1
Add a user or group to the Permissions table at the bottom of the page.
2
In the Permissions with State Conditions table cell, select checkboxes for the permission types to grant for the user or group.
3
For each permission type, add state conditions from the Add State Condition menu to conditionally grant the permission. A state condition can either belong to the asset type workflow itself or to one of its member workflows.
A permission is granted to the user or group if at least one state condition is satisfied by the attribute values before saving the asset. The permission is always granted if the collection of state conditions is empty.
Adding the built-in state conditions Current user or Not current user of a member workflow to an Open asset permission entry is not recommended. The first condition is never satisfied, and the second condition is always satisfied, when applying permissions to a search result for assets — regardless if the current user is assigned to the relevant User picker attribute or not.
A state condition from a member workflow for a composite attribute in Table mode is satisfied if at least one table row satisfies the condition. The state condition is always satisfied if the table is empty.
When non-empty, the permissions in the Permissions table adds an additional permission layer to the layers defined by the permissions for the asset itself and the asset library that the asset belongs to — see Granting Permissions to an Asset and Asset Libraries. Unlike the latter two layers, however, the access control imposed by the asset type workflow may depend on the specific attribute values for an asset (via the use of state conditions). A user may be granted permissions for some versions of an asset, while denied for other versions of the same asset.
Opening the Asset Versions page for an asset requires that the user is granted the Open asset permission for the latest version of the asset. Users may thus see, for example, the title of older asset versions even if they are not permitted to open their corresponding Asset page.
Table 3-5: All available permissions for asset type workflows.
The Asset Type Page
The Asset Type page contains details on an asset type in the database. The fields are:
Name. The name of the asset type.
Alias. The alias of the asset type.
Click the Sections menu option (default selected) to see the list of all sections and their corresponding attributes for the asset type. Click Workflow to see the workflow defined for the asset type. The Workflow option is disabled if the asset type does not use workflows — see Using Workflows with Asset Types for details. Click Preview to see a preview presentation of the corresponding Asset page populated with some placeholder data for an hypothetical asset having the current type.
Click Edit to edit the asset type, including adding, rearranging, and removing its sections or attributes, as well as enabling the use of workflows.
Click Duplicate to open the Add Asset Type page filled in advance with the current asset type’s sections and attributes as a starting point.
Click Delete to delete the asset type in the database. The deletion is not permanent — you can restore the deleted asset type by clicking Restore.
Click the expander button next to the Delete button and select Delete Permanently if you do want to permanently delete the asset type in the database. Permanent deletion will only succeed if the asset type is not assigned to any assets.
Examples of Workflows for Asset Types
This section lists a few applications of workflows for asset types. See also Examples of Workflows for Primitive Attributes and Examples of Workflows for Composite Attributes.
Started Timestamp
Add a Started primitive attribute of widget type Datetime picker to an asset type. Define a Free workflow for the attribute with an action transition:
Label: Set current time
From: No state value
To: Current timestamp
Add this workflow, together with the Status workflow from Examples of Workflows for Primitive Attributes, to the workflow of the asset type. Define a transition for the asset type workflow:
Label: Set started
From: Status / Approved
To: Status / Implementing
Perform transition activity: Started / Set current time
The transition fires when the Status attribute value changes from Approved to Implementing. As a side-effect, the Started attribute value is set to the current timestamp.
A Change value permission could be added to the Started workflow that prevents users from manually changing the timestamp.
Automatic User Assignment
Add the Responsible and Project Proposal workflows from Examples of Workflows for Primitive Attributes to the workflow of an asset type. Define a transition for the asset type workflow:
Label: Assign responsible
From: Project Proposal / Draft
To: [Project Proposal / Pending Approval by Engineering,
     Project Proposal / Pending Approval by Sales]
Perform transition activity: Responsible / Assign to Me
The transition fires when the Project Proposal attribute value changes from [Draft] to [Pending Approval by Engineering, Pending Approval by Sales], which happens, for example, when a user clicks the Request Approval button on the Asset page. As a side-effect, the user requesting approval is assigned to the Responsible attribute.
Deny Approval by Responsible
Continuing with the previous example, add a transition:
Label: Deny responsible
From: [Project Proposal / Approved by Engineering,
       Project Proposal / Approved by Sales]
To: Project Proposal / Approved by Management
Transition cancellation activity: Responsible / Current user
The transition fires when the Project Proposal attribute value changes from [Approved by Engineering, Approved by Sales] to [Approved by Management], which happens, for example, when a user clicks the Approve (Management) button on the Asset page. As a side-effect, the save is canceled if the manager trying to approve is currently assigned to the Responsible attribute.
The same business rule could have been accomplished by granting a Perform transition permission for managers to the transition with a state condition Not current user from the Responsible member workflow.
Restricted Asset Version
Add the Status workflow from Examples of Workflows for Primitive Attributes to the workflow of an asset type. Define two State expression conditions for the asset type workflow:
Label: Not suggested
Expression: NOT @status:suggested
 
Label: Approved/Implementing
Expression: @status:(approved OR implementing)
Conditionally grant the Open asset and Save asset permissions to a Project Manager group and a Simulation Engineer group using these state conditions:
Project Manager Open asset
Save asset
Simulation Engineer Open asset Not suggested
Save asset Approved/Implementing
Only the Project Manager group can open assets in the Suggested stage and save new versions of assets in the Suggested, Completed, and Canceled stages.
The same permissions for the Simulation Engineer group could have been accomplished by explicitly listing those state conditions from the Status workflow that do allow access.
Hide Modeling Tasks
Add the Modeling Tasks workflow from Examples of Workflows for Composite Attributes to the workflow of an asset type. Define a State expression condition for the asset type workflow:
Label: CAD provided
Expression: NOT @modeling_task:CAD
Conditionally grant the Open asset permission to a Simulation Engineer group using this state condition:
Simulation Engineer Open asset CAD provided
Assets for which all models are still in the CAD step will now be hidden from users in the Simulation Engineer group; visible assets will either have no model versions at all or at least one that has moved beyond the CAD step.