blob: 5ba065b067f12e6e68155dbd26df7fe33752dc88 [file] [log] [blame]
<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>R4E Documentation</title>
<link type="text/css" rel="stylesheet" href="book.css"/>
</head>
<body>
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
<tr>
<th style="width: 100%" align="center" colspan="3">R4E Documentation</th>
</tr>
<tr>
<td style="width: 20%" align="left"></td>
<td style="width: 60%" align="center"></td>
<td style="width: 20%" align="right">
<a href="Concepts.html" title="Concepts">
<img alt="Next" border="0" src="images/next.gif"/>
</a>
</td>
</tr>
<tr>
<td style="width: 20%" align="left" valign="top"></td>
<td style="width: 60%" align="center"></td>
<td style="width: 20%" align="right" valign="top">Concepts</td>
</tr>
</table><hr/>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#Getting_Started">Getting Started</a>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#Overview">Overview</a>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#R4E_main_interfaces">R4E main interfaces</a>
</li>
</ol>
</li>
<li>
<a href="_r4eOpenUser.html#Starting_R4E">Starting R4E</a>
</li>
<li>
<a href="_r4eOpenUser.html#R4E_Configuration">R4E Configuration</a>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#R4E_General_Preferences">R4E General Preferences</a>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#User_Tab">User Tab</a>
</li>
<li>
<a href="_r4eOpenUser.html#Groups_Tab">Groups Tab</a>
</li>
<li>
<a href="_r4eOpenUser.html#Rule_Sets_Tab">Rule Sets Tab</a>
</li>
<li>
<a href="_r4eOpenUser.html#Filter_Tabs">Filter Tabs</a>
</li>
</ol>
</li>
<li>
<a href="_r4eOpenUser.html#R4E_LDAP_Settings">R4E LDAP Settings</a>
</li>
<li>
<a href="_r4eOpenUser.html#SMTP_Hosts_Definitions">SMTP Hosts Definitions</a>
</li>
<li>
<a href="_r4eOpenUser.html#R4E_Capabilities">R4E Capabilities</a>
</li>
<li>
<a href="_r4eOpenUser.html#Version_Compatibility">Version Compatibility</a>
</li>
</ol>
</li>
<li>
<a href="_r4eOpenUser.html#Eclipse_Project_Configuration">Eclipse Project Configuration</a>
</li>
<li>
<a href="_r4eOpenUser.html#Tutorials">Tutorials</a>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#Configuration_and_Set-up">Configuration and Set-up</a>
</li>
<li>
<a href="_r4eOpenUser.html#Running_the_Tutorials">Running the Tutorials</a>
<ol style="list-style: none;">
<li>
<a href="_r4eOpenUser.html#Tutorial_1:_Performing_a_Basic_Review">Tutorial 1: Performing a Basic Review</a>
</li>
<li>
<a href="_r4eOpenUser.html#Tutorial_2:_Performing_an_Informal_Review">Tutorial 2: Performing an Informal Review</a>
</li>
<li>
<a href="_r4eOpenUser.html#Tutorial_3:_Performing_a_Formal_Review">Tutorial 3: Performing a Formal Review</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
<li>
<a href="Concepts.html#Concepts">Concepts</a>
<ol style="list-style: none;">
<li>
<a href="Concepts.html#Basic_and_Informal_Reviews_workflows">Basic and Informal Reviews workflows</a>
<ol style="list-style: none;">
<li>
<a href="Concepts.html#Create_new_review">Create new review</a>
</li>
<li>
<a href="Concepts.html#Identify_what_needs_to_be_reviewed">Identify what needs to be reviewed</a>
</li>
<li>
<a href="Concepts.html#Items_ready_for_review">Items ready for review</a>
</li>
<li>
<a href="Concepts.html#Review_item_examination.2C_anomaly.2Ftime_logging">Review item examination, anomaly/time logging</a>
</li>
<li>
<a href="Concepts.html#Progress_notification">Progress notification</a>
</li>
<li>
<a href="Concepts.html#Examine_and_fix.2Freject_anomalies">Examine and fix/reject anomalies</a>
</li>
<li>
<a href="Concepts.html#Completion_notification">Completion notification</a>
</li>
<li>
<a href="Concepts.html#Examine_and_fix.2Freject_anomalies_2">Examine and fix/reject anomalies</a>
</li>
<li>
<a href="Concepts.html#Mark_review_completed">Mark review completed</a>
</li>
</ol>
</li>
<li>
<a href="Concepts.html#Formal_Review_workflow">Formal Review workflow</a>
<ol style="list-style: none;">
<li>
<a href="Concepts.html#Planning_Phase">Planning Phase</a>
</li>
<li>
<a href="Concepts.html#Preparation_Phase">Preparation Phase</a>
</li>
<li>
<a href="Concepts.html#Decision_Phase">Decision Phase</a>
</li>
<li>
<a href="Concepts.html#Rework_Phase">Rework Phase</a>
</li>
</ol>
</li>
<li>
<a href="Concepts.html#Author">Author</a>
</li>
<li>
<a href="Concepts.html#Anomaly">Anomaly</a>
</li>
<li>
<a href="Concepts.html#Comment">Comment</a>
</li>
<li>
<a href="Concepts.html#Commit_Review_Item">Commit Review Item</a>
</li>
<li>
<a href="Concepts.html#Delta">Delta</a>
</li>
<li>
<a href="Concepts.html#File_Context">File Context</a>
</li>
<li>
<a href="Concepts.html#Global_Anomaly">Global Anomaly</a>
</li>
<li>
<a href="Concepts.html#Lead">Lead</a>
</li>
<li>
<a href="Concepts.html#Organizer">Organizer</a>
</li>
<li>
<a href="Concepts.html#Participant">Participant</a>
</li>
<li>
<a href="Concepts.html#Participants_List">Participants List</a>
</li>
<li>
<a href="Concepts.html#Postponed_Anomaly">Postponed Anomaly</a>
</li>
<li>
<a href="Concepts.html#Resource_Review_Item">Resource Review Item</a>
</li>
<li>
<a href="Concepts.html#Reviewer">Reviewer</a>
</li>
<li>
<a href="Concepts.html#Review_Group">Review Group</a>
</li>
<li>
<a href="Concepts.html#Review">Review</a>
</li>
<li>
<a href="Concepts.html#Review_Item">Review Item</a>
</li>
<li>
<a href="Concepts.html#Rule">Rule</a>
</li>
<li>
<a href="Concepts.html#Rule_Set">Rule Set</a>
</li>
<li>
<a href="Concepts.html#Rule_Area">Rule Area</a>
</li>
<li>
<a href="Concepts.html#Rule_Violation">Rule Violation</a>
</li>
<li>
<a href="Concepts.html#Selection">Selection</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Tasks">Tasks</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Working_with_the_Navigator_View">Working with the Navigator View</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Disabling_and_Restoring_Elements">Disabling and Restoring Elements</a>
</li>
<li>
<a href="Tasks.html#Sorting_Review_Navigator_Elements">Sorting Review Navigator Elements</a>
</li>
<li>
<a href="Tasks.html#Filtering_Review_Navigator_Elements">Filtering Review Navigator Elements</a>
</li>
<li>
<a href="Tasks.html#Setting_Elements_Reviewed_State">Setting Elements Reviewed State</a>
</li>
<li>
<a href="Tasks.html#Setting_Elements_Due_Date">Setting Elements Due Date</a>
</li>
<li>
<a href="Tasks.html#Other_Review_Navigator_Commands">Other Review Navigator Commands</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Handling_Review_Groups_and_Reviews">Handling Review Groups and Reviews</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Creating_a_Review_Group">Creating a Review Group</a>
</li>
<li>
<a href="Tasks.html#Opening_an_Existing_Review_Group">Opening an Existing Review Group</a>
</li>
<li>
<a href="Tasks.html#Creating_a_Review">Creating a Review</a>
</li>
<li>
<a href="Tasks.html#Opening_and_Closing_of_Review_Groups_and_Reviews">Opening and Closing of Review Groups and Reviews</a>
</li>
<li>
<a href="Tasks.html#Adding_Participants_to_a_Review">Adding Participants to a Review</a>
</li>
<li>
<a href="Tasks.html#Creating_a_Review_Item">Creating a Review Item</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Creating_a_Resource_Review_Item">Creating a Resource Review Item</a>
</li>
<li>
<a href="Tasks.html#Creating_a_Commit_Review_Item">Creating a Commit Review Item</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Assigning_Review_Elements">Assigning Review Elements</a>
</li>
<li>
<a href="Tasks.html#Creating_an_Anomaly">Creating an Anomaly</a>
</li>
<li>
<a href="Tasks.html#Cloning_an_existing_Anomaly">Cloning an existing Anomaly</a>
</li>
<li>
<a href="Tasks.html#Creating_Comments_on_an_existing_Anomaly">Creating Comments on an existing Anomaly</a>
</li>
<li>
<a href="Tasks.html#Cloning_existing_Comments_to_an_Anomaly">Cloning existing Comments to an Anomaly</a>
</li>
<li>
<a href="Tasks.html#Importing_Postponed_Anomalies">Importing Postponed Anomalies</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Handling_Design_Rules">Handling Design Rules</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Creating_a_Rule_Set">Creating a Rule Set</a>
</li>
<li>
<a href="Tasks.html#Importing_an_Existing_Rule_Set">Importing an Existing Rule Set</a>
</li>
<li>
<a href="Tasks.html#Creating_a_Rule_Area">Creating a Rule Area</a>
</li>
<li>
<a href="Tasks.html#Creating_a_Rule_Violation">Creating a Rule Violation</a>
</li>
<li>
<a href="Tasks.html#Creating_a_Rule">Creating a Rule</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Working_with_Editors">Working with Editors</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Opening_files_in_editors">Opening files in editors</a>
</li>
<li>
<a href="Tasks.html#Using_Review_Annotations_and_Inline_Comments">Using Review Annotations and Inline Comments</a>
</li>
<li>
<a href="Tasks.html#Navigating_through_and_using_R4E_Annotations">Navigating through and using R4E Annotations</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Working_with_R4E_Properties">Working with R4E Properties</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Working_with_Review_Groups_Properties">Working with Review Groups Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Reviews_Properties">Working with Reviews Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Review_Items_Properties">Working with Review Items Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_File_Contexts_Properties">Working with File Contexts Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Selections_and_Deltas_Properties">Working with Selections and Deltas Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Anomalies_Properties">Working with Anomalies Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Comments_Properties">Working with Comments Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Participant_Properties">Working with Participant Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Rule_Sets_Properties">Working with Rule Sets Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Rule_Areas_and_Rule_Violations_Properties">Working with Rule Areas and Rule Violations Properties</a>
</li>
<li>
<a href="Tasks.html#Working_with_Rules_Properties">Working with Rules Properties</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Using_Key_Bindings_and_Hotkeys">Using Key Bindings and Hotkeys</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Keys">Keys</a>
</li>
<li>
<a href="Tasks.html#Bindings">Bindings</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Using_Notifications">Using Notifications</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Using_Email_Notifications">Using Email Notifications</a>
</li>
<li>
<a href="Tasks.html#Using_Meeting_Notifications">Using Meeting Notifications</a>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Using_Statistical_Reports">Using Statistical Reports</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Generating_Reports">Generating Reports</a>
</li>
<li>
<a href="Tasks.html#Report_Contents">Report Contents</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Report_Summary">Report Summary</a>
</li>
<li>
<a href="Tasks.html#Review_Anomaly_Statistics">Review Anomaly Statistics</a>
</li>
<li>
<a href="Tasks.html#Review_Efficiency_Statistics">Review Efficiency Statistics</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Review_Items">Review Items</a>
</li>
<li>
<a href="Tasks.html#Review_Anomalies">Review Anomalies</a>
</li>
<li>
<a href="Tasks.html#Average_Time_Line">Average Time Line</a>
</li>
<li>
<a href="Tasks.html#Average_Effort_per_Participant">Average Effort per Participant</a>
</li>
<li>
<a href="Tasks.html#Total_Review_Effort">Total Review Effort</a>
</li>
<li>
<a href="Tasks.html#List_of_Anomalies">List of Anomalies</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
<li>
<a href="Tasks.html#Performing_Reviews">Performing Reviews</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Performing_Basic_Reviews">Performing Basic Reviews</a>
</li>
<li>
<a href="Tasks.html#Performing_Informal_Reviews">Performing Informal Reviews</a>
</li>
<li>
<a href="Tasks.html#Performing_Formal_Reviews">Performing Formal Reviews</a>
<ol style="list-style: none;">
<li>
<a href="Tasks.html#Planning_Phase_2">Planning Phase</a>
</li>
<li>
<a href="Tasks.html#Preparation_Phase_2">Preparation Phase</a>
</li>
<li>
<a href="Tasks.html#Decision_Phase_2">Decision Phase</a>
</li>
<li>
<a href="Tasks.html#Rework_Phase_2">Rework Phase</a>
</li>
<li>
<a href="Tasks.html#Other_Considerations">Other Considerations</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
<li>
<a href="Advanced-Topics.html#Advanced_Topics">Advanced Topics</a>
<ol style="list-style: none;">
<li>
<a href="Advanced-Topics.html#Working_with_multiple_patch_set_of_the_same_commit_in_a_review">Working with multiple patch set of the same commit in a review</a>
</li>
</ol>
</li>
</ol>
<h1 id="Getting_Started">Getting Started</h1>
<h2 id="Overview">Overview</h2>
<p>&nbsp; &nbsp;Review for Eclipse (R4E) is a set of Eclipse plugins that provide eclipse-integrated code and text review functionality. R4E supports reviewing files associated to Eclipse projects and optionally included under a Version Control System. Three review workflows are included (Basic, Informal and IEEE standard 1028-compatible Formal reviews). </p>
<p>The main purpose of R4E is to review Source Code, especially Java and C/C++ Source code. Eventually, support for reviewing Data Models (based on EMF) will be included. R4E also aims to support multiple Version Control Systems (via Eclipse Team Providers). Git (implemented in Eclipse through EGit/JGit), and SVN (implemented in Eclipse through Subclipse) are the ones currently supported. </p>
<p>The R4E User Interface includes three main components:
<b>R4E Review Navigator View</b>,
<b>R4E Properties View</b> and
<b>R4E Context Menus</b>
</p>
<p>
<br/>
<img border="0" src="R4E_main.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;The
<b>R4E Review Navigator View</b> is the main interface to R4E. It shows all the R4E elements in a hierarchical tree structure, or alternatively in a table-like structure for the elements under the currently active Review only. The
<b>R4E Properties view</b>, using the generic Eclipse Properties View, presents the properties and attributes attached to each R4E element represented in the Review Navigator view. Some elements values can be altered after creation, and some other are read-only and settable at creation time. The
<b>R4E Context Menu</b> appears in Eclipse Context menus whenever it is possible to use R4E command is this particular context. Please refer to section 3 ("Tasks") below for more information.
<br/>
</p>
<p>&nbsp; &nbsp;Take note that it is strongly recommended to use the layout shown above for optimal user experience. This means the R4E Review Navigator should be positioned on one side of the screen, the editor in the central position, and the R4E Properties view at the bottom. For instance, it is not recommended to use the Review Navigator and the Properties view as tabbed view together, as selecting an element on the Review Navigation will automatically set the focus on the Properties view.
<br/>
</p>
<h3 id="R4E_main_interfaces">R4E main interfaces</h3>
<p>R4E interacts with the following features/plugins: </p>
<ul>
<li>Mylyn Versions Connectors for Egit and Svn (via Subclipse)</li>
<li>C/C++ Language support: CDT (Optional)</li>
<li>Java Language support: JDT (Optional)</li>
<li>LDAP Connector: R4E LDAP plugin </li>
<li>Email support: R4E SMTP connector </li>
<li>Meeting support: R4E VCalendar connector </li>
<li>General: EMF (for the Review meta-data)
<br/>
</li>
</ul>
<p>
<br/>
</p>
<h2 id="Starting_R4E">Starting R4E</h2>
<p>To start up R4E, show the Review Navigator View e.g. using the Eclipse Window-&gt;Show View menu:
<br/>
To associate existing review groups see
<a href="Tasks.html#Opening_an_Existing_Review_Group">Opening an Existing Review Group</a>
</p>
<p>
<img border="0" src="R4E_show_view.png"/>
</p>
<p>
<br/>
</p>
<h2 id="R4E_Configuration">R4E Configuration</h2>
<p>The R4E Configuration can be entered by accessing the R4E Preferences Pages, which are part of the Eclipse Global Preferences. There are three R4E Preference Pages:
<b>R4E General Preferences</b>,
<b>R4E LDAP Settings</b>, and
<b>SMTP Hosts Definitions</b>.
</p>
<h3 id="R4E_General_Preferences">R4E General Preferences</h3>
<p>R4E General Preferences page is split up into four tab sections. Take note that the
<i>Restore Defaults</i> and
<i>Apply buttons</i> apply to the values displayed in all the tabs
<br/>
</p>
<h4 id="User_Tab">User Tab</h4>
<p>
<img border="0" src="UserPreferences.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;This is used to enter the current user details. </p>
<p>The following elements are configurable</p>
<ul>
<li>User ID: The User ID is set by default to the login ID of the current session and can be modified to any String that can be used to identify the user. This field is mandatory.</li>
</ul>
<ul>
<li>UserEmail: The User Email should be set to a valid email for the current user. The E-mail address is used to notify the user information about the reviews he is currently part of by Email, as configured in the SMTP Hosts Definitions section. Take note that if the LDAP Preferences are filled-in (see below) and a corresponding LDAP database can be resolved, then this field will be automatically be set based on the User ID entered. This field is also mandatory.</li>
</ul>
<ul>
<li>Participants Lists and Participants: Participants Lists are a group of users that can be added together as participant to a review. To create a new Participant List, use the
<i>Add</i> button for the Participant List table. The
<i>Remove</i> button can be used to remove a Participant List. Once a participant List is created, specific participants can be added to the selected list and removed by using the
<i>Add</i> and
<i>Remove</i> buttons of the Participants table, respectively . Using the
<i>Add</i> button will open a New Participant dialog that can be used to specify the users to add. Refer to the
<i>Adding Participants to a Review</i> section for more information on using the New Participants dialog. After it is set up, a participant list can be used in any New Participant dialog and adding it as a participant will instead add all its participants values to the review. Take note that participant lists are optional and participants can be added separately to reviews.
</li>
</ul>
<ul>
<li>Checkboxes:
<ul>
<li>
<i>Create Delta Elements...</i> checkbox is used to control the display of file differences as elements in the Review Navigator.
</li>
<li>
<i>Import Postponed Global Anomalies...</i> checkbox is used to specify that global anomalies (i.e. anomalies not attached to a particular file) that are in state POSTPONED in all other reviews included in the parent Review Group should also be imported to the currently active Review, in addition to the local anomalies, when the
<i>Import Postponed Anomalies</i> command is used. See Postponed Anomalies section below for more information.
<br/>
</li>
</ul>
</li>
</ul>
<p>
<br/>
</p>
<h4 id="Groups_Tab">Groups Tab</h4>
<p>
<img border="0" src="R4E_preferences_general_groups.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;This is used to specify the location of the data files that contain Review Group information.
See below for more information on Review Groups. The Name and Description fields show additional information attached to the selected Review Group file. Typically, all R4E data files will be located on a shared network drive. Users can add one or multiple references to Group files to their workspace as needed using the ''Add ''button. Files can be removed from the workspace by pressing the ''Remove ''button. Files can be moved up or down in the list by clicking the corresponding button. This will affect the order in which the Groups are displayed in the Review Navigator.</p>
<p>&nbsp; &nbsp;If there is a version compatibility problem between the version of the Group file and the current R4E plugin version, where the R4E version is older than the Group file version, then this group cannot be used and the description field will show a version mismatch error. Such errors can typically be fixed by upgrading the R4E plugins to their later version.</p>
<p>
<b>Note: Make sure the defined directory location is accessible and configured with read/write permissions for the team members involved in the review.</b>
</p>
<p>
<br/>
</p>
<h4 id="Rule_Sets_Tab">Rule Sets Tab</h4>
<p>
<img border="0" src="R4E_preferences_general_ruleSets.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;This is used to specify the location of the data files that contain Rule Set information. See below for more information on Rule Sets. The Name and Version fields show additional information attached to the selected Rule Set file. Typically, all R4E data files will be located on a shared network drive. Users can add one or multiple references to Rule Set files to their workspace as needed using the
<i>Add ''button. Files can be removed from the workspace by pressing the ''Remove</i> button. Files can be moved up or down in the list by clicking the corresponding button. This will affect the order in which the Rule Sets are displayed in the Review Navigator.
</p>
<p>&nbsp; &nbsp;If there is a version compatibility problem between the version of the Rule Set file and the current R4E plugin version, where the R4E version is older than the Rule Set file version, then this ruleset cannot be used and the description field will show a version mismatch error. Such errors can typically be fixed by upgrading the R4E plugins to their later version.</p>
<p>
<br/>
</p>
<h4 id="Filter_Tabs">Filter Tabs</h4>
<p>
<img border="0" src="R4E_preferences_general_filters.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;This is used to set-up default filters that will be applied to the Review Navigator view. See the Filters section below for the various filters descriptions. </p>
<p>
<br/>
</p>
<h3 id="R4E_LDAP_Settings">R4E LDAP Settings</h3>
<p>
<img border="0" src="R4E_preferences_ldap.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;This is used the specify configuration for an available LDAP database server that contains information about the users. The Server Information part contains LDAP server information (Host, Port, DN (Distinguished Name), and Login User Name and Password) to use. The Mandatory Parameters part contains mapping values for LDAP attributes that maps the User Id, Name and E-Mail parameters The Optional Parameters part contains mapping values for LDAP attributes that maps optional parameters that could exists in the database. </p>
<p>This is optional. If no information is entered, LDAP functionality will be unavailable, but will not affect R4E otherwise </p>
<p>
<br/>
</p>
<h3 id="SMTP_Hosts_Definitions">SMTP Hosts Definitions</h3>
<p>
<img border="0" src="R4E_preferences_smtp.png"/>
</p>
<p>
<br/>
</p>
<p>&nbsp; &nbsp;This is used to specify the mail server(s) that will be used to send manual and automatic email notifications to the users. More than one server can be specified. Users can add one or multiple servers to their workspace as needed using the ''Add ''button. Servers can be removed from the workspace by pressing the ''Remove ''button. Servers can be moved up or down in the list by clicking the corresponding button. The primary server should always be the first on the list. </p>
<p>
<br/>
</p>
<h3 id="R4E_Capabilities">R4E Capabilities</h3>
<p>R4E uses Eclipse Capabilities to manage its functionalities. In order to use R4E, its capabilities must be enabled. This can be done by enabling R4E in the Eclipse
<i>Preferences-&gt;General-&gt;Capabilities</i> preference page.
</p>
<p>
<img border="0" src="R4E_capabilities.png"/>
</p>
<h3 id="Version_Compatibility">Version Compatibility</h3>
<p>In order to prevent compatibility problems between versions, R4E now implements a compatibility check. This will prevent older versions of R4E opening new versions of the R4E metadata files. Compatibility is checked independently for the Review Group, Rule Set and Review element when opening the element. There are basically three cases that can occur:</p>
<ul>
<li>Metadata version and R4E plugins version are the same: In this case R4E opens the element normally.</li>
</ul>
<ul>
<li>Metadata version is more recent than the R4E plugins version: This means that the element was created with a more recent version of R4E than the one currently being used. In this case an Error message dialog is displayed and the element cannot be used. The solution to this is typically to upgrade the R4E version to the latest one available.</li>
</ul>
<p>
<img border="0" src="versionMismatchError.png"/>
</p>
<ul>
<li>Metadata version is older than the R4E plugins version: This means that the element was created with an older version of R4E than the one currently being used. In this case an information dialog is displayed to highlight the fact and ask the user how to proceed. The user can then choose to cancel the action, upgrade the file version to the current R4E version, which will permanently change the file version for all users, or keep the older file version and open the element in read-only mode. When the element is open in read-only mode it is displayed with a top-right lock decorator in the Review Navigator View.</li>
</ul>
<p>
<img border="0" src="versionMismatchInfo.png"/>
</p>
<p>
<br/>
</p>
<h2 id="Eclipse_Project_Configuration">Eclipse Project Configuration</h2>
<ul>
<li>R4E can be used to create reviews that include files present in given Eclipse Projects.</li>
</ul>
<ul>
<li>While R4E can operate on stand-alone Eclipse projects (i.e. outside of any Version Control System), it is recommended that it is used in conjunction with projects that are held within Revision Control. Currently, R4E supports Version-Controlled projects that are associated with Egit and Subclipse as team provider., For Git, the
<a href="http://wiki.eclipse.org/EGit/User_Guide">"EGit/User Guide"</a> is the best place to find the information on how to create new repositories, work with existing repositories and importing Eclipse projects under and existing repositories into the Eclipse workspace.
<br/>
</li>
</ul>
<ul>
<li>Once the project is associated/connected to the team provider the project will display the project name and associated branch between brackets.</li>
</ul>
<p>
<img border="0" src="ProjectWithTeamProvider.jpg"/>
</p>
<p>
<br/>
</p>
<h2 id="Tutorials">Tutorials</h2>
<p>To familiarize yourself with how R4E operates, three tutorials are provided, which focus on the different review types and their respective workflows. As we progress in doing the tutorials, more common functionalities are introduced (such as Notifications, Meeting Requests, Setting reviewed state, Disabling elements, Assigning participants etc.). </p>
<h3 id="Configuration_and_Set-up">Configuration and Set-up</h3>
<p>Before doing any of the tutorials, we will set-up R4E and configure it to do reviews. </p>
<ul>
<li>Open the R4E Review Navigator view by going to the
<i>Window-&gt;Show View-&gt;Other...</i> dialog.
</li>
</ul>
<p>
<img border="0" src="TutorialShowView.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Select the
<i>R4E-&gt;Review Navigator</i> view. An empty Review Navigator view should now be visible
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="R4E_show_view.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Typically, users will use Review Groups and (optionally) Rule Sets already created. For now we will assume none is present and we will create one group.</li>
</ul>
<ul>
<li>Go to the Review Navigator toolbar and click on the
<i>New Review Group</i> icon. This should open the New Review Group dialog.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddNewGroup.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Add information for the new Group. The folder should normally be set to a shared drive that will be accessible to all users. For this tutorial, we will set it to our local drive.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddNewGroupDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Once the Group is created it should show in the Review Navigator View tree. It will automatically be added to your tracking groups in the R4E preferences so that it will appear again next time you open Eclipse to use R4E.</li>
</ul>
<ul>
<li>You can now open the Review Group by right-clicking on it and selecting the
<i>Open Element</i> command. The Group icon should change from a grayed out icon to a multi-colored one.
</li>
</ul>
<ul>
<li>Go to the Eclipse R4E preferences and make sure your user identity is set correctly.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="UserPreferences.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We will now create some Design rules that can be used during reviews. First create a new Rule Set by selecting the
<i>New Rule Set</i> icon in the Review Navigator toolbar. This should open the New Rule Set dialog.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewRuleSet.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Add information for the new Rule Set. The folder should normally be set to a shared drive that will be accessible to all users. For this tutorial, we will set it to our local drive</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="NewRuleSetDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Now let's create a Rule Area for this rule set by right-clicking on the Rule Set we just created and selecting the
<i>New Rule Area</i> from the context menu.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewRuleArea.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>In the dialog shown, set the Area Name</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="NewRuleAreaDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Now create a Rule Violation under the Rule Are we just created</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewRuleViolation.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>In the dialog shown, set the Violation Name</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="NewRuleViolationDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Finally, create a new Rule under this Rule Violation</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewRule.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>In the dialog shown, set the Rule values as follows:</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="NewRuleDialog.png"/>
</p>
<p>
<br/>
</p>
<p>We are now ready to proceed to the tutorials. </p>
<p>
<br/>
</p>
<p>
<br/>
</p>
<h3 id="Running_the_Tutorials">Running the Tutorials</h3>
<p>R4E provides 3 different ways to perform reviews: Basic, Informal and Formal Review Types. They will all be demonstrated in the tutorials below. Here's a brief description of each Review Type:</p>
<ul>
<li>
<a href="Concepts.html#Basic_and_Informal_Reviews_workflows">Basic Reviews</a>: Basic Reviews do not use phases, anomalies written are stateless, and participant do not assume any roles. These are used to do quick, small reviews.
</li>
</ul>
<ul>
<li>
<a href="Concepts.html#Basic_and_Informal_Reviews_workflows">Informal Reviews</a>: Informal Reviews do not use phases. However anomalies written are stateful and their states can be tracked as the review progresses and they can be postponed to be eventually fixed in other reviews. All anomalies should be set to a terminal state before the review can be completed. Participants have roles assigned to them. Informal Reviews are typically used to do agile reviews.
</li>
</ul>
<ul>
<li>
<a href="Concepts.html#Formal_Review_workflow">Formal Reviews</a>: Formal Reviews are based on the IEEE Standard for Software Reviews (IEEE Std 1028-1997) standard. They are divided into multiple phases (Planning, Preparation, Decision, Rework), and criterias should be met before transitioning from a review phase to another. As in Informal Reviews, the anomalies written are stateful, could be postponed, and ultimately need to be set to a terminal state before the review could be completed. Formal Reviews are typically used in organizations that require a more organized review process.
</li>
</ul>
<p>For more information, please refer to the
<a href="Concepts.html#Concepts">Concepts</a> section below.
</p>
<h4 id="Tutorial_1:_Performing_a_Basic_Review">Tutorial 1: Performing a Basic Review</h4>
<p>This tutorial shows how to use R4E by going through a very simple Basic Review. It also introduces how to add Review Items from a Commit to the Version Control System. </p>
<ul>
<li>Using the setup created above, create a new Basic Review by right-clicking on the Group we created and selecting the
<i>New Review</i> command.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddNewReview.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will show the New Review dialog</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddNewReviewDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Once the Review is created, you will notice that new elements were added to the Navigator tree: The review itself, the global anomaly container, and the current user as a new participant to the review.</li>
</ul>
<ul>
<li>You can now browse through the R4E property view, which will appear as soon as you select a new element in the Navigator tree. You will notice that the General Properties tab for the review has the start date property set to when the review was created and that the end date property is set to
<i>(In Progress)</i> to indicate that the review is still going on.
</li>
</ul>
<ul>
<li>It is now time to add contents to be reviewed. Contents can be added by selecting whole resources (e.g. files directly) or by using the
<i>Find Review Items</i> command on Eclipse project if the project is connected to a Version Control System. Here we will assume that the Eclipse projects are connected to Git (using EGit) and we will use the
<i>Find Review Items</i> command for the R4E context menu on a given project. Select a project connected to Git and right-click on it to use the
<i>R4E-&gt;FindReviewItems</i> command.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialFindReviewItems.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This should show the Find Review Items dialog for Git</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialFindReviewItemsDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We will now pick the current Commit and add it to the review. The Review Navigator view should now show a new Commit Review Item, its children files and their deltas (changes). Take note that if you do not see the deltas, make sure that the
<i>Hide Deltas</i> filter is not set in the Review Navigator Drop-Down menu,
<i>Filters</i> sub-menu.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNavigatorView1.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Let's say we are now done adding review items. At this point we could add new reviewers to the review and notify them that the items are ready for reviews. However, since this is a simple tutorial, we will pretend that we are also the reviewer for this review.</li>
</ul>
<ul>
<li>To open the compare editor and perform the review, we can double-click on any of the file of delta element. Let's pick the first delta of the first file. This will open the compare editor that will show the changes between the new version of the file after the file is committed to the version control system, and the predecessor version. It will also position the cursor to the location of the change (or Delta) we selected in the Review Navigator and highlight it.</li>
</ul>
<ul>
<li>Let's now create a new anomaly on the selected text. To do this, right-click on the selected text and use the
<i>R4E-&gt;New Anomaly</i> command
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="NewAnomaly.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This should trigger the New Anomaly dialog</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewAnomalyDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Now, let's pretend we are done and the anomaly that the anomaly we highlighted is dealt with. We can now mark this review as completed. To do this, select the Review Element and, in the R4E Properties view, set the
<i>Phase</i> property in the view to
<i>Completed</i>.
</li>
</ul>
<ul>
<li>The review is now completed and we are done with this tutorial.</li>
</ul>
<p>
<br/>
</p>
<h4 id="Tutorial_2:_Performing_an_Informal_Review">Tutorial 2: Performing an Informal Review</h4>
<p>This tutorial shows how to use R4E by going through a very simple Informal Review. It also introduces how to add Review Items manually, how to remove obsolete items from the Review Navigator view, and how to use Email notifications. </p>
<ul>
<li>Using the setup created above, create a new Informal Review by right-clicking on the Group we created and selecting the
<i>New Review</i> command.
</li>
</ul>
<ul>
<li>This will show the New Review dialog</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddNewReviewInformalDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>As in the basic Review tutorial above, the Review Navigator tree is updated with the new elements. You will also notice that the current participant roles in the Participant Extra Properties tab are set to
<b>Organizer</b> and
<b>Lead</b>. This is the default and it can be changed if needed. Take note that the icons representing the participants in the Navigator View will change depending on the primary role of the participant.
</li>
</ul>
<ul>
<li>It is now time to add contents to be reviewed. In the previous tutorial, we showed how to add a Commit Review Item from a project under revision control. Here we will show how to add a Resource Review Item. Let's say you have a brand new file, not necessarily under revision control, that you want to be reviewed.</li>
</ul>
<ul>
<li>Assume we use a Java project. Open the Package Explorer view, right-click on a file within the target project and trigger the
<i>Add Review Item</i> command from the R4E context menu.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddReviewItem.png"/>
</p>
<p>
<br/>
</p>
<p>The Review Navigator view should now show a new Resource Review Item, its children file and the selection, which in this case will span the whole file from the first to the last lines. </p>
<ul>
<li>Now let's add another reviewer to this review by right-clicking on the participants container icon in the review navigator and selecting the
<i>New Participants</i> command from the context menu
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddParticipant.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will show the New Participants dialog.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddParticipantDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Let's fill in our participant ID in the top field and press the
<i>Add</i> button. The participant is added to the participant list
</li>
</ul>
<ul>
<li>We now select the participant entry in the list and we see all the parameters associated to this participant in the Basic and Extra Parameters sections. Fill in the information field as shown and press
<i>OK</i> to add the user as a participant to the current review.
</li>
</ul>
<ul>
<li>Note that we added this Participant as a reviewer only. We've also set the optional focus area.</li>
</ul>
<ul>
<li>Now that we have added a participant, we will assign the review item we imported for him to review. To do this, right-click on the Review Item and select
<i>Assign to Participant</i> command.
</li>
</ul>
<p>
<img border="0" src="TutorialAssignParticipant.png"/>
</p>
<ul>
<li>This will trigger the
<i>Assign Participant</i> dialog, which is similar to the previous
<i>Add Participant</i> dialog and works in the same way. We will enter the participant details. Take note that assigning review elements to participants is optional.
</li>
</ul>
<p>
<img border="0" src="TutorialAssignParticipantDialog.png"/>
</p>
<ul>
<li>Once this is done, in the Review Item properties and all its children elements properties, you will note that the
<i>Assign To</i> property is now set to the participant.
</li>
</ul>
<ul>
<li>Let's say we are now done adding review items. We will now notify the new Participant we added that the items are ready for review. To do this, right-click on the current review and choose the
<i>Send Email/Notification</i> command. When the subsequent dialog appears, select the
<i>Notify Participants of New Items ready for Review</i>.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialSendEmail.png"/>
</p>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialSendEmailDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will trigger the Email Client dialog. You can review the contents of the message, modify it as you see fit, and press the ''OK ''button to send it. Of course, the destination email address(es) need to be valid for the email to actually be sent.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialSendEmailClient.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Once this is done, the reviewer should receive the email and can start reviewing the code. So, let's say we are now the reviewer. If we want, we can change the display of the Navigator View to show the current review in a more compact and table-like fashion. To do this, select the
<i>Change Display</i> command, located in the view menu.
</li>
</ul>
<p>
<img border="0" src="TutorialChangeDisplay.png"/>
</p>
<ul>
<li>The view should now look like this:</li>
</ul>
<p>
<img border="0" src="TutorialTreeTableDisplay.png"/>
</p>
<ul>
<li>We see now that the Review elements to be reviewed are shown in an alternate way, with columns displaying file paths, assignees, number of changes and number of anomalies written on the review elements. This display could be used at any time. For now, we will return the original default Tree display using the same command again.</li>
</ul>
<ul>
<li>We now want to log a general anomaly on the review. We right-click on the Global anomaly container icon in the Review Navigator view and we select the
<i>New Anomaly</i> command from the context menu
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddGlobalAnomaly.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will trigger the New Anomaly dialog.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewAnomalyInformal.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Now we should see that the Anomaly was added to the Review Navigator view, prepended with the Anomaly state (which is
<i>ASSIGNED</i> at this point). If we do not have any other anomalies to enter, we can indicate that we are done reviewing by setting the review as reviewed by us. To do so, right-click on the Review icon in the Review Navigator and use the
<i>Mark as User Reviewed</i> command.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialMarkUserReviewed.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Since we are done reviewing, a popup dialog appears to ask us to send a Completion Notification to the Review Owner (Lead). Click OK and send the notification email out. The Review Navigator view should now look like this (notice the little checkmarks that appeared on the Review and its children elements):</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNavigatorViewInformal1.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Now, in order to complete the review, we need to resolve the anomaly that was raised. Select the anomaly icon in the Review Navigator view and look at the R4E Properties view detailed tab. We should see the following:</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAnomalyProperties1.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We see that the optional class and rank are not set for this anomaly, we could have set them after creation, or we can set them here if we want. In order to resolve the anomaly, the author of the code should be notified and the reviewer, lead and author should work together in resolving the issue.</li>
</ul>
<ul>
<li>Once the anomaly is resolved, we can set the Anomaly state to
<i>FIXED</i> by changing the
<i>State ''combo box value in the R4E Properties view. Note that the ''Fixed by</i> property (in the
<i>Participant Details</i> expandable section) gets automatically set to the current user. This can be changed to any of the participants if needed.
</li>
</ul>
<ul>
<li>Let's pretend that the anomaly is resolved and add a comment to it saying so. Right-click on the Anomaly icon on the Review Navigator view and add a Comment by using the
<i>New Comment</i> command from the context menu.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewComment.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will trigger the New Comment dialog.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewCommentDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We can now complete the review as we've done in the previous tutorial, by setting the
<i>Exit Decision</i> field in the Review R4E Properties view-&gt;Detailed tab/Decision Information expandable section to
<i>Accepted</i> and the Phase field in the Review R4E Properties view-&gt;Detailed tab to
<i>COMPLETED</i>. Alternatively, we can also complete the review by selecting it in the Review Navigator and using the
<i>Progress Review</i> Toolbar command:
</li>
</ul>
<p>
<img border="0" src="TutorialProgressReview.png"/>
</p>
<ul>
<li>To remove this completed review from the Review Navigator tree so that is does not clutters the view, we can Disable it. To do that, first close the review by right-clicking on the Review element from the Review Navigator view and selecting the
<i>Close Element</i> command form the context menu. Then, once the review element is closed, disable it by selecting the Disable element command in the same fashion.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialDisableReview.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We are now done with this tutorial.</li>
</ul>
<p>
<br/>
</p>
<h4 id="Tutorial_3:_Performing_a_Formal_Review">Tutorial 3: Performing a Formal Review</h4>
<p>This tutorial shows how to use R4E by going through a very simple Formal Review. It also introduces how to work with Linked Anomalies, Design Rules, Optional Review Parameters, Review time tracking, and how to use Meetings Notifications. </p>
<ul>
<li>First we will add default projects and components to our review group. Select the Review Group icon in the Review Navigator view and go to the Group Detailed properties tab in the R4E Properties view. In the
<i>Project and Components</i> expandable section, add Projects and Components to the Group by clicking on the
<i>Add</i> buttons for the
<i>Available Projects</i> and
<i>Available Components</i> tables and typing in some values. We will also add a reference to the Rule Set we created in the setup in the
<i>Rule Sets</i> expandable section.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialReviewGroupProperties.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Using the setup created above, create a new Formal Review by right-clicking on the Group we created and selecting the
<i>New Review</i> command.
</li>
</ul>
<ul>
<li>This will show the New Review dialog. In this case we will populate the Review optional elements as shown</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewReviewFormalDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>As in the other Review tutorials above, the Review Navigator tree is updated with the new elements.</li>
</ul>
<ul>
<li>If you look at the Review Properties Detailed tab, you will notice that is display a
<i>Phase Map</i> table. The phase map is only displayed for formal reviews and is used to track the progress of the review. At review creation, the ''PLANNING ''phase is the active one (highlighted in blue).
</li>
</ul>
<ul>
<li>It is now time to add contents to be reviewed. As in the basic tutorial review, we will add a Commit Review Item using the
<i>Find Review Items</i> command.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialFindReviewItems.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This should show the Find Review Items dialog for Git</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialFindReviewItemsDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We will now pick the current Commit and add it to the review. The Review Navigator view should now show a new Commit Review Item, its children files and their deltas (changes)</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNavigatorView2.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Now, as in the Informal review tutorial, let's add another reviewer to this review by right-clicking on the participants container icon in the review navigator and selecting the
<i>New Participants</i> command from the context menu
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddParticipant2.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will show the New Participants dialog.</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAddParticipantDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>The participant is added exactly the same way it was done in the previous tutorial</li>
</ul>
<ul>
<li>Let's say that we are done adding new items and participants for this review, we can now transition the review phase from
<i>PLANNING</i> to
<i>PREPARATION</i> by selecting the Phase combo box in the R4E Properties to the Review. Note that phases can only be changed if we are the phase owner, which we are in this case. We will now automatically be asked to set up a decision meeting by entering meeting details.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialMeetingDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>Once the details are entered, the Email client dialog is shown, and upon clicking the ''OK ''button, a new notification of items ready for review, bundled with a meeting invitation will be sent to all participants.</li>
</ul>
<ul>
<li>Now, in
<i>PREPARATION</i> phase, the users can review the included items. Reviewers can send progress notification or ask questions to other participant by right-clicking on a Review Navigator element and using the
<i>Send Email/Notification</i> command. Anybody can also add new Review Items to the review, which will automatically notify other participants with a
<i>New Item Ready for Review</i> notification.
</li>
</ul>
<ul>
<li>Let's say we found that part of the new code is not correct, we can select the appropriate change (Delta) in the Review Navigator and directly write an Anomaly on it by right-clicking on the Delta and using the
<i>New Linked Anomaly</i> command.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewLinkedAnomaly.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>This will show the
<i>New Anomaly</i> dialog. For this anomaly, we will refer to an existing design rule. Expand the Extra parameters section and select the first design rule from the tree. Note that the text fields are set to the value of the anomaly selected. We will also assign the anomaly and set a due date for it.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialNewFormalAnomalyDialog.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We are finished reviewing the files and we will now add the time we spent reviewing the files. We do this by selecting the participant element in the Review Navigator and going to its R4E Properties view Detailed tab, Time Management expandable section. In the
<i>Time Spent</i> table, add the time we spent.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialParticipantProperties.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>As in the informal review tutorial, we now mark the review as User completed, which will trigger the sending of the completion notification to the review lead.</li>
</ul>
<ul>
<li>The review lead can now move the Review Phase to
<i>DECISION</i> in the same way the previous transition was done.
</li>
</ul>
<ul>
<li>In the decision phase, it is time to assess anomalies and if necessary assign them to participants so that they can be handled and fixed. Let's set our Anomaly to
<i>ACCEPTED</i> and assign it to a participant. We do this by setting the appropriate values the R4E Properties Extra tab for the selected anomaly.
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAnomalyProperties.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We are now done with all anomalies so we will set the review decision properties. In the Review element R4E Properties, let set the values as follows</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialReviewProperties.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>We set the
<i>Exit decision</i> to
<i>Accepted with follow-up</i>, since some anomalies need to be fixed. We also enter the decision participants and decision time spent values. We now move the Review phase to REWORK in the same way we moved it previously. The author can now start working on the anomaly raised.
</li>
</ul>
<ul>
<li>Once the anomaly is fixed, we can change its state to
<i>FIXED</i> in the R4E Properties. The fix can now be reviewed by the reviewer, who can set it to
<i>VERIFIED</i>. Its properties should now look like this:
</li>
</ul>
<p>
<br/>
</p>
<p>
<img border="0" src="TutorialAnomalyProperties2.png"/>
</p>
<p>
<br/>
</p>
<ul>
<li>At this point all anomalies are covered and we can complete the review by setting its phase to
<i>COMPLETED</i>.
</li>
</ul>
<ul>
<li>We are now done with this tutorial.</li>
</ul>
<p>
<br/>
</p><hr/>
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
<tr>
<td style="width: 20%" align="left"></td>
<td style="width: 60%" align="center"></td>
<td style="width: 20%" align="right">
<a href="Concepts.html" title="Concepts">
<img alt="Next" border="0" src="images/next.gif"/>
</a>
</td>
</tr>
<tr>
<td style="width: 20%" align="left" valign="top"></td>
<td style="width: 60%" align="center"></td>
<td style="width: 20%" align="right" valign="top">Concepts</td>
</tr>
</table>
</body>
</html>