Any display profile object that is able to be merged can also be locked. When an object is locked, it cannot be affected by merge semantics in higher priority documents. This enables low-priority documents to prevent a high-priority document from using the merge semantics to change particular aspects of the display profile.
This example demonstrates how to use the merge lock feature to force property value for all users. The example shows how to ensure that for a particular organization, all users see the “employee news” channel. The users cannot remove this channel from their display. At the organization level document, the container channel’s selected list is defined as follows:
<Selected merge="fuse"> ... <Reference value="EmployeeNews" lock="true"/> ... </Selected>
This example demonstrates how to use the merge lock feature to forcibly remove channel from all users’ display. The example shows how to force the “online games” channel to be removed. In this scenario, users have added this channel to the selected channels list in their user document, so simply removing it from the organization level document’s selected channel’s list will not work. Instead, the employee and organization lists will be merged together resulting in the “online games” channel being present. To forcibly remove the channel from all users under the organization, the selected channels list is defined as follows:
<Selected merge="fuse"> ... <Reference value="OnlineGames" merge="remove" lock="true"/> ... </Selected>
Here, the remove semantic removes the channel from merged result, and lock prevents lower priority documents from merging the value back in.