Creating Life Cycle Templates

Overview of Creating Life Cycle Templates

A life cycle template is an XML file that defines the milestones and tasks that must be completed in order to place a champion model in a production environment, and to monitor and retire that model. You determine the milestones and tasks for a version in a version planning phase. For each task, you can define dependent tasks and assign users to complete or approve the tasks. By assigning a weight to each task in a milestone, you can track the progress of completing a milestone.
You create a life cycle template for a version before you create a version. A life cycle template is typically shared by multiple versions. When you create a version, the life cycle template that you want to use must be available from the Life Cycles perspective. Templates that appear in the Life Cycle perspective are the life cycle templates that have been uploaded to the SAS Content Server.
To create a life cycle template, you can use the SAS Model Manager Template Editor or you can create a life cycle template XML file using a text editor. When you create a life cycle template using the SAS Model Manager Template Editor, you can browse existing templates and select one to modify using a new name or you can create a new life cycle template.
SAS supplies four life cycle templates that you can use to create a template: Basic, Standard, Extended, and User Lifecycle templates. The Basic, Standard, and Extended templates are reserved templates and are provided only as examples. They are not intended for use by any organization. Reserved templates cannot be modified, but they can be saved using another name to create a new template. Templates that are not reserved can be uploaded to the SAS Content Server. The Browse Templates window indicates which templates are reserved.
The SAS Model Manager Template Editor uses standard windowing techniques to access pop-up menus and selection lists. The template editor automatically generates milestones and task identification numbers. The editor provides a list of SAS Model Manager users, also known as participants, for you to choose for task assignments.
When you save a template, the template is saved to a local or network location as an XML file using the required XML element structure. You save templates to create a backup of a template. A template can be used in SAS Model Manager only by uploading the template to the SAS Content Server. The SAS Model Manager Template Editor provides an Upload File menu selection.
If you create a life cycle template using an XML file, you can copy any life cycle template from the user-templates directory and modify the file with any text editor. When you modify an XML template file, you specify the milestone and task properties as XML element and element attributes. SAS Model Manager does not generate participant identification numbers or participant lists. You must specify them explicitly in the XML file.

The SAS Model Manager Template Editor Window

You use the SAS Model Manager Template Editor window to create or modify a life cycle or model template.
To open a life cycle template in the SAS Model Manager Template Editor window, follow these steps:
  1. From the SAS Model Manager window, select Toolsthen selectManage Templates.
  2. From the File menu, open a life cycle template:
    • To open an existing template on the SAS Content Server, select Browsethen selectBrowse Templates. The Browse Templates window appears. Select a template and click Open.
      An Existing Life Cycle Template
    • To open a new life cycle template, select New Life Cycle Template.
      New Life Cycle Template
    • To open a life cycle template that is stored on a local or network location, select Open.
When you open the SAS Model Manager Template Editor window to access a new or existing life cycle template, the editor displays three panes:
  • the left pane that displays the life cycle template milestones and tasks.
  • the upper right pane that displays the properties for the life cycle template or the selected milestone or task.
  • the lower right pane that displays the list of participants. Participants are SAS Model Manager users and groups.
When you open a new template, the tab at the top of the left pane is titled Untitled Template. The tab name changes to the template name when you save the template. The template name appears in the tab and as the root node in the life cycle template tree. The life cycle template tree has three nodes:
  • The root node is the name of the template.
  • Milestone nodes appear under the root node.
  • Task nodes appear under milestone nodes.
Developing a Life Cycle Template
When you select a node in the tree, the properties for that node appear in the upper right pane. Required properties are indicated by a blue star Blue Star. For a description of life cycle template properties, see Life Cycle Template Properties.
The lower right pane displays the life cycle participants, who are users and user groups who can be assigned to a task or who can be assigned to mark a task complete or approved.

Life Cycle Template Participants

Participant Roles

The following roles are used to determine who can be assigned to complete a task or who can mark a task complete or approved:
  • Model Manager: Usage is assigned to all SAS Model Manager users and groups.
  • Model Manager: Life Cycle Participant Usage is assigned to SAS Model Manager users and groups whose user ID or group ID appears in the Life Cycle Template Editor Participant list. Only users and groups that are assigned this role for a life cycle, and are in the Participant list can be assigned to the roles Model Manager: Life Cycle Assignee Usage and Model Manager: Life Cycle Approval Usage for the life cycle.
    Note: In order to change life cycle properties in SAS Model Manager, a user or a group must be assigned to the respective life cycle roles and the role of either Model Manager: Administration Usage or Model Manager: Advanced Usage.
  • Model Manager: Life Cycle Assignee Usage is assigned to users and groups to complete a task. Users who are assigned this role can be assigned to update the task Status field to Not Started, Started, and Completed.
  • Model Manager: Life Cycle Approval Usage is assigned to users and groups who can mark a task complete. Users who are assigned this role can be assigned to update the task Status field to Approved.
When you open the template editor, the users and groups that are assigned life cycle roles appear in the Participants list. You cannot add or delete users and groups from the Participants list. A best practice is to ensure that all users and groups have the appropriate life cycle roles assigned to them before you create a life cycle template in the template editor.

Selecting Life Cycle Participants

When you open the SAS Model Manager Life Cycle Template Editor, the Participants list displays the SAS Model Manager users and groups that have been assigned the role Model Manager: Life Cycle Participant. Only users and groups in this list can be assigned to complete a task or approve a task.
In the Properties pane, you designate a user or group to complete a task in the Assignee template property. You designate a user or group to approve a task in the Approver template property. When you click the ellipsis button for the Assignee or Approver properties, the Select Participants window displays the users and groups that can be assigned to those tasks.
The participants that you select in the Select Participants window determine the users that appear as a value in a version’s Life Cycle node task properties To Be Completed By and To Be Approved By.
  • If any user or group that you select in the Select Participants window is assigned the role Model Manager: Life Cycle Assignee Usage in the SAS Management Console User Manager, then only the selected users and groups that have that role appear as values for the To Be Completed By task property. Users that you select do not appear in the To Be Completed By task property if they are not assigned that role.
  • If no user or group is assigned the role Model Manager: Life Cycle Assignee Usage in SAS Management Console, then all template participants appear as values for the To Be Completed By task property.
  • If any user or group that you select in the Select Participants window is assigned the role Model Manager: Life Cycle Approver Usage in SAS Management Console, then only the selected users and groups that have that role appear as values for the To Be Approved By task property. Users that you select do not appear in the To Be Completed By task property if they are not assigned that role.
  • If no user or group is assigned the role Model Manager: Life Cycle Approver Usage, then all template participants appear as values for the To Be Approved By task property.
  • If the Assignee or Approver template properties are not assigned to any user or group, then all template participants appear as values for their respective version life cycle task properties To Be Completed By or To Be Approved By.
If you select a group to complete a task or approve a task, any or all members of the group can be responsible for completing the task or marking that the task is complete. The group members have the authorization to update the task Status field. However, only one member needs to set the corresponding milestone task to Completed or Approved.
Note: The SAS Model Manager administrator has permission to set any life cycle property value.

Using Groups as Assignee and Approval Participants

After a version is created, you cannot modify the life cycle definition for that version. This means that you cannot create new milestones and tasks or remove existing milestones or tasks. You cannot add or remove users or groups from the Participants list. However, the value of the task fields To Be Completed By and To Be Approved By can be changed to specify another user or group that is listed in the selection list for those task fields. These fields can be modified only by a SAS Model Manager administrator or by the current user that is assigned to complete or approve the task. If a group is specified, then any member of the group can modify fields.
A best practice is to assign the value of To Be Completed By and To Be Approved By to a group instead of to a user. If there is a chance that those responsibilities could be assigned to other users, you can make changes if you assign a group to those responsibilities instead of assigning an individual user. Specifying a group for the assignee and approval responsibilities is preferred because of the flexibility you then have to add or remove users in a group.
When you specify an individual user, only that user has the authorization to update the task Status field. If you specify a group, any member of the group can update the task Status field. The user ID of the group member who changed the status appears in the Completed By or Approved By fields.
Users can be added to or deleted from a group using SAS Management Console and no changes are needed in the life cycle template if a group is specified as an Assignee or Approver. For example, if a user leaves your organization and that user was the only assignee, then that user's SAS Model Manager user ID cannot be deleted from the system until the champion model is retired. If your organization hires a new analyst, you can add that analyst to a group that has the role of Model Manager: Life Cycle Participant Usage and Model Manager: Life Cycle Assignee Usage. That user can then complete a task and update the task Status field without having to create a new version and a life cycle template that includes that individual user.
When you assign a group to be an Assignee or an Approver, all users and groups in that group have the authority to change the task status. Therefore, ensure that the users and groups that are defined in the group are those users and groups that you intend to be an Assignee or Approver.
SAS Model Manager provides two groups, Model Manager Example Life Cycle Assignee Users and Model Manager Example Life Cycle Approver Users. Use these groups only as an example of how to configure a group in SAS Management Console for Assignees and Approver groups. Do not include them in your template.

The Browse Templates Window

Using the Browse Templates window, you can access life cycle templates that are used by SAS Model Manager and are stored on the SAS Content Server.
To open the Browse Templates window, from the SAS Model Manager Templates Editor, select Filethen selectBrowsethen selectBrowse Templates.
Browse Templates Window
The Browse Templates window lists life cycle and model templates that are stored on the SAS Content Server. The first three templates, Standard.xml, Basic.xml, and Extended.xml are life cycle templates that are supplied by SAS. A Yes value in the Reserved column indicates that the template cannot be modified. These templates are supplied by SAS. A No value indicates that the template can be modified.
You can perform the following tasks in the Browse Templates window:
  • To open a template in the Template Editor, select a template and click Open.
  • To save a template to a local or network location, select the template and click Save.
  • To delete a template, select the template and click Delete.

Create a Life Cycle Template from a Sample Template

SAS Model Manager supplies sample life cycle templates (Basic, Standard, Extended, and UserLifecycleTemplate) that you can use to create a life cycle template. To view the sample templates, select Filethen selectBrowsethen selectBrowse Templates. The templates that have Yes in the Reserved column of the Browse Templates window cannot be modified. Select a template and click Open. You can also view sample templates in the Life Cycles Perspective of the SAS Model Manager window.
Note: The UserLifeCycleTemplate.xml template that is supplied by SAS is not a reserved template and can be modified. When you create a life cycle using this template, rename the template before you modify it. Only a user or group with the role of Model Manager: Administration Usage can upload a template.
To create a life cycle template from a sample template, follow these steps:
  1. In the Template Editor window, select Filethen selectBrowsethen selectBrowse Templates.
  2. Select a template and click Open. The template name appears under Template Editor.
  3. Rename the template filename and Name property:
    1. Select Filethen selectSave As.
    2. Select a directory and a filename for the template. The filename must have an extension of .xml (for example, myLifeCycle.xml). The new template filename appears under Template Editor.
    3. Modify the template Name property value.
      Note: You cannot upload a template if the value of the Name property is the same for a template that has been uploaded to the SAS Content Server.
  4. Modify the template:
    1. To add a milestone, right-click the template name and select New Milestone. In the New Task window, complete the Name, Description, and Type fields. The Name and Type fields are required.
    2. To modify milestone properties, click the property and modify the properties in the Properties pane. Properties with an * are required. For a description of the properties, see Milestone Properties.
    3. To add a task, right-click a milestone and select New Task. In the New Task window, complete the Name, Description, and Type fields. The Name and Type fields are required.
    4. For each task, complete the task properties. For tasks that have multiple values, such as Dependencies, Assignees, and Approvers, click the value field for a list of values or click Ellipses button to assign a value. For a description of the properties, see Task Properties.
    5. To change the position of the milestone in the life cycle tree or to change the position of the task in the milestone tree, right-click the milestone name or the task name and select Move Up or Move Down. A task or milestone can be moved up or down only if no tasks are dependent on later tasks in the tree structure.
      Note: You can cut or copy milestones and tasks, and paste them as new milestones or tasks. To paste a milestone, right-click the template name and select Paste. To paste a task, right-click a milestone name and select Paste. When you cut or copy a milestone or task, dependencies on that task or milestone are deleted.
    6. To delete a milestone or a task, right-click the milestone name or task name and select Delete.
  5. When you have completed your changes, upload the template by selecting Filethen selectUpload File.
    Note: Only a user or group with the role of Model Manager: Administration Usage can upload a template.
  6. To save the template, select File then selectSave. Select a directory and a filename for the template. Saving the template creates a backup copy of the template.

Create a New Life Cycle Template

To create a new life cycle template, follow these steps:
Note: You can view sample life cycle templates in the Life Cycles perspective. Only a user or group with the role of Model Manager: Administration Usage can upload a template.
  1. From the SAS Model Manager Template Editor window, select Filethen selectNew Life Cycle Template.
    The Template Editor opens a template that has the name Untitled Template. Life cycle template, milestone, and task properties that display an asterisk ( * ) require a value for the property.
  2. Name the template and save it. Type a name in the Name field and select Filethen selectSave As. In the Save window, select the folder to save the template to. In the File name field, type the life cycle template name with an extension of .XML and click Save.
  3. Using a text editor, open the life cycle template XML file that you saved. Remove the individual participants who you do not want to appear in the Participants list. The participants are enclosed in <Participant> </Participant> tags. Be sure to remove the mdlmgrexampleassignees and mdlmgrexampleapprovers participants. If you do not remove these example groups, the To Be Completed By and the To Be Approved By version life cycle task properties cannot display only a list of participants.
    Save the file.
  4. In the SAS Model Manager Template Editor, select Filethen selectOpen. In the Open window, select the template and click Open.
  5. Assign values to the life cycle properties Description, Version, and Default. For more information, see Template Properties.
  6. Create milestones for the life cycle. For each new milestone, right-click the template name and select New Milestone. The New Milestone window appears.
    New Milestone Window
    Complete these fields:
    1. Enter a name and an optional description for the new milestone. The Name field is required.
    2. Click the Type field, select a milestone type, and then click OK. For more information, see Milestone Properties. The milestone is added to the template and assigned a Display ID value.
  7. For each milestone, define the tasks for the milestone. Right-click the milestone and select New Task. The New Task window appears.
    New Task Window
    Complete these fields:
    1. Enter a name and an optional description for the task. The Name field is required.
    2. Click on the Type field and select a task type. Click OK. For more information, see Task Properties.
  8. For each task, complete the task properties. For more information, see Task Properties.
  9. To change the position of the milestone in the life cycle tree or to change the position of the task in the milestone tree, right-click the milestone name or the task name and select Move Up or Move Down. A task or milestone can be moved up or down only if, after the move is complete, no tasks are dependent on later tasks in the tree structure.
  10. To delete a milestone or a task, right-click the milestone or task and select Delete. When you delete a task, dependencies on that task are deleted.
    Note: You can cut or copy milestones and tasks, and paste them as new milestones or tasks. To paste a milestone, right-click the template name and select Paste. To paste a task, right-click a milestone name and select Paste. When you cut or copy a milestone or task, dependencies on that task or milestone are deleted.
  11. When you have completed your changes, upload the template by selecting Filethen selectUpload File.
    Note: Only a user or group with the role of Model Manager: Administration Usage can upload a template.
  12. To save the template, select File then selectSave. Select a directory and a filename for the template. Saving the template creates a backup copy of the template.

Modify a Life Cycle Template

To modify a life cycle template, follow these steps:
  1. From the SAS Model Manager window, select Toolsthen selectManage Templates.
  2. Select one of the following templates to open:
    1. To open a template on the SAS Content Server, select Filethen selectBrowsethen selectBrowse Templates. Select a template and click Open.
    2. To open a backup copy of a template, select Filethen selectOpen. Select the local or network location, select the file, and click OK.
  3. To modify life cycle properties, select the property and make changes to the property value. For more information, see Template Properties.
  4. Create or modify a milestone:
    • To create a new milestone, right-click the template name and select New Milestone. Complete the milestone properties.
    • To modify milestone properties, select the property and make changes to the property value.
    For more information, see Milestone Properties.
  5. Create or modify a task:
    • To create a new task, right-click a milestone and select New Task. Complete the task properties. Click Ellipsis button to make changes to the property value.
    • To modify a task property, select the property and make changes to the property value. Click Ellipsis button to make changes to the property value.
    For more information, see Task Properties.
  6. To delete a milestone or a task, right-click the milestone or task and select Delete. If you delete a task, dependencies on that task are deleted.
  7. When you have completed your changes, upload the template by selecting Filethen selectUpload File.
    Note: Only a user or group with the role of Model Manager: Administration Usage can upload a template.
    Each time you upload a template to the SAS Content Server, SAS Model Manager increments the template’s Version property value by 1. If you create a backup copy of the template after you upload the template to the SAS Content Server, increment the Version property value by 1 and then save the template. This action ensures that your backup copy is the same version as the version on the SAS Content Server.
  8. To save the template, select File then selectSave. Select a directory and a filename for the template. Saving the template creates a backup copy of the template.

Delete a Life Cycle Template

To delete a life cycle template, follow these steps:
  1. Open the Browse Templates window. From the SAS Model Manager Template Editor, select Filethen selectBrowsethen selectBrowse Templates.
  2. Select the template. Templates with a Yes in the Reserved column cannot be deleted.
  3. Click Delete. Click Yes to confirm the deletion.

Life Cycle Template Properties

Template Properties

Here is a list of the life cycle template properties.
Property Name
Description
Name
Identifies the name of the life cycle template. This property is required.
Description
Specifies user-defined information about the life cycle template.
Version
Specifies a life cycle version number. A version number is an integer number. Each time you upload a version of a template to the SAS Content Server, the version number is incremented by 1. The version number for each life cycle template is unique to that template. This property is required.
SAS Model Manager checks for new versions each time it starts. If a new life cycle version is detected, SAS Model Manager uses the updated life cycle template for new versions that specify that template. Any subsequent reference of the template uses the newest version of the template.
Default
Specifies whether the life cycle template is the default template that is used when you create a new version in a project. Only one life cycle template in the middle-tier server, user-template directory can be the default template. Select the check box to set the template to be the default template.
This property is required.

Milestone Properties

Here is a list of the milestone properties for the life cycle template.
Property Name
Description
Name
Identifies the name of the milestone. This property is required.
Display ID
Displays a system-supplied milestone identifier that is an integer greater than 0. A milestone identifier is based on the order in which it appears in the life cycle definition. For example, the first milestone in the life cycle template has an identifier of 1. The second milestone has an identifier of 2.
Description
Specifies user-defined information about the milestone.
Milestone Phase
Specifies the phase for the milestone. The milestone phase is for information only. The value that you select does not affect life cycle processing by SAS Model Manager. Here is a list of valid milestone phases:
Develop
specifies that the milestone has development tasks such as registering models and ensuring that a version has all of the required resources for validating candidate models.
Test
specifies that the milestone has testing tasks such as validating a model's input and output variable data structure and creating reports to compare the scores of candidate models.
Staging
specifies that the milestone has staging tasks such as exporting a champion model to a SAS metadata repository, publishing a model to a channel, and publishing In-Database scoring functions to a database.
Production
specifies that the milestone has production tasks such as scoring a champion model in a production environment, and monitoring a champion model's performance.
Retire
specifies that the milestone has retirement tasks such as removing a model from a production environment.
User-defined
specifies a custom milestone for your organization, such as indicating that a champion model is in compliance with government regulations or industry process standards.

Task Properties

Here is a list of the task properties for the life cycle template.
Property Name
Description
Name
Identifies the name of the task. This property is required.
Display ID
Displays a system-supplied task identifier in the form milestone#.task# (for example 1.1) that identifies the milestone that the task is a part of as well as the task. Each milestone and task identifier is based on the order in which it appears in the life cycle definition. For example, the first milestone in the life cycle template has an identifier of 1. The second milestone has an identifier of 2. The identifier for the first task in milestone 1 is 1.1. The second task in milestone 1 has an identifier of 1.2.
Dependencies
Identifies the display ID for a task that must be completed before this task can be completed.
Description
Displays user-defined information about the task.
Task Type
Specifies a type for the task. Here is a list of valid task types:
User-defined
identifies the task as a custom task for your organization. A user-defined task represents a step in your organization's model life cycle that you would like to track using SAS Model Manager. SAS Model Manager does not perform any tests or verify that any project or version tasks have been performed for any user-defined tasks.
Sign-off
specifies that all of the milestone tasks are complete and have been approved.
Declare Production
specifies that the champion model is ready to be exported to the production environment.
Set Champion
specifies that the task is to determine a champion model. Before this task can be completed a champion model must be set for the version that contains the champion model.
Retire Champion
specifies that the champion model is retired.
Assignees
Specifies a user or group name from the Participants list. The specified user or any member of the specified group is the user who is assigned to complete the task. The specified user or group members are the only users who are authorized to set the task Status field to Not Started, Started, or Completed.
Assignees can be unassigned. If this field is unassigned, the following rules apply:
  • Updates to the task status are not required.
  • If any users or groups are assigned the role Model Manager: Life Cycle Assignee Usage, then only those users and groups can modify the task status.
  • If the role of Model Manager: Life Cycle Assignee Usage is not assigned to any user or group, then any SAS Model Manager user can modify the task status.
Approvers
Specifies a user or a group from the Participants list. The specified user or any member of the specified group is the user who is responsible for approving the task and changing the approval status. The specified user or any member of the group is authorized to set the task Status field to Approved.
Approvers can be unassigned. If this field is unassigned, the following rules apply:
  • The task approval status is not required to be updated.
  • If any users or groups are assigned the role Model Manager: Life Cycle Approval Usage, then only those users and groups can modify the task approval status.
  • If the role of Model Manager: Life Cycle Approval Usage is not assigned to any user or group, then any SAS Model Manager user can modify the task approval status.
Weight
Specifies a percentage either as an integer or a fractional number that indicates the relative work effort that is required by the task to complete the milestone. SAS Model Manager uses weight values to calculate the percentage that is complete for a milestone. The weight appears as a property for a version's Life Cycle folder. If you use the Weight property, the weight values for all tasks in a milestone should add up to 100. When weights for a milestone do not add up to 100, SAS Model Manager performs a weight proportion adjustment so that the sum of those weights within a milestone adds up to 100.
Note: User-defined weights are not explicitly adjusted. Weights remain as they were entered and are not adjusted.
Duration
Specifies a number that indicates the amount of time that is allocated to complete the task. The default duration unit is the number of days.