`Reuse and Synchronization is functionality within a project in Jama that allows for supporting information of any item, a container of items, or even a project to be duplicated and continuously kept in sync. Supporting information can include the entire item, item fields, item widget information (relationships, tags, attachments), related items, sub-items, project details, and/or other information. The documentation provided below will describe some common scenarios that Reuse and Synchronization can help to accomplish and describe where to find and how to use Reuse and Synchronization functionality.
Duplicate / Copy
The most basic use of reuse and synchronization is the ability to simply make a copy or a duplicate of an item, a container of items, or a project. Synchronization can also optionally be enabled between items.
Library / Catalog
Creating a library or catalog is useful for establishing system wide standards in the organization that all business units should follow. These standards could include common business practices, business rules, glossaries, or even a set of non-functional requirements etc. that teams in the organization should reference but not modify.
|•||An organization that relies heavily on acronyms or utilizes substantial terminology would benefit from creating a library/catalog of glossaries which can be defined and managed in one place and used as reference everywhere else.|
|•||An organization that produces result sensitive material usually requires strict business practices. Creating and managing business practices in one place allows references to the practices to remain consistent across the organization.|
Large projects will typically need to adhere to a common set of requirements but often times each requirement also has information specific to a project and needs to be managed by that project. For instance, a requirement name and description can be shared across multiple projects but release values, priorities, assignments, relationships, etc. can continue to be managed by each project.
Branching refers to the capability to split a set of information from a single point in time into several branches such that each branch can be modified in parallel.
|•||Organizing content in Jama is often arranged/organized to appear as a document such that when exporting information it can be made available immediately in a standard format utilized by the organization. However, individual pieces of that document in Jama will be changing at different paces but when exporting the document the intention is to use information that is in a specific state. For example, a requirement and a test case that are related will generate versions at different paces but it is generally intended that when a specific version of the requirement is exported that a specific version of the associated test case is also exported. Reuse can be used to take snapshots of items and related information while at the same time allowing these to be modified in parallel which can be used to create the effect of versioning an entire document as opposed to an individual requirement.|
Similar to branching mentioned above, reuse and synchronization can also be used with items to utilize them across multiple releases or sprints in parallel.
A project can be configured to act as a template such that it can be reused and synchronized to quickly ramp up new projects, to establish standard practices on content organization, and can also be used to push updates from the template to associated projects.
Where to Find Reuse and Synchronization
|•||Administration - Configuration options are available in the Organization Details of the Admin section.|
|•||Permissions - Reuse and Synchronization abides by read and write permissions. For instance, visibility of synchronized items is only available to a user with read access to both items. Making edits, synchronizing, reusing or duplicating requires write privileges for the item being created or modified. Modification and removal of diff views requires administrator privileges. Creation, modification, and removal of advanced reuse options requires a special Reuse Administrator privilege.|
|•||Reuse - For items, containers, and projects that need to be reused, users should use the Reuse Wizard. Reuse can be triggered from context menus, from the Synchronized items widget of an item, from the Actions drop-down of an item, and from Manage all projects (Duplicate project).|
|•||Synchronization - For existing items that need to be synchronized, users should use the Sync Items Wizard or the Synchronized Items widget of an item. Synchronization can be triggered from item context menus, from the synchronized items widgets, or from the project drop-down.|
|•||Activity - Reuse and/or Synchronization of items will add entries to the Activity Stream of items that are created or modified during the process.|
|•||See the following pages and the FAQ for additional information.|
Note: Reuse and synchronization can require significantly more memory than other Jama features. This will be most apparent if your organization has a large Jama database and has heavy reuse/synchronization use.