#sitecore #sitecore6
#sitecore #sitecore6
Вопрос:
Есть ли способ разрешить пользователям видеть рабочий процесс, но разрешить им видеть только свои собственные элементы в рабочем процессе?
Это похоже на проблему, которая была бы обычной. У вас есть большое количество создателей контента, и вы хотели бы, чтобы они только видели, как их контент продвигается в рабочем процессе, а не контент, созданный другими.
Возможное (приблизительное и беспорядочное) решение: Единственная возможность, о которой я мог подумать, — отключить наследование прав, чтобы я мог явно запретить права просмотра рабочего процесса. Затем с помощью пользовательского действия в workflow я мог бы явно включить права на просмотр для каждого элемента, отправляемого пользователем.
На правильном ли я пути? Я надеюсь, что нет. 😉
Уточнение вопроса: Я хочу, чтобы утверждающие видели все, но я хочу, чтобы авторы открывали workflow и видели только свои собственные элементы, а не десятки элементов от других авторов.
Ответ №1:
Это не поведение по умолчанию, поскольку workflow обычно используется для процесса утверждения. В этом случае группа утверждения войдет в систему и увидит элементы, ожидающие одобрения от группы разработки, если бы они могли видеть только созданные ими элементы, они бы вообще ничего не увидели.
Один из способов, которым я могу придумать, как это сделать, — переопределить codebeside для приложения workbox. Взгляните на этот файл WebsitesitecoreshellApplicationsWorkboxWorkbox.xml и это Sitecore класса на стороне кода.Оболочка.Приложения.Workbox.WorkboxForm. Если вы разместите здесь свой собственный класс, вы, вероятно, могли бы добавить всю необходимую логику в метод ‘GetItems’.
Комментарии:
1. С точки зрения автора, они хотят, чтобы они могли проверять, одобрены ли их элементы. Это означает, что мне нужно предоставить им доступ к просмотру workflow, но я не хочу, чтобы они видели десятки других элементов от других авторов. Имеет ли это значение для вашего ответа?
2. Это сложно с использованием рабочего поля по умолчанию, поскольку для того, чтобы пользователь мог видеть элемент в состоянии рабочего процесса, требуется следующее, чтобы пользователь мог видеть элемент в состоянии рабочего процесса: 1) У них должен быть доступ на чтение и запись к ЭЛЕМЕНТУ 2) У них должен быть доступ на чтение к СОСТОЯНИЮ рабочего процесса 3) У них должны быть разрешения на выполнение по крайней мере для 1 КОМАНДЫ в состоянии рабочего процесса Для того, что вы описываете, возможно, вам лучше перенести это за пределы рабочего поля. Приведенное ниже предложение Markos может быть хорошим вариантом использования ASR. Если вы действительно хотите немного развлечься, вы могли бы создать пользовательское приложение, которое отображает элементы пользователя в workflow, запускаемое из редактора контента или рабочего стола
Ответ №2:
Рассматривая это с другой стороны, учитывая, что вы хотите, чтобы авторы знали, были ли их элементы одобрены или нет, вместо предоставления им доступа к workbox, почему бы не добавить настраиваемое действие электронной почты в статус одобрено (или команду утвердить), чтобы авторы получали электронное письмо, когда их элемент был одобрен. Вы также можете настроить электронное письмо таким образом, чтобы оно содержало ссылку на утвержденный элемент или включало сведения об элементе, чтобы автор мог идентифицировать отдельный элемент, если он является автором нескольких элементов.
В Sitecore есть пример действия электронной почты.Рабочие процессы.Просто.Класс EmailAction в Sitecore.Сборка ядра, которую вы можете использовать в качестве основы для своих настроек.
Если вы хотите убедиться, что все элементы утверждаются в течение определенного периода времени, вы также можете использовать модуль общего исходного кода ASR для создания отчетов по элементам, которые не были утверждены в течение определенного периода времени, и автоматически отправлять этот отчет по электронной почте на регулярной основе.