Workflow transitions to map SAS item states to Local item states.

Workflow transitions to map SAS item states to Local item states.

Introduction

The up-down axis at the left of this table is the set of possible workflow states of an item on the SAS server.
The left-right axis at the top of the table is the possible states of an item on the local server.
The interior cells are the transition verbs and final state needed during synchronization to move a local item into a state that matches/maps-to the state of the SAS item.

Here are some example,

  • If the SAS item is in the state "project" and the local item is in the state "deleted", we'll need to use the transitions "undelete" and "replicate" on the local item during a synchronization with the SAS.

  • If the SAS item is in the state "deleted" and the local item is in the state "project", we'll need to use the transitions "delete" and "replicate" on the local item during synchronization with the SAS.

 

 

project

deleted

replicated

replicated_deleted

replicated_deprecated

replicated_deprecated_deleted 

deprecated

deprecated_deleted 

 

 

 

 

project

deleted

replicated

replicated_deleted

replicated_deprecated

replicated_deprecated_deleted 

deprecated

deprecated_deleted 

 

 

 

project

replicate->replicated

replicate, undelete->replicated

NA

undelete->replicated

 undeprecate->replicated

undeprecate, undelete->replicated

replicate, undeprecate->replicated

replicate,undeprecate,undelete->replicated

 

 

 

deleted

replicate, delete->replicated_deleted

replicate->replicated_deleted

delete->replicated_deleted

NA

 undeprecate, delete->replicated_deleted

undeprecate->replicated_deleted

replicate, undeprecate, delete->replicated_deleted

replicate, undeprecate->replicated_deleted

 

 

 

replicated

replicate->replicated

replicate, undelete->replicated

NA

undelete->replicated

 undeprecate->replicated

undeprecate, undelete->replicated

replicate, undeprecate->replicated

undeprecate, undelete->replicated

 

 

 

replicated_deleted

replicate, delete->replicated_deleted

replicate->replicated_deleted 

delete->replicated_deleted

 NA

 undeprecate, delete->replicated_deleted

undeprecate->replicated_deleted

replicate, undeprecate, delete->replicated_deleted

replicate, undeprecate->replicated_deleted

 

 

 

replicated_deprecated

replicate, deprecate->replicated_deprecated

replicate, deprecate, undelete->replicated_deprecated 

deprecate->replicated_deprecated 

deprecate, undelete->replicated_deprecated 

 NA

undelete->replicated_deprecated

replicate->replicated_deprecated 

replicate, undelete->replicated_deprecated

 

 

 

replicated_deprecated_deleted

replicate, deprecate, delete->replicated_deprecated_deleted

replicate, deprecate->replicated_deprecated_deleted

deprecate, delete->replicated_deprecated_deleted

deprecate->replicated_deprecated_deleted

delete->replicated_deprecated_deleted

NA

replicate, delete->replicated_deprecated_deleted

replicate->replicated_deprecated_deleted

 

 

 

deprecated

replicate, deprecate->replicated_deprecated

replicate, deprecate,undelete->replicated_deprecated

deprecate->replicated_deprecated

deprecate, undelete->replicated_deprecated

 NA

undelete->replicated_deprecated

replicate->replicated_deprecated 

replicate, undelete->replicated_deprecated

 

 

 

deprecated_deleted

replicate, deprecate, delete->replicated_deprecated_deleted 

replicate, deprecate->replicated_deprecated_deleted 

deprecate, delete->replicated_deprecated_deleted 

deprecate->replicated_deprecated_deleted  

 delete->replicated_deprecated_deleted

NA

replicate, delete->replicated_deprecated_deleted 

replicate->replicated_deprecated_deleted

 

 

 

 <Object has been removed.>

Do nothing.

Do Nothing.

  • No refs? Remove from system.

  • Hard refs? deprecate->replicated_deprecated

  • Soft refs? deprecate, delete->replicated_deprecated_deleted

  • No refs? Remove from system.

  • Hard refs? deprecate->replicated_deprecated_deleted

  • Soft refs? deprecate->replicated_deprecated_deleted

  • No refs? Remove from system.

  • Hard refs? Do nothing

  • Soft refs? delete->replicated_deprecated_deleted

  • No refs? Remove from system.

  • Hard refs? Do nothing

  • Soft refs? Do nothing 

Do Nothing

Do Nothing

 

 

Misc Notes and Unanswered Questions:

What should happen during a sync if a SAS item is in the soft-deleted state "deleted" but the local item is not AND has active (non-deleted) records referencing it?

  • the entire sync request fails?

  • the local item remains in its current state (no change)

  • the local item's workflow state remains unchanged but the item gets some non-workflow state change (failed sync state or delete-pending state)?

  • the local item moves into a "deleted" state even though it has active references?

  • the local item moves into the "deprecated" state? Or "deprecated_deleted" state?