4 Working in a Collaborative Environment

This chapter describes how to use the collaborative tools that are included in the IDE.

This chapter contains the following sections:

4.1 About Working in a Collaborative Environment

Developers who are collaborating on a project require a set of tools and an infrastructure that can help them stay connected to each other and work together as a team. In addition to sharing sources, team members need to be able to share information and communicate with each other, and how they share information depends on the type of information they need to share.

In a collaborative environment, team members have different roles and requirements. For example, in addition to software developers, a team might also include people in the following roles:

  • Quality assurance

  • Project management

  • Documentation

  • User experience design

  • Marketing

Not all team members use the same tools, but communication between members can be simplified when the infrastructure and tools are integrated. The IDE provides integrated support for the following collaborative tools and services:

Issue Tracking. (Bugzilla, JIRA) An issue tracker enables developers and users to report and track tasks that are associated with a project and provides a valuable feedback mechanism for people involved in the project. The integration of an issue tracking system in the IDE enables developers to find, view and resolve project tasks from within the IDE.

Version Control Systems. (Subversion, Mercurial, Git) The IDE provides integrated support for version control systems to help developers manage the history of file revisions. For more information about using version control systems in the IDE, see Section 3, "Versioning Applications with Version Control."

Team Server. A Team Server can provide an infrastructure of services for each project hosted on the designated server. After you log in to a registered Team Server, you can open and create projects and access many of the available services from the IDE.

To register and use a Team Server in the IDE, you need to install the Team plugin from the Update Center. For more about using the Plugins manager to install the Team plugin, see Section 2.9, "Managing Plugins in the IDE."

4.2 Working with Tasks

You can organize issues that are recorded on a registered issue tracker as tasks in the IDE. To work with tasks in the IDE you first need to specify the issue tracker that is used as the task repository for your project. After you register a task repository with the IDE you can use the Tasks window to perform the following tasks in the IDE:

  • Find, update and resolve tasks

  • Create new tasks

  • Organize tasks by category

  • Create and save queries

4.2.1 About Task Repositories

A task repository is a system for tracking issues that are submitted against a project. The IDE supports two types of task repositories:

  • Local. The IDE includes a local task repository that you can use to store personal tasks. Tasks in your local repository are only stored on your local file system and are only accessible to you from within the IDE. You store scheduling details about tasks in your local repository.

  • Remote. A remote task repository is generally located on a remote server and is accessible to other users. You can use a remote repository to submit tasks and assign responsibility for resolving tasks to members of a team collaborating on a project.

    Remote task repositories typically use an issue tracking system. The IDE provides support for the Bugzilla and JIRA issue tracking systems. For more details about the supported issue tracking systems, see the following sites

Note:

JIRA support requires the JIRA plugin available from the NetBeans Update Center. For more about details about adding support for JIRA, see Section 4.2.4, "How to Add Support for JIRA."

For more on the JIRA plugin, see the following FAQ:

http://wiki.netbeans.org/FaqHowToJira

4.2.2 How to Work with Tasks

You can use the Tasks window in the IDE to find, update and create tasks on a remote repository or your local repository.

4.2.2.1 Finding and Opening Tasks

From the Tasks window you can perform a quick search for tasks by id or a string in the summary or open the Find Tasks form to create an advanced query. You can view a list of tasks that match your saved queries in the Tasks window.

After you save a query the results of the search are listed under the query name in the Tasks window. You can double-click any task in the list to open the task form in a new window. You do not need to be online to open a task that is listed under a saved query. You can update a task in the and save the changes when you are offline and then submit the changes the next time that you are online.

To perform a quick search of tasks:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

    Alternatively, choose Team > Find Tasks to open the Find Tasks form and select the repository from the drop-down list. The drop-down list contains all remote task repositories that are registered with the IDE.

  2. In the Repositories section of the Tasks window, click the Search task in repository icon ( Search task in repository icon ) for the repository that you want to search.

  3. Type a task id or string in the dialog box.

    When you type in the text field the dialog box displays a list of possible matches that is based on tasks that you recently viewed in the IDE.

  4. Select a task from the drop-down list.

    You can choose Search online Task Repository in the drop-down list to retrieve more results.

  5. Click Open.

When you click Open the task form opens in a window in the IDE.

4.2.2.2 Creating and Saving Task Queries

The IDE enables you to save and name search queries that you use repeatedly. You can create and save queries using the Find Tasks form or create a query as a URL. If you are not online you can open tasks that are listed in the Tasks window. You can also update a task when you are not online and submit the changes later when you are online again.

To create and save a task query:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. In the Repositories section, click the Create New Query icon ( Create New Query icon ) for the repository to open the Find Tasks form.

    Alternatively, you can choose Team > Find Tasks in the main menu to open the Find Tasks form

  3. Specify the search criteria.

  4. Click Search to retrieve the results of the query.

    When you click Search the IDE searches the remote repository and displays the search results in the form.

  5. Click Save Changes in the search form.

  6. Type a name for the query. Click Save.

After you save the query the new named query is added under the repository node in the Tasks window.You can expand the named query node to view a list of tasks that meet the search criteria. You can double-click any task in the list to open the task form in a new window.

You can open and update tasks in the list when you are not online. If you are not online the Submit Changes button is disabled in the task form. You can click the Save Changes button to save any updates that you make to the task and submit the changes when you are online.

4.2.2.3 Reporting New Tasks

To create a new task from the IDE you need to use your local repository or register a remote task repository with the IDE and then use the Report a New Task form to specify the details of the task. If you are not logged in to the task repository you will be prompted to supply the log in details when you submit the new task. If you are not online you can create and save the task and then submit the task when you are online.

  1. Open the Tasks window and click the Create New Task icon ( Create new task icon ) for the repository in the Repositories section.

    Alternatively, choose Team > Report Task from the main menu and choose a repository in the Report a New Task form.

  2. Specify the details of the new task.

  3. Click Submit Task to submit a task to a remote repository or choose File > Save from the main menu to save a task to your local repository.

If you are not online you can click Save Changes and submit the task when you are online. You can expand the Unsubmitted Tasks node in the Tasks window to view a list of the tasks that are not submitted. When you are online you can right-click an unsubmitted task in the list and choose Submit in the popup menu.

4.2.2.4 Updating and Resolving Tasks

The IDE enables you to resolve tasks from within the IDE when you are logged in to a registered remote task repository. You can also update a task to add scheduling details. Scheduling details for the task are only stored in your local repository.

To update or resolve a task:

  1. Open the task form in the IDE.

  2. Type your comment in the New Comment field.

  3. Select a new status for the task in the Status drop-down list, if applicable.

    If you want to resolve the task, select Resolved in the drop-down list and select the appropriate entry in the Resolution drop-down list.

  4. Expand the My Private Task Details section and enter a Due Date and Schedule Date, if applicable.

  5. Click Submit Changes to submit changes to a remote repository or choose File > Save from the main menu to save the changes to the task to your local repository.

    If you are not logged in to the remote task repository you will be prompted to log in to submit your changes. If you are not online you can click Save Changes and submit the changes when you are online.

4.2.3 How to Add a Task Repository

To use an issue tracker with the IDE you need to register the issue tracker as a task repository. After the task repository is registered you can use tools in the IDE to find, report and resolve tasks that are recorded in the task repository.

To add a task repository:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Click the Add Repository icon ( Add Repository icon ) in the Repositories section.

  3. Specify the connection details. Click OK.

When you click OK, a node for the task repository is added below the Task Repositories node in the Services window.

To modify the connection properties of a task repository:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Right-click the repository node ( Repository icon ) in the Repositories section and choose Properties in the popup menu.

  3. Modify the connection details. Click OK.

4.2.4 How to Add Support for JIRA

To enable integrated support for JIRA issue trackers in the IDE you need to install the JIRA plugin. You can install the JIRA plugin from the NetBeans Update Center. You need to restart the IDE to complete installation of the plugin.

If the JIRA plugin is not installed and you try to view or work with tasks that are tracked using JIRA, the IDE prompts you to use the Plugins manager to install the JIRA plugin.

To install the JIRA plugin from the Create Issue Tracker dialog box:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Click the Add Repository icon ( Add Repository icon ) in the Repositories section to open the Create Task Repository dialog box.

  3. Select JIRA in the Connector drop-down list.

  4. Click Download JIRA plugin.

  5. Proceed through the installation process to install the plugin and restart the IDE.

To install the JIRA plugin using the Plugins Manager:

  1. Open the Plugins manager by choosing Tools > Plugins from the main menu.

  2. Select the Available Plugins tab.

  3. Locate the JIRA plugin from the list of available plugins.

    You can use the Search field in the Plugins manager to help you locate the plugin.

  4. Select the Install checkbox for the JIRA plugin.

  5. Click Install.

  6. Proceed through the installation process to install the plugin and restart the IDE.

For more on how to install the JIRA plugin, see the following FAQ.

http://wiki.netbeans.org/FaqHowToJira

For more information on features of the JIRA issue tracking system, see the JIRA website:

http://www.atlassian.com/software/jira/

4.3 Working with the Tasks Window

The Tasks window provides an organized overview of tasks that are recorded in a task repository. To use the Tasks window you can use the local task repository or register a remote task repository with the IDE. You can add a remote task repository in the Services window.

The Categories section of the Tasks window displays lists of tasks that are organized by category. The Repositories section of the Tasks window displays a list of all tasks that are the results of a saved query. You can create new categories and queries from the Tasks window.

4.3.1 How to View Tasks

The Tasks window enables you to see lists of organized tasks. You can organize tasks by assigning a task to a category. You can also save queries and view the results of the query in the Tasks window. You can double-click any task entry in a list to open the task in a new window in the IDE.

You can enter a string in the filter text field in the Tasks window to limit the tasks that are displayed to the tasks that contain the string in the task summary.

To view tasks that are organized by category:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Expand a category node in the Categories section to see a list of tasks that you assigned to that category.

  3. Double-click a task in the list to open the task in a window in the IDE.

    You can move your cursor over a task entry to view a summary of the task.

To view tasks that are the result of a saved query:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Expand the task repository node in the Repositories section of the Tasks window to see a list of saved queries.

  3. Expand a saved query to view a list of all tasks that are the result of that query

    The entries for tasks that are new or were modified since the last time you opened the Tasks window are displayed in green text.

  4. Double-click a task in the list to open the task in a window in the IDE.

    You can move your cursor over a task entry to view a summary of the task.

To search for a task:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Click the Search Task in Repository icon ( Search Task in Reposiitory icon ) for the repository that you want to search.

  3. In the Search Task in Repository dialog box, type the task id or part of the task summary text, or select from recent tasks in the drop-down list.

  4. (Optional) Select a category from the drop-down list if you want to simultaneously assign the task to your category. Click Open.

    When you click Open the task opens in a window in the IDE.

4.3.2 How to Organize Tasks

You can use custom categories to group tasks in the Tasks window. After you create a custom category you can assign any task to that category and the task remains in that category until you explicitly remove it or you add it to a different category. A task can only be in one custom category. By default, the Categories sections displays all tasks that are assigned to a custom category regardless of the status of the task.

The Categories section contains three default Schedule categories that group the tasks that have scheduling details (Today, This Week, All) and one default category for tasks that were opened recently. To hide a Schedule category, click the filter icon ( Filter icon ) at the top of the Tasks window and disable the category in the list. To hide the tasks that are resolved, click the Filter icon and disable Show finished tasks in categories.

To organize tasks by custom category:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Click the Create Category icon ( Create Category icon ) in the Tasks window to open the New Category dialog box.

  3. Enter a name for the category in the dialog box. Click OK.

    When you click OK a node for the new category is added under the Categories section in the Tasks window.

  4. Open a task in the IDE.

  5. Click Add to Category at the top of the task window.

  6. Select a category from the drop-down list. Click OK.

    When you click OK, the task is added to the list of tasks under the category node.

You can also right-click a task entry in the Repositories section and choose Set Category to assign the task to a category.

To remove a task from a custom category:

  1. Choose Window > Tasks from the main menu to open the Tasks window.

  2. Expand a category node in the Categories section to see the list of tasks that are grouped in that category.

  3. Right-click the task entry that you want to remove and choose Remove from Category in the popup menu.

You can remove a task from a category by assigning the task to a different category.

To remove all completed tasks from a category, click the Remove all finished tasks from categories icon ( Remove finished tasks icon ).

To add schedule details to a task:

  1. Open the task form in the IDE

    You can add scheduling information to tasks in your local or the remote repository, however the scheduling information is only stored in your local repository.

  2. Expand the My Private Task Details section.

  3. Enter a Due Date and choose a Schedule Date option in the drop-down list.

  4. Choose File > Save from the main menu.

Tasks that have scheduling details are automatically added to one or more of the default Schedule categories.

4.3.3 How to Configure Tasks Window Settings

You can use the Options window in the IDE to configure how often tasks are updated in the Tasks window.

To configure settings for the Tasks window:

  1. Select the Tasks tab in the Team category of the Options window.

  2. Specify how often the IDE checks the task repository to update the list of tasks in the Tasks window.

  3. Specify the number of tasks that are displayed in each section of the Tasks window. Click Apply.