Background
A question was posed on the Sitecore Community Site around items in workflow and component datasource item locking, and it piqued my curiosity enough to want to dig in to understand Sitecore's behavior on datasource items when we have multiple content authors working within the same content scope.After my review, I discovered some unexpected behavior that could pose a potential problem for content authors. Talking through the results with veteran MVP, Kamruz Jaman, he suggested a potential workaround that could will help provide relief for author's in this scenario.
Test Configuration
In my tests, I was working with Sitecore 8.1 Update 1, and created Author A and Author B who were both part of the sitecore\Author and sitecore\Designer roles. I made sure that my authors had the necessary read, write, delete etc permission for the content scope that they were working in.Datasource Item Locking Behavior
Author A locks an the item with presentation that consists of a component with a datasource item. The item is locked but the datasource item is not locked.Author A makes inline edits to the component's datasource item's content, and then clicks the save button. After saving the item, the datasource item is now locked.
Author B locks an item that has a component with the same datasource item that has been locked by Author A.
Author B cannot make inline edits to the component with the locked datasource item.
Author B can make inline edits to all other areas of the item that aren't linked to locked datasource items.
Two important things to note from above:
- Author's cannot make changes to a component's datasource item when another author has locked the datasource item. One would expect this behavior.
- The datasource item only gets locked by the author when the author has made changes to the datasource item and clicks the save button. Making changes to other items on the page and saving will not lock the datasource item.
Problem
So far, things work pretty much the way one would expect. The only oddity is that the datasource item only gets locked on save. This is something that we can live with though.The problem that I identified from the abovementioned scenario was that when Author A had finished making edits and unlocked the item, the datasource item didn't get unlocked in with the item. It stayed locked!
Workaround - Automatic Unlocking
One would expect both items and datasource items in workflow to be unlocked when an author has clicked the unlock button after making their content changes.As Kamruz pointed out, one way to deal with this is to have the automatic unlocking setting enabled. The setting can be found in the Sitecore.config file:
<setting name="AutomaticUnlockOnSaved" value="false" />
When the value of AutomaticUnLockOnSaved is set to true, then every item is automatically unlocked after saving.Having this enabled would provide relief from the unexpected behavior that is there by default.