Web Services synchronization issues

We are using Luminate Online Web Services (SOAP) to build a local data warehouse for reporting purposes. In the user guide documentation, Blackbaud recommends using synchronization and GetIncrementalInserts, GetIncrementalUpdates and GetIncrementalDeletes methods, however there are persistent synchronization issues, that cause records to fall out of synchronization. When that happens, these "lost" records are not returned in the results by the methods mentioned above. They can still be retrieved using query that pulls record within the specific dates or with the specific ID.

Blackbaud is aware of the issue, but the only response I've ever received when reporting it, was "submit a request in Case Central to recalculate the partition, and after that the records will be available for synchronization". I tried to have the recalculation scheduled monthly, but they said it's not possible and needs to be done on "per request" basis. The desynchronization turns out to be pretty common and you don't know you are missing records until reports are not adding up and when digging deeper you realize that another desync happened and you need to submit recalculation request again. I've recently built a QC mechanism, that downloads transaction IDs and constituent IDs to separate tables using queries and alerts when there are records that exist in QC tables, but do not exist in the regular synchronization, but submitting recalculation request and rerunning the sync every time this happens seems mundane.

Has anyone else, who is using Web Services to download LO data, experienced the same issue? If so, how are you dealing with it and were you able to determine what is causing this to happen?

What is the advantage of using synchronization over query with CreationDate/ModifyDate criteria, which returns records missing from the synchronization?

Tagged:

Answers

  • @Szymon Zaleski , Thanks for reaching out with your inquiry. There is not a known advantage of using synchronization over query with Creation/ModifyDate criteria to manage your partitions. The only thing to note is synchronization is out of the box and predefined based on types as described in GetIncrementalInserts, GetIncrementalUpdates and GetIncrementalDeletes operation methods - see documentation - here https://developer.blackbaud.com/lo-api/web-services/operations as to what occurs during each operation. However, as for the queried defined partitions, those you can control based on the set query criteria. The partitions gets refreshed nightly.

    Either way, I'll say you follow up with support by submitting a request in Case Central and see how they can assist. There isn't a once size fit all when it comes to managing partitions when using Luminate Online Web Services (SOAP) to build a local data warehouse. Every client always present unique set of challenges and the support can always advice accordingly.

Categories