Review Document

Document Panes

ReqView presents structure information about the current document in the left pane, structured table view of the document in the center pane and detailed information about the selected document object in right panes.

The left pane Contents displays the table of contents helping you with navigation in the document structure. You can toggle the Contents pane by View > Contents Pane menu or by CtrlAltT shortcut.

The right panes display details of the selected object. The Attributes pane list custom attributes of the current document object. You can toggle it by View > Attributes Pane menu or by CtrlAltA shortcut.

The Discussion pane shows discussion comments related to the current document object. You can toggle it by View > Discussion Pane menu or by CtrlAltD shortcut.

The Links pane shows traceability links related to the current document object grouped by link type. You can toggle it by View > Links Pane menu or by CtrlAltL shortcut.

The History pane displays hisryry of changes of the current document object. You can toggle it by View > History Pane menu or by CtrlAltH shortcut.

FullScreen.png

Requirements Table

The center pane displays the Requirements Table which combines a tree view of the current document structure and a table view with columns displaying additional information for each object. The Requirements Table can display following columns:

  • ID - unique requirement identifier
  • Description - combined requirement section number, heading, text description and attachments
  • Custom Attributes - summary of custom attributes which are not displayed in separate columns
  • Links - list of all outgoing and incoming links grouped by relation type; you can follow each link by clicking on the object ID
  • Discussion - comments related to the requirement
  • custom attributes
  • custom template columns

You can refresh the table view by by View > Refresh menu or by pressing F5 shortcut.

Default View

When you open a project, the visible columns and their widths are set up for each document according to the Default View saved in the Project File or Project Folder.

You can customize the table view for each document:

  • display or hide table columns from View > Table Columns menu or by pressing button on the right upper corner of the Requirements Table, and
  • reorder or resize columns by dragging and dropping a column header.

The current table view given by order, widths and display status of all table columns is persistently saved and restored after each application restart.

To save your current document view to the Project File or Project Folder as the Default View use the Document > Default View > Set Default View menu item and save the project by File > Save.

To restore the Default View saved in the Project File or Project Folder use the Document > Default View > Restore Default View menu item.

Note that Template Columns are only stored in your current view. If you want to persist a Template Column change in the Project File or Project Folder, you need to check the “Update the default view” check box in the Template Column dialog and save the project.

Status Icons

The ID column can display following status icons:

Icon Description Appears when
Unsaved change The object was changed since the time the current document was opened and has not been saved yet to a file.
Comment The object is commented.
Attachment The object has at least one attachment.
Link The object is linked with other requirement or object.
Deleted The object is marked as deleted, but not yet purged (completely removed from the document). The object can be undeleted.
Cut The object is cut in the clipboard and will be moved on paste operation.
Copied The object is copied in the clipboard and will be copied on the paste operation.

Document Sections

ReqView document is structured into numbered sections. A section number is automatically generated for an object either if the object has heading attribute set or the object has at least one child.

Tip: You can assign a section number to an object with only text description by setting heading attribute to a space (“ ”).

You can collapse or expand a selected document section by clicking on / icons on the right of the section name or by CtrlSpace shortcut.

You can collapse all document sections by View > Collapse All menu or expand them by View > Expand All menu.

Attachments

Document objects can have image or file attachments. You can open an attachment in your browser by clicking on the attachment link in the Description column. If your browser cannot display the attachment, it will be automatically downloaded.

You can show / hide an image attachment by Show Image / Hide Image in the context menu.

AttachmentContextMenu.png

You can also show / hide all image attachments by View > Image Attachments > Show All Images / View > Image Attachments > Hide All Images menu. If you enable Edit > Preferences menu > Show images** option then the images are loaded automatically after opening a project.

Tip: Hiding image attachments in large documents or documents with large number of attachments usually significantly improves application performance.

Goto Document Object

You can jump directly to an object with a specific ID by View > Go To menu or by using CtrlG shortcut. In the opened Go To dialog enter the object ID including document ID prefix if the object is from a different document.

GotoDialog.png

Sort Document

You can sort the Requirements Table by clicking on a chosen column heading. If you click on the same column heading again then you change the sort order. Sorting can be reset to the default sorting by the natural document order by clicking on Description column heading.

Note that you cannot sort by Custom Attributes and Links columns and columns corresponding to custom attributes of xhtml type.

Filter Document

You can filter rows of the Requirements Table by entering a filter condition in the filter input field displayed on the top right corner of the screen. You can quickly focus this field by pressing CtrlShiftF shortcut.

You can activate or deactivate the current filter by clicking on icon or by pressing CtrlAltF shortcut.

Note that when the current filter is active then the Requirements Table does not show the document hierarchy, i.e., the Description column is not indented according the section level.

Filter Logical Value

You can filter all objects with a given value of a boolean (bool) attribute by choosing a attribute item from the filter suggestions list.

Examples:

  • Deleted matches document objects marked as deleted
  • Dirty matches document objects changed since the last time when the project was saved

Filter Numeric Value

You can filter all objects with a given value of a numeric (int, real and date) custom attribute by choosing a attribute item from the filter suggestions list and entering one of <, >, <=, >=, = conditions.

Examples:

  • Story Points => 5 matches document objects with estimation set to at least 5 story points
  • Costs < 1000 matches document objects with costs lower than $1000
  • Deadline <= 2018-06-30 matches document objects with deadline set to June 30, 2018 or sooner

Filter Text Value

You can filter all objects matching a given text condition in a text (int, real and date) attribute or in a Template Column by choosing a attribute or template column item from the filter suggestions list and choosing a keyword from the list or entering a “substring” or a /regular expression/ condition.

Note that if you choose a keyword from the list without specifying an attribute before then the keyword is matched in all text attributes.

Examples:

  • Text: traceability matches document objects with text description containing keyword “traceability”
  • Text: “will” matches document objects with text description containing substring “will”
  • Text: /\Wwill\W/ matches document objects with text description containing word “will” (case insensitive)
  • Satisfies: “NEEDS-13” matches document objects containing containing “NEEDS-13” string in Satisfies template column

Filter Enumeration Value

You can filter all objects with a given value of an enumeration (enum) custom attribute by choosing attribute and then a enumeration value from the filter suggestions list.

Examples:

  • Status: Implemented matches document objects with status set to “Implemented”
  • Type: Functional Requirement matches document objects with typeset to “Functional Requirement”

Filter Null Value

You can filter all objects with null value of a numeric or text attribute by choosing attribute from the filter suggestions list and pressing Enter without entering its value.

Example:

  • Text: is null matches document objects with null text attribute

Filter Section Number

You can filter all objects from the given section by choosing Section item from the filter suggestion list and entering a section number.

Example:

  • Section: 1.2 matches document objects in section 1.2 and its subsections

You can filter all objects with outgoing or incoming links of a given type by choosing a link type or link type item respectively from the filter suggestions list.

Similarly, you can filter all objects with origin reference (see Inherited Links documentation section) by choosing Origin or Copies item respectively from the filter suggestion list.

You can optionally choose Suspect item from the filter suggestion list before a link type to add condition that the given link type should have Suspect Link Flag set.

Examples:

  • Satisfies matches document objects with at least one outgoing satisfaction traceability link
  • Is Satisfied matches document objects with at least one incoming satisfaction traceability link
  • Origin matches document objects which were copied with enabled Link to Origin option
  • Copies matches document objects which were pasted with enabled Link to Origin option
  • Suspect Satisfies matches document objects with at least one outgoing satisfaction traceability link with suspect flag set

Logical Operators

You can filter combination of several conditions using AND, OR and NOT logical operators in disjunctive normal Form (DNF) according to the following rules:

  • Filter can consist of one or more logical clauses joined by logical OR. The filter matches an object if any clause is valid for the object.
  • Each logical clause can consist of one or more conditions joined by logical AND. A clause is valid for an object if all conditions are valid.
  • Any logical condition can be negated by logical NOT operator.
  • Each logical condition is valid if of the provided values match the condition criterion.

Example:

Lets assume that we want to filter all document objects with attribute type set to “User Story” AND attribute status set to “Verified”.

FilterAND.png

You can enter this filter as follows:

  1. Input “ty” string, choose “Type” attribute from the filter suggestions list and then press Enter which sets the filter to Type .
  2. Input “us” string, choose “User Story” from the filter suggestions list and press Enter. The filter is set to Type: User Story matching all objects with type attribute set to *User Story”. You can either extend the condition by a new value, close the condition for editing by pressing Enter, or delete the condition by pressing Backspace.
  3. Press Enter to close the last condition for editing. The last condition can be then only deleted by pressing Backspace or you can start a new condition.
  4. Input “sta” string and choose “Status” attribute from the filter suggestion list.
  5. Input “ver” string and choose “Verified” item from the filter suggestion list. The filter is set to Type: User Story Status: Verified matching all objects with type attribute set to “User Story” AND status set to “Verified”. You might extend the condition by choosing an additional status value to be filtered.
  6. Press Enter to close the last condition for editing.
  7. Press Enter to toggle the filter.

Example:

The following picture shows a filter matching all user stories in which an editor can open or save or an architect can create:

FilterOR.png

Search Document

You can search a keyword using the search input field next to the filter. You can focus this field by View > Search menu item or CtrlF keyboard shortcut. You can jump to the next (resp. previous) object containing the searched keyword by clicking on the icon on the right of the search input field F3 (resp. ShiftF3) shortcut.

Template Columns

You can extend the Requirements Table by Template Columns rendering live dynamic view on the current project data. For instance, you can define new columns for:

  • displaying value of a document object attribute, e.g. heading, text or a section number
  • calculating an expression from document object attributes, e.g. a risk priority number (RPN)
  • listing linked objects across multiple traceability levels providing powerful dynamic traceability view

You can define a new Template Column by Document > Template Column… menu which will open Template Column dialog.

TemplateColumnDialog.png

In this dialog, enter a column label displayed in the table header and a template definition using Handlebars syntax same way as custom export templates. Note that Template Columns are rendered using document object context therefore you can directly use document object attributes.

The Template Column in this example has heading “Section” and displays the section number of each document section or the section number of the parent section for each leaf object.

If you press Check button then the template definition is validated and its output is displayed for the current document object. The Template Column is added to the current table view after pressing OK button.

Template Columns are only stored in your current view. If you want to persist a Template Column change in the Project File or Project Folder, you need to check the “Update the default view” check box or set the Default View and save the project.

You can edit or delete an existing Template Column using the context menu opened by right click on the column heading:

TemplateColumnContextMenu.png

Calculated Column

Let’s create a Template Column which calculates the risk priority number as a product of severity, probability and determinability custom attributes for each Risk or Action object in RISKS document of the ReqView Demo Project:

Template Column Definition:

{{#if (eval (eval type "==" "Risk") "||" (eval type "==" "Action"))}}
{{eval (eval detectability "*" probability) "*" severity}}
{{/if}}

HTML

Template Column Output:

TemplateColumnRPN.png

Traceability Column

Let’s create a Template Column which displays downstream traceability coverage of each top level user story in NEEDS document of the ReqView Demo Project by linked SRS requirements and their TESTS:

Template Column Definition:

{{#ifEqual type "User Story"}}
{{#ifHasInlinks "satisfaction"}}
<ul>
{{#eachInlinkWith type="satisfaction"}}
<li>
{{docObjId}}: {{shortDescription maxLength=40}}
<ul>
{{#ifHasInlinks "verification"}}
{{#eachInlinkWith type="verification"}}
<li>{{docObjId}}: {{shortDescription maxLength=40}}</li>
{{/eachInlinkWith}}
{{else}}
<li><i class='icon-li icon-warning-sign'></i> Missing verification links</span></li>
{{/ifHasInlinks}}
</ul>
</li>
{{/eachInlinkWith}}
</ul>
{{else}}
<ul>
<li><i class='icon-li icon-warning-sign'></i> Missing satisfaction links</li>
</ul>
{{/ifHasInlinks}}
{{/ifEqual}}

HTML

Template Column Output:

TemplateColumnDownstreamTraceability.png

Switch Between Documents

You can choose the displayed Requirements Table by clicking on the tab showing document IDs under the Requirements Table. You can also quickly switch to other document by Project > Next Document / Project > Previous Document menu item or by CtrlShiftPAGE DOWN / CtrlShiftPAGE UP or Ctrl1, Ctrl2, …, Ctrl9 shortcuts.

You can print the current document by View > Print menu item or CtrlP shortcut.

PrintOptions.png

In the Print Options dialog you can select if the displayed custom attribute columns will be compacted into the single Custom Attributes column, if printed data will be filtered and sorted same way as the Requirements Table and if section folding shall be preserved.

After confirmation of Print Options dialog the WebApp opens the browser Print dialog displaying a print preview. In this dialog you can select a target printer and further customize printed document by changing page orientation, margins and add a custom header or footer:

PrintDialog.png

In Chrome browser, you can export the opened document into PDF format using Print dialog by setting “Save as PDF” printer. In Mozilla browser you need to install Save as PDF add-on first and then click on Save as PDF button.

Copy to Other Applications

You can copy the selected text from ReqView UI to the system clipboard by CtrlC shortcut:

SelectText.png

You can also select one or more document objects and copy to the system clipboard a table containing information in the visible columns by Edit > Copy menu, toolbar button or CtrlC shortcut:

SelectObject.png

You can then paste the data into other applications (MS Word, MS Excel or your email client) in HTML or CSV text format:

PasteObjectIntoEmail.png

Updated for version 2.5.0