More Related Content Similar to Customizing Change Management Similar to Customizing Change Management (20) Customizing Change Management2. aras.comCopyright © 2013 Aras. All Rights Reserved.
A C E 2 0 1 3
Customizing Change Management
Learn how to modify Workflows &
Lifecycles to match your business
processes
3. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 3
Agenda
Review a Standard Change Process (ECN)
Change Process Customization:
Add steps to a workflow
Disable unneeded validation rules
Rename a Lifecycle state
Add a validation rule
Set a property on change item release
Creating a new Change Process
Conclusions
4. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 4
Standard ECN Process
Customizable
Easily modify workflow to match your business process
Modify Activities, Life Cycle states, etc.
Add or change data validations
Extensible
Solution framework designed for expanding existing
functionality
Majority of logic contained in a single method
Core behaviors driven from Life Cycle, not Workflow
5. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 5
Standard ECN Workflow
Submit ECN
ECN
Planning
Update
Documents
Review
Documents
ECN Audit
ECN
Released
Workflow models activities that people perform
Based on the CMII standard
Assume analysis of the change is done upfront on an ECR
This is mostly sequential process with only a review loop
Other change items have different workflows
6. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 6
New In Planning In Review ReleasedIn Work
Standard ECN Lifecycle
Lifecycle models all possible states of an item
State tells anyone looking at the item where it is in
its lifecycle
Lifecycle drives change logic
7. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 7
New In Planning In Review ReleasedIn Work
Standard ECN Process
Submit ECN
ECN
Planning
Update
Documents
Review
Documents
ECN Audit
ECN
Released
Workflow drives Lifecycle, Lifecycle drives Logic
Workflow Promotions used to move the ECN from
one state to the next
8. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 8
New In Planning In Review ReleasedIn Work
Standard ECN Process
Submit ECN
ECN
Planning
Update
Documents
Review
Documents
ECN Audit
ECN
Released
Completion Check Validation
Transition Validation
Affected Item Processing
Release Logic
Method PE_ChangeItemTransition
Method PE_OnChangeItemRelease
9. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 9
PE_ChangeItemTransition
Validation and Affected Item Processing for:
ECN
Simple ECO
Express ECO
Express DCO
Primary Methods:
ValidateState: Completion Check Validation
ValidateTransition: Transition Check Validation
ProcessTransition: Affected Item Processing
10. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 10
PE_OnChangeItemRelease
Calls PE_update_has_change_pending method to
update the Changes Pending flag on Affected Items
Calls Set Release Date to set the release date on the
ECN
11. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 11
Common ECN Customizations
Adding steps to the workflow
Disabling an unneeded validation rule
Renaming a Lifecycle state
Adding a validation rule
Setting a property on ECN release
12. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 12
New In Planning In Review ReleasedIn Work
Custom ECN Workflow
Submit ECN
ECN
Planning
Update
Documents
Internal
Review
ECN Audit
ECN
Released
No code changes necessary
Just make sure the Promotions are on the first
workflow activity within the State
Assign
Resources
Customer
Approval
13. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 13
Custom ECN Workflow
Promotions Tab
Promotion from
In Work to In Review
Need to update PE_ChangeItemTransition to support new LifeCycle states and transitions
14. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 14
Disabling a Validation Rule
class ECN : ChangeItem
{
...
protected override ResultStatus ValidateState()
{
...
switch (this.State)
{
case "In Planning":
//thisValidationRules.IsAffectedItemExists(status);
...
protected override ResultStatus ValidateTransition()
{
switch (this.Transition.ToString())
{
case "In Planning->In Work":
//thisValidationRules.IsAffectedItemExists(status);
Search for the
class for your
change type
ValidateState()
does Completeness
Checks
Comment out the rule
you want to disable
ValidateTransition()
does transition rules
NOTES:
1. ValidateState is on line 554
2. ValidateTransition is on approximately line 600
a. Matches on specific transition such as ‘In Planning->In Work’ and then calls a set of
individual methods to process validations such as:
i. Check Affected Id and New Item Id
15. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 15
class ECN : ChangeItem
{
...
protected override ResultStatus ValidateState()
{
...
switch (this.State)
{
case "Scheduling ":
...
protected override ResultStatus ValidateTransition()
{
...
switch (this.Transition.ToString())
{
case "Scheduling->In Work":
...
public override Item ProcessTransition()
{
...
switch (this.Transition.ToString())
{
case "Scheduling->In Work":
...
Renaming a Lifecycle State
ValidateState()
does Completeness
Checks
16. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 16
Adding a Validation Rule
Add to the Validation
Rule Interface
…
interface IChangeItemValidationRules
{
…
void isChangeItemTitlePopulated(ResultStatus status);
}
…
abstract class ChangeItem : ItemContext, IChangeItemValidationRules
{
…
#region Validation Rules
void IChangeItemValidationRules.isChangeItemTitlePopulated(ResultStatus status)
{
string title = this.Item.getProperty("title","");
if (title==""){
status.AddError("ValidateChangeItem_IsAffectedTitlePopulated",this.Type,this.Number);
}
}
class ECN : ChangeItem
{
…
protected override ResultStatus ValidateState()
{
…
switch (this.State)
{
case "In Planning":
…
thisValidationRules.isChangeItemTitlePopulated(status);
…
protected override ResultStatus ValidateTransition()
{
…
switch (this.Transition.ToString())
{
case "In Planning->In Work":
…
thisValidationRules.isChangeItemTitlePopulated(status);
…
Implement the rule
Add to ValidateState()
Add to
ValidateTransition()
17. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 17
Setting an ECN Property
this.setAction("PE_update_has_change_pending");
this.apply();
this.setAction("Set Release Date");
this.apply();
Item chgItem = this.newItem(this.getType(),"edit");
chgItem.setProperty("is_complete","1");
chgItem = chgItem.apply();
return this;
Edit PE_OnChangeItemRelease
Add logic to edit the
ECN
18. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 18
Creating a new Change Process
Create your change ItemType and a relationship
to Affected Item
Create your Workflow and LifeCycle
Edit PE_ChangeItemTransition
Copy an existing Change Item class
Copy existing validation rules and transition processing
Add any new validation rules or processing
Link your workflow, lifecycle and logic
It’s not hard to do
19. aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 19
Conclusions
Existing change processes can be adapted
Workflow changes typically need no scripting updates
Lifecycle changes may require minor scripting changes
Validation or transition changes require some scripting
Setting change item properties is straightforward
Once you understand where everything is done, changes
become much faster & easier
New change processes can be created
Copy workflow, lifecycle and code from existing items
Leverage existing validation rules and processing logic
Customize as needed… quickly, easily and can be upgraded
Editor's Notes Notes:ValidateState is on line 554ValidateTransition is on approximately line 600Matches on specific transition such as ‘In Planning->In Work’ and then calls a set of individual methods to process validations such as:Check Affected Id and New Item Id Notes:ValidateState is on line 554ValidateTransition is on approximately line 600Matches on specific transition such as ‘In Planning->In Work’ and then calls a set of individual methods to process validations such as:Check Affected Id and New Item Id Notes:ValidateState is on line 554ValidateTransition is on approximately line 600Matches on specific transition such as ‘In Planning->In Work’ and then calls a set of individual methods to process validations such as:Check Affected Id and New Item Id