среда, 29 июня 2011 г.

Автоматизация назначений прав доступа к объектам SharePoint при помощи SharePoint Designer

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

1. Вначале нам нужно подключиться к нужному списку посредством SharePoint Designer

2. Для примера выберем «Задачи»

3. Далее нажимаем «Рабочий процесс списка» и вводим имя, описание (опционально)


4. После нажатия «ОК» мы сразу попадаем на страницу создания рабочего прочесса, Важно переместить курсор подсветки немного выше первого шага

5. Теперь выше «шага 1»… Вы должны вставить «шаг олицетворения»… после этого «шаг 1» можно спокойно удалить

6. После перевода курсора внутрь шага, выбираем «действие» - заменить разрешения объекта списка (Replace List Item Permissions)


7. Выбираем подсвеченные «эти разрешения» (these permissions), в появившемся окне нажимаем «добавить»

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

9. После нажатия «ОК» в двух окнах, остается лишь выбрать уровень прав которые получит человек и нажать «ОК» два раза


10. После этого завершающим моментом будет выбор подсвеченного «списка» (this list). И в появившемся окне выбрать «текущий элемент» …нажать «ок»

11. Нажимаем «Сохранить» и возвращаемся к «Процесс разграничения прав» (путь навигации). И справа выбираем тип запуска процесса. Для задач рабочего процесса лучше всего его установить на «Автоматический при создании элемента». Т.е. как только что-либо создастся в библиотеке «задачи», права на этот элемент будут перезаписаны новыми. Нажимаем еще раз «сохранить» и «опубликовать»


Теперь любая созданная задача в списке «Задачи» автоматически станет недоступна для всех, кроме того кому она назначена. Надеюсь, данный пример поможет реализовать более практичные сценарии по разграничению прав на создаваемые элементы SharePoint и возможно заинтересует в создании типичных процессов документооборота SharePoint, об одном из которых я постараюсь рассказать в следующей статье блога