Use the new Netbeans.org site the right way - from the IDE

A story of a young boy's dream...

When I was a young boy, I wanted to be a NetBeans developer. Since the age of five, I dreamt of writing my first line of the NetBeans code. (Well, when I was five, there was no NetBeans nor Java but since I am trying to advertise a bit, the story doesn't really have to make sense, right?)

I had to wait until I was 23 before the guys from the NetBeans team picked me for a tester, and half a year more before they allowed me to touch the code ("Hey, you, could you fix that typo in the message there? I am having a lunch and I don't want to touch my keyboard..."). Now, I am trying to learn how to write a code without hearing smart boys' (translate as "Jesse Glick's") remarks on what strange thing my code does - I am trying to become a good occasional NetBeans programmer...

During the wonderful time I spent in the NetBeans team so far, I learned almost all the stuff around the NetBeans community and majority of the NetBeans related processes. I learned how to submit an issue with a description that actually makes sense (hopefully, no developer reads this...) and how to work with the IDE's sources. I slowly got accustomed to the ancient idea of mailing lists and I happily observed how we introduced the forums integrated with them. I almost started to understand why we have a wiki that looks completely different from the website. I became a young but already a bit gray NetBeans wolf... Well - now, these days of beautiful complexity are gone...

Beautiful simplicity of Kenai

Since our website is now Kenai-smart (after the months of nervous devil's engineering, we managed to do that), anyone who is interested in the participation in NetBeans community can achieve in about one hour (maybe I should add "depending on the connection speed") what I achieved in more than a year and a half. Let me share with you how to submit bugs for the NetBeans IDE and how to get the NetBeans IDE sources right from the NetBeans IDE.

But first - to give you better insight - everything starts here: https://netbeans.org/api

The NetBeans.org website is actually a "smart website", defining the description of the components/projects of the NetBeans IDE using the Kenai API. One could say that this approach blurs the border between a project and its website as those two things are now tightly connected.

Since the NetBeans IDE includes the support for the Kenai API, it is not surprising you can work with the NetBeans IDE components using the NetBeans IDE itself. One of the big positives is that the NetBeans team "eats its own dog food" - we work on the infrastructure that we try to support.

Getting started - Connect with the NetBeans website

So - ready to find out about the new NetBeans infrastructure? Here is what you need to get started:

  1. Download the development version of the NetBeans IDE (this thing is implement just recently - you can try it while it's hot)
  2. Start the NetBeans IDE and open the Services view (Ctrl+5) - you should see a new node Kenai Instances
  3. Right-click the Kenai Instances node and choose Add Instance
  4. Fill in the name ("NetBeans.org"), server ("https://netbeans.org" - mind it's HTTPS) and confirm the dialog
  5. Right-click the new instance and invoke Set As Default - the NetBeans.org node get's bold
Now, you should see a new Kenai instance pointing to the NetBeans.org website and you can start exploring the Kenai projects located on this server.
Adding a Kenai instance

Understand the structure, get started...

... with sources

Before I tell you how to work with the sources and so on, I will describe how the NetBeans sources physically look. This should help you to understand some choices we made while designing Kenai projects on NetBeans.org website.

The NetBeans sources consist of many modules. Each module provides a part of the NetBeans IDE functionality. However, the modules are not very useful on their own - they make sense only with the rest of the modules (or - at least - with a relatively large subset of the modules, such as openide modules, API support modules, project or editor infrastructure modules, etc.). Therefore, there is not any direct mapping of the NetBeans functionalities (for example Ruby or Java support) to unique set of the NetBeans modules (both Java and Ruby support use editor and projects infrastructure modules, for example, and doesn't work without those).

Accordingly, if you are not a NetBeans expert (which I am still not) and if you need to get the NetBeans sources for playing with them a bit, you should get it all or nothing. Also - if you think you are a NetBeans expert and you want to get just partial sources, this will disappoint you -  as we use the Mercurial for versioning, you have no other choice: you can clone the whole repository or nothing...

Because of above mentioned points, it makes no sense to have sources under all Kenai projects on NetBeans.org (cloning the sources for project Java would clone the same repository as cloning the sources for project Ruby). Instead, all NetBeans repositories are located under a single project, called simply "IDE".

Conclusion: If you need to get the NetBeans sources, you will find them in the IDE project. No matter which specific repository you need...

So - let's do it:

  1. Make sure the Mercurial is installed on your machine - if not, install it and restart the NetBeans IDE (... sorry for the inconvenience...)
  2. Open the Kenai dashboard (Ctrl+8)
  3. Click the button for opening a new Kenai project and wait until featured projects load. You should see the IDE project right at the top - open it...
  4. A new project should show up in the Kenai dashboard (Ctrl+8) - expand it's Sources node (it can take a while)
  5. Find main-golden repository (this is the one we use for the daily builds) and click "get" link
  6. Specify a location for the clone and click Get From Kenai button - a clone should start, you can see the progress in the lower right corner or in the Output view (Ctrl+4). Clone should take some time depending on the connection speed - do not be impatient. Keep on reading this post while waiting! :)
  7. Set up your environment and build the NetBeans sources (you need to use Java5 and give some more memory to ant and javac).
  8. The most important step: develop the code + enter issues with your patches attached (you won't be able to push code changes directly into the repository).

Open the IDE project


This is how you became a NetBeans community developer...

... with issues

In contrast to how we have dealt with the sources, it makes a perfect sense to submit an issue for example for the Java support, as issues are specific for given functionality. Therefore, every Kenai project on NB.org has an issue tracker associated with it. The "IDE" project also has an issue tracker - use this one if you are not sure where to report an issue.

Try to open some other project, for example a project for the Kenai infrastructure support:

  1. Invoke the Open Kenai Project dialog again
  2. Search for "ConnectedDeveloper" (write it as a one word, note the list of all projects can be found on http://netbeans.org/projects).
  3. Expand the Issues node - it takes a bit (30s) for the very first time (then it's fast). You should see a link for finding an issue or for submitting a new report. Also, if you are a registered member of the NetBeans.org community already, you can login and see the issues you submitted (in the case, you will see a link "My Issues" too).
  4. Try searching for the issues using the "Fins issues" link, submitting issues will work for you only if you are registered on NetBeans.org website (for obvious reasons...).
Issues for NetBeans from NetBeans


OK - this was a pretty brief startup for the NetBeans community tester... Once you register on NetBeans, you can do my job from the comfort of your home;-)!

... with other features, just to keep you posted

You can review the details of any project by clicking the "Details" link in the Kenai dashboard -  this opens a view with Kenai project details. Try it for the "ConnectedDeveloper" project you just opened or for some other nice project - for example the project for Japanese speaking community members called "ja" :) - this one even has a project picture and it's own wiki...

The project details view provides a nice and comprehensive access to all Kenai project features, even to those that cannot be directly accessed via the NetBeans IDE, such as the wikis, mailing lists or downloads. This view should help you to find the good ways to keep in touch with what is going on in the particular project. But please note that project mailing lists are usually more about receiving the information (notification about the project issues or commits, for example) and you should not post to them directly. If you want to complain on how horrible the NetBeans IDE is (in any areas) or ask a question related to NetBeans, please use the public mailing lists that are all available under project WWW. List "NBUsers" is probably the right one for you (mailing lists are still integrated with forums on http://forums.netbeans.org/)...

Kenai project details page


By commenting on the mailing lists, you will give us a valuable feedback and you will become a community commentator;)...

Conclusion

While the Kenai support in the NetBeans IDE works pretty well in our opinions, we are still looking for the community feedback and for some new ideas on how to improve it. Generally speaking, you can improve the way the NetBeans+Kenai marriage works in 2 ways: by participating in the NetBeans community or by participating in the Kenai community. I think it is worth the try one of those, even if it wasn't your dream when you were five... :)


Comments:

I dislike the kenai dashboard interface...You can switch to Swing(Metal) gui, you will feel the interface is strange and ugly...
NetBeans provide many different guis in editor, the SOA designer and Profiler and VisuleVM and Welcome Page gui look good, but the MultiXMLEditor(web.xml editor, persistence.xml) is not friendly...and the color and style is so different from the former.
I think everybody like those in Eclipse, NetBeans must provide a web page like component and unite them(the API, the color, the style)...

Posted by hantsy on November 15, 2009 at 10:59 AM PST #

Since Kenai.com is only for open source projects, I can't use it for work. It's only useful for starting an open source hobby project or participating in one the many existing open source projects on kenai.com. Since I currently don't have time to participate in other people's projects, I don't have a use for kenai.com. If kenai.com offered closed private and secure hosting for a fee like Jira Studio, then I might have a use for it.

Posted by Ryan on November 15, 2009 at 11:13 AM PST #

Hantsy: Well, this is very much a question of personal opinion, right? After we released 6.7, we discussed the look of the Kenai dashboard a lot and after several death fights between QA and devs, we decided to rewrite the Kenai support from the scratch in NetBeans 6.8. The UI has much improved and I doubt it will get any better, except for the L&F specific fixes. The best way you can help us: give us specific suggestion about how the dashboard should look and what usability problems you meet (well, Kenai dashboard was designed from the usability perspective too), so that we know what specific issues does it have. What I can agree on with you is that many UIs do not look very consistently - it is from large portion the result of the modular architecture of the NetBeans IDE and it is one thing that could be improved (but as long as the usability of the UI is reasonable, it is not a priority - there are worse issues in the IDE, I guess).

Ryan: This post describes how NetBeans.org website uses a private deployment of the Kenai software. In other words - Kenai team deployed the same software as you see on Kenai.com on NetBeans.org site, we customized it a bit so that it looks like the old NB.org page etc. and we use it for development, leveraging the built in NetBeans support for Kenai API. But I will point you to this statement which loosely says that "private projects are possible but the possibility is not public yet":

http://kenai.com/projects/help/forums/general/topics/1289-private-projects

Maybe if there is more demand for making the feature of private projects public (understand "If you take your time to file a Kenai issue"), Kenai.com could one day serve your purpose...

http://kenai.com/jira/browse/KENAI

Posted by Petr Dvorak on November 15, 2009 at 05:25 PM PST #

Since Java 5 is marked EOSL, two questions:
- Where to get Java 5 from now? (for instance, ubuntu 9.10 does not contain it any more)
- Will NetBeans switch to Java 6? And when?

Posted by Michael Kulla on November 16, 2009 at 10:34 PM PST #

Michael:

- I guess this is the link - http://java.sun.com/javase/downloads/5u22/jdk
- Yes, it will. But it is still opened when - discussions are in progress - and I won't tell you too much about it now

Posted by guest on November 18, 2009 at 04:55 PM PST #

[Trackback] This post was mentioned on Twitter by krzychukula: Petr Dvorak: Use the new Netbeans.org site the right way - from the IDE http://ff.im/-bwXsU

Posted by uberVU - social comments on November 23, 2009 at 09:42 AM PST #

OK I have questions about screwing around with the NB source and Kenai.

I previously checked out silver-main just using mercurial. Then I built it and that build is the IDE I use. So I have a not-that-old snapshot of a silver-main and I have a version of NB built from that snapshot. That's my daily IDE.

So in that version, I just logged into Kenai and made myself an observer on The Editor. That's my state. Here's my question.

I just want to screw with the editor and maybe not just through the public API. Obviously, I am not anxious to have the resulting Frankenstein Netbean version submitted to Kenai. But suppose I think I have something I want to show to someone in Netbeans. How does that work?

If I download and build silver-main again, this time through Kenai, is there any advantage to be had considering my current state?

How often do people download and build main-golden or sivler-main? I mean, stuff changes every day, right? So anything you do is out of date as soon as you've done it.

Posted by swv on December 02, 2009 at 08:25 AM PST #

Hi swv,

if you already configured Hg environment, I guess the Kenai integration will not give you to many new benefits for working with the sources. The main benefit is that you do not need to know too much about the repository BEFORE you start working with the sources. Assume you already got sources somehow - with the Kenai or not. Then you call standard VCS commands, like Commit/Push in the IDE - it does not make a difference.

Specifically for you, the Kenai integration might have the added value in the possibility of submitting/browsing issues (potentially your issues) from the IDE. This is also a reply to another part of your question. If you have some piece of code that does something and that you would like to share with the NB team, just open a new issue and attach the exported diff patch to it. Or - if it is more a demo than a real patch - use the "dev" mailing list under the "editor" project and share the patch there. (Tip: Patches exported via "hg export" command remain fresh/usable for longer time - things can change in the repo...)

http://netbeans.org/projects/editor/lists

To the questions about the statistics: we do not track record of how many people clone main-golden/silver, unfortunately. Watching the mailing lists, I know that there are some folks who use builds from main-golden (daily builds) - this is a preferred repo for making daily builds.

http://wiki.netbeans.org/HgParallelProjectIntegration

The bottom line:

The main benefit of the Kenai API on the NB.org should be the fact that you can joint the project quickly, without looking for too much information on the Internet, which is usually the initial barrier for the guys from the outer world to join the project. Current NB.org should (and I hope in some time it will) slightly increase the community participation (of course, we will try to make things simpler all the time).

Of course, I don't have huge expectations but any head counts;)...

Posted by Petr Dvorak on December 02, 2009 at 07:22 PM PST #

Post a Comment:
Comments are closed for this entry.
Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today