Netbeans Update Center written in PHP

Do you use Netbeans? It is my favorite IDE for Java development and beside the IDE, it also provides the Netbeans Platform, a GUI framework that makes the development of GUI applications (so called Rich Client Applications) very easy. One of the features, that the Netbeans Platform provides, is the management of updates. The user can easily install and update new modules, the building blocks of a Netbeans Platform application. Now these updates can also be distributed very easily via a simple webserver that supports PHP.

For a developer, there are several ways to provide these new and updated modules. Within the Netbeans IDE, it is for example possible to create all modules of an application plus the additional autoupdate descriptor file (usually updates.xml), that describes all these modules. These files can then be uploaded to an ordinary webserver and accessed from users of the application.

But what, if several developers provide modules for an application and you want to make them accessable via a single update center? You could create the autoupdate descriptor file manually, like described by Geertjan. But that is not very comfortable, if the contents of your update center change often. What I needed is an update center implementation that runs on my webserver and manages the communication with the netbeans application, i.e. it creates the autoupdate descriptor automatically. In this case, I prefer a PHP implementation, as this is available on almost every webserver.

As I could not find such a solution, I decided to implement it and here it is: http://nbmcenter.sourceforge.net.

The NBM Center currently provides the features described above, it is even possible to allow uploads to the webserver, which is very comfortable, but probably should not be used on a public website. The code is very “quick ‘n’ dirty”, but it works like a charm for our group of developers. Of course, it is open source and it is really not much code. So feel free to test it, adapt it and improve it.