Pages

Sunday, December 20, 2009

Nexus - "The Nexus Book" by Sonatype

I completed the Nexus book (version 1.8.2) from Sonatype last night.  A special thanks to Tim O'Brien for sending me a copy. The book is remarkably well written for the sections I reviewed. I installed the open source version of the software, and not the professional edition. As a result, a number of chapters were not applicable to my installation. I examined chapters: 1-6, 17, and Appendix C.

Note: Chapters 7-16 were excluded because it applies to professional edition. Chapter 18 is about developing plugins, and Appendices A-B apply to migrations to Nexus.

I did a cursory installation of Nexus using the binary installation and the books seems to match the installation process. My review is focused on installing the 1.4.0 war file on GlassFish 2.1.1 and 3.0. After I began my review, a new update 1.4.1 was was released and I got a chance to test the upgrade process. I can state it was a seemless upgrade.

Note: I found that I could not install the application on GlassFish version 3.0.

The book is definitely worth reading if you are serious about using Apache Maven and would like to host a repository for your development environment (team).

Chapter 6 Nexus Plugins

My only real complaint is Chapter 6. The details in the book are not correct for version 1.8.2 of the book. Section 6.2 Installing Plugins should point the user to installing the plugins in the following directory:
${NEXUS_WORK}/nexus/plugin-repository
I installed the Nexus Archetype Plugin (not detailed in book) and it was painful until I discovered the correct directory. Once it was in the correct directory it worked seamlessly. I have submitted a bug NXBOOK-394.

I would have liked more explanation of the available plugins including the open source LDAP plugin as an alternative to the version which is available in the commercial licensed professional edition.

Chapter 17 Nexus Best Practices

It was only 1.5 pages long. It needs more content to be useful.

Appendix C Configuring Nexus for SSL

This chapter is very important and covers Jetty extensively. The chapter should have included a little more assistance on setting up Apache HTTPD to handle SSL. There is also no coverage for Apache Tomcat, or GlassFish. These are all popular arrangements.

Final Thoughts...

I liked the book and thought any serious Nexus user, or potential user should read the book. It includes a lot of details, and a plethora of screen shots to get you on your way. 

Monday, December 14, 2009

OS X "Dirty Dot"

To use the OS X "Dirty Dot" to indicate that changes have been made that need to be saved you can use the code snippets below.

To set this "Dirty Dot" use the following code:
myJFrame.getRootPane().putClientProperty("windowModified", Boolean.TRUE);

Use the following line to clear the dot after a save has occurred:
myJFrame.getRootPane().putClientProperty("windowModified", Boolean.FALSE);

Java library search order OS X

Per the Apple documentation, the Java library search order is as follows:
  1. User's home directory (~/Library/Java/Extensions/)
  2. Local domain (/Library/Java/Extensions/)
  3. Network domain (/Network/Library/Java/Extensions/)
  4. System domain (/System/Library/Java/Extensions/)
  5. $JAVA_HOME/lib/ext

You'll note that the user's home directory takes precedence over the other locations; this helps a developer working on a system to easily share a machine with other users and avoid classpath difficulties.

How do I change the default __MyCompanyName__ in Xcode?

Add the following information to the com.apple.Xcode.plist file using Property List Editor:
PBXCustomTemplateMacroDefinitions - Dictionary
ORGANIZATIONNAME String MyNewCompanyName