Configure the Change Management module to use the new Task Planner

Note The following step applies only to customers who upgrade to Service Manager Hybrid from a 9.3x system that has PDCP3 or PDCP4 installed.

If you are upgrading to Service Manager 9.50 Hybrid from a Classic version of Service Manager, you must add the Task Planner form to your Change format, and then run the "Legacy change/task data to new taskplanner" data migration script, if you want to use the new Task Planner.

An improved version of the Task Planner was introduced in Service Manager 9.40. To use it, make sure that the following code elements are successfully implemented (this disables the previous version of the Task Planner). To do this, you can use conflict resolution or manually change the code elements according to following table.

Record type

Record name

Modifications

Comments

Object

changeModel

Uses the "Change Model" workflow, the workflow location is "In Object," and the file-level rule sets are configured to use the new Task Planner.

 

cm3t

The following object-level rule sets are configured to use the new Task Planner:

  • After successful add:

    .common.taskplan.noneplantasktochangeplan

  • On enter:

    .common.taskplan.validateoutputontask

  • After successful enter:

    .common.taskplan.sync.task.titleandstatus.
    tochangeplan

    .common.taskplan.updatedependenttaskstatus

  • Initialization:

    .common.taskplan.taskticket.init

  • On display:

    .common.workflow.init.vars

  • On update:

    .common.taskplan.savecontextconfig

  • After successful update:

    .common.taskplan.sync.task.titleandstatus.tochangeplan

 

 Process

changeModel.buildtable

The following initial JavaScript is commented:

lib.changeModel.saveFromXML(true);

This record was used by optionid 441 to save taskxml files to the changeModel table for the Classic Task Editor.

Process

changeModel.init

The following initial JavaScript is commented:

lib.changeModel.createXML(vars.$L_file);

This record was used to initialize a taskxml file to be displayed by the Classic Task Editor.

Process

changeModel.save

The following initial JavaScript is commented:

lib.changeModel.saveFromXML();

This record was used to save taskxml files to the changeModel table.

Process

change.open.save

  • RAD expressions are evaluated before the change.openPlanTasks RAD call.
  • The following expression is removed:

    if ($L.exit="added" and filename($L.file)="cm3r") then ($L.changePlan=jscall("changePlan.createPlan", $L.file, changeModel in $L.file);$L.void=rtecall("copycurrent", $L.errcode, $L.phase.save, $L.phase))

  • Disabled calling the change.openPlanTasks RAD.

 

Process

change.update.save

  • RAD expressions are evaluated before the apm.mb.ok RAD call.
  • The following expressions are removed:

    • if (filename($L.file)="cm3r") then ($L.changePlan=jscall("changePlan.getPlan", $L.file))
    • $L.task.list = "";if (filename($L.file) = "cm3r" and not  (same(current.phase in $L.file, $L.orig.phase))) then ($L.task.list = jscall("changePlan.getNeedToCloseTaskList", $L.orig.phase, $L.changePlan, nullsub(allow.open.tasks in $L.phase, false), workflowName in $L.wfPhase, current.phase in $L.file))

    • if ($L.task.list~="") then ($L.continue = false;$L.exit="bad.val"; $L.opentask.msg = scmsg(550, "cm3", {$L.task.list}))

    • if ($L.continue=false and not  (null($L.opentask.msg)) and $G.bg) then ($L.void=rtecall("msg", $L.rc, $L.opentask.msg))
  • Disabled calling the apm.mb.ok RAD
  • RAD expressions are evaluated before the change.openPlanTasks RAD call.

  • The following expression is removed:

    if (filename($L.file)="cm3r") then ($L.success.flg=rtecall("refresh", $L.errcode, $L.changePlan))

  • Disabled calling the change.openPlanTasks RAD

 

Process

changePlan.buildtable

  • RAD expressions are evaluated before the change.openPlanTasks RAD call:
  • The following expression is removed:

    • if (filename($L.file)="cm3r") then ($L.changePlan = jscall("changePlan.getPlan", $L.file))

  • Post RAD expressions: the following expressions are removed:
    • $L.void=jscall("changePlan.createXML", $L.file)

    • $L.exit="refresh"

  • Disabled calling the change.openPlanTasks RAD

  • The following initial JavaScript is commented:

    lib.changePlan.saveFromXML(true);

This record is used by optionid 441 to save taskxml files into the changeModel table for the legacy Task Editor.

ScriptLibrary

ApplyChangeModel

The following script is commented:

addTasksToChangePlan(change, changeModel);

 

Additionally, you must check that the following code elements are correctly implemented before you use the new Task Planner. To do this, you can use conflict resolution or manually change the code elements according to following table.

Record type Record name Modifications Comments
format chm.cm3r.tasks.horz The old Task Editor widget is replaced with the new Task Planner widget. These are the out of box formats. Please customize your own formats accordingly if you are not using out of box formats.

chm.task

chm.standard.registration

chm.standard.pln.sch

chm.standard.execution

chm.standard.pir

chm.standard.backout

chm.normal.registration

chm.normal.rsk.imp

chm.normal.tcab.approval

chm.normal.build.test

chm.normal.dcab.approval

chm.normal.deployment

chm.normal.backout

chm.normal.pir

chm.emergency.registration

chm.emergency.rsk.imp

chm.emergency.approval

chm.emergency.build.test

chm.emergency.implmt

chm.emergency.backout

chm.emergency.pir

A new Task Context tab is added to dynamically display context-related record information that is planned during the task plan.
Triggers

trigger.name="trigger.changeModel.remove.taskplan"

and table.name="changeModel"

A new trigger is added to remove task plan-related information once a changeModel record is deleted.  

Update your customized formats

If you do not plan to use the out-of-box ChangeModel or Task formats, you must configure the Task Planner widget in your tailored ChangeModel and Task formats as described in the following table.

Task Planner property Value in ChangeModel format Value in Task format
Editor type Model Ticket
Category Category Header/category
ID id Header/number
Editable Yes Yes
Parent file cm3r cm3r

Additionally, you must manually add the "Additional Properties" tab to the Change and Task details forms, in order to display the Additional Properties information for Changes and Tasks. To do this, manually add references to the following subformats in the relevant formats:

  • Change format

    common.taskplan.parent.InputOutput.subform

  • Task format

    common.taskplan.task.InputOutput.subform

Data migration

For more information about how to migrate your data, refer to Appendix B: Data migration.