Снять ограничения на публикацию на всех узлах Sitecore - PullRequest
0 голосов
/ 23 апреля 2019

Я хочу создать сценарий PowerShell для Sitecore, который проходит по деревьям контента и снимает все существующие ограничения на публикацию

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

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Существует несколько полей, которые управляют ограничениями публикации. Некоторые поля являются общими, а другие нет, поэтому элемент с несколькими версиями или несколькими языками может содержать разные значения. поэтому вам нужно выполнить итерации по всем элементам и всем версиям, чтобы снять все ограничения на публикацию.

В Sitecore PowerShell вы можете сделать это с помощью этого скрипта (для элементов ниже \ content \ Home):

foreach($item in Get-ChildItem -Path master:\content\Home -Recurse) {
$item.Editing.BeginEdit()
$item["__Publishing groups"] = ""
$item["__Publish"] = ""
$item["__Never publish"] =""
$item["__Unpublish"] =""
$item.Editing.EndEdit() | Out-Null
foreach ($version in $item.Versions.GetVersions($true))
 {
        $version.Editing.BeginEdit()
        $version["__Valid from"] =""
        $version["__Valid to"] =""
        $version["__Hide version"] =""
        $version.Editing.EndEdit()  | Out-Null
 }
}

Примечание. Состояние __Workflow отсутствует в сценарии, оно не является частью функции ограничений публикации, но может блокировать публикацию. При желании вы также можете добавить его.

См. Поля, управляющие ограничениями публикации в Sitecore ASP.NET CMS

0 голосов
/ 21 мая 2019

Здесь SQL-запрос для поиска элементов с ограничениями публикации .

Возможно, вы захотите слегка изменить его, чтобы удалить эти строки и перезапустить Sitecore.

Выполнитерезервное копирование перед любым удалением данных, чтобы быть на безопасной стороне.

...