Example use cases and deletion scenarios

Understand common deletion scenarios that you may encounter.

The example describes a user scenario, the settings on Aurea CRM, and the subsequent processing of the delete command by CRM.interface for each use case. Six use cases are described.

Connector server settings

  • Appointments are synchronized to CRM as #1 (Visit) contact type.
  • Contact types enabled for synchronization from CRM: #1 (Visit), #3 (Event).
  • Synchronization time frame: 0 days in the past, 21 days into the future.
  • Deletion time frame: 0 days in the past, 7 days into the future.
  • Default DeleteSync handler in forms.xml :
    <SyncHandler type="DeleteSync">
    	<condition>
    		<cond tablename="Contact" fieldname="FreeC1" op="!=" value="deleted"/>
    		<cond tablename="Contact" fieldname="Contact" op="!=" value="#5"/>
    	</condition>
    </SyncHandler>

User activity scenario

User synchronized the following items with Aurea CRM:

  • An email received today (synchronized with contact type #5).
  • App1: a single appointment scheduled for today + 3 days.
  • App2: a single appointment scheduled for today + 11 days.
  • App3: a recurring appointment scheduled for days today – 10 days and today + 20 days occurring every day.
Use case 1: no changes done in the CRM

In this case, delete requests are processed by CRM.interface as described below:

  • an email record won’t be sent because its contact type was not requested.
  • App1 is sent by the Get command because:
    • It is scheduled for today + 3 days which is within the deletion time frame
    • It has contact type #1
  • App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame
  • App3: only occurrences falling within deletion sync frame will be sent by the Get command.
Use case 2: user deletes App1 in the CRM

In this case, delete requests are processed by CRM.interface as described below:

  • An email record won’t be sent because its contact type was not requested.
  • App1 will be sent in Delete command because:
    • It is scheduled for today + 3 days which is within deletion time frame
    • It has contact type #1
  • App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame.
  • App3: only occurrences falling within deletion sync frame will be sent in Get commands.
Use case 3: User deletes App2 in the CRM

In this case, delete requests are processed by CRM.interface as described below:

  • an email record won’t be sent because its contact type was not requested.
  • App1 will be sent in Get command because:
    • It is scheduled for today + 3 days which is within deletion time frame
    • It has contact type #1
  • App2 won’t be sent because it is scheduled for today + 11 days which is not within the deletion time frame.
  • App3: only occurrences falling within the deletion sync frame will be sent in Get commands.
Use case 4: User deletes App3 occurrences scheduled for today + 3, 5 and 8 days in the CRM

In this case, delete requests are processed by CRM.interface as described below:

  • an email record won’t be sent because its contact type was not requested.
  • App1 will be sent in Get command because:
    • It is scheduled for today + 3 days which is within deletion time frame.
    • It has contact type #1.
  • App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame.
  • App3
    • occurrences scheduled for today + 3 and today + 5 days will be sent in Delete commands.
    • other occurrences falling within deletion sync frame will be sent in Get commands.
    • occurrence scheduled for today + 8 days won’t be sent at all (it’s outside of deletion time frame).
Use case 5: User deletes App1 and App2 in the groupware

This causes the connector to send a 410 status in response to a Get command sent by interface for App1 record in CRM. Assuming the default configuration, the App1 record in CRM gets marked as deleted by setting the field FreeC1 = “deleted”.

In this case, delete requests are processed by CRM.interface as described below:

  • an email record won’t be sent because its contact type was not requested.
  • App1 won’t be sent because it is filtered out by condition FreeC1 != “deleted” in DeleteSync handler.
  • App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame.
  • App3: only occurrences falling within deletion sync frame will be sent in Get commands.
Use case 6: User enables contact type #5 e-mail for synchronization from CRM

In this case, delete requests are processed by CRM.interface as described below:

  • an email record won’t be sent because it is filtered out by condition Contact != “#5” in DeleteSync handler.
  • App1 will be sent in Get command because:
    • It is scheduled for today + 3 days which is within deletion time frame
    • It has contact type #1
  • App2 won’t be sent because it is scheduled for today + 11 days which is not within the tdeletion time frame.
  • App3: only occurrences falling within the deletion sync frame will be sent in Get commands.