Структура xml конфигурации:
<?xml version="1.0" encoding="utf-8" ?>
<StatesConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.conteq.ru/sharepoint/v4/configuration/states">
<DocumentStates>
<!--настройка правил для документа (в состоянии ID)-->
<DocumentState ID="<ID>" Name="<NAME>">
</DocumentState>
</DocumentStates>
</StatesConfiguration>
Также может использоваться вариант секции <DocumentStates> в виде:
<DocumentStates DocKindsID=”N”> - если требуется определить свой ЖЦ для определенных видов документа (шаблонов), относящихся к одному контент-типу.
При этом можно указывать несколько видов документов, используя символ «;» в качестве разделителя, например:
<DocumentStates DocKindsID="901;1543"> - в данной секции определяется ЖЦ для видов документов с ID шаблона 901 и 1543.
Внутри секций <DocumentState> определяются правила для документа, в зависимости от его состояния. Состояние документа задается по ID, наименование состояния (NAME) указывать не обязательно.
ID – это ID состояния (см. список DocSpace – Состояния документов, в котором определяется набор возможных состояний для документов).
Обратите внимание! Секция <DocumentState ID=”0” Name=”*”> применяется для всех состояний, для которых не определена индивидуальная настройка.
Внутри секции <DocumentState> можно определить:
1.Действия, осуществляемые при смене состояния (при входе в состояние) – секция <PreActions>
2.Поведение формы(интерфейса) РКК в зависимости от набора параметров – секция <Switch>. В данной секции имеется возможность задать поведение для определенных пользователей/групп пользователей:
a.Секция <Case UserInRoles="Роль"> … </Case> позволяет задать поведение формы в зависимости от роли, назначенной текущему пользователю.
Для определения правил, которые бы действовали для пользователя, которому назначена активная задача по документу, можно использовать виртуальную роль «DocumentExecutor», например:
<Case UserInRoles=”DocumentExecutor”>
<SetForm ReadOnly=”false”>
</Case>
-Откроет форму для редактирования пользователю, которому назначена задача по документу.
b.Секция <Case UserInFields="Поле РКК"> … </Case> позволяет задать поведение формы в зависимости от того, указан ли текущий пользователь в определенном поле РКК. Набор доступных полей РКК отображается в левой части формы настройки ЖЦ в качестве справочной информации. Указывается системное имя (internal name) поля.
c.Секция <Case DocKindsID="ID1;ID2"> … </Case> позволяет задать поведение формы в зависимости от ID вида документа.
Условия UserInRoles, UserInField и DocKindsID могут быть объединены, например:
<Case UserInRoles=”Role” DocKindsID=”ID”> - определить правила в случае, если пользователь относится к определенной роли, а документ имеет определенный вид (шаблон).
d.Секция <Default> … </Default> позволяет задать поведение формы по умолчанию для всех пользователей (если для них это поведение не переопределено в секциях <Case> ).
Обратите внимание! Секция <Default>, заданная для определенного состояния (DocumentState), перекрывает секцию <Default>, заданную для всех состояний по умолчанию (в секции <DocumentState ID=”0” Name=”*”> </DocumentState>).
Внутри <PreActions> могут использоваться следующие настройки действий:
Настройка |
Установка разрешений |
Синтаксис |
<SetPermissions Inherits="false"> |
Описание |
Для секции <SetPermission> доступны атрибуты: •Name – наименование уровня разрешений, устанавливаемых для пользователя. Набор возможных вариантов значений определяется перечнем доступных на семействе сайтов уровней разрешений (отображается в левой части формы настройки ЖЦ в качестве справочной информации). Доступны уровни разрешений: oОграниченный доступ oПолный доступ oПроектирование oСовместная работа oСоздание контента oЧтение
•UserInField – позволяет задать требуеый уровень разрешений для пользователя, указанного в определенном поле РКК документа •UserOrGroup – позволяет задать требуемый уровень разрешений для определенного пользователя или определенной группы безопасности SharePoint Внимание! Крайне не рекомендуется задавать уникальные разрешения на документы для конкретных пользователей! При большом количестве уникальных элементов это приведет к проблемам с производительностью Системы! |
Внутри секций <Case> и <Default> могут использоваться следующие настройки поведения формы:
Настройка |
Поведение определенного поля на форме |
Синтаксис |
<SetField Name="RegNumber" ReadOnly="true" Hidden="false" Required="false" Force=”true” /> |
Описание |
Для секции <SetField> доступны атрибуты: •Name – наименование поля (Internal name). Набор доступных полей РКК отображается в левой части формы настройки ЖЦ в качестве справочной информации. Можно использовать синтаксис со звездочкой (*) - действие будет применено ко всем полям: <SetField Name="*" ReadOnly="true" Hidden="false" Required="false" Force=”true” />
•ReadOnly – принимает значения true (поле доступно только для просмотра, закрыто для редактирования) или false (поле открыто для редактирования) •Required – принимает значения true (поле является обязательным для заполнения) или false (поле не является обязательным для заполнения) •Force - принимает значения true (действие применяется вне зависимости от того, находится ли форма в состоянии ReadOnly, или нет)
|
Настройка |
Поведение кнопок на форме |
Синтаксис |
<SetAction ID="DsDocument.Card.Workflow.RunRoute" Enable="false" Visible="true" Force=”true” /> |
Описание |
Для секции <SetAction> доступны атрибуты: •ID – Id действия, связанного с кнопкой. Набор доступных действий РКК отображается в левой части формы настройки ЖЦ в качестве справочной информации. Также он приведен в Приложении 1 данного документа. •Enable – принимает значения true (действие доступно (кнопка разблокирована) или false (действие недоступно (кнопка заблокирована) •Visible – принимает значения true (кнопка отображается на форме) или false (кнопка скрыта) •Force - принимает значения true (действие применяется вне зависимости от того, находится ли форма в состоянии ReadOnly, или нет) |
Настройка |
Видимость вкладок на форме |
Синтаксис |
<SetTab ID="Ribbon_DsDocument_Attachments" Hidden="true"/> |
Описание |
Для секции <SetTab> доступны атрибуты: •ID – Id вкладки(таба). Основные вкладки: •Реквизиты - Ribbon_DsDocument_Card •Вложения - Ribbon_DsDocument_Attachments •Ссылки - Ribbon_DsDocument_Links •История - Ribbon_DsDocument_Workflow Также набор доступных вкладок отображается в левой части формы настройки ЖЦ в качестве справочной информации. •Hidden – true (вкладка отображается на форме) или false (кнопка скрыта) |
Настройка |
Поведение формы |
Синтаксис |
<SetForm ReadOnly=”true” /> |
Описание |
Для секции <SetForm> доступны атрибуты: •ReadOnly – принимает значения true (форма доступна только для просмотра, закрыта для редактирования) или false (форма открыта для редактирования) |