X

Geertjan's Blog

  • June 4, 2008

How to Get a Plugin into the Plugin Manager

Geertjan Wielenga
Product 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.

Join the discussion

Comments ( 23 )
  • Michel Graciano Wednesday, June 4, 2008

    Hi,

    a problem that I found is that, for example, the evaluator has facing a IDE error, such as http://plugins.netbeans.org/PluginPortal/faces/PluginVerificationPage.jsp?verification_id=9824, and the plugin is not the owner of the issue... how to make the process continue?

    Another thing that should be make better, a way to restart the process without a new version. For now, I am removing the request and posting a new one. There is instructions to contribute ideas, issues and so on about plugins website? Or it follow the same pattern for IDE issues?

    Regards.


  • mbien Wednesday, June 4, 2008

    Yes the new plugin portal is pretty cool.

    There is only one little detail i personally don't like. Always when you upload a new version to the portal, it has to be re-tested - what is great, but the old version will also disappear from the update center until the new has been accepted, which is not so good.

    (esp. when you introduce a bug in the new version the down time could be long)

    but the devs know it already ;-)

    good article as always!


  • David Botterill Thursday, June 5, 2008

    Michel and mbien,

    These are great comments and good material for improving the plugin portal. The verification process is new and we are trying provide the best experience for both the plugin owner and the verifiers. Please submit these ideas and anything else that will improve the process. Please see this FAQ entry for details, http://wiki.netbeans.org/FaqProblemChange.


  • mbien Thursday, June 5, 2008

    wow the portal has a issue tracker ;)

    filed a new RFE regarding the plugin update transition:

    http://www.netbeans.org/issue/show_bug.cgi?id=136610


  • Varun Friday, June 6, 2008

    That's really amazing!


  • 手机魔卡 Wednesday, June 18, 2008

    happy !!


  • Varun Sunday, June 22, 2008

    Gj,

    I couldn't understand how to sign the NBM, and how to add license info. It would be great, if you could help.

    Thanks,

    Varun


  • Geertjan Sunday, June 22, 2008

    Varun, there's a plugin in the Plugin Portal update center (i.e., available in Plugin Manager) for signing a module (otherwise see http://wiki.netbeans.org/DevFaqSignNbm). For the license, copy a license from somewhere, right-click the module project node in the Projects window and then one of the fields (in Packaging tab, I think, or one of the others) let's you browse to the location of the license file.


  • selvarani Monday, July 7, 2008

    hello Geertjan sir, yesterday i posted my comments but today i couldn't see mine. y?


  • Geertjan Monday, July 7, 2008

    Where? Which comments? About what?


  • Selva Monday, July 7, 2008

    Hello Mr. Geertjan sir, Gud Morning. I am seeing u all ur postings abt wicket in netbeans. I am running wicket examples successfully but I started new application but always facing the same problem as...

    HTTP Status 404 - /WebApplication1/wicket

    type Status report

    message /WebApplication1/wicket

    description The requested resource (/WebApplication1/wicket) is not available.

    Apache Tomcat/6.0.16

    plz help me clearly to start a new wicket application in wicket. how web.xml file should be..plz help me sir. thank u.


  • Selva Monday, July 7, 2008

    Hello Mr. Geertjan sir, Gud Morning. I am seeing u all ur postings abt wicket in netbeans. I am running wicket examples successfully but I started new application but always facing the same problem as...

    HTTP Status 404 - /WebApplication1/wicket

    type Status report

    message /WebApplication1/wicket

    description The requested resource (/WebApplication1/wicket) is not available.

    Apache Tomcat/6.0.16

    plz help me clearly to start a new wicket application in wicket. how web.xml file should be..plz help me sir. thank u.


  • Geertjan Monday, July 7, 2008
  • selva Monday, July 7, 2008

    geertjan sir, when can i get a reply from u sir


  • Varun Monday, July 7, 2008

    Selva, you should follow up the comments over here- Gj had already posted a link to help you...

    http://www.netbeans.org/kb/60/web/quickstart-webapps-wicket.html


  • Geertjan Tuesday, July 8, 2008

    Selva, did you follow the tutorial from start to finish?


  • Geertjan Tuesday, July 8, 2008

    And, Selva, don't leave your stack traces in my blog ever again (I deleted those you left here already). Also, if you have problems with Wicket, feel free to write to me at geertjan DOT wielenga AT sun DOT com. However, if you have NOT done the tutorial, please don't write to me with questions about Wicket.


  • selva Tuesday, July 8, 2008

    sir i want to use form with two input text fields in wicket. any help.


  • selva Tuesday, July 8, 2008

    Thank u Mr. Geertjan sir, i followed ur tutorial and my first wicket app ran successfully. also i tried the countrypanel example of ur's. that also ran successfully. thanks a lot. i am very very happy abt ur response and helping tendancy.


  • Selva Tuesday, July 8, 2008

    Gud Morng Mr. Geertjan sir,

    Any new things in wicket today?

    sir i want to use form with two input text fields in wicket. help me sir.


  • Selva Tuesday, July 8, 2008

    Mr. Geertjan sir, i have got an error in this line. could u solve me plz?.....

    public Class<? extends WebPage> getHomePage()

    {

    return HomePage.class;

    }


  • Geertjan Wednesday, July 9, 2008

    PLEASE stop leaving messages here. I told you before: if you want to learn about Wicket, go to the Wicket mailing lists, tutorials, etc: http://wicket.apache.org/. I will NOT help you anymore.


  • Casper Bang Monday, August 11, 2008

    Seems like the signing instructions as per the wiki entry mentioned in the above is broken in 6.1.

    A workaround is to place your storepass and key in nbproject/private/project.properties:

    storepass=MySecretStorePass

    key=MySecretKey

    Though this is not very secure, so you'd probably want to remove it again after creating the .nbm.


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha