LocalTasks

Revision as of 12:58, 3 April 2012 by Ovrabec (Talk | contribs)

Contents

Local Tasks in NetBeans IDE

This document describes the use cases, requirements and UI of s special task repository in the IDE - Local Tasks. The document is not final and will most probably change in the future as the discussion about local tasks evolves.

Introduction

NetBeans IDE is slowly turning into a task-driven IDE where users work on their tasks, the IDE behaves differently depending on the active task. The task can come from various different bug trackers but what we're missing at the moment is the ability to create a local task, invisible to others but the one person who created it, add private comments to the task, schedule it for some time in future or add dependencies in other tasks (even from other bug trackers).

Use Cases

Create Task

Franta would like to implement a new awesome feature for his favorite IDE but his manager did not allow him to do that at work because he did not care about the feature at all and considered it useless. Instead of creating 100 user accounts voting for the issue in Bugzilla Franta decided to implement the feature in his free time as a Friday afternoon project. He's developing the feature locally on his machine and would like to track progress of the development but because he's unsure how far he's gonna get, he does not want to expose the progress to public (by using a bugtracker) but instead would like to make his notes have them stored locally.

So he goes to the new Task Dashboard, selects the always available Local Repository repository and from its menu invokes Create New Task. A form for new local task opens in the editor area, Frantik enters its summary New awesome feature.
Then he fills the description of the task into Private Notes text area. He's planning to track the progress of the development and fill all his private thoughts into the field later so when he activates the task next Friday he would know where to continue. For the meantime he enters Prepare UI specification for the feature into the field.
Because he would like to finish his work until the feature-freeze for the next release he also fills the Due date field and enters the date of the freeze.
After that he saves the task with Ctrl+S keystroke and the task is immediately added into the Task Dashboard under the Local Repository repository node.

Reviewing Opened Tasks

Franta decides he would like to review and check what tasks await him in upcoming future so he opens the Task Dashboard, expands the Local Repository repository node and its only task query All Tasks and quickly reviews id and summary of all his opened local tasks.

Questions

  • Other bug trackers as Bugzilla or Jira can open queries in editor, should the local repository do the same? What about displaying the tasks only in the dashboard and no implementing the heavy-weight query?

Editing Tasks and Adding Dependencies

Franta, our workaholic developer just finished his Friday work and because he's not yet ready to go home to bath his two babies and read them fairy-tales he instead stays at work and starts working on his project. He opens the task from the dashboard and reviews its current progress he tracks in the Private Notes field.
He realizes that the last note was about creating the UI specification so he creates a new local task called UI spec for Awesome feature and this time enters the id of the first task into the new task's Parent task field. Thus he creates a relation between those tasks so he does not forget about the UI spec task. He saves the new task and switches back to the first, parent one.
He makes some notes about his current feelings into the private notes area and saves the changes via Ctrl+S.

After some time of working on the new feature Franta suddenly realizes he cannot continue because he's blocked by missing features in another area of the IDE. However he's aware that his college the debugger guy Martin is currently working on the missing feature and there's already a RFE in the team bugzilla for the feature. So he opens his local task in editor and clicks on the Add subtask button. A dialog is opened where Franta selects the public team bugzilla repository and the RFE Martin is working on. By clicking on the OK button, the RFE task is added as a subtask of the local task and another relation between tasks - this time between local task and a task from another repository - is added. Franta saves his changes and closes the edited task.

Notes

  • The subtask would be removed by simply clicking on a remove icon in the editor. Will be specified in the UI spec.

Closing Task

Next Friday our developer finishes work on the UI specification for his awesome feature. He opens the subtask from the dashboard, selects Completed from the Status field and saves his changes. Immediately the subtask disappears from the Dashboard (because it is no longer opened) and is marked as completed in the parent task.

Deleting Task

After many many Fridays spent at work Franta's wife gives him an ultimatum and tells him that he really needs to work less and care about his family more. So Franta sadly decides to abandon his work on his project and because he does not want to be reminded about his unfinished work he deletes the task from his local repository. He selects Delete Task from the contextual menu on the task in the Dashboard and after confirming his determination the task is permanently removed from the local repository.

Other Use Cases

Local Repository is planned to be a special case of a task/issue tracking repository but all task-related use cases will apply to them as well. So scheduling, activating/deactivating and switching, categorizing in the dashboard, working with context and others described in Use Cases are also valid.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo