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.

 

 projectdeletedreplicatedreplicated_deletedreplicated_deprecatedreplicated_deprecated_deleted deprecateddeprecated_deleted    
projectreplicate->replicatedreplicate, undelete->replicatedNAundelete->replicated undeprecate->replicatedundeprecate, undelete->replicatedreplicate, undeprecate->replicatedreplicate,undeprecate,undelete->replicated   
deletedreplicate, delete->replicated_deletedreplicate->replicated_deleteddelete->replicated_deletedNA undeprecate, delete->replicated_deletedundeprecate->replicated_deletedreplicate, undeprecate, delete->replicated_deletedreplicate, undeprecate->replicated_deleted   
replicatedreplicate->replicatedreplicate, undelete->replicatedNAundelete->replicated undeprecate->replicatedundeprecate, undelete->replicatedreplicate, undeprecate->replicatedundeprecate, undelete->replicated   
replicated_deletedreplicate, delete->replicated_deletedreplicate->replicated_deleted delete->replicated_deleted NA undeprecate, delete->replicated_deletedundeprecate->replicated_deletedreplicate, undeprecate, delete->replicated_deletedreplicate, undeprecate->replicated_deleted   
replicated_deprecatedreplicate, deprecate->replicated_deprecatedreplicate, deprecate, undelete->replicated_deprecated deprecate->replicated_deprecated deprecate, undelete->replicated_deprecated  NAundelete->replicated_deprecatedreplicate->replicated_deprecated replicate, undelete->replicated_deprecated   
replicated_deprecated_deletedreplicate, deprecate, delete->replicated_deprecated_deletedreplicate, deprecate->replicated_deprecated_deleteddeprecate, delete->replicated_deprecated_deleteddeprecate->replicated_deprecated_deleteddelete->replicated_deprecated_deletedNAreplicate, delete->replicated_deprecated_deletedreplicate->replicated_deprecated_deleted   
deprecatedreplicate, deprecate->replicated_deprecatedreplicate, deprecate,undelete->replicated_deprecateddeprecate->replicated_deprecateddeprecate, undelete->replicated_deprecated NAundelete->replicated_deprecatedreplicate->replicated_deprecated replicate, undelete->replicated_deprecated   
deprecated_deletedreplicate, deprecate, delete->replicated_deprecated_deleted replicate, deprecate->replicated_deprecated_deleted deprecate, delete->replicated_deprecated_deleted deprecate->replicated_deprecated_deleted   delete->replicated_deprecated_deletedNAreplicate, 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?