1 Introduction to Oracle Team Productivity Center

This chapter describes the basic operations of Oracle Team Productivity Center, including logging in, connecting and disconnecting, selecting your team, and using and interpreting the build summary.

This chapter includes the following sections:

1.1 About Oracle Team Productivity Center

Oracle Team Productivity Center is a Oracle JDeveloper feature that provides access to a set of application lifecycle management (ALM) tools and technologies.

ALM tools address the need to integrate the growing number of data tracking and data repository tools that are used by product development organizations throughout the product's lifecycle. Initial product development, for example, typically tracks product definition, specifications, and collaborative code development, as well as defects discovered during initial testing. As the product is released, customer requests and enhancements may be tracked in a third repository. When developers are later required to maintain a customer-released product in one development branch while also doing new feature development for upcoming releases in a different branch, the request and defect-tracking repositories need to be linked with the appropriate development branch, whether maintenance or new release, of the team's version-control system. Oracle Team Productivity Center lets teams integrate all these repositories, and any others they may use, directly in the integrated development environment.

In addition to bringing external data repositories into the IDE, Oracle Team Productivity Center supports a highly flexible hierarchy of teams and subteams that can be configured and maintained by local team administrators. Oracle Team Productivity Center is designed to:

  • Increase value in existing investments by providing unified access to current artifact repositories (including bug databases, version repositories, and other content libraries) and allowing integration between them.

  • Allow for quick and flexible assembly of teams and subteams.

  • Collaborate with other team members through chat.

  • Reduce the barriers between different teams during the development process, and eliminating many hard-wired boundaries through collaboration, shared labeling, and smooth information flow.

  • Maximize current investments in skills, processes and technologies.

  • Increase flexibility by reducing the time it takes to integrate new applications into the development team environment.

Oracle Team Productivity Center also presents information about the latest builds undergoing development. A build dashboard and build summary present at-a-glance information about the status of development builds, with links to let you quickly find the details of issues that interest you in the latest build.

1.1.1 How to Migrate from a Previous Version

When you install the latest version of Oracle JDeveloper containing Oracle Team Productivity Center, you have the option of migrating files from a previous version. If you have already been using Team Productivity Center and are upgrading to a new version, be sure to follow the installation instructions for migrating to the latest version. In particular, be sure to install and migrate to the newest versions of any connectors you use. This will ensure that you have the latest capabilities, and that your connectors are fully compatible with the latest Team Productivity Center client.

1.2 Connecting to Oracle Team Productivity Center

Oracle Team Productivity Center is made up of the following parts:

  • The Oracle Team Productivity Center features of Oracle JDeveloper.

  • The Oracle Team Productivity Center server software, which is available from Oracle Technology Network. The server software includes a standalone installation guide, also available from Oracle Technology Network, which includes help on installing the Oracle Team Productivity Center server and connectors

  • Oracle Team Productivity Center connectors, which are available by selecting Help > Check for Updates. Connectors permit the Oracle Team Productivity Center client software, running inside JDeveloper, to interact with data repositories such as bug-tracking systems and feature databases.

  • The Team Resource window, from which you can create connections to shared resources such as an application server, a database, or a file system, which will then be available to all team members.

To connect to the Oracle Team Productivity Center server:

  • In the Teams accordion, click on Connect to Team Server, or select Team > Connect to Team Server.

This opens the Connect to Team Server dialog, described in the following section.

For more information on installing connectors from Check for Updates, see the “How to Install Extensions with Check for Updates" section in Developing Applications with Oracle JDeveloper.

1.2.1 How to Connect to the Team Productivity Center Server

Connecting to the Team Productivity Center server for the first time requires some information which can be provided by your administrator, displayed in the Connect to Team Server dialog.

Table 1-1 Connect to Team Server Dialog Options

Option Description

Team Server

The machine name or IP address of your Oracle Team Productivity Center Server.


The dedicated port used by your Team Server.


Select this if your Team Server connection requires a secure socket layer connection.


The username assigned to you by the Oracle Team Productivity Center administrator.


The password assigned to you by the Oracle Team Productivity Center administrator. To change this password, select Manage Profile after logging in with your existing password.

Remember Password

Select this to store your username and password, with other server information, for future logins.

Connect When JDeveloper Starts

With this option selected, you will be connected to Oracle Team Productivity Center every time you open JDeveloper.

When you have entered all the information and made all your selections, click Connect.

JDeveloper will store these settings. Note that if you select Remember Password, the password will be encrypted.

1.2.2 How to Disconnect From Oracle Team Productivity Center

You can disconnect from Team Productivity Center at any time.

To disconnect from Team Productivity Center:

  1. Click the dropdown on the right-hand side of the currently selected team.

  2. Select Disconnect from Team Server.


Team Productivity Center disconnects automatically when you quit JDeveloper.

You can also disconnect from Team Productivity Center by selecting Team > Disconnect from Team Server.

1.2.3 How to Manage Your Login Profile

Your Oracle Team Productivity Center user profile contains your first and last name, your email, your Oracle Team Productivity Center password, your preference for connecting to Team Productivity Center, and your code review settings. On the Login tab of the Manage Profile dialog, you can also set Oracle Team Productivity Center to remember your password on future connections.

To set values in your login profile:

  1. Select Team > Manage Profile.

  2. Update any of your user information in the name and email fields in the upper part of the dialog.

  3. To change your password, enter your old password, then enter your new password twice, once in the New Password field, then a second time to confirm in the Retype Password field.

  4. If you would like Oracle Team Productivity Center to remember your password for future connections, select Remember Password. Note that you can only change the Remember Password settings if you have changed your password.

  5. Click OK.

1.2.4 How to Manage Your Code Review Profile

On the Code Review tab of the Manage Profile dialog, you can also set Oracle Team Productivity Center to remember your preferences for how you wish to be notified of code review activity, and how you prefer to view code review content. You can choose to be notified by email or by popup when various conditions occur regarding your participation in code review.

To set values in your Code Review profile:

  1. Select Team > Manage Profile.

  2. Place a check mark in the box under Email or Popup for each of the conditions

  3. To change your password, enter your old password, then enter your new password twice, once in the New Password field, then a second time to confirm in the Retype Password field.

  4. If you would like Oracle Team Productivity Center to remember your password for future connections, select Remember Password. Note that you can only change the Remember Password settings if you have changed your password.

  5. Click OK.

1.2.5 How to Manage Your Repository Accounts

When using Oracle Team Productivity Center, you will often be accessing information stored in data repositories, many of which require you to have a user account for access. For example, if you have an account in your organization's bug tracking database, you need to provide this information to Oracle Team Productivity Center so that you can view, edit and save bug report information inside Oracle Team Productivity Center.

Oracle Team Productivity Center can store your account information (user ID and password) to simplify access to these accounts while working. For more information about work item repositories, see Section 2.2, "Working with Work Items."

To manage your repository accounts:

  1. From the Team Navigator menu, select Manage Accounts. The Team Navigator menu is the drop-down box at the right of the Team Productivity Center window.

  2. From the left-hand pane of the dialog, select the work item repository for which you need to change your account information.

  3. In the right-hand pane of the dialog, enter the up-to-date information for the account associated with the selected repository.

  4. You can optionally verify that your user ID and password are correct for the account you are editing. To do this, click Test Connection. The result of the test is displayed in the Status box.

  5. When you have verified that the information is correct, click OK.

1.3 Navigating Oracle Team Productivity Center

Navigating Oracle Team Productivity Center involves viewing team members, browsing versioning repositories, viewing or querying work items, creating work item templates, and participating in code reviews. You can also select your team and chat with team members.

You navigate Team Productivity Center through the Teams window, which opens beside the Applications window once you connect to Team Productivity Center.

Within the Teams window, additional accordions display the various components and interfaces of Team Productivity Center:

At the very top of the Teams, Oracle Team Productivity Center displays a drop-down list of teams available to you. Once you select a team from this list (unless there is only one default team, in which that team is selected automatically), the three accordion panels below display data for the selected team and its members. If you change to a different team, the accordion panels will be refreshed with the current team information.

Table 1-2 Team data available through Team Navigator

Name Description

Team Members

Displays the members when you select a given team.

Work Items

Displays work item repositories connected for the selected team. Viewing a work item for the first time in a session may require connecting to that work item's repository with your username and password for the repository. After you connect to a repository, you can create queries to that repository. For more information about work items and repositories, see Section 2.2, "Working with Work Items."


Displays the connected versioning repositories for the team. You can check out files from your versioning repository to your project/application (depending on the versioning system). You can view versioned files in read-only format. You can perform some repository administration tasks (such as create new directories), depending on the versioning system.

1.3.1 How to Select Your Team Productivity Center Team

When you connect to your Team Productivity Center server, Oracle Team Productivity Center displays a list of the teams to which your administrator has added you.

Once you have signed into Team Productivity Center, you can select from any available teams. (In some cases, you may only be a member of a single team, in which case no selection options will appear.)

To select a team:

  1. Click on the dropdown list just below the Team Navigator title.

  2. Select a team.

Figure 1-1 Selecting a team with the Team Navigator

Selecting a team with the Team Navigator

You will notice that a list of team members including yourself appears. Below the Team Members accordion, you will see the Work Items and Versioning accordions. Each of these will provide access to information repositories needed by your team.

Oracle Team Productivity Center indicates whether or not a team member is connected to the chat server; a circle with slash indicates they are not connected. In addition, rolling the cursor over a team member's name displays that member's data: full name, their role in the team currently being displayed, and their email address. Click the right mouse button on the team member's name to display the following options:

Send Email

Opens a message in your system's default mail tool.


Initiates chat with the member. If you have not yet selected a chat application or server, Oracle Team Productivity Center displays the Connect to Chat Server dialog.

If you are signed in to your chat server, double-clicking a team member's name will initiate a chat window. If you are not signed in to your chat server, double-clicking opens an email window.

1.3.2 How to Use Team Productivity Center Chat

Once you have installed Team Productivity Center, you can chat with members of your team. Team Productivity Center chat incorporates real-time text chat inside JDeveloper. You can chat with your selected team members, or with buddies from your active XMPP/Jabber protocol.

Once you have installed Team Productivity Center, you can use chat by selecting Team > Chat at any time. You don't have to be connected to Team Productivity Center to do so: you can open the chat window at any time, regardless of whether you are connected to Team Productivity Center. However, you cannot start a chat from the Team Productivity Center navigator if you aren't connected.

To connect to Oracle Team Productivity Center chat:

  • Select Team > Connect to Chat Server.

You can initiate a chat session in two ways:

  • After selecting a team member, click the chat symbol adjacent to the Team Members accordion header.

  • Double-click on the name of any team member. Logging into the Chat Server

Oracle Team Productivity Center only supports XMPP/Jabber protocols, and does not support multiple simultaneous connections. The first time you log into the Team Member chat panel, you may be asked to provide some configuration information needed by Oracle Team Productivity Center. Table 1-3 contains the information that is typically included.

Table 1-3 Configuration Options

Option Description


The name of the host chat server URL.


The assigned port number.


The assigned domain.


JDeveloper (typical). This is a user-defined name which can be unique, for example, if you are logged into a chat server from multiple JDeveloper instances.

User Name

Your chat server user name.


Your chat server password.

Remember Password

Select to store your chat server password for future logins.

Connect when JDeveloper starts

(dependent on chat server configuration)

Depending on the configuration of your chat server, the last two options may or may not work automatically.

In addition, two buttons in the Chat pane toolbar provide a shortcut to connecting or editing the connection properties:


Connects to chat server. Uses same fields as Edit Connection Properties.

Once you are connected, the Chat window displays two buttons on the toolbar of a chat that is in progress: Send, which sends the chat message, and Clear, which deletes all the text.

Once you are connected to the Chat server, JDeveloper displays an option to Edit Connection Properties, which includes a button to re-login to the chat server and an empty password field.

In addition, the Chat window contains four other buttons for controlling the chat:

Table 1-4 Chat window control buttons

Button Description


When connected, clicking this button disconnects from the current chat server. When disconnected, this button opens the Connect to Chat Server dialog.


Displays a drop-down menu with the following options:

Show Offline Buddies: Display chat buddies who are offline as well as those on line and available for chat.

Show Empty Groups: Display groups that have no members.

Show Details: Display chat details.

Add Group: Create a new group.

Add Buddy: Add an available buddy to the chat.


Displays a drop-down menu from which you can select from the server's available list of status messages (for example, Away, Available, In a Meeting, and others depending on the chat server). The message you select is displayed for other team members who view your icon in their chat window.

Edit Connection Properties

Opens the Edit Connection Properties dialog.

You can only connect to one chat server at a time. If your team uses multiple chat server, you must disconnect from one and update your chat properties to connect to another. To do this, click the Edit Connection Property button, or click the Connect toolbar button. Any of these will open the Connection Property dialog, from which you can click the Connect button.

1.4 Understanding the Build Dashboard and Build Summary

The Build Dashboard and Build Summary summarize the build status of projects your organization is tracking with a build tracking plugin such as Hudson or Cruise Control.

The Build Summary is displayed when you first log in to Team Productivity Center. JDeveloper shows a temporary snapshot of the Build Summary, containing information about the development/build branches your team is following, with status listings from the most recent builds and links to other results.

The Build Dashboard presents detailed statistics from builds of projects your organization is tracking with Team Productivity Center. The upper portion of the summary gives an overview of build information, test results, and the total transactions represented in the build. The lower portion shows related transactions from the source control management system in use, if Oracle Team Productivity Center was used to commit to the source control management system. You can open the build summary for a specific build listed in the Build Dashboard to view additional details on that specific build.

1.4.1 How to Open and Use the Build Dashboard

If the Build Dashboard is not visible, you can access it from the Team menu. This gives you easy visual access to the builds, branches, and test results that your team is following at this point in the project lifecycle.

To open the Build Dashboard:

  • Team > Build Dashboard

You can also open the Build Dashboard by clicking the drop-down selector from the Teams window, then selecting Build Dashboard.

If you have not yet logged in to Oracle Team Productivity Center and you select the Build Dashboard, you will be asked to log in to Oracle Team Productivity Center first. For more information, see Section 1.2.1, "How to Connect to the Team Productivity Center Server." Using the Build Dashboard

The Build Dashboard shows statistics from build status results that your team is tracking. You use the Build Dashboard to view transactions from your source control management system, test results, and work items affected by the build.

To use the Build Dashboard:

Clicking the branch name or the Total Transactions links of a row in the Build Dashboard displays the build results. This shows statistics from builds of projects your organization is tracking with Team Productivity Center.

Once you display the Build Dashboard, you can select from the latest builds and then view the information shown in Table 1-5.

Table 1-5 Build Dashboard Options

Option Description


Click the dropdown to select the development branch you are interested in.


The sequential list of builds in the selected branch. Click on the build of interest to display the Build Summary for the selected build.

Below the list of builds in a branch, the Build Dashboard displays a list of related transactions for the selected build in the selected branch.

Related Transactions

The Build Dashboard displays the Change Set, Change Set Owner, Repository, Type, and Key for the selected branch. Of these, the Change Set and Key can be selected; the other display elements are read-only.

Change Set

The change set in the selected versioning system. Selecting an individual change set loads it into the Log window and displays elements assigned to the change set you have selected


Displays the work item ID associated with the change set being displayed. Clicking on the key opens the work item detail editor, allowing you to view and modify the work item.

1.4.2 How to Use the Build Dashboard and Build Summary

All build/test system configuration takes place when the plugin is installed in the build/test environment. The build plugin is typically installed when Oracle Team Productivity Center Server is installed initially. After installation and configuration, build/test system results are returned to the Team Productivity Center client and made available to the Build Dashboard. You can customize the dashboard to display the results that are of interest to you.

To customize the build dashboard display:

  • Click on the Customize Branch and Favorite Notifications icon (the wrench).

This opens the Manage Module and Display Notification dialog. From this dialog you can select the modules you wish to include in the dashboard, as well as whether you choose to subscribe to notification in JDeveloper when any new build results are available for one of these modules. For more information while using the Manage Module and Display Notification dialog, press F1 or click Help at any time. Selecting Builds from the Build Dashboard

The Build Summary presents statistics from one specific build your organization is tracking with Team Productivity Center. The upper portion of the summary gives an overview of build information and test results represented in the build.

To select a build from the Build Dashboard:

  • Click on the Branch drop-down from the Build Dashboard, then double-click on the build of interest to select it. This displays the Build Summary for the selected build.

Table 1-6 describes the Build Summary toggle buttons, by which you can control which tests are displayed.

Table 1-6 Build Summary Toggle Buttons

Option Description


Select the statistics that you want the Build Summary to display. Clicking on one of these icons toggles it, choosing to display or hide results of the type you select:


Show/hide the results of tests that contain errors.


Show/hide the results of tests that failed.


Show/hide the results of successful tests.

Next to the statistic drop-down list, the Build Summary gives you the following ways of altering what information is displayed.


Show/hide test results marked as favorites.


Show/hide selected results with no assigned owner.


Display selected results filtered by category and by a string. Click the binocular drop down, then select the area from which you wish to filter the results. You can choose to filter results from one of these categories: Module, Class, Test case, Change Set Owner, or Work Item.

For example, when you have selected the category, type a string you wish the Build Summary to use as a search filter. The Build Summary displays only results that match the filter string.


You can expand and collapse any of the individual results in the Build Summary by clicking the node icon at the left of the results in the Class column. You can also expand and collapse all results by clicking the Expand All (the double-plus sign icon) and Collapse All (double-minus sign icon) buttons next to the Filter field.

Below the overview, the Build Summary provides detailed information about the module, class and tests performed, as well as links to the repositories your team is using to track bug information. The summary contains the following columns:

Table 1-7, "Build Summary Columns" lists the columns displayed in the Build Summary, containing the results of the selections you made with the Build Summary toggle buttons:

Table 1-7 Build Summary Columns

Option Description


The name of the test class run on the build. You can expand or collapse the hierarchical view of members in this class by clicking on the + or - sign at the left of the class name, or you can expand and collapse all classes by using the Expand All and Collapse All icons at the top of the display.

Tests Run

The number of tests run in each class. If you expand the class, the summary displays the number of tests run for each member in the class as well as the total number of tests run in the class


The number of tests in each class that resulted in a failure.

% Passed

The percentage of successful tests. Note that the percentages in each row reflect the ratio of passes to failures for each member of the class; if you collapse a row (which suppresses the display of elements in, and beneath, that class member), the percentage passed may not appear to reflect the visible numbers until you expand the row.


A graphical display representing the status of each test, as a success, a caution, or a failure.


The Results column displays a link to a detailed screen of information which summarizes the results of a test, including the specific error messages or output produced by that test. For failed test cases, this column normally displays more data, such as a full stack trace. Click the link to display a read-only dialog with full data.


The assigned team member responsible for the test on the selected row. You can send the owner email or open a chat session with the owner by right-clicking the owner's name.

If no owner is assigned to a test, the owner field contains a button you can use to assign yourself as the owner. Tests without an assigned owner will be the only items displayed if you select the Unassigned Only checkbox.

Additionally, this cell contains a toggle button: Add me as a owner and Remove me as a owner. To take ownership of a failed test, click Add me as a owner. To relinquish ownership, click Remove me as a owner.

Work Items

The numbers of any Oracle Team Productivity Center work items assigned to the test. Click on the work item number to display the details of that work item.

To show all repositories the team can access, click Create Work Item. This displays a list of all the work item repositories available to that team. You can then create the appropriate work item for that test.

Once the new work item is saved, the build summary page is updated with the new work item number.

1.5 Understanding Code Reviews

Oracle Team Productivity Center contains a number of features that allow a team to review code collaboratively, as part of the development process. The Code Reviews window is the primary way you access code reviews. While there are other ways you can search for, edit, and interact with code reviews, an overview of the Code Reviews window will give you an understanding of how to interact with code reviews.

1.5.1 How to Access the Code Reviews Window

You must be logged in to your Oracle Team Productivity Center server to access the Code Reviews window.

To access the Code Reviews window:

  • Select Team > Code Reviews.

This opens the Code Reviews window, located by default next to the Teams window.

1.5.2 How to Navigate the Code Reviews Window

The Code Reviews window lets you browse through reviews you have already seen, created, or been assigned. It also includes four tabs that let you display comments made to a review, the details for that review, reviewers assigned to it, and attachments for the selected review.

At the top of the Code Reviews window, you will see a drop-down list box from which you can select from three folders:

  • Reviews You Created

  • Reviews Assigned to You

  • Recently Viewed Reviews

Select one of these folders to display its contents; you will be able to select a specific review from the contents of each folder. If the folders are empty, you can search for reviews. Searching for reviews is covered in detail in Chapter 2, Section 2.3, "Working with Code Reviews"

To the right of the drop-down list box, there is an additional drop-down menu selector which displays the following options:

  • New Review: Creates a new review.

  • Refresh Review List: updates the content of the Code Reviews window if there have been changes (for example, if new reviews have been assigned to you).

  • Mark Review Closed: Close the selected review. Closed reviews are no longer available for comments.

  • Rename Review: Opens the Rename Review Name dialog. Enter the new review name, then click OK.

  • Search For Reviews: opens the Search Code Reviews window. Searching for reviews is covered in detail in Chapter 2, Section 2.3, "Working with Code Reviews"

Below the drop-down lists, you will see four tabs that present more detailed information for a selected review:

  • Comments

  • Details

  • Reviewers

  • Attachments

These tabs give you access to different aspects of the Code Review. Using the Comments Tab

The Comments tab displays two kinds of comments:

  • General comments: these are comments meant to be applied to the overall review, rather than comments about a specific line of code or change made to a file under review.

  • Files with comments: below the general comments, JDeveloper displays a list of files associated with this review, which have comments.

The list of files for a specific review lets you explore and interact with the files that your team have commented on in the process of the review.

To add a general comment:

  • Select the Comments tab, then click the Add New General Comment icon. Enter the text of your comment, then press the Enter key when completed to save your comment.

To select a file from the Comments tab:

  • Double-click the file name in the Comments tab.

This opens the selected file in the JDeveloper editing window, using the revision compare tool. This lets you scroll through two versions of the file being reviewed; you can use the navigation icons to jump to the next change, previous change, first change or last change.

You can reply to comments and also create new comments. See the section Section 2.3.5, "How To Comment on a Code Review" for details. Filtering Review Comments

There are two ways you can filter which files and which review comments are displayed:

  • By using the filter field to restrict display to comments matching the filter text.

  • By selecting an option from the Show menu (funnel icon) to apply to all available review comments.

The filter field interactively displays only the comments that match the text you enter. For example, if you have comments on Line 4, Line 6, and Lines 8-12, typing the text “Lines” in the filter field causes only the comment on Lines 8-12 to be displayed.

Note that the filter field only applies to the titles of comments; it has no effect on the display of files associated with the review.

To determine which files are to be displayed, you can use the Show menu to select specific conditions under which files, and any comments they contain:

  • Show All Files: Display all files associated with this review.

  • Only Show Files With Comments: Suppress the display of any files that do not contain review comments.

  • Show All Comment Threads: Display all comment threads, including the initial comment and any subsequent responses.

  • Show Only Unresolved Comment Threads: Suppress the display of any comment threads that have been resolved.

Careful use of the filter field and the Show menu can help you focus on specific issues of concern to you, rather than having to search individually through all comments in a specific review. This can be particularly valuable in a complex, lengthy project with dozens or even hundreds of review comments. Using the Details Tab

Table 1-8 illustrates the contents of the Details Tab

Table 1-8 Contents of the Details Tab

Option Description


The name of the code review you have selected.

Created By

The name of the team member who created the code review.

Revision Details

Contains the following information about the file revision being reviewed.


Displays any notes made by the initial creator of the code review.

Changeset Details

Displays the files included in the changeset to which this code review applies.

Associated Work Items

If this code review pertains to specific work items, they are included here. You can view the work item by double-clicking its name in this field. Using the Reviewers Tab

The Reviewers tab lists all team members who have been added as reviewers.

If you are the owner of a review, you can add or delete team members to the reviewers list by clicking the appropriate icon at the top of the tab.

To add or remove a reviewer from your review:

  • Click on the Add Reviewers (+) or Delete Reviewers (X) icon.

In addition, team member names in the Reviewers tab are active links to the chat feature. You can send a message to any of the reviewers in the tab by clicking their name. Using the Attachments Tab

The Attachments tab lists any files added to the review. You can add or delete files to the review.

To add or remove a file from the review:

  • Click on the Add Files (+) or Delete Files (X) icon. Managing Your Review Preferences

You can control the way you receive notifications, and the number of reviews displayed in the Recently Viewed Reviews folder, by using the Reviews tab of the Manage Profile dialog.

To control how you receive notifications:

  • From the Teams drop-down menu, select Manage Profile, then select the Code Reviews tab.

The Code Reviews tab lets you select whether you prefer to be notified by email or by popup under various conditions. ou can also select how many code reviews to be displayed in your Recently Viewed Reviews folder (5, 10, or 15), and you can clear the list of recently viewed reviews.