Инструменты пользователя

Инструменты сайта


limb2:ru:document_flow

Организация документооборота на основе Limb

Статус объекта

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

Статус и гибкая политика доступа позволяют легко создавать сложную систему документооборота в Limb.

Публикация и отмена публикации

Давайте немного поиграем с документооборотом в Limb. Обычно Limb реализует достаточно прямолинейный документооборот с действиями публикации и отмены публикации.

Объект, который поддерживает операции по публикации и отмене публикаций имеет 2 видимых для администратора состояния: и . Кликая на кнопку публикации или отмены публикации вы изменяете состояние и доступность объекта.

Мы считаем, что обычно нет необходимости усложнять простые вещи. Для понимания принципов документооборота Limb Вы должны понимать политику доступа Limb и особенно шаблоны доступа для действий.

В терминах Limb, документооборот - это просто смена статуса и применения шаблонов доступа. Поэтому публикация конкретной статьи - это просто установка бита статуса опубликованности и запись новых прав доступа для объекта.

На пример, администратор сайта может установить следущий шаблон прав доступа для действий публикации и отмены публикации.

  • доступ разрешен для посетителей и администраторов когда объект опубликован.
  • доступ запрещен для посетителей (объект становится невидимым и недоступным) и разрешен для администраторов, когда объект не опубликован.

Пользовательский документооборот

Эта простая схема позволяет реализовать сложную цепочку ответственности для некоторых типов объектов. На пример, журналист создает статью и кликает действие «проверить редактором». Статья становится доступной администраторам для редактирования и получает некоторый воображаемый статус НЕОБХОДИМО_ОДОБРЕНИЕ_РЕДАКТОРОМ. В действительности он будет добавлен к текущему статусу с помощью логического ИЛИ.

После этого любой редактор может проверить статью и выполнить действие «проверить руководителем». Статья становится доступной руководителям для изменения и более недоступна журналистам (получает статус НЕОБХОДИМО_ОДОБРЕНИЕ_РУКОВОДИТЕЛЕМ) еще одно битовое поле. Теперь руководитель может опубликовать статью.

Только руководитель имеет полный доступ к статье. Статья в итоге получает статус ОБЪЕКТ_САЙТА_ОПУБЛИКОВАН. Для реализации такой схемы вам необходимо создать специальные классы статьи, контроллера, действий по изменению статуса To implement such scheme you need to create special article class + controller + actions to change status + и шаблонов для отображения статей для различных действий..

Небольшой комментарий

В Limb 2.3+ политика прав доступа упрощена и по-этому мы не знаем способен ли Limb поддерживать сложный документооборот или нет. Дело в том, что мы не всречали ни одного случая, когда было необходимо реализовывать сложную систему документооборота.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   ____  _____   __ __   _  __   ___ 
  / __/ / ___/  / //_/  / |/ /  / _ |
 _\ \  / /__   / ,<    /    /  / __ |
/___/  \___/  /_/|_|  /_/|_/  /_/ |_|
 
limb2/ru/document_flow.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)