Sitecore Locked items

by Jan Bluemink Created: 29 jul 2014, last update: 16 Apr 2016

Een van de Sitecore vragen die ik vaak gehad heb van webmasters is, hoe unlock ik items van anderen?.

Editors locken items en gaan dan op vakantie. Hoe los je dat op of hoe voorkom je dat dat een issue is.

Standaard moet een editor in Sitecore een item locken voor die kan editen. Een niet Admin kan alleen zijn eigen items unlocken. Je moet dus admin rechten hebben om items van andere users te unlocken. Anderzijds wil je ook niet iedereen admin rechten geven voor het unlocken.

Binnen Sitecore word het ook wel Check Out en Check In genoemd.

Als de standaard setup wat unlocken betreft niet voldoet zijn er 2 opties
-    De configuratie aanpassen
-    Custom code


De configuratie aanpassen

Het locken van items is niet perse nodig als admin hoef je dat al niet te doen voor niet admins kun je het gedrag in de config aanpassen.

Wat nu als meerdere users tegelijk hetzelfde item editen? Als het item door een ander geëdit is terwijl jij bezig bent krijg je een popup bij het opslaan met de keuze annuleren of overschrijven.

 

Deze config settings zijn er.

Je kunt het verplicht locken uitzetten:
 
<!--  REQUIRE LOCK BEFORE EDITING
    If true, the user must have a lock on a document before
    he can edit it, otherwise it is always ready for editing
-->
<setting name="RequireLockBeforeEditing" value="true"/>
 
 
Het gedrag kun je ook aan passen met de volgende settings:
 
<!--  AUTOMATIC LOCK ON SAVE
    If true, the a lock is automatically taken on an item
    when a user saves the item.
-->
<setting name="AutomaticLockOnSave" value="false"/>
 
<!--  AUTOMATIC UNLOCK ON SAVED
    If true, the a saved item is automatically unlocked after
    saving.
-->
<setting name="AutomaticUnlockOnSaved" value="false"/>
 
<!--  KEEP LOCK AFTER SAVE FOR ADMIN USERS
    Set this value to true if you want to Administrator users to keep the lock on an item after saving
    it in the Page Editor.
    Notice: For regular users, the "Keep Lock After Save" item in the core database will determine whether
    to keep the lock or not.
    Default value: false
-->


<setting name="KeepLockAfterSaveForAdminUsers" value="false"/>
 
<!--  UNLOCK COPIED ITEMS
    A value indicating whether to unlock items after copying.
    Only the copies are unlocked. The original items stay locked.
    Default value: true.
-->
<setting name="UnlockAfterCopy" value="true"/>

 

Custom code
Je kunt het ook aanpassen met een Content Editor Warning en custom code voor de rechten. John West heeft daar een erg goed Blog artikel van gemaakt. Allow Users to Unlock Items Locked to Others in the Sitecore ASPNET CMS
John West is ook de auteur van het Professional Sitecore Development Boek en heel veel blog post met heel veel links. Maar deze blog is mijn favoriete blog van John inclusief code om de volgende zaken te regelen.

1)    Maak een Content Editor Warning, inclusief een command link om direct een Check In te doen als je rechten hebt. Dat “Check In” linkje maakt het veel gebruikers vriendelijker. De gebruikelijke manier van Check In is eerst tab Review selecteren en dan Check In doen.

2)    Er worden verschillende manieren behandeld om te bepalen welke gebruiker rechten heeft om een Check In te doen. De vetste manier is door het rechten systeem uit te breiden met een “Item Unlock” recht. Op deze manier kun je dus flexibel per item en user/user groep de rechten uitdelen.

Default locked Content Editor Warning, admins kun Check In doen.

 

sitecore lock message custom

Custom locked Content Editor Warning, met Check In Command, hoef je niet meer naar de review tab.

 

sitecore lock message custom

Custom recht "Item Unlock" voor flexibele Unlock rechten.

 

Unlocken bij Loguit.

Unlocken bij het uitlogen is ook een optie. Mike Reynolds a.k.a Sitecore Junkie heeft daarover een blog geschreven met code.  unlock-sitecore-users-items-during-logout
Daarna heeft die ook nog een blog gemaakt over het unlocken van verlopen sessies. Periodically Unlock Items of Idle Users in Sitecore

Deze module is nu ook op de Sitecore Marketplace Lock Pick

MasterKey Module

MasterKey extend de unlock functionaliteit met behoud van rollen en rechten.

 

 

 

 

 

Git LinkedIn Twitter