N1 Service Provisioning System 4.1 Reference Guide

Component Change Compatibility

This section enumerates the changes that can be made to a component, and whether they are call and/or install compatible.

Component Attribute Changes

Nature of Change 

Install Compatible 

Call Compatible 

non-final to final 

no 

yes 

final to non-final 

yes 

yes 

non-abstract to abstract 

no 

yes 

abstract to non-abstract 

yes 

yes 

more restrictive access 

no 

no 

less restrictive access 

yes 

yes 

change value of description, label, softwareVendor, or author 

no  

yes 

change value of name or path 

no 

yes 

change from simple to composite component 

no 

no 

change from composite to simple component 

no 

no 

Platform Changes

This section enumerates the changes that can be made to a platform, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

more general platform 

yes 

yes 

more specific platform 

no 

yes 

unrelated platform 

no 

yes 

Here, a platform X is more specific than Y if X is a descendant of Y. It is more general if X is an ancestor of Y.

LimitToHostSet Changes

This section enumerates the changes that can be made to LimitToHostSet, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

any change to limitToHostSet 

no 

yes 

Unlike platforms, the limitToHostSet names a generic, client-specified host set over which there is no explicit control. Its membership can change at any time, so there"s no way to enforce notions of more or less specific host sets.

Extends Changes

This section enumerates the changes that can be made to Extends, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

new base component instance of original 

no 

yes 

original base component instance of new 

no 

no 

new base component unrelated to original 

no 

no 

new base component install compatible with original 

yes 

yes 

new base component call compatible with original 

no 

yes 

Variable Changes

This section enumerates the changes that can be made to a variable, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

add a new variable 

no 

yes 

remove/rename a non-private variable 

no 

no 

remove/rename a private variable 

yes 

yes 

change final var default value 

no 

yes 

change non-final var default value 

yes 

yes 

non-final to final 

no 

yes 

final to non-final 

yes 

yes 

non-abstract to abstract 

no 

yes 

abstract to non-abstract 

yes 

yes 

more restrictive access 

no 

no 

less restrictive access 

no  

yes 

Component Ref List Changes

This section enumerates the changes that can be made to the Component Ref List, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

non-final to final 

no 

yes 

final to non-final 

yes 

yes 

new type instance of original 

no 

yes 

original type instance of new 

no 

no 

new type unrelated to original 

no 

no 

new type install compatible with original 

yes 

yes 

new type call compatible with original 

no 

yes 

Component Ref Changes

This section enumerates the changes that can be made to Component Ref, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

non-final to final 

no 

yes 

final to non-final 

yes 

yes 

non-abstract to abstract 

no 

yes 

abstract to non-abstract 

yes 

yes 

change installMode 

no 

no 

add a new component ref 

no 

yes 

remove/rename a nested component ref 

no 

no 

remove/rename a toplevel component ref 

no 

no 

add/modify/remove nested component argList args 

no 

yes 

add/modify/remove toplevel component argList args 

yes  

yes 

new type instance of original 

no 

yes 

original type instance of new 

no 

no 

new type unrelated to original 

no 

no 

new type install compatible with original 

yes 

yes 

new type call compatible with original 

no 

yes 

new nested comp instance of original 

no 

yes 

original nested comp instance of new 

no 

no  

new nested comp unrelated to original 

no 

no  

new nested comp install compatible with original 

yes 

yes 

new nested comp call compatible with original 

no 

yes 

Resource Changes

This section enumerates the changes that can be made to a resource, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

non-final to final 

no 

yes 

final to non-final 

yes 

yes 

non-abstract to abstract 

no 

yes 

abstract to non-abstract 

yes 

yes 

modify install path, name, group or user 

no 

yes 

modify rsrcName, rsrcVersion 

no 

yes 

Install, Control and Uninstall Block Changes

This section enumerates the changes that can be made to an install, control, or uninstall block, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

non-final to final 

no 

yes 

final to non-final 

yes 

yes 

non-abstract to abstract 

no 

yes 

abstract to non-abstract 

yes 

yes 

more restrictive access 

no 

no 

less restrictive access 

no  

yes 

add a new non-private block 

no  

yes 

add a new private block 

yes 

yes 

remove/rename a non-private block 

no 

no 

remove/rename a private block 

yes 

yes 

change body of block 

yes  

yes 

add/modify/remove local vars of block 

yes  

yes 

add/modify/remove params of private block 

yes 

yes 

add required param to non-private block 

no 

no 

add optional param 

yes 

yes 

remove optional/required param 

yes  

yes  

rename optional param 

yes  

yes  

rename required param of non-private block 

no 

no 

change param from optional to required in non-private block 

no 

no 

change param from required to optional 

yes 

yes 

change param displayMode 

yes  

yes 

change param prompt 

yes 

yes 

Snapshot Block Changes

Snapshot blocks generally have the same compatibility matrix as other blocks listed above, except for dealing with their prepare, capture and cleanup blocks.

Nature of Change 

Install Compatible 

Call Compatible 

add/modify/remove prepare/cleanup block 

yes 

yes 

add/modify/remove capture step 

yes 

yes 

Diff Ignore Changes

This section enumerates the changes that can be made to Diff Ignore, and whether they are call and/or install compatible.

Nature of Change 

Install Compatible 

Call Compatible 

add/modify/remove an ignore directive 

yes 

yes 

The ignore directives are only considered at diff runtime, and do not affect the state of existing snapshots in any way.