Сделайте так, чтобы рабочая среда отображала рабочие процессы вне sitecore / system / workflows - PullRequest
2 голосов
/ 29 сентября 2011

Похоже, что в рабочем окне Sitecore могут отображаться только те элементы, которые находятся в рабочих процессах в sitecore / system / workflows.Есть ли способ заставить его отображать рабочие процессы в других частях дерева?Мне удалось решить несколько проблем с перемещением рабочего процесса из этого местоположения, но этот момент является существенным камнем преткновения.

Наш сайт разделен на несколько разделов для разных клиентов (в смысле «клиенты»).Каждому клиенту нужны свои собственные рабочие процессы, и мы хотели бы, чтобы они могли переходить к рабочим процессам, не выходя из информационной части дерева в системную часть.В идеале мы также хотели бы перенести как можно больше пользовательских элементов каждого клиента, например макетов, визуализаций и т. Д., В область содержимого, чтобы мы или они могли опубликовать этот один узел и подэлементы и получить все, что связано с этим клиентом, в действии.Примерно так, как я полагаю, большинство людей делают с помощью функции «опубликовать сайт».

1 Ответ

4 голосов
/ 30 сентября 2011

Мне было бы любопытно, что вы сделали, чтобы облегчить это.Используя отражатель, я искал GUID корневого элемента рабочего процесса, {05592656-56D7-4D85-AACF-30919EE494F9}.Он хранится в Sitecore.ItemIDs.WorkflowRoot, который в свою очередь используется Sitecore.Workflows.Simple.WorkflowProvider.GetWorkflows().Этот метод вызывается, среди прочего, Sitecore.Shell.Applications.Workbox.WorkboxForm.Тем не менее, доступ к нему осуществляется через Context.ContentDatabase.WorkflowProvider, который является элементом конфигурации, расположенным по адресу /sitecore/databases/database/workflowProvider.

Короче говоря, если вы еще этого не сделали, попробуйте реализовать свой собственный IWorkflowProvider, расширяющий Sitecore.Workflows.Simple.WorkflowProvider и настройте его в своем файле Web.config.Переопределите GetWorkflows(), чтобы найти рабочие процессы из искомого местоположения.Используйте инструмент, такой как рефлектор или ILSpy, чтобы увидеть, что этот метод делает в настоящее время, и внесите необходимые изменения.

Пожалуйста, сообщите (опубликуйте его, если можете!).Это не та область Sitecore, которую, как мне кажется, многие люди обычно расширяют / улучшают.

...