Unit of Information
UoI Basic Access
Every object contained within a Unit of Information (UoI) will have the same owner as the UoI if the owner is not set on the contained objects.
In the example below, Participant 1
owns the master object M
. Since the versions V
and
the definitions D
are all contained within the master; Participant 1
implicitly owns
all the contained objects (green-dashed-area).
In this next example, Participant 1
still owns the master M
but Participant 2
owns
the first version V
. This "breaks" the implicit ownership - meaning that Participant 2
will own everything contained under the first version (red-dashed-area) while Participant 1
will own the master M
and the second version and its containment (green-dashed-area).
In the previous example - say that Participant 2
had no access to Participant 1
. That
would imply that Participant 2
could only see the first version and its contained objects
and not being able to see the master and its identifiers, names, etc. For Participant 2
this could be perceived as broken data since a version cannot exist on its own. To prevent
this, implicit read access on the path to the root of a UoI is always granted to an owner
of an object within a UoI (blue-dashed-area).
Shared Access
To share information in ShareAspace
all objects can have a set of Participants
defined as "Co-Owners" and a set of Participants
defined as "Co-Readers".
- CoOwner - Grants listed
Participants
owning access to the object, i.e the same access to the object as the owner. - CoReader - Grants listed
Participants
read access to the object.
In the example below Participant 1
is the owner of the master object M
and
Participant 2
is set as a CoOwner
of that same master object. This gives both
Participant 1
and Participant 2
owner access to all the objects contained within this
UoI (green-dashed-area and red-dashed-area).
In this next example, Participant 1
is set as the owner of the master M
- thus Participant 1
is the owner of all the objects contained within this unit of information (green-dashed-area).
Participant 2
is set as CoOwner
of one of the definitions and is therefore the Co-owner
of that definition and all objects contained within it (red-dashed-area). Since a definition
cannot exist on its own, Participant 2
is given implicit read access to the path up to the
root master object (blue-dashed-area).
Ownership, CoOwner and CoReader History
Object as ManagedObject, AbstractVersion or AbstractDefinition can change ownership and have their ownership history tracked.
Every time the ownership is changed, that change will be logged into a property called ownerHistory
which is a collection of OwnerHistoryEntry
that records who owned it during a given period of time and who changed the ownership.
The current owner of the object is captured in the owner
property itself.
Example:
- At
T0
, the ownership history will look like:
Historical Owner | SetBy | Start | End |
---|---|---|---|
Participant 1 | T0 |
- At
T1
, the ownership history will look like:
Historical Owner | SetBy | Start | End |
---|---|---|---|
Participant 1 | T0 | T1 | |
Participant 2 | Participant 1 | T1 |
- At
Tn
, the ownership history will look like:
Historical Owner | SetBy | Start | End |
---|---|---|---|
Participant 1 | T0 | T1 | |
Participant 2 | Participant 1 | T1 | Tn |
Participant n | Participant n | Tn |
Important
Only the Participant owning an object can handover the ownership to another Participant.
In the same way as the OwnerHistoryEntry
, objects such as ManagedObject, AbstractVersion or AbstractDefinition can have a history of Co-Owners and Co-Readers which is a collection of SharingHistoryEntry
that will keep track of who was the Co-Owner or Co-Reader in a given period of time and who granted that right.
The current co-owner or co-reader of the object is captured in the coOwner
and respectively coReader
properties.
Example:
- At
T0
, the Sharing history will look like:
Historical Receiver | SetBy | Start | End | Level |
---|---|---|---|---|
-- |
- At
T1
, the Sharing history will look like:
Historical Receiver | SetBy | Start | End | Level |
---|---|---|---|---|
Participant 2 | Participant 1 | T1 | EDIT | |
Participant 3 | Participant 1 | T1 | READ |
- At
Tn
, the Sharing history will look like:
Historical Receiver | SetBy | Start | End | Level |
---|---|---|---|---|
Participant 2 | Participant 1 | T1 | EDIT | |
Participant 3 | Participant 1 | T1 | Tn | READ |
Participant 4 | Participant 1 | Tn | READ |
Important
Only the Participant owning an object can handover the Co-Ownership to another Participant.