To reuse an asset defined in another project, you need to configure your project to depend on that base project. For more information on how to do this, see Configuring Project Dependency.
A project can depend on only one project, however the project it depends on can also depend on another project.
Typically you create a base project with the most general assets. Some projects may directly depend on this project, so that they can use the assets defined in the base project. If there is a group of projects that share the need of other more specific assets, then you can configure them to depend on a project that contains those specific assets and in turn, depends on the base project.
You can create a project with generic processes and use it as a library of processes. It should contain processes that you can use as templates to develop other processes.
To build your project library add new processes and roles, or copy already existing ones following the procedure described in Copying a Process and its Roles to a Process Library.
Your project should depend on the project containing the library of processes, so that you can use the processes in the base project as templates. To do this follow the procedures described in Using a Process from a Process Library.
The process you create using the template, uses the roles defined in the base project. If the activities in the process template have an associated task then it may use the components defined in the base project. However when you modify the process in the base project, your project does not reflect the changes.
You can create a project with generic roles and use it as a library of roles. Typically you include the processes that use these roles in the same project.
To use the roles defined in the base project, your project should depend on it. For more information on how to use a role from the base project, see Using a Role from a Role Library.
Note that the roles in the base project are not copied to your project, your project uses them directly from the base project. When you modify a role in the base project, the depending projects reflect the changes.
You can create a project with reusable components and use it as a library of components. Typically you include the processes that use these components in the same project.
Another common practice is to create a project that only contains a library of components and make all the projects you create depend on this project so that they have access to those common components.
To build your component library you must catalogue the components or create new BPM Objects in the selected project. You can copy already existing BPM Object components by following the procedures described in Copying a BPM Object Component to a Component Library.
To use the components defined in the base project, your project should depend on it. For more information on how to use a component from the base project, see Using a Component from a Component Library.
Note that the components in the base project are not copied to your project, your project uses them directly from the base project. When you modify a component in the base project, the depending projects reflect the changes.
If the component in the base project uses an external resource, then when you use it from the dependent process it uses the external resource defined in the base project.