Specification Structure Edit Rules

In the Specification structure, the cut, copy, and paste operations have specific rules regarding the placement of Chapters, Requirement, and Comments.

A Chapter can be composed of other Chapters, Requirements, and Comments. When an object is pasted into a chapter, that object is inserted as a child, the last child entry, in the target chapter.

Requirements and Comments are individual objects. They do not represent a collection of any other objects. When an object is pasted into a Requirement or Comment, that object is either pasted above or below but at the same level, not a child level.

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)