Share Point throws a COMException 0x81020089 error with or without your error message.

Event Receivers can be attached by either using feature elements definitions or by using the object model (using Feature Receivers). If the vti_sourcecontrolcheckedoutby property exits in the Before Properties property but not in the After Properties property, the event was caused by checking in a document.

The event handler method that are attached are defined in a separate class Event Receiver class that implements either SPWeb Event Receiver, SPList Event Receiver, SPItem Event Receiver or SPEmail Event Receiver. If you want to change a property on the List Item please be aware that you need to use the . Update() within your event receiver you will receive errors such as Save Conflicts. Item Updated, "jeremythake.tvshowschedulesite, Version=1.0.0.0, Culture=neutral, Public Key Token=8eb9a930004f2f1a", "jeremythake.tvshowschedulesite. The following sample code shows you how to do this.

< Elements xmlns=" < Receivers List Template Id="100"> < Receiver> < Name> Schedule List Event Receiver</Name> < Type> Item Added</Type> < Sequence Number>10000</Sequence Number> < Assembly>jeremythake.tvshowschedulesite, Version=1.0.0.0, Culture=neutral, Public Key Token=8eb9a930004f2f1a</Assembly> < Class>jeremythake.tvshowschedulesite. Item Added, "jeremythake.tvshowschedulesite, Version=1.0.0.0, Culture=neutral, Public Key Token=8eb9a930004f2f1a", "jeremythake.tvshowschedulesite.

Schedule List Event Receiver</Class> < Data></Data> < Filter></Filter> </Receiver> < Receiver> < Name> Schedule List Event Receiver</Name> < Type> Item Updated</Type> < Sequence Number>10000</Sequence Number> < Assembly>jeremythake.tvshowschedulesite, Version=1.0.0.0, Culture=neutral, Public Key Token=8eb9a930004f2f1a</Assembly> < Class>jeremythake.tvshowschedulesite.

Further analysis, comparison and reflection showed that the problematic library was missing some Taxonomy-related Event Receivers.

There appear to be four (4) Taxonomy Event Receivers: The problematic library at the customer was lacking the first set of Event Receivers, which are responsible for syncing the hidden field. I can’t really explain why only some Content Types were affected.

It could be because some “questionable” actions happened during the setup of the site, but it could as well be a bug in Share Point 2010 RTM or later.

Event Receivers are triggered by certain events on either a SPWeb, SPList or SPList Item. Here is the solution To work around this behavior, examine the vti_sourcecontrolcheckedoutby property inside an event receiver.

Taxonomy Update Scheduler is OTB Sharepoint timer job which synchronizes changes from Term store into Sharepoint web site.

This timer jobs pushes changes from the Term store into Taxonomy Hidden List (list which contains all used managed metadata in the site).

I’ve written a one-off script (Console App) that loops all lists with a Managed Metadata field on all sites in the site collection and ensures the Taxonomy event receivers. I’m guessing the Optional/Required setting of the Managed Metadata field is involved somehow, but I didn’t really confirm that through testing.