A project or stream can have the following relationships with other Dimensions objects.
Items. The project/stream contains a list of item revisions that are Owned by it.
Requests. The project/stream can have requests related. When you create a request, by default it will be related to your current project or stream, but you can change the project or choose not to relate it to a project. When you select requests in the My Current Project/Stream view, the requests listed in your Inbox and the Catalog only include those related to your current project. To view all requests you need to select the Global Inbox or Global Catalog. See Selecting Requests for further details.
Other Projects/streams. A project/stream can have a Based on relationship to one or more projects/streams. It can be Parent or Child in relation to other projects/streams.
Baselines. A project/stream created from a baseline has a Based on relationship to it. A baseline created from a project/stream has a Based on relationship to it. A baseline can be attached as a child in a usage relation to a project (but not a stream).
Sub-Projects and Baselines
Projects can contain other projects in a hierarchical relationship (does not apply to streams). In the My Current Project view you can see any sub-projects that are related to your current project and you can access the items within them. A sub-project has a relative path, or folder offset, defined in conjunction with its relationship to the parent. This is used to determine the location of the item files that is used in item operations such as get, check out, or check in.
NOTE This feature may not have been enabled in your UI profile.
For example there is a project called MainProject that has a project called Package1 related to it as a sub-project, with an offset path of "shared/package1". If MainProject was set as your current project and had a root folder set to "C:\Development\MainProject", this would mean that items in the top-level folder of project Package1 would have their files checked out by default to C:\Development\MainProject\shared\package1. An item in Package1 with a project path of include\header.h would therefore be checked out to C:\Development\MainProject\shared\package1\include\header.h.
You could also set your current project to Package1 with the root folder set to C:\Development\Child1. In this case the item with a project path of include\header.h would be checked out to C:\Development\Child1\include\header.h.
A baseline can also be used as a sub-collection of items within a project. In this case, when you get the items from the baseline into your work area they are copied by default to a path relative to the root folder specified by the folder offset defined in its relationship to the parent project in the same way as for a sub-project.