2013-07-31 5 views
2

В админ портала Sitecore я создал пользователя со следующими ролямиSitecore разрешения учетной записи администратора проблема, связанная

enter image description here

Когда я открыть пункт Sitecore и попытаться изменить с помощью редактора содержимого, он сначала спрашивает меня, чтобы заблокировать элемент перед внесением изменений. Когда я выбираю «Блокировка и правка» вариант, то это говорит

If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version. 

Когда я пытаюсь сделать то же самое с помощью администратора Sitecore аккаунт не спрашивайте меня, чтобы заблокировать его и редактирование работает отлично. Есть ли проблема с ролями Sitecore для этого пользователя?

Есть что-то другое, кроме этого, когда я выбираю параметр «Блокировка и редактирование», он будет создавать новую версию вместо редактирования той же версии. Для пользователей-администраторов этого не происходит. Поэтому я считаю, что создание новой версии является основной причиной этого.

ответ

2

Нет, это ожидаемое поведение. Только настоящие администраторы (где «Пользователь является администратором» отмечен на вкладке «Общие» на снимке экрана) могут обойти эти механизмы безопасности.

+0

У вас есть идеи, почему в настоящее время отредактированная версия заменена более старой версией, и она не будет видна. –

+1

Я предполагаю, что есть рабочий процесс, настроенный для вашего элемента, и новая версия до сих пор не одобрена. – philipproplesch

2

Использование рефлектора Я проверил, где scEditorWarningTitle (scEditorWarningTitle является классом заголовка предупреждающего сообщения). Я узнал, что это в Sitecore.Client.dll, в частности, в Sitecore.Shell.Applications.ContentMnaager.Editor.RenderWarning. Это пространство имен также имеет GetWarnings метод, который ciks от getContentEditorWarnings трубопровода:

using (new LongRunningOperationWatcher(Settings.Profiling.RenderFieldThreshold, "GetContentEditorWarningsArgs pipeline", new string[0])) 
{ 
    CorePipeline.Run("getContentEditorWarnings", args); 
} 

Глядя на этот трубопровод, мы можем видеть, что он делает следующее (по умолчанию, по крайней мере, в Sitecore 6,5 обновление 5 - это может быть другой в других версиях Sitecore):

<getContentEditorWarnings> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemNotFound, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanReadLanguage, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoVersions, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWrite, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteWorkflow, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteLanguage, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsReadOnly, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsLocked, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoFields, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.NeverPublish, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemPublishingRestricted, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.VersionPublishingRestricted, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ShowingInputBoxes, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.FeedIsEmpty, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.RunRules, Sitecore.Kernel"/> 
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.Notifications, Sitecore.Kernel"/> 
</getContentEditorWarnings> 

Снова в Sitecore 6.5 обновление 5 единственных VersionPublishingRestricted предупреждения, которые я вижу, являются:

Если вы публикуете сейчас, выбранная версия не будет виден на веб-сайта, потому что это не в конечной стадии рабочего процесса
Если вы публикуете сейчас, выбранная версия не будет видна на веб-сайте , потому что сегодня она не подпадает под допустимый диапазон дат
Если вы сейчас публикуете, выбранная версия не будет отображаться на веб-сайте , потому что она была заменена более новой версией
Если вы опубликуете , то выбранная версия будет недоступна на сайте

С возможностью описания либо

версии X будет опубликован вместо

или

Никакая другая версия не будет опубликован

Все о Те процессоры, которые я проверил, которые находятся в стадии разработки, не упоминают о замене старой версией.
Если старший не опечатка, это было бы стоит либо смотреть в getContentEditorWarnings трубопровода или проверить правила (которые расположены в /sitecore/system/Settings/Rules/Content Editor Warnings/Rules)

Редактировать
Право как @horseman говорит, в Sitecore 6,6 это в VersionPublishingRestrictions:

if ((validVersion != null) && (item.Version.Number < validVersion.Version.Number)) 
{ 
    warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because it has been replaced by a newer version."); 
} 
else if ((validVersion != null) && (item.Version.Number > validVersion.Version.Number)) 
{ 
    warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version."); 
} 
else if (IsInWorkflow(item)) 
{ 
    warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because it is not in the final workflow step."); 
} 
else if ((item.Publishing.ValidFrom > now) || (item.Publishing.ValidTo <= now)) 
{ 
    warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site because today does not fall within its valid date range."); 
} 
else 
{ 
    warning.Title = Translate.Text("If you publish now, the selected version will not be visible on the Web site."); 
} 

Так что, если есть действующая версия, и действительный номер версии меньше, чем номер версии выбранного в данный момент элемента вы получите сообщение:

If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version.

+1

Добавлено в 6.6 –

Смежные вопросы