Technote RTN0004

Moving to Rhapsody Developer Release 2

By Eric Simenel
Apple Worldwide Developer Technical Support

CONTENTS

Directory structure changes

Java changes

Boot changes

User Interface changes

Unix commands

Summary

Many changes have occured in Rhapsody since first Developer Release. Some of them shouldn't significantly impact developers' current development efforts but others will. This technote should provide everything you need to know to prepare for this new release.

Directory structure changes

The first Rhapsody Developer Release still retained much of its OpenStep and NeXTStep flavor, and a number of its directories at the first level had names starting with "Next" (i.e., "NextAdmin", "NextApps", "NextDeveloper", and "NextLibrary").

In Rhapsody Developer Release 2, these directories no longer exist. Instead there is one directory at the first level, "System", which contains other directories such as "Administration", "Applications", "Developer", "Library", etc. Also at the first level is the "Local" directory, whose contents parallels the contents of "System".

Impact on applications

If your application somehow relies on the old directory name structure (as, for example, by using hard-coded paths in the source code), then it is in trouble. If the four "Next..." links previously mentioned are provided (or if you recreate them yourself), then your application will still work (for a time). One way to test your application on DR1 is to remove or rename the four links, launch your app, and see what happens.

Impact on the development environment

Since the makefiles (and other elements in the PB.project file) you've been using within ProjectBuilder depend on the old directory structure, a tool called "ConvertMakefilesToNewDirs" is provided with DR2 to help with the conversion of a project to the new directory structure.

This tool can be found at /System/Developer/Makefiles/Conversion/ along with its documentation, ConvertMakefilesReadMe.rtf, which explains how to use the tool.

Once the project has been updated, another tool called "SearchForOldDirs" may help you find hard-coded references to the old directory structure within your source code. This tool is found at the same location, and is also documented in ConvertMakefilesReadMe.rtf.


Java changes

In Rhapsody Developer Release 1, a subset of the YellowBox APIs were provided in the com.apple.alpha.* path. Although these APIs remain available, nearly all of them are deprecated and developers should use instead com.apple.yellow.foundation.* and com.apple.yellow.application.*. Use the JavaBrowser application (available through the Apple Menu) to inspect the contents of those APIs. Most of the YellowBox APIs are now available in Java.


Boot changes

If you have a MacOS partition (as well as Rhapsody)on your PowerPC configuration, you can, at boot time, hold down the "m" key to boot into Mac OS, or hold down the "r" key to boot into Rhapsody.


User Interface changes

As soon as you launch the new Rhapsody Release, you'll immediately notice a different look and feel. Aside from requiring a few minor modifications to your nib files with Interface Builder, these changes shouldn't impact your projects.

Hide/Hide Others/Show Others

You no longer have to deal with these items which are managed in the Process Menu (on the right side on the Menu bar).

Application Menu

You should have one and only one menu item in this menu and that is your "About myapplication...".

If you have a "Preferences..." menu item, its recommended location is, preceded by a separator, at the end of the Edit menu.

Tear-Off Menus

All menus can now be torn-off from the Menu bar.

Undo/Redo menu items to connect to First Responder

If you implement the Cut, Copy, and Paste menu items of the Edit menu, it's recommended that you also implement the Undo and Redo menu items.


Unix commands

Although most developers won't care about these changes, it is worthwhile to note that some commands have been moved to new locations. The impact should be minimal, and if you need to know where a specific command is, you can locate it from the Terminal application with the command:

find / -name "mycommand" -print -xdev


Summary

The biggest change for developers is the new directory structure which requires a project's makefiles update and a source code review for hard-coded references to the old directory structure. For more information about other changes and new stuff in Rhapsody Developer Release 2, please consult the Release Notes at: /System/Documentation/Developer/YellowBox/ReleaseNotes/.


Acknowledgments

Thanks to Tim Carroll and Deborah Grits and special thanks to Dave Payne.

To contact us, please use the Contact Us page.

Technotes
Previous Technote | Contents