Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
72:phase_freezes_prepare [2019/02/25 16:44] – [Configure Phase Freeze Support in the Metamodel] ext-bkkr72:phase_freezes_prepare [2019/10/17 21:50] emr
Line 23: Line 23:
       * If an association is not frozen, the source element might get additional associations or it might lose some even if it is frozen itself.       * If an association is not frozen, the source element might get additional associations or it might lose some even if it is frozen itself.
   * Process elements that are part of multiple phases will get duplicated when one of those phases is frozen, as each phase needs a different version of the element. The duplicate is moved to an element folder called "Duplicaes for <phase name>".   * Process elements that are part of multiple phases will get duplicated when one of those phases is frozen, as each phase needs a different version of the element. The duplicate is moved to an element folder called "Duplicaes for <phase name>".
-  * Frozen process elements are marked by a little check mark taht provides a link to the owning phase.+  * Frozen process elements are marked by a little check mark that provides a link to the owning phase.
   * Frozen core process elements are separated from the core process because they will not be updated anymore when the current valid version and the working revision are merged into a new valid version.   * Frozen core process elements are separated from the core process because they will not be updated anymore when the current valid version and the working revision are merged into a new valid version.
   * The process freeze operation will lock the process including the working revision and the valid version as long as the operation is running to ensure a consistent freeze result. This also means that only one freeze operation can be executed at a time in a single workspace.   * The process freeze operation will lock the process including the working revision and the valid version as long as the operation is running to ensure a consistent freeze result. This also means that only one freeze operation can be executed at a time in a single workspace.
Line 29: Line 29:
 ==== Configure Phase Freeze Support in the Metamodel ==== ==== Configure Phase Freeze Support in the Metamodel ====
  
-Phase Freeze needs to be enabled in the process metamodel in <font inherit/Courier New,Courier,monospace;;inherit;;inherit>PKitProcess</font>.<font inherit/Courier New,Courier,monospace;;inherit;;inherit>xml</font>. There you have to specify which subtypes of which element represent the entity to be frozen (phase root). In a typical case, you want to freeze a phase of your process, but not milestones which are also of type phase. Additionally, a Stages Script file needs to be configured to collect all dependent elements of the frozen phase taht should get frozen when the phase itself is frozen. (See example configuration below)+Phase Freeze needs to be enabled in the process metamodel in <font inherit/Courier New,Courier,monospace;;inherit;;inherit>Process</font>.<font inherit/Courier New,Courier,monospace;;inherit;;inherit>xml</font>. There you have to specify which subtypes of which element represent the entity to be frozen (phase root). In a typical case, you want to freeze a phase of your process, but not milestones which are also of type phase. Additionally, a Stages Script file needs to be configured to collect all dependent elements of the frozen phase that should get frozen when the phase itself is frozen. (See example configuration below)
  
 <code> <code>
Line 47: Line 47:
 </processtype></font> </processtype></font>
 </code> </code>
- 
  
 ==== Freeze Script Programming ==== ==== Freeze Script Programming ====
Line 65: Line 64:
  
 <code> <code>
-<font inherit/Courier New,Courier,monospace;;inherit;;inherit>importPackage(Packages.java.util);+importPackage(Packages.java.util);
 importPackage(Packages.de.methodpark.pkit.facade.impl); importPackage(Packages.de.methodpark.pkit.facade.impl);
 +
 function getSelfAndTransitiveChildren(self) { function getSelfAndTransitiveChildren(self) {
 var result = new Array(); var result = new Array();