The shared packages are available only for Teamwork server or local projects. The Used Project is alternative for shared packages in the Teamwork Cloud envirenment.
This functionality is available in Standard, Professional, Architect, and Enterprise editions only.
Not all contents of a used project are visible in the main project. The used project has a shared part and the part that is not shared. Only contents of the shared part are visible in the main project. The concept “shared” is similar to the public/private attributes of a class in programming languages (e.g., Java).
To designate packages of the project as shared
- Select package.
- Do one of the following:
- From the File menu, select Share Packages.
From the package shortcut menu, select Project Usages > Share Packages.
The Shared Packages dialog opens.
- If not all desired packages are showing in the Selected packages list, select them in the All data list and click the Add button
- Click OK.
The selected package including its owned elements is shared.
When a project is used in another project, all shared packages of the used project appear in that project. Moreover, each shared package can have a different location in the Containment tree. Any available package in a project can be used as a container for the shared package of the used project.
Additionally, each shared package can provide a “Preferred Path” that can be used as a hint where to mount a package when it is used in other project. No “Preferred Path” means that the package will be mounted directly under the root package Data. Profiles are typically mounted directly under the root package Data, however this can be changed.
Shared package “util” from the used project can be mounted on the “com::company” path in the main project in order to form the “com::company::util” path. The Preferred Path of the Shared Package can be used in this case to serve as a hint for the suggested location where to mount the package.
Used projects form a recursive data structure — the main project uses one or more other projects; these projects in turn can use other projects; those other projects can use another set of projects etc. All model pieces from these projects are gathered and connected into the integral model, which is shown in the Model Browser when the main project is opened.