User Help > Grouping Files Under Version Control > Adding a Shared Configuration Management Subproject
 
Adding a Shared Configuration Management Subproject
CLI EQUIVALENT 
si sharesubproject
A shared subproject is a subproject that is a member of more than one configuration management project. You can share a subproject between two or more projects by referencing the original subproject. A shared subproject allows you to access common members across many projects. Shared subprojects are not required to be located within the same directory structure or project hierarchy.
For example, Ryan maintains the North American and German Web sites for ABC Financial. Both Web sites are under version control and use the same images, but they contain different content. To avoid duplication and ensure both Web sites contain the same images, Ryan adds the images to a subproject and shares it between the two projects.
You can add a shared subproject in the following ways:
Select the project where you want to add the shared subproject, and select Project > Subproject > Add. Then, select the subproject that you want to add.
Select the subproject that you want to share and then select Project > Subproject > Share To. Then, select the project that you want to share into.
When adding a subproject you can specify one of the following types:
Normal adds a subproject based on the working subproject on the mainline
Variant adds a subproject based on a specific development path of the master project.
* 
The Variant option is unavailable if there are no available development paths.
Deactivated development paths are not shown in the Development Path Name list.
Build adds a static subproject based on a specific checkpoint of the master project that is used for building or testing the project, but not for further development. You can specify the checkpoint through its checkpoint number or label.
Default adds a subproject as the same type as the parent project.
* 
If you do not select a subproject type, the subproject is added as the same type as the parent project.
Shared Project Behavior
A shared subproject functions the same as an unshared subproject and is accessible by the same commands. The shared subproject continues to reside within its original master project, but is referenced by the other project and shown as a shared subproject.
When working with shared subprojects, Integrity Lifecycle Manager uses the actual name of the subproject in the repository rather than its relative name in the project hierarchy for the purposes of resolving ACLs, policy statements, event triggers, and change package entries. This enhances the portability of change packages across different projects.
Shared Projects From Source Integrity Standard
Shared subprojects (out-of-tree subprojects) that were created in Source Integrity Standard (an earlier version of Integrity Lifecycle Manager) are detected as they are accessed by Integrity Lifecycle Manager without disrupting the operation. The format of these subprojects is retained until you change or update it to the new format by reconfiguring it.