Control your assets
Dimensions CM enables you to use projects or streams to organize development work. You identify the product's design parts to relate items and requests to a specific product part.
Projects and streams
Dimensions CM uses projects and streams to organize different areas of development. The files for a particular strand of development are stored in Dimensions CM as items under version control. Each project or stream has a folder structure in which these items are organized.
Projects and streams work in different ways, and the Dimensions CM functions for projects and streams are different.
Streams are designed to be better suited to collaborative development using a "copy, modify, merge" process, where a developer works on a copy of the files in their work area, and then delivers the changes back to the repository.
Projects are more appropriate to a "lock, modify, unlock" development process, where a developer checks out the files before making their changes.
You can configure your database to use only streams, only projects, or both streams and projects
Dimensions CM projects are better suited to more traditional software development methodologies and non-software uses such as documentation and hardware assets.
Projects differ from streams in that you can perform operations on individual files, such as check out and check in. You can also have parallel versions of the same code in a project because there can be more than one tip revision of the same item. You can carry out different strands of development in the same project by associating a different branch for versions of the same items within it.
Projects can be related in a hierarchical structure together with other parent and child projects.
For details, see About projects.
Streams are designed for carrying out small amounts of change and integrating them with the main body of code before starting on a new set of changes.
Streams differ from projects in that you do not perform operations on individual items in the repository, but you copy a complete set of files, make changes, and deliver them back to the repository after building and testing the code.
Streams facilitate an iterative development process where the developers resolve any conflicts, and build and test the application in their work areas before committing those changes to the repository.
Streams enforce a single line of descent and do not contain parallel branches of the same items. It is easy to build working code from the tip revisions at any time.
For details, see About streams.
When a completions state or milestone is reached, you can freeze the project/stream contents and preserve the item versions within the project/stream by creating a tip baseline.
When a project is created from a baseline, the original hierarchical structure is restored. You can begin a new phase of development by creating a new project from a baseline.
For details, see Baseline categories.
Dimensions CM supports optimistic locking. Optimistic locking enables you to check in a file without first having checked it out. Dimensions CM maintains metadata in the client working location to record the changes that have occurred in relation to the database.
To enforce security, you can use Change Management rules and specify that a user requires a request to update an item in the database.
Design parts and roles
You use design parts to organize items into logical groups associated with specific parts of a product.
Within different product parts, you may want to restrict the ability to perform certain actions and changes only to certain team members. Subdividing the product into design parts enables you to assign the roles for specific tasks and components to different individuals.
For an overview of design parts, see About design parts.