Sitecore users edit item creates new version
sitecore
Solution
Here is the code responsible for creating new versions while editing Sitecore items:
public Item StartEditing(Item item)
{
Error.AssertObject((object) item, "item");
if (!Settings.RequireLockBeforeEditing || Context.User.IsAdministrator)
return item;
if (this._context.IsAdministrator || StandardValuesManager.IsStandardValuesHolder(item) || !this.HasWorkflow(item) && !this.HasDefaultWorkflow(item) || !this.IsApproved(item))
return this.Lock(item);
Item obj = item.Versions.AddVersion();
if (obj != null)
return this.Lock(obj);
else
return (Item) null;
}
Apparently Sitecore creates new version if item is in a final state of any workflow unless user is administrator.
You could try to change the `RequireLockBeforeEditing` setting but it will disable not only new version functionality but the locking functionality as well.
Problem
In Sitecore, for all the users who do not have administrator privileges(Is administrator checkbox not clicked when creating the user) when they try to edit an item they have to select "Lock and Edit" option which would create a new version instead of editing the existing one. Is there a way I can make non admin users edit an item without creating a new version ? I am hoping whether this could be done using a user role.