31.7.10

Project-Based Customer Application

Monday December 14, 2009

Project-Based Customer Application
A very interesting idea came up in the comments to my recent article How to Create a Swing CRUD Application on NetBeans Platform 6.8. Someone, essentially, suggested the idea of creating a tutorial that lets the user create new projects based on customers, with this type of structure:

Customers
- Geertjan
---Orders
-----+Raw-12092009
-----+Raw-11091009
---Balance
---Reports

So, today, on my disk I created a folder structure like that:

And now I'm able to open those structures into a new NetBeans Platform application:

Just about the best thing about the screenshot above is that each node (i.e., "Balance", "Orders", "Reports") can be provided externally, by a plugin:

So, if your folder/file structure for your customers changes... you can simply exclude the plugin for a folder that is removed or include a new one, custom made for a new folder in your folder/file structure. Now that's really powerful. Here, for example, you see that I've disabled the plugin that provides support for the Reports folder and, as a result, my projects do not have a Reports folder anymore:

Project templates will be added for creating these customer projects (since, right now, I'm simply opening the projects from the Favorites window):

...as well as some simple editors for visualizing the XML in the files you see above, probably using the XML MultiView API.

Then I'll create a new tutorial entitled "How to Create a Project-Based Customer Application on NetBeans Platform 6.8".

And here's the related source code: http://kenai.com/projects/customercreator

In other news. Wondering if Groovy is for you? As a NetBeans Platform developer, the answer can only be "Yes, definitely!" and you can even continue coding in Java. I.e., for a hybrid Java/Groovy application (where Groovy is simply an implementation detail of Java), see How to Create a Web Service Client with Groovy and NetBeans Platform 6.8.

 

http://blogs.sun.com/geertjan/entry/project_based_customer_application

No comments: