Duffblog has moved to a new home. Update your links!

Useful links

JDeveloper Forum
Oracle SCM Forum

Click here to send an email to the editor of this weblog.

Get Java


January 2004
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Dec   Feb

Brian Duff's Old Weblog

 Saturday, January 24, 2004

Blog Moved!

Duffblog has moved to a new site!

This will be the last duffblog post on Radio Userland: Please update your links to point to http://purl.oclc.org/NET/Brian.Duff/blog for the website and http://purl.oclc.org/NET/Brian.Duff/blog/syndication.xml for the RSS syndication feed.

3:05:16 PM     comment []

 Friday, January 23, 2004

Java Class Modeler: Actually Quite Useful :)

I've been messing around with JDeveloper's Java Class Modeler the last couple of days while designing a new API for the compare tool and local / remote history in JDeveloper 10.0.3. I've always been a bit of a UML-sceptic, favoring a more agile approach to development rather than doing large amounts of upfront design.

Click for larger version

Having said that, the UML team have put an enormous amount of work this release into what's internally referred to as the "kick ass java modeler mission". They've done a lot of work to make the java class modeler a genuinely useful tool for Java developers that happens to use UML rather than just being a "pure" UML analysis tool. (Of course, if you want a pure UML tool, you can use JDeveloper's UML Class Diagram instead :) ).

Some of the features I really like in the JCM:

  • The surface edit support is much more intuitive now: you can change class names, method names etc on the diagram surface easily and immediately see the effect on your overall model.
  • When you create an association, it automatically adds a member variable to the code. If it's a one-to-many relationship, it adds an array member.
  • If you don't like the generated array member for one-to-many associations, you can just edit the code and change it to a collection type (e.g. List). The use of special javadoc tags keeps the information about the relationship on the diagram.
  • Associations with elbows now work a lot better when you move the shapes at either end around. They "snap" to straight lines with elbows. This makes your diagram neater - diagonal lines crossing all over the place is just a mess.

12:27:09 PM     comment []

 Tuesday, January 20, 2004

WebDAV, Windows and Linux

One of the potentially nicer features of Windows XP is its built-in support for WebDAV, an HTTP-based file system. I use webdav a lot at work to publish files to internal and external sites.

Some form of WebDAV support has existed since Windows 2000 in the form of "Web Folders". However, Web Folders don't act like a normal file system because you can't just open a remote file in any application and edit it directly like a local file.

Windows XP should have solved this problem. It allows you to map network drives directly to webdav shares. However, in practice, it rarely works properly unless you happen to be using Microsoft IIS on the server. In particular, authentication is severely broken.

You can buy various commercial products that allow you to map a network drive to webdav. However, today I managed to get Windows network drives mapped to webdav without any additional software on the Windows machine. On my Gentoo linux box, I installed davfs2. This allows you to mount webdav shares as linux file systems. I then exported the linux mount points using samba. End result: I can now access webdav shares via a network drivein Windows, and edit files live on the server. Me == happy :)

7:20:53 PM     comment []

 Friday, January 16, 2004

On the Move

I'm planning to move duffblog over to Movable Type some time during the next few months. To minimize disruption, I've set up Persistent URLs for the RSS (syndication) feed and homepage. Update your bookmarks :)

2:01:09 PM     comment []

 Tuesday, January 13, 2004

Plain English and UI

While surfing wiki, I found a link to the Plain English Campaign. I often see their little diamond symbol on forms and terms of agreement from UK companies. The Plain English Guide is an incredibly useful explanation of how to make writing clearer. It is, of course, very clearly written itself.

Writing clearly is an important skill when developing user interfaces. Many years ago, I worked in the development team responsible for UML modeling tools. Back then, we had the luxury of a dedicated technical writer reviewing every single line of text that was displayed to the user by the tool. Jump forward to JDeveloper 10g: there's so much user interface text it would be a huge burden on our technical writers to review all of it. Instead we rely on a set of guidelines, diligent developers and occasional peer reviews.

In practice, this approach has worked well. The user interface text guidelines written by our usability group are very specific and easy to follow. Not everyone has the luxury of a usability group, which is why freely available guides such as the Plain English Guide are so valuable.

... and for some light comic relief, try Plain English Campaign's Golden Bull awards...

2:28:43 PM     comment []

 Monday, January 12, 2004

New Tips & Tricks Area on OTN

I'm still enjoying the wintery weather in Oracle's Edinburgh office. Actually, for the time of year, it's surprisingly mild, but it's been raining continuously for what feels like two weeks.

There's a new area on OTN for JDeveloper Tips and Tricks. What's really cool about this new area is that anyone from the JDeveloper team can publish articles quickly and directly to OTN using WebDAV. In future, I'll try to publish JDev hints simultaneously to the blog and to the new area on OTN.

To get the ball rolling, I've massaged one of my old blog articles into a more palatable form and uploaded it as my first tip: Finding Memory Leaks with JDeveloper's Debugger

1:42:43 PM     comment []

 Tuesday, December 30, 2003

JDev TeamDev Feature Digest #2: CVS External Tools Macros

So here I am enjoying the holiday season in my home city (Edinburgh), slowly working my way through a potentially vast number of turkey-centric meals, doing unusually sporty and winterish things like ice skating, watching the last film in a certain trilogy a few *cough* too many times, reading another trilogy that will certainly be committed to celluloid someday, and generally not thinking much about work at all :) Nonetheless, today I seem to have descended to some point of crisis with the turkey sandwiches, and the "it's all very nice having nothing much to do, but I'm as bored as corn-fed poultry" thing is starting to take control :)

So without further seasonal nonsense, it's time for the second in the ongoing set of blogs about tiny little team development featurettes that will be in JDeveloper 10g production.

We've added five new macros to JDeveloper's External Tools wizard that you can use when CVS is the active version control system. These macros can pass information into another program about CVS-specific properties of the current selection in JDeveloper's navigator (or the active code editor). The macros can be used to invoke an external diff program for comparing CVS revisions from the history viewer, or perform any other task that needs CVS-specific properties of the selected file.

The screenshot below shows the five new macros, and an example external tool definition that is used to invoke the cvs "annotate" command from inside JDeveloper (the output appears in the log window).

CVS Macros in JDeveloper 10g

12:40:24 AM     comment []

weblog   |   articles
© Copyright 2004 Brian Duff. Last Updated 1/24/2004; 3:05:20 PM. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.