Cut and Copy Parent Node Validation Rules
For operations such as "Cut" and "Copy", the validation has to be on
the Parent node and not on the selected node. The selected node could
be released or reserved by another, but as long as the parent node (Spec
or Chapter) is in a non-frozen state, then the child nodes can be cut.
So the validations for "Cut" and "Copy" are described in Columns 2 and
3. Column 4 ("None") is if the selected node happens to be the Spec.
User Action |
Parent of selected node is a Specification
or Chapter |
Selected node is a specification |
Released or reserved by other |
Not released or reserved by other |
Validation: None |
Cut |
Invalid--*Frozen structure |
Yes--*Non-Frozen, allowed |
Invalid--Operation not
permitted |
Copy |
Yes--Operation Allowed |
Yes--Operation allowed |
Invalid--Operation not
permitted |
*Frozen state means the Object
currently disallows either a "FromDisconnect" or is Reserved by someone
other than the current user. Non-frozen state means the Object allows
a "FromDisconnect" and is either Reserved by current user or is not reserved
at all. |

Target Identification for Paste as Child, Paste Above and Paste Below-
For the operations "Paste as Child" or "Paste Above" or "Paste Below",
it is a two step process.
Step 1
This step involves identifying what is the Target Container in which
the cut/copied node goes into. In some cases, the Target Container is
the same as the selected node. In other cases, it is the parent of the
selected node.
From the sample
Specification structure shown here, assume we cut "--Requirement 1".
Specification |
- Chapter 1 |
- - Requirement 1 |
- - Comment |
- Chapter 2 |
If we try to paste it into different nodes, the Target container could
be the selected node or its parent, as illustrated here.
Paste as Child Chapter 2 - Target container is Chapter 2
Paste Above Chapter 2 - Target container is Spec
Paste Below Chapter 2 - Target container is Spec
Paste as Child into Comment - Invalid
Paste Above Comment - Target container is Chapter1
Paste Below Comment - Target container is Chapter1
Paste as Child into Spec - Spec is target container
Paste Above Spec - Invalid
Paste Below Spec - Invalid
User Action |
What is the target container if
the selected node is |
Specification |
Chapter |
Requirement / Comment |
Paste Above/Below |
Invalid--Operation not allowed |
Parent of selected node |
Parent of selected node |
Paste as child |
Selected node |
Selected node |
Invalid--Operation not permitted |
Target container = selected node
in some cases (Selected node is a Chapter, User Action is Paste as Child)
and Parent of Selected node in other cases (see matrix) |
Step 2
In this step the Paste process determines if the Target Container
is frozen or not. If it is not frozen, the Paste is allowed.
User Action |
Target container is a Specification
or Chapter |
Released or reserved by other |
Not released or reserved by other |
Paste Above |
Invalid (Frozen Structure) |
Yes (paste above selected node) |
Paste Below |
Invalid (Frozen Structure) |
Yes (paste below selected node) |
Paste as child |
Invalid (Frozen Structure) |
Yes (paste as last child) |