Friday, May 16, 2008

A NetBeans Disappointment: No UML Version Control

While there is much to be excited about in NetBeans 6.1 (see my previous blog entries on NetBeans JavaScript support and JAXB support for examples), there are some disappointments as well (as there are with virtually any product or tool). One of my biggest disappointments resulted from learning the hard way that NetBeans 6.1 does not provide version control support for its UML Modeling tool. This is one of those cases where failing to read the instructions first cost me some lost time and effort.

The NetBeans Wiki entry FaqUMLCollaborate clearly states: "At present NetBeans does not provide good support for sharing a UML model among multiple users." This entry then provides the primary workaround: to manually handle version control via operating system level version control commands and by ensuring that only one person edits the UML model at a time.

Other important observations related to NetBeans UML version control include the distinction of the files underlying NetBeans' UML Modeling tool. The .etld and .etlp files contain the UML diagrams while the .etd and .etup files contain the model data that underlies the diagrams. The documentation also points out that NetBeans generates the nbproject/private directory and its contents, so neither this directory nor the .ettm files should be version controlled in any way.

The blog entry Facing Software Configuration Management on NetBeans IDE looks at this issue and specifically addresses placing UML and other NetBeans-maintained non-source code files into Subversion. Additional background information can also be found here.

The good news is that the NetBeans UMLRoadmap indicates intentions to address version control awareness of metadata model in the first half of 2009 and to address a visual diff/merge tool in the second half of 2009.

The NetBeans 6.1 release in general and the UML Modeling Tool specifically offer many nice features. However, the lack of integrated NetBeans version control for UML modeling and class diagram files reduces the effectiveness of using the NetBeans UML Modeling tool with a large set of designers and developers.

2 comments:

Mark Kerzner said...

Thank you, Dustin, saved me discovering it all on my own

@DustinMarx said...

Mark,

I am glad it helped. Thanks for taking the time to let me know that this was helpful.

Dustin