NetCAT 6.5 Weekly | Report # 6

Scripting on a roll…

I am developing a PHP Web Application, it feels good to be back at using PHP, thanks to the Team behind PHP Support, for letting me work on one IDE, instead of two for creating such an app.

What I missed…

Hahaha, again an awesome week. I didn’t miss anything, or did I?

What I did…

After the reviews, it was time to file bugs… Good news is that, they were few. So, how you would know, which bugs I filed, when we have an Issuezilla. Well, its not that easy for a general user to actually find bugs filed by a particular member. I don’t know about you? But, if you do know it, post a comment over here.

Anyways, I filed following bugs, man some of them got fixed so quickly, that I had to look into my mailbox archive, to dug out some of them. Why? Actually, when bugs filed by a user get fixed, they are not visible in My Issues, which is different for every user.

01 | Inconsistence behavior recognizing Javascript functions in PHP Webpages (This got fixed)

02 | Error in Hyperlink Detection when I mouseOver functions “require” and “include”

03 | Code Completion includes unused Javascripts methods

04 | String Break

See, they were few. There were some more which got fixed, but not required to be mentioned here, as they were reported by using Exception Reporter. So, some were already fixed earlier, and some got fixed by yesterday. The one’s reported by me. There were 2-3 reports. All were fixed.

So, they are obviously not showstoppers, but yes they can be a necessity, in longer run. Hey, did I mention, its going to be out as FCS for the first time. So, its an excellent effort by the team. These were the bugs, and enhancement(s), I felt while creating my PHP Web App.

Check this out for more info on my blog-


I shared my project idea with the community, and asked for their feedback. I got more than what I expected and still await some more.

Geetjan Wielenga was the 3rd guest on my blog!

This NetCAT Weekly Report #6, is my personal report on what I experienced during a particular week.
Its not related in any respect with NetCAT organisers.


Fed up of using Wiki?


You might be wondering what I just blogged, with such a question as the title, and more over, me using Wiki since NetBeans 6.0 FCS. After all, I am the NetBeans Community Docs Team Member. Then, why am I asking you? Are you fed up of using Wiki?

A single question can be more influential than a thousand statements.Bo Bennett

Jan ’08

During CFF, everyone had the choice to contribute a useful plugin, which might let them win a cool laptop in the end, and the fame one would get πŸ˜‰

I was also one of those thinkers, and thought of creating a cool plugin, with no knowledge of NetBeans Platform, and just one thing in mind, “I had to do a lot to write a readable, well-formated Wiki page, using Wiki Editor at wiki DOT NetBeans DOT org!”.

So, I penned down a thought, i.e. to create a module for NetBeans, which would help me, as well as the whole community, to write Wiki’s from within the NetBeans.

Feb ’08

CFF ended, however NBIG started, so I polished my thought (along with Amit Kumar Saha), and finally, created a proposal to be submitted by team of 3 people, exclusive of Amit 😐

Apr ’08

Results were announced, I faced rejection. It took me a week to realise that dream is over. However, how can I, a fan of Diehard series, Rocky, Rambo and lots of inspiring movies, give up so easily?

A rejection is nothing more than a necessary step in the pursuit of success.Bo Bennett

Also, during those days, a contributor of docs program, Jay Mahadeokar, showed interest in this, by blogging about the thought. We interacted and as you can see the comments over that particular post, I suggested that either we or someone from community should do this.

However, there were not many people reacting to that blog, reasons- it was probably not listed in Planet NetBeans 😐

Jun ’08

After 2-3 weeks of discussion, we decided to finally start off this project. During that time, I realised what were the con’s of my original proposal. This time, we were well prepared.

So, Jay blogged about the thought, for feedback from the community, what they feel like, as we were in the process of finalizing a revamped proposal.

Again, not much feedback to think upon.

July ’08

Jay got busy with his new responsibilites as a Sun Campus Ambassador, and gradually, I again started to loose interest in this, as my final year at university started, and I was appointed as NetBeans Dream Team Member, during that time, as well as got selected for NetCAT 6.5.

I was about to move on, and leave this thought, which was developing into an idea, for someone to work upon in future.

Ray of Hope

Our Technical Community Manager, replied in one of my mails sent in June, to one of the NetBeans mailing list. He showed interest, and this time, I single handedly managed all the discussions, had some brainstorming sessions.

You must do the things you think you cannot do.Eleanor Roosevelt

Also, while I had researched about this project, I looked at the scope of the project, i.e. target audience I would need to focus on. I observed NetBeans Developers, Technical Writers, and many others using Wiki for so much documentation, either for creating design specs, tutorials, faqs, or presenting New and Note Worthy for every release.

Proj-specific Issues dashboard also exist on the Wikis. I might have missed some more usage, still its a massive usage!

Aug ’08

Recently, I thought of making this project, as my graduation project, i.e. final year project for completing B.Tech. I got support from my batchmate, and together we started planning about the idea.

Currently… (Updated)

I would say, that I have come a long way, since creating that thought in January this year. Now, I would like to know, what do you feel about this project. I will provide some related documents shortly.

Actually, we have few things in mind, I will discuss one of the idea’s here-
We are thinking of extending the existing projects support in the NetBeans IDE, by adding another physical folder “wikis”, represented in Logical View as “Docs”, where one would be able to add a wikipage using “New File Type Wizard”, whose Editor support is currently being thought of, as either providing a Framework upon which Wiki standards like JSPWiki, Twiki, etc. can be implemented for NetBeans, OR making use of Wiki Creole 1.0!

Wiki Creole 1.0

Some more details, as formulated just an hour back. We are thinking of having a MultiView Editor[1], where user would have 2 buttons to toggle view between Design and HTML, similar to the one proposed by Winston Prakash[1], just a month back. See that post for insight on how such a Web Page Designer is presented within the IDE.

As far as I could understand Wiki Creole, it lets us create an XML file, as per the rules of a standardized XML Schema. XML file represents a Wiki Page, so if we could somehow make use of the above utility and XML Multiview API, XSLT or some thing which should make sense. Then, I guess this could be achieved as well.



Whatever limited knowledge we have about the above, we have come out with something like this to be implemented for use.

Now, I want to know, whether is it really going to help you? OR, I am wasting my time, thinking about this.

Few people from Sun, showed interest in this, either on mailing lists, or NetBeans Podcast (Gregg, Roman). They were in favor of having such a feature in NetBeans. Still, I would like to know from all of you, the community members. What say?

Thanks πŸ™‚

NetCAT | PHP Editor Hyperlinks Review

Few days back, I posted about navigating from PHP webpage to Javascripts. Today, lets examine more hyperlinks in PHP files and webpages!

PHP Files…

Its demonstrated through following usecases;

Usecase #1

Suppose, following is my php file-

Don’t get into the technicalities of the code, I am still a novice in PHP development, though this is one of the files, I used to logout of a session, in my first and the last project πŸ˜‰

Anyways, clicking on session_start, session_unregister (takes me to session.php) and sleep (takes you to standard.php).

Petr says,

“The session.php and standard.php files are our signature files, which contains just the function, class or variable signatures with appropriate phpdoc

Following snap, just shows the result of above clicking-

Usecase #2

This actually looks like a bug to me-

I think when I mouseOver require, then I should be taken to file where its defined, and when I mouseOver the URL inside the parantheses, then I should be navigated to that file. Right now, what happens is the following, I am taken to only one file, as it detects only 1 hyperlink, not 2

Petr agrees with this usecase, its indeed a bug!

Usecase #3

If in the above image, you click on $connect in line #4, then you are taken to line #2, where its created and initialized.

PHP Webpages…

For complete details, like bug reports and more usecases, you need to refer the frequently updated doc-
Reviewed by Petr Pisl

Coming soon…

More editor-hyperlink’s usecases would be added there, so keep an eye on my blog, for updates!

stay Tuned for more acTion πŸ˜‰

Top 10 NetBeans Platform 6.5 Features

Here are my personal favorite enhancements in relation to the NetBeans Platform for the upcoming 6.5 release.

Note that the NetBeans Platform is the infrastructure that underpins NetBeans IDE, as well as many other similar large modular Swing applications, hence this blog entry isn’t applicable to NetBeans IDE only.

It is applicable to any application built atop the NetBeans Platform. So, here are my personal favorite features, in no particular order-

01 | Lazy Children

A new constructor has been added to Children.Keys, receiving a Boolean that determines whether the child nodes are created lazily or not. This constructor is used throughout NetBeans IDE 6.5 to improve performance and is an approach you can use in your own application.

As a result, only when your users scroll beyond the visible explorer nodes are the new nodes created. Especially when there are thousands of nodes that need to be created, the performance improvements that your users will experience will be significant.

02 | Wrappers for Platform API’s

Increasingly, from 6.5 onwards, wrappers are being created for NetBeans Platform APIs. You, as a user of the APIs, will typically need to use only the standard JDK classes, instead of the lesser-known NetBeans API classes. A case in point is the CallableSystemAction class. Not only is this a NetBeans API class, but it also is a singleton class.

From 6.5 onwards, it is possible to have this class wrapped within the layer.xml file and then interact with it via the well-known ActionListener, which is a standard JDK class. When you use the New Action wizard, you will see this code being generated for you.

Similarly, the New File Type wizard creates several tags in the layer.xml file such that several typical complexities (DataLoader.class, for example) are hidden and you only need to code those classes that you actually need.

Another example, is the New Window Component wizard, which only creates a new TopComponent, and its related XML files, without the Action class for the menu item, since that is simply declared within the layer.xml file, so that you don’t need to deal with it directly. Of course, you can create your own customization if you want to, but the default implementation, which probably applies to 95% of cases, is wrapped within the layer.xml file.

03 | Outline & OutlineView

Tim’s Outline component lets you create tree tables in a far simpler way than before. The TreeTableView itself should be considered deprecated and, where possible, you should replace it with the OutlineView, which does not have the bugs and problems that users of the TreeTableView have been struggling with increasingly since its inception.

04 | ETable

Imagine you had a JTable with a lot of default functionality such as the ability to be sorted, across multiple columns? Welcome to the ETable (where “E” stands for “extension”) providing you with a perfect replacement for the JTable, even in completely standard Java SE applications, i.e., outside the NetBeans Platform.

05 | Code Generator API

Clicking Alt-Insert in the NetBeans Java Editor has brought up a small popup since NetBeans IDE 6.0. The popup contains items that represent code that can be generated by selecting the item in question, such as Constructor and Getter and Setter, which immediately generates code snippets without your fingers ever leaving the keyboard to reach for your mouse. The API has now been exposed and can be implemented for the MIME type of your choice, so that you can create such code generators for HTML files, for example, as well as any MIME type that you feel called upon to create.

06 | Quick Search API

When you press Ctrl-I in the IDE, the cursor finds itself in a small drop-down in the top right of the toolbar where you can search for help topics and actions.

Once found, you can simply select it to open/activate it. The related API has been exposed and you can add/remove items to/from this drop-down, depending on your needs as a NetBeans Platform developer.

07 | Window System Customizations

For the first time, from 6.5 onwards, you can customize a NetBeans Platform application’s window system. As a result, you can specify whether its windows are dockable or not, resizable or not, etc. Not all developers want to give their users as much freedom as the NetBeans Platform provides by default.

On top of that, there’s a new panel in the Project Properties dialog for NetBeans Platform Applications which, thanks to a handful of self explanatory checkboxes, enable you to disable/enable this functionality.

In addition, when you create a new TopComponent via the Window Component template, you can specify that its minimized size should be determined by its minimum size, rather than by its default size.

These enhancements give you, for the first time, a lot of control over the window system of your application.

08 | Drag Code Into Palettes

From 6.5 onwards, the Palette API has been enhanced so that you can drag code from any editor that support this functionality into the palette. When you do so, a new item is added to the palette and can therefore be dragged back into the editor. That’s a great way to reuse the bits of code that you find yourself using over and over again.

09 | Secondary Panels

It is now possible to create sub-panels within panels in the Options window, if the panel in question specifies that this is allowed.

10 | Template wizards

A very nice thing is that the NetBeans engineers are increasingly aware that changes to APIs can best be supported by providing new/changes template wizards. As a result, there’s a new Quick Search API wizard and a new Code Generator wizard, supporting the new APIs described above, as well as changes to the code generated by several of the existing wizards, such as the New Action wizard and the New File Type wizard, conforming to the changes mentioned in the 2nd item above. APIs continue to exist for creating your own similar API wizard, so please feel free to make use of them in NetBeans IDE 6.5!

Thank you

So, this was Geertjan Wielenga for all of you, yes you read it right he did blog this entry. He’s actually my third special guest blogger, who was invited to blog the 90th entry over here.

Though, he’s famous for his blog and the RCP book, he would still continue to blog there, and provide you lots of information to make your learning pluggable πŸ˜‰

Gj, (as we know him on the mailing lists), thank you so much! It was indeed a pleasure to have you blog over here.

Geertjan Wielenga, he is the technical writer in the NetBeans Docs team, primarily responsible for documentation relating to the NetBeans Platform. He co-authored Rich Client Programming: Plugging into the NetBeans Platform.

He is also a DZone leader and occasionally speaks at conferences.

NetCAT 6.5 Weekly | Report #5

Scripting the IDE

Don’t be surprised, actually I am reviewing the PHP for past week or so, and really having a good time πŸ˜‰

Also, do visit the official PHP support blog-

What I missed…

Nothing much, finally I did everything I had to do πŸ™‚ Actually, I missed one thing, when Jiri Kovalsky updated the scores, I was at 171, probably now I see the after effects of missing in past weeklies.

What I did…

PHP and only PHP, also had a survey to fill up, did that as well. It was related to current Editor Support, and some NetCAT Members got invite to fill that up, I was the lucky one too πŸ˜‰

Continuing from where I left in the previous weekly. I would say, I joined php users mailing list, interacted with Petr Pisl, discussed some issues!

Check this out for more info on my blog-

PHP Editor Hyperlinks

Yesterday, I had setup this page, basically reviewing PHP Editor Hyperlinks. As you probably know by now, that I had posted 2 days back on navigation from PHP to Javascripts, that has lead to me write that page. I got it reviewed by Petr Pisl today. I have added his comments in between the content, along with various usecase’s I could come across.

Have a look, and comment if you like!


Article by JamesNetBeans Community Docs (200 and counting)

Gregg Sporar was the 2nd guest on my blog!

This NetCAT Weekly Report #5, is my personal report on what I experienced during a particular week.
Its not related in any respect with NetCAT organisers.