Effector 6.3 developer manual

XML reference 6.3

Effector Studio 6.3 summary

Effector Studio 6.3 manual

Effector 6.2 developer manual

XML reference 6.0

Effector Studio 3.2 summary

Effector Studio 3.2 manual

Exchange sync

Exchange synchronization is performed with EffectorServerToolService, which provides detailed logging. The log messages are stored in the FSYS_ExchangeSync_Log table.

Exchange synchronization

Exchange synchronization runs as follows:

  • call ID (Guid) is created
  • stored procedure osp_sel_FSYS_Exchange_GetSettings is run, which returns the following columns:
    • Uri: path of the Exchange server
    • Domain: technical user's domain
    • UserName: technical user's name
    • Password: technical user's AES encrypted password
    • MaxDate: (optional) maximum date
  • stored procedure osp_sel_FSYS_Exchange_GetPeople is run, which returns the following columns:
    • PeopleID: user ID to be synchronized (used only for logging)
    • Name: user ID to be synchronized (used only for logging)
    • Email: e-mail address of the user to be synchronized
  • for each received row, a search is performed on the URL received in Settings
  • Queried calendar events are merged based on uniqueID (https://apireference.aspose.com/net/email/aspose.email.calendar/appointment/properties/uniqueid) then saved to FSYS_LandingZone_Exchange_Appointment table. Table fields are created based on class definition of Aspose (https://apireference.aspose.com/net/email/aspose.email.calendar/appointment/properties/index).
  • Attendees of queried calendar events are saved to FSYS_LandingZone_Exchange_AppointmentAttendee table. Table fields are created based on class definition of Aspose (https://apireference.aspose.com/net/email/aspose.email.calendar/appointment/properties/index).
  • stored procedure osp_wrk_FSYS_Exchange_ConsumeAppointments is run with the call ID of the first point:
    • for all items on the Exchange server:
      • a non-existing event is inserted (existence check = FSYS_EventExchangeAppointmentConnection table contains uniqueID of element)
      • a non-existing connection queue is inserted with the results of the previous insert
      • properties of existing events are updated (existence check = FSYS_EventExchangeAppointmentConnection table contains uniqueID of element and has not been inserted or updated in this sequence)
      • if there is someone with the proper email address:
        • they are inserted into the EventPeople table if the event has not already a responsible (existence check = EventPeople table contains People with EventRoleID = 1 value)
        • responsible of the event is updated if it already existed (existence check = EventPeople table contains People with EventRoleID = 1 value and has not been inserted in this sequence)
      • for all attendees:
        • a non-existing attendee is inserted into EventPeople table if there is someone with the proper email address (existence check = EventPeople table contains People with EventRoleID = 2 value)
  • all event connections (FSYS_EventExchangeAppointmentConnection) are deleted which in the connection table but not queried from the Exchange server (query check = FSYS_EventExchangeAppointmentConnection table contains uniqueID-t which is not in Landing Zone of calendar)
  • all event are deleted which connected to deleted connections
  • all responsible and attendees are deleted which were not queried (query check = EventPeople table contains People with value 1 or 2 of EventRoleID and not in Landing Zone)

  • Last update: 2 weeks 5 days ago
  • Effector