Wednesday Jun 04, 2008

Sun in Manila (17 - 19 June)!

The Sun Tech Days program is a 15-city world tour designed to educate developers in local markets on various technologies. The events are typically a two-day format and range from hands on education and university trainings to community programs and technical sessions.

From Tuesday 17th to Thursday 19th of this month, the event will take place in Manila, Philippines. The agenda looks very interesting. I've been to a few Sun Tech Days events before and apart from the sessions one might expect (JPA, JRuby, OpenSolaris, Swing, Java EE), there are a couple of sessions that move beyond these typical Sun talks. Take for example "OSGi: Development and Deployment", on Wednesday at 17.30. And how about the one right after that, on "Java EE with Spring and Seam"? In any case, the program is packed with sessions on the same topics, and of the same quality, as those presented at JavaOne. So if you're a programmer in Manila who never made it to JavaOne, this is definitely not a conference that you want to miss.

On the 17th, there'll be a "FREE NetBeans DeepDive Session", which is something like a NetBeans Day, except that a lot more time will be spent on fewer topics, which is pretty cool. I'll be there too, spending an hour and a half on "Using NetBeans for Desktop Development". I'll first talk about the Matisse GUI Builder, then on the NetBeans tooling for JSR-296 (the Swing Application Framework), and finally I will introduce the audience to the NetBeans Platform. I think the combination of Matisse GUI Builder, JSR-296, and the NetBeans Platform gives the desktop developer a very comprehensive range of choices, for desktop applications of every size and shape.

Go here to register, if you haven't done so yet.

Here's a summary of what you can expect on the "FREE NetBeans DeepDive Session":

There will also be a NetBeans Platform training at the university, on the 20th and 21st, delivered by Tim and myself. I'm looking forward to my time in Manila. No idea what to expect of it!

How to Get a Plugin into the Plugin Manager

Close readers of the NetBeans Weekly Newsletter will be aware of the announcement in Issue # 336 - Apr 07, 2008, in which the main highlight was the fact that the NetBeans Plugin Portal has several new features. The most interesting of these is the fact that it is now possible for a plugin uploaded into the Plugin Portal to find itself in the Plugin Manager!

Here's how it works. In NetBeans IDE 6.1, go to Tools | Plugins. There, in the Settings tab, you'll find that "Plugin Portal" is registered as one of the update centers, along with all the others. That means that when you go to the "Available Plugins" tab, all the plugins made available by the registered update centers are included in the "Available Plugins" tab, ready for you to install them.

"Aaaaaaaaaargh!" is what you might now be thinking. "That means that anyone can come along, create some random plugin that includes something really damaging, upload it into the Plugin Portal, and then it will be available in the Plugin Manager for the unwary user to install into their IDE, potentially wiping out everything they have on their disk, in a worst case scenario where the plugin author has malicious intent."

Not to worry, that's not how it works at all. (Although, that's EXACTLY how it works in IntelliJ. I uploaded something into their Plugin Repository some months ago and then it was IMMEDIATELY available inside IntelliJ's built-in Plugin Manager. That seemed odd to me at the time.) Instead, there's a pretty strenuous vetting process. Believe me, it's stringent. I know because I'm in it.

It all started last month, with my Zip NBMs plugin (which was inspired by Mark Stephens at JavaOne who wanted a menu item that would zip up all the NBMs in a suite). I uploaded it into the Plugin Portal. Then I saw these new components on the page:

This enabled me to specify that I want my plugin to be verified, for inclusion in the Plugin Portal's update center, i.e., the one that is automatically registered in the Plugin Manager for NetBeans IDE 6.1. There are minimal quality criteria that the plugin must meet, which is determined by verifiers, who come from the NetBeans team as well as from within the broader community.

So I specified that I wanted my plugin to be verified for 6.1:

First of all, before anything else happened, before my plugin even got into the hands of the verifiers, verification failed. Why? Because I hadn't set the name of the plugin's author (and something else I can't remember). So then I added this metadata via the plugin's Project Properties dialog box.

Then it entered the verification process correctly and I was able to watch its progress:

It failed soon thereafter, because someone spotted that it hadn't been signed. Here are the instructions for doing so. In addition, there are a couple of plugins in the Plugin Portal that should be able to help you. I need to investigate those soon.

So then I signed it and uploaded a new version. A day or so later the plugin failed again, because I hadn't included a license:

So I uploaded a new one with a license. And, guess what? Today I received my first "Go". Take a look for yourself:

I'll probably get another "NoGo" from someone before getting "Gos" from all of them. But I'm really happy with all these checks that are being done to make sure that only plugins of a basic minimal quality make it into the Plugin Manager. And, soon, I hope, my plugin will find its way into the Plugin Portal's update center, i.e., I guess that'll happen when all the verifiers give it a "Go" and then it'll be in the Plugin Manager and you, as potential users of this plugin, will be secure in the knowledge that your IDE (and much else) won't be destroyed when you install it. Thanks a lot, verifiers, you're doing a great job.


Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« June 2008 »