Bordeaux

This time not Nantes… but Bordeaux. OK, first Nantes, there was some work to be done, but after that there was room for some personal time-off.
A friends 50th birthday was there and had to be celebrated big time.

His wife rented an old castle (France has about a million of these) where the celebration would take place. We celebrated heavily… drank a lot of wie.
We also visited a Safran Farm, of course, a vinyard and an old village wit ha magnificant church (No photo’s allowed, sorry.)

Absolute and relative paths.

Unfortunately the default in Rhapsody is to use absolute paths. And it will use absolute when in doubt.

There are 3 properties that control the switch from Absolute to Relative:

1. General::Model::PathInProjectList, this is the path that models have in a prject list (“Workspace”

2. General::Model::ReferenceUnitPath, this is the path where units are stored. When this is relative paths are stored relative to the model directory.

3. C_ReverseEngineering::Main::useCodeCentricAbsolutePath, is a new property to indicate if reverse engineered sources are stored absolute or relative

Use Rhapsody Workspace

A bit hidden is the posibility to use multiple projects inside one open Rhapsody. It is in the menu under “File”, there is “Insert Project >” and then “New…” or “Existing…”. Selecting a Rhapsody project will shift both the open project and the newly openened project under a “Projects” folder.
One of the projects (The last opened) is writable (or “active”), indicated by the BOLD name and all others are read-only, indicated by the (RO) behind the name.
You can right-click the project and select “Set as Active Project” to switch to another project.

Copy Paste

It is now possible to copy or link elements fro one project in another project. Beware: You can only copy units (Rhapsody elements that are save in their own file, indicated by the small decorator icon in the left lower corner, grey or red)
Just drag and drop will create a reference, indicated with a (REF) behind the name, holding CTRL during the drag and drop will create a real copy.

Absolute vs Relative

This is where property “1” comes into play. This defines how the paths are stored when you have multiple models in one workspace. When you leave Rhapsody with a workspace open, Rhapsody will ask you if the project-list must be saved.
It will save a file in the directory of the first project. The paths to each one of
the projects will be stored according to the setting of the property “1” in that project.
You can edit the project file by hand, you can even move the project file (Take care that you keep the project paths correctly!) but there is a nicer way to do this: just rght-click on the Folder “Projects” then select “Edit Unit”. There you can edit the name of the file and the location. You should then figure out how you want to store the paths to the model. My Tip: only use absolute if you are absolutely sure that the paths will be the same on all computers of all people involved in the project. Otherwise: use relative!

Unit

A unit is, as mentioned, a Rhapsody model element that is stored in a seperate file. My advice is to keep the default settings (That are good, for a change…) and only take packages, components and the project file as a unit ( project.rpy(x), component.cmp(x) and package.sbs(x), the last two are stored in the project_rpy directory )
Property “2” defines how these paths are stored, here also use relative unless you are absolutely sure you can use absolute.

Conclusion

Bordeaux is fantastic, we had a great weekend and we will definitely return there someday.
Use relative unless absolute will work for you, make sure you have the same setting in all projects!
Using multiple projects in a workspace is perfect if you have divided your model in seperate parts that are included in each other.

Remember: Everything is relative, absolutely!

Keep modeling with Rhapsody! wvdheiden@sodiuswillert.com

Walter.