Tushar works as Senior Architect at Persistent Systems Limited. He has 18+ years of experience working with Java and he is passionate about using NetBeans IDE and NetBeans Platform. He is also NetBeans Dream Team member. He likes designing algorithms and software systems using latest technology concepts. He is JUG Leader of Java User Group Nagpur. Tushar has posted 4 posts at DZone. You can read more from them at their website. View Full User Profile

Task Focused Interface for NetBeans IDE

10.10.2011
| 4936 views |
  • submit to reddit

When I first saw a Task Focused Interface in Eclipse, i.e., Mylyn, I became fascinated with the concept.  Maintaining files that are open as a task context was a very useful feature of that interface while switching between multiple tasks. 

I started searching for similar feature in my favorite IDE, NetBeans IDE.  I could not find a NetBeans plugin which can track all my open files as my task context.  I also found some references of people asking this feature at NetBeans Forums and Stackoverflow.

The urge for having such a NetBeans plugin motivated me to create a new module for NetBeans which I named NBTaskFocus.  This module is in working mode but still in alpha phase.  This project is available for review at:

http://java.net/projects/nbtaskfocus 

The project NBTaskFocus provides one feature for now and that is tracking your editor files in the task context.  It is available in source format for download and review if you are interested in such an interface.

Let me walk you through the features offered by the NbTaskFocus project.  When you run the module project you get two panels from the Task Focus menu, and they are Task Explorer and Task Details panels.

 Menus for Task Focused interface

  1. Make sure you open the Task Explorer and Task Details panels by using the menu options
    1. Window > Task Focus > Task Explorer and
    2. Window > Task Focus > Task Details
  2. Right click on the Task List node of Task Explorer panel and choose Add Task to add one task, repeat this to add more tasks.  You can rename the task using the Task editor which opens after adding the task.  You can close the Task Editor after renaming the task.
  3. Right click on the Task node and select Activate Task to make it activated
  4. Now when one of the Tasks is active open some files in editor area.  You can use the Favorites panel to open any file which can be opened in NetBeans IDE.  All the files you open will get added to the Task Details panel and will be part of the active task context.  If you close any editor window that file will get removed from the task context and will not be shown in the Task Details panel.
  5. Now right click on another task in the Task Explorer panel and activate it by choosing the Activate Task menu option from the context menu.  This will remove all the opened files in the editor area and you will see an empty editor area as the next task is a new task not activated yet.  Open some more files and see them getting added in the task context and shown in the task details panel.
  6. When we activate the earlier task the earlier files which were open for that task are restored and the current task context is removed from the editor area.

NetBeans IDE with NBTaskFocus panels

I will be adding more features and improving the code base from the received feedback and suggestions from developers.  Please reply with your comments and you may also send me mail on tusharvjoshi [at] netbeans.org

 

Published at DZone with permission of its author, Tushar Joshi.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

steven yi replied on Tue, 2011/10/11 - 5:09am

I'm using 7.01 and it seems like the nbm zip at the java.net site was compiled using 7.1 beta (or some other version newer than the latest stable). I got warning about requiring new versions of modules. I checked out the source from SVN and got the same warnings. Would love if the modules were compiled to work with 7.01 out of the box.

Tushar Joshi replied on Tue, 2011/10/11 - 5:20am

Hi Steven,

The modules were created using NetBeans IDE 7.1 Beta.  I will try binding them to NetBeans 7.0.x platform, to check if I have used any newer API, if all is well I will provide the source downgraded to 7.0 platform.

Thanks for the comment

Kimberley Scott replied on Tue, 2011/10/11 - 6:33pm in response to: Tushar Joshi

I've always like the Mylyn approach, but mostly use NB and miss it.
I'll definitely be playing with this!
Thanks heaps for your work!

John Muczynski replied on Tue, 2011/10/11 - 8:37pm

Oh, this is very nice. Thanks for your work.

I see a lot of potential for your Task-Focus software. Can you integrate it with SVN so that I can see what files I have modified which are not in a task? Can you integrate it with JIRA so that my active JIRA issues show up as tasks? I like making patch files sometimes ... can you turn my changes in files from a task into a patch? If it is a task named after a JIRA issue, can you automatically attach the patch to the JIRA issue?

Regardless, your software looks nice.

Kind Regards,
-John

Tushar Joshi replied on Tue, 2011/10/11 - 9:48pm

@Steven,
Now the project is rebased for the NetBeans 7.0 version, and a new download for NBMs is also available.

@Kimberley
Thanks for the blog post

@John
Points mentioned by you will make good enhancement requests for this project.  I concentrated on the most essential feature first and RFE's will guide me about else may be useful in this project.

Thanks all for the comments.

steven yi replied on Wed, 2011/10/12 - 11:48am

@Tushar: Thanks! I installed without problems in 7.01. Initial reaction is that it is a great start. I used Mylyn on Eclipse and very much enjoyed it there, and this is a good first step in having similar functionality in Netbeans. I will be looking forward to seeing where this goes. In terms of features, I'd love if double-clicking an item activated that Task, instead of opening it's editor. I find I'm much more interested in switching tasks and editing them. Also, if there was away to deactivate all tasks so that you are back into a free mode, that would be great. Thanks again!

Tushar Joshi replied on Thu, 2011/10/13 - 6:56am

@Steven,

Thanks for the feedback and suggestions.  I added your suggestions as enhancement request and that request is now resolved. http://java.net/bugzilla/show_bug.cgi?id=3440

The latest source contains the features what you asked for.

  1. New Deactivate Task context menu added
  2. Double clicking a Task toggles the state now.
  3. Clear task context menu removes all items in active task
  4. Remove task item allows removal of individual task item from task details panel
  5. Double clicking a task item in Task Details panel activates that item in editor area

with regards

Tushar

Tushar Joshi replied on Thu, 2011/10/13 - 6:58am in response to: steven yi

Thanks for this feedback and appreciation Steven.  I have added features you asked for, please check my comment below your comment.

Hantsy Bai replied on Tue, 2011/10/18 - 12:21am

Similiar project I used before.

Cubeon is the clone of Eclipse  Mylyn, I like this one every much.

http://code.google.com/p/cubeon/

NBALM

http://www.javaforge.com/project/NBALM

But all these projects are stopped.

I am the author of  http://code.google.com/p/click4nb, so I know some basic NetBeans apis.

I noticed the NetBeans team moved the "team support" outside of the dist package, I think it will be discarded by NetBeans team, like the ruby support.

 I hope there is someone can take over the effort of Cubeon, and merge all work of current projects(NBALM, cubeon, and this one motioned in this article).  If u need some help, do not forget me.

 

 

Tushar Joshi replied on Tue, 2011/10/18 - 3:32am

@Hantsy

Good to know your interest in the project.  I am connected with the creator of Cubeon project and we may think of merging the features of this project with Cubeon if the concept of the features in this project are liked by developers using NetBeans IDE.  Please try using these modules and send your feedback about the features if possible.  Also tell me anything you may need to use these modules.

Tushar Joshi replied on Sun, 2011/10/23 - 6:55am in response to: John Muczynski

@John,

Thanks for the suggestions and I am taking them as desired enhancement for the project.  I have added them as enhancement requests to the project and will keep on working on how to add these features in the project one by one. 

 Thanks again.

with regards
Tushar

Tushar Joshi replied on Fri, 2011/10/28 - 2:22pm

Hi All,

After implementing many suggestions and fixing some bugs in the project, there is a finer version of the project available now with the following features:

  1. Project Context - showing the files in context like Projects panel
  2. Files Context - The Files panel but with context information
  3. Task details with Project information and external resourses listed separately
  4. Many reported bugs fixed 

There will be a release on 31st Oct 2011 with these features.  For the impatient the source is available on the site to checkout and to build.  The update center will be updated on 31 Oct to update existing modules.

Please check and file enhancement requests and suggestions for the project.

Matt Coleman replied on Fri, 2011/11/18 - 12:26am

 

 this interface is a great help

buffalo website design

Ryan Fitz replied on Fri, 2011/11/18 - 1:00am

 i have enjoyed reading your post here.very helpful indeed

amish rifle shirts

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.