I'm implementing an ISharePointProcessor to sync SharePoint documents to custom MediaData in Episerver. Implementing the AddDocument method works as expected. However, UpdateDocument and DeleteDocument are not being triggered by the Sharepoint Update service job. Is there some additional permission or configuration that I'm missing here? Has anyone else encountered this issue?
To clarify, I'm importing documents from Sharepoint Online to Episerver 9 using ConnectForSharepoint 2.1.1.
For custom objects to be picked up by the SharePoint job that creates Add/Update/Delete messages the object has to implement the ISharePointItem interface and fill out the interface fields from the SPListItem's data. This allows the job to then map the data it sees in SharePoint with the data it sees in the CMS. If those fields are not present in the objects in the CMS then the job sees that the item in SharePoint doesn't exist in the CMS side, and will then create an Add message to create it. Additionally, if the item has those fields, we match the SharePoint GUID on both objects, and the item in SharePoint has been modified since we last did a sync an Update message will be created. If we see a SharePoint item on the CMS side, but the corresponding GUID does not exist in the SharePoint side a Delete message is created.
That was my issue. Once I had my custom media implement ISharePointItem, the update and delete methods started triggering. Thanks so much!