Share packages
In addition to the Basic Access Rights setup it is also possible to share explicit objects by using the CoOwner/CoReader sharing mechanisms (see Unit of Information. In order to make use of this functionality and in order to keep control of what was shared at what time - share packages are used.
Share package
Share packages manage sharing of data within a ShareAspace space. A Share package is owned by a Participant and can be created by any User with Create access in that Participant. The User creating the Share package will be set as the Requestor of the package.
To create a Share package, a Share package definition must be selected.
Once the package is created users can add objects to the Share package. These objects are considered "scoped objects".
Note
Adding objects to the package will not share the objects right away (see Sharing Process).
A Share package also has a state - stating if the package is shared or not. Once the package is shared the package will also have a reference list to all Unit-of-Informations that were shared. The Share package definition can define a structure configuration, instructing the sharing mechanism to traverse references from the scoped objects. e.g. for the use case of sharing a complete structure such as an assembly.
Just as with Work items, it is possible to create SoftTypes of Share packages. It is possible to add additional attributes to them but not possible to reconfigure any of the out of the box attributes (other than changing their labels).
Share package definition
The Share package definitions are configured as part of a Space Templates The responsibility of the Share package definition is to define the rules for the actual sharing of objects in a Share package.
The Share package definition has a Participant - Role pair defined stating what role is required to share a Share package. The Share package definition also defines what type of sharing should be applied (CoOwn/CoRead) on a Share package that references the Share package definition.
The Share package definition also states to what Participant a Share package should be shared to. The Definition also contains a Participant - Role pair for possible users that should be notified when something is Shared with them.
Finally, the Definition can reference a navigation structure configuration. This defines how the information should be traversed from the Scoped object in order to get the complete set of data to be shared.
Sharing process
A user with create access in a Participant can create a Share Package owned by that Participant. When the Package is created it will have the "Not Shared" status. Users with access to the Share Package can then go on and add Scoped Objects to the Share Package ready for them to be shared.
Once the Share Package has been prepared a user can request the Package to be shared. When requesting a Share, the user will search among users with the appropriate access rights and roles as defined by the Share Package Definition. By choosing a specific user to be responsible, a Work Item will be created asking that user to share the Package. Before sharing it the chosen user has the possibility to review the Package.
If everything looks OK, the Responsible user will pick a receiver on the Share to Participant based on the setup of the Share Package definition and then change the status of the Share Package from "Not Shared" to "Shared". By doing this, the system will set the appropriate CoOwner or CoReader on all Scoped Objects in the Share Package to the Participant defined by the Share Package Definition. The system will also log all Shared Objects on the Share Package.
Once the package is shared the selected receiver will be sent a Work Item referring to the Share Package stating that someone has shared information with them.
The person responsible for the Share Package can revoke the sharing at any time. Depending on the process, it might appropriate that the responsible person will wait for some tasks to be carried out based on the shared information set.
SharePack information filters
When creating a Share package it is possible to set information filter settings for the sharing. This allows for data to be filtered based on information filter settings like effectivity or applicability context. The filters are applied on each object and when traversing structures for defining what object should be shared.
SharePack expiration
Share packages have an expiration date property. If set, the system will automatically revoke the sharing of the Share package when the expiration date is reached.