Пользовательский рабочий процесс в SiteFinity 3.7
У меня есть следующие требования для рабочего процесса в SiteFinity 3.7. Я считаю, что некоторые требования невозможны, поэтому я хотел бы уточнить, какие (если таковые имеются) не являются, и проанализировать, есть ли обходные пути для них или они поддерживаются в SiteFinity 4.x.
Основной вариант использования будет следующим: 1. Создается фрагмент общего содержимого. 2. Контент отправляется через рабочий процесс на основе тега. Таким образом, контент, помеченный как "среда", будет проходить через другой рабочий процесс / процесс утверждения, который был помечен как "законный". 3. Каждый рабочий процесс требует трехэтапного процесса утверждения. Поэтому, когда контент передается на утверждение, первый пользователь А одобряет его. После того, как пользователь А одобрил это, пользователь Б мог. Затем пользователь C. Наконец, после всех необходимых утверждений, администратор (или другая роль) может опубликовать его. 4. Комментарии должны быть сделаны для одобрения или отклонения. 5. Уведомления должны быть отправлены соответствующим группам / ролям на утверждение или отклонение.
Я не верю, что SiteFinity поддерживает многое из коробки. Пока что мой план в основном таков:
- Создайте много разных ролей для поддержки различных рабочих процессов.
- Измените страницу подтверждения для поддержки комментариев способом, аналогичным описанному здесь: http://www.sitefinity.com/devnet/forums/sitefinity-3-x/developing-with-sitefinity/sitefinity-3-7-decline-email-with-comments.aspx. Разница в том, что вместо того, чтобы просто включать комментарии в электронное письмо, я бы сохранил их в новой таблице в нашей базе данных. Цель состоит в том, чтобы отобразить их на странице и иметь возможность просматривать комментарии других пользователей. Уведомления также могут быть обработаны здесь.
- Далее расширьте страницу подтверждения, чтобы включить настраиваемые кнопки принятия / отклонения. По сути, они будут работать вне реального рабочего процесса и обновят другую новую таблицу в нашей базе данных. Я считаю, что это может быть способом достижения многоэтапного процесса утверждения. В основном, пользователь C в приведенном выше примере будет единственным пользователем с действительными разрешениями на утверждение. Пользователи A и B могут иметь разрешения только для просмотра, но могут использовать эти 2 кнопки для запуска уведомлений и имитации части желаемого рабочего процесса.
- Измените элемент управления AllPagesList.ascx, чтобы отфильтровать список страниц, которые пользователь видит по тегам ролей / контента, чтобы пользователи могли видеть только те страницы, которые они должны видеть.
У меня есть несколько вопросов:
- Имеет ли смысл все, что я сказал выше, и кажется ли это осуществимым / есть ли лучший подход?
- Может ли общий контент отправляться через рабочие процессы или только через страницы, которые используют контент?
- Если через рабочий процесс могут проходить только страницы, как мы справляемся со случаем, когда страница утверждается и публикуется, а затем содержимое обновляется? Разрешить пользователям редактировать только блоки общего содержимого через раздел Страницы, а не в разделе Модули? Или это автоматически обрабатывается?
Я относительно новичок в SiteFinity, поэтому любая помощь / направление / код / и т. Д. будет принята с благодарностью. Я также счастлив попытаться прояснить ситуацию, если что-то, что я сказал до сих пор, не ясно.
1 ответ
Чтобы ответить на вопросы 2 и 3, да общий контент может проходить через рабочие процессы. Вы смотрели на эту тему?
Чтобы ответить на вопрос 1... э-э, это имеет смысл и звучит выполнимо, но я заметил, что вы хотели связать все через "теги". Sitefinity v3.x не поддерживает глобальную таксономию, поэтому, если вы действительно настроены на это, вам нужно взглянуть на v4.
Рабочий процесс с 2-3 шагами подпадает под "стандартный" рабочий процесс, так что вы будете смотреть на стандартную версию v4 как минимум.
Возможно, расширение общего содержимого с помощью настраиваемого (выпадающего) поля было бы лучшим подходом, если вы хотите использовать тег v3.7 вместо использования тегов.
Шаг 4, модифицирующий allpageslist.ascx, кажется, не имеет смысла с тегами, учитывая, что это не глобальное ограничение. Но так как это Sitefinity и он привязан к.NET, вы можете запрограммировать свой обходной путь и связать его с общим контентом.
Но, по сути, вы бы создали целую новую специальную "глобальную" систему таксономии, чтобы достичь всего этого....
Если вы хотите, чтобы умные парни ответили, я предлагаю спросить непосредственно на форумах Sitefinity, сотрудники службы поддержки Telerik активно следят за ними, и я лично никогда еще не давал им повесить трубку на телефоне:)