Saturday Aug 15, 2009

While the Kenai integration in the NetBeans IDE works pretty well overall, we are not resting on one's laurels. There are still many things that have to be done to make this marriage perfect. After we released NetBeans 6.7, a wild discussion on this matter started: "The UI is not cool enough!", "I don't like it done this way!", "It is not working together closely enough!", etc..

But this would lead us nowhere. As we are rational people at Sun, we had several very productive meetings (with several very unproductive moments) and we collected the set of use-cases for the NetBeans/Kenai integration. Subsequently, we have requested some new server API's, we started to slightly rethink the concept of the Kenai dashboard to make it more comprehensive and - the most important thing - we started to integrate Kenai services in the NetBeans stuff (and vice versa, indeed). An improvement from the last category is what I am going to show you today.

If you have a NetBeans project opened in your NB IDE, the IDE knows the remote repository information for the project. If the project is versioned and its repository is a Kenai repository, the NetBeans project has to be a part of some Kenai project. This way, we are able to determine what Kenai project the NetBeans project belongs to. When a project is already on Kenai, there is no point of having the "Share on Kenai" action on it - instead, we replaced this action with a "Kenai" submenu. Currently, you can use it to navigate to the associated Kenai project in the Kenai dashboard or to file/find a bug on the Kenai project:


Kenai actions on NetBeans project

Note: For implementation reasons, the project must be opened in the Kenai dashboard before you can file/find a bug for it (as we need to know an information that is stored on the server side - the presence of an issue tracker). If the corresponding Kenai project is not opened in the Kenai dashboard yet, only the "Open Corresponding Kenai Project..." action is available in the Kenai menu at this point...

We are also thinking about how to integrate versioning in this popup (maybe some SCM independent "Synchronise" action?) and if we should place some other Kenai services to this menu...

What do you think?

Friday Aug 07, 2009

Today, I am faster than the last time I was writing about the chat feature as I am writing about it before you can try it yourself. The changes I have made in the Kenai chat window are not in the trunk builds yet, they are pushed just a few minutes ago... But since it is Friday and I might not survive tomorrow (it's a "paintball war" day), I am going to share the new feature with you right now...

Since every chatroom is associated with a Kenai project and most of the Kenai projects have an issue tracker, it is now possible to navigate to an issue from the chat window and to send an issue reference. See the screenshot:

Issue recognition in the Kenai chat

Now just a few words about how it works (loosely copied from my closing text to issue 169037):

  • Kenai project related to the chatroom must have an issue tracker for the links to be recognized
  • Bugzilla issues are opened in the IDE
  • Jira issues are opened in the web browser
  • patterns "issue 123", "issue #123", "bug 123" and "bug #123" are recognized
  • for Jira, the form "bug JIRA_ISSUE-123" is equivalent with "bug 123" (the "JIRA_ISSUE" string representing a Jira category does not have to be included - chatroom is associated with the Kenai project)
  • for Bugzilla, if you specify an issue that is not in your project, it gets opened (problem with the fact that the
    issue numbering is global for BZ). You can see that the issue is not in your project in the issue details.
So that's about it for today - any comments and suggestions are welcome!

Thursday Jul 23, 2009

While I was testing the Kenai chat functionality in the NetBeans IDE, I came across a message sent by "mbien". It said:

mbien (Jul 17, 2009 in 12:32am):
"auto hyperlinking of stack traces to project sources would be a chat killer feature"

I am sure many of you folks can imagine that this feature would be pretty cool, heh? OK - so here you go:

Stack trace recognition in the Kenai chat window...

The feature is present in the development builds of 6.8 - the testing and comments are welcome, as usual!

Thursday Jul 09, 2009

Userdir is a directory where NetBeans RCP applications store settings and cache. Sometimes it can be helpful to be able to get the directory from the NetBeans RCP application itself. Most of the users initially go with something like:

String user_dir = System.getProperty("user.dir");

... and then they realize this returns a different folder from what they need. Instead, they are looking for this:

String user_dir = System.getProperty("netbeans.user");

Monday Jun 22, 2009

The university/student projects have their own specifics. One of the most visible one is that the innovation and enthusiasm is often combined with rather weak software engineering and poor execution. I know it from my own experience. When I and my team of three students started our software project at the MatFyz (Charles University in Prague), we had to deal with a lot of issues on our own.

For example, we were looking for the right development tools and for the infrastructure for our project... As we didn't have much practical experience with this, we ended up with our own instance of wiki (MediaWiKi on a freehosting), we used our own issue tracker (really - I am serious, we wrote our own PHP application just for the purpose - yeah, we were... young...), we placed our code in the Mercurial repository located on our faculty server and we used Google Groups as an alternative to the mailing lists.

...

[Read More]

Saturday Jun 20, 2009

"Scanning in progress..." - I believe that everyone have met the issue. You open some larger project and you can not use the NetBeans IDE for a few minutes until the sources are "scanned", whatever it means...[Read More]

Thursday Jun 18, 2009

... or rather "Finally, a font size can be configured for Output view"?

Today, I was sitting in my office with Tomas Holy, a dev guy who was responsible for the Output view (the view where build output is written, for example). We were chatting for a while as we needed to relax a bit after the hard labor we do.

I suddenly recalled a very commonly heard RFE's:

"Thomas, you know what you should implement? Settings for the font size in the Output view..."

Tomas's reply was plain as usual - with his traditionally bored voice he said:

"Yeah, it is already there..."

He was right, it really showed up in NetBeans 6.7... Those are great news for many people (especially for teachers/professors who use NB IDE at their lessons).

So currently, you can right-click the output window a do quite a lot of cool stuff, such as:

  • Resize the font (Ctrl+MouseWheel works as well)
  • Change a font ("wrapping mode" must be disabled)
  • Set a filter for the output lines (so that only lines matching a regexp can be shown, for example)
The new Output view


Furthermore, Tomas told me he did some rather major enhancements regarding the search functionality (in the Output window), therefore the search should be much faster and should be more memory efficient. I bet everyone has noticed better coloring of the text output...

I hope you will be happy of this enhancement as much as I am! :)

Wednesday Jun 17, 2009

Are you a Java developer and did you ever need to build your sources automatically? In this case, you must have already heard about Hudson... If you have used this tool, you must also know how great it is... But there is one more cool thing now (get ready to get excited:-)). We have integrated Hudson in the NetBeans IDE 6.7.[Read More]

Tuesday Jun 16, 2009

Friends of mine who tried to play around with the NetBeans platform usually didn't know how to correctly create a custom dialog. They tend to reason about this task in the basic "swingy" way: create a new JOptionPane, set it visible when needed and hide it when not needed anymore... But the NetBeans platform has much better and more structured way of displaying a dialog.[Read More]

Wednesday Jun 10, 2009

I have just discovered for myself a clean and quite finished GTK theme for my Ubuntu desktop. It is called the "New Wave". To use the theme, just invoke System>Preferences>Appearance and select the "New Wave" theme, as usual.

To make the theme usable, you need to switch to the "New Wave Dark Menus" variant - before you confirm the "Appearance Preferrences" dialog, click "Configure" and select the "New Wave Dark Menus" in the "Controls" tab.

This is what you get:

Here are some more previews (the theme suits quite well even to the NetBeans IDE):

Saturday May 23, 2009

If there is not enough time to implement a feature, the main focus is put on the functionality, not on the UI. Logical but sometimes sad reasoning. And this was exactly the case with the IM feature in the NetBeans IDE...

[Read More]

Thursday May 21, 2009

This short "How To" should help you to set up the Pidgin client for the chatroom of your Kenai project. The process consists of three steps.[Read More]

Friday Apr 10, 2009

I have never realized how difficult it is to find the download page for the VirtualBox Guest additions, it is not accessible from the wiki, at this time... After some time spent on Google, here is the answer:

If you need to download an ISO image of VirtualBox Guest Additions, go to:

http://download.virtualbox.org/virtualbox/

... and navigate to desired folder. The ISO image should be listed there.

Here goes the direct link for 2.2: http://download.virtualbox.org/virtualbox/2.2.0/VBoxGuestAdditions_2.2.0.iso

Thursday Mar 26, 2009

Sometimes, you need to deal with a really time-wasting issue. I think it happens even more often if you work in the IT industry. You know the resolution must be simple, but all your attempts failed. So you try to search the web, looking for a plain sentence that will lead you out of that mess...

If you want to write some text to a file that needs a root privileges, you do it this way:

echo "Text I want to write" | sudo tee /path/to/file > /dev/null

or (updated after reading discussion below):

sudo sh -c 'echo "Text I want to write" > /path/to/file'

If you just want to append some text, you do it this way:

echo "Text I want to write" | sudo tee -a /path/to/file > /dev/null

or (updated after reading discussion below):

sudo sh -c 'echo "Text I want to write" >> /path/to/file'

This won't work:

sudo echo "Text I want to write" > /path/to/file

This blog post describes how to clone and build NetBeans from the Hg repository. It also contains some notes that I received from my friends who followed my original instructions.[Read More]

This blog copyright 2009 by Petr Dvorak