About projects

A project is a dynamic collection of items related to a particular development activity. Projects provide a way to organize items and control access to them. All item operations are performed within the context of a project.

Projects overview

Use projects if your team plans to:

  • Manage primarily non-software assets such as documentation and hardware assets.

  • Work in a regulated environment where it is necessary to pre-authorize each change before it is made.

  • Follow a traditional waterfall development methodology.

  • Use an SCC-based IDE for your development.

  • Use remote replication.

In a project, you can define the following:

A view for users Projects are dynamic views of items needed to fulfill a certain purpose—for example, building a new enhancement into the current release or fixing a bug in an existing release.
Folder structure Within a project items are organized in a folder structure. When items are checked out of a project, corresponding physical folders are created on the hard drive relative to the root folder.
Work area Each user has a default work area for the project in which they are working that is either a Dimensions CM  managed work area or a folder on your hard drive or on a remote node. Dimensions CM performs item file operations, such as update or deliver, relative to the root folder that is referenced by this work area.
Deployment areas Areas can be associated with a project so that item files are copied to or from those areas when item revisions are deployed to a new stage in the development lifecycle.
Library cache areas Areas can be associated with a project so that the item files are automatically copied to those areas during certain item operations to improve efficiency when a number of users are accessing items on a remote server.
Project filenames Project filenames represent the location of an item in the user's physical directory and may be different from the item ID.

A project is a conceptual collection of items. At the physical level, item files are stored in item libraries. They are referenced and arranged within projects into whatever organization suits the project.

Note: Your administrator may have configured your database to allow you to use either streams or projects. For details about miscellaneous database options, see the Administration Console online help.

Back to top

Work areas overview

A work area is the location you use for working with files:

  • A folder on your local machine, for example, C:\myworkarea.

  • A folder on a remote node specified by the syntax <nodename>::/<folder>, for example, UNIX::/myworkarea.

  • A managed work area that you can create in the desktop client, web client, or Administration Console. This area can be used by other users as their project work area. For details about area definitions, see the Administration Console online help.

The work area's folder structure is identical to that in the project. Changing your work area does not change the default for other users of the same project.

For details on how to create work areas, see the following topics:

Web client: Create a work area
Desktop client: Create a work area

Back to top

Work with projects

In Dimensions CM, you can perform the following project operations:

Create projects

Create a project in the following ways:

  • From an existing project or baseline.

  • By creating an empty project and adding items later.

  • By merging existing projects.

If you create a project from an existing project or baseline, the new project contains all the item revisions included in the original project or baseline.

Rename or delete projects Rename projects or delete them, for example, when development work is finished.
Edit properties and options Change a project's default settings.
Set your current project Set a project as your current project.
Assign project defaults Set a default branch, request, and work area for your current project.
Relate a project Relate a project to other projects or baselines.
Manage project folders

A project folder is a folder in the project structure that contains items. You can do the following with project folders:

  • Add a new project folder to the project structure and add items to that new folder.

  • Change the location of a project folder.

  • Rename a project folder.

  • Delete an item from the project, provided that the item does not belong to a baseline or release.

Except renaming a folder, these operations cannot be performed with streams, as refactoring changes are made in a work area and not directly to a stream in a repository.

Action projects Move projects from one state in the lifecycle to the next state.
Create and modify work areas Create and modify controlled work areas, and assign them to projects.
Remove and add item revisions Remove item revisions from, and export them to, a project.
View users, roles, and privileges View the role assignments and privileges for a project, and the users who have the project in their inboxes.
View project history View the update history of a project.

For details on how to perform these operations, see the following sections:

Web client: Work with projects
Desktop client: Work with projects

Back to top

Project relationships

Projects and streams have relationships with the following Dimensions CM objects.

Object Relationship description
Items The project/stream contains a list of item revisions that are Owned by it.

The project/stream can have requests related.

When you create a request, by default it is related to your current project or stream, but you can change the project or choose not to relate the request to a project.

When you select requests in the My Current Project/Stream view, the requests in your inbox and the Catalog node include only those related to your current project. To view all requests, select the User Inbox or Product Catalog. For details, see Select Dimensions CM requests.

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).

Subprojects and baselines

Projects can contain other projects in a hierarchical relationship.

In the My Current Project view, you can view the subprojects related to your current project, and you can access the items within them. A subproject has a relative path, or folder offset, defined in conjunction with its relationship to the parent. This is used to determine the item files location 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.

Example: A project called MainProject has a project called Package1 related to it as a subproject, with an offset path of shared/package1.

If MainProject is set as your current project and has a root folder set to C:\Development\MainProject, then the items in the top-level folder of 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 be checked out to C:\Development\MainProject\shared\package1\include\header.h.

If you set your current project to Package1, and its root folder to C:\Development\Child1, the item with a project path of include\header.h would be checked out to C:\Development\Child1\include\header.h.

You can also use a baseline as a subcollection of items within a project. In this case, when you get baseline items to your work area, by default they are copied 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 subproject.

Back to top

See also: