Lifecycle: current state

Last modified 28 Sep 2023 09:34 +02:00

This page describes the effects of object and assignments activation and lifecycle state on the behavior of various components.

It captures the current state as well as open questions and suggested changes (shown by highlighting).

Object-level Effects

The object-level effects of object activation and lifecycle state are shown in the following table.

Table 1. Effects of focus activation and lifecycle state
Focus administrative status Focus lifecycle Focus effectiveStatus value Assignments active Global object policy rules applied Ref

enabled

yes

yes

test100

disabled

disabled

yes

yes

test110, test200

archived

disabled

yes

yes

test120

draft

disabled

no

yes

test130

proposed

disabled

no

yes

test140

suspended

disabled

yes

yes

test150, test210

deprecated

disabled

no

yes

test160

archived

disabled

no

yes

test170, test220, test230

failed

disabled

no

yes

test180

Notes:

  1. "Assignments active" refers to the effects at the level of assignments, see the next section.

  2. The "Ref" column refers to TestLifecycleBasic methods.

Assignment-level Effects

Here we show how active and inactive assignments (driven by object lifecycle state) behave - or should behave.

Yellow-highlighted entries are to be clarified and/or fixed.

Green entries were fixed recently - see commit a97e08.

Active Assignments

Table 2. Active assignments
Target type Assignment lifecycle state Target lifecycle state Assignment effective status Archetype ref Role membership ref Induced focus mappings Authorizations Induced object rules Assigned target assignment rules Induced constructions Ref

archetype

active

active

enabled

yes

yes

yes

yes

yes

yes

yes

assertAssignmentsActive:ARCHETYPE_ACTIVE

role

active

active

enabled

no

yes

yes

yes

yes

yes

yes

assertAssignmentsActive:ROLE_ACTIVE

archetype

active

draft

enabled

yes

yes

no

no

no

no

no

assertAssignmentsActive:ARCHETYPE_DRAFT

role

active

draft

enabled

no

yes

no

no

no

no

no

assertAssignmentsActive:ROLE_DRAFT

archetype

draft

active

disabled

yes [1]

no

no

no

yes

yes[2]

no

assertAssignmentsActive:ARCHETYPE_ASSIGNED_IN_DRAFT

role

draft

active

disabled

no

no

no

no

yes

yes[2]

no

assertAssignmentsActive:ROLE_ASSIGNED_IN_DRAFT

Table 3. Active resource assignments
Assignment lifecycle state Target lifecycle state Assignment effective status Constructions Ref

active

active

enabled

yes

assertAssignmentsActive:RESOURCE_DIRECT_ACTIVE

active

draft

enabled

no

assertAssignmentsActive:RESOURCE_DIRECT_DRAFT

draft

active

disabled

no

assertAssignmentsActive:RESOURCE_DIRECT_ASSIGNED_IN_DRAFT

Inactive Assignments

"Inactive assignments" here mean assignments of focus that is in such a state that its assignments should not be active (e.g., draft, archived, and so on).
Table 4. Inactive assignments
Target type Assignment lifecycle state Target lifecycle state Assignment effective status Archetype ref Role membership ref Induced focus mappings Authorizations Induced object rules Assigned target assignment rules Induced constructions Ref

archetype

active

active

enabled (probably not correct)

yes

no

no

no

no

yes (not sure if correct)

no

assertAssignmentsInactive:ARCHETYPE_ACTIVE

role

active

active

enabled (probably not correct)

no

no

no

no

no

yes (not sure if correct)

no

assertAssignmentsInactive:ROLE_ACTIVE

archetype

active

draft

enabled (probably not correct)

yes

no

no

no

no

no (not sure if correct)

no

assertAssignmentsInactive:ARCHETYPE_DRAFT

role

active

draft

enabled (probably not correct)

no

no

no

no

no

no (not sure if correct)

no

assertAssignmentsInactive:ROLE_DRAFT

archetype

draft

active

disabled

yes [1]

no

no

no

no

yes (not sure if correct)

no

assertAssignmentsInactive:ARCHETYPE_ASSIGNED_IN_DRAFT

role

draft

active

disabled

no

no

no

no

no

yes (not sure if correct)

no

assertAssignmentsInactive:ROLE_ASSIGNED_IN_DRAFT

Table 5. Inactive resource assignments
Assignment lifecycle state Target lifecycle state Assignment effective status Constructions Ref

active

active

enabled (probably not correct)

no

assertAssignmentsInactive:RESOURCE_DIRECT_ACTIVE

active

draft

enabled (probably not correct)

no

assertAssignmentsInactive:RESOURCE_DIRECT_DRAFT

draft

active

disabled

no

assertAssignmentsInactive:RESOURCE_DIRECT_ASSIGNED_IN_DRAFT


1. Will be fixed later. Currently, archetype assignments cannot be disabled anyway.
2. The idea is that we apply (global) object policy rules on draft objects. So we should apply (role-based) assignment policy rules on draft assignment as well.
Was this page helpful?
YES NO
Thanks for your feedback