Как настроить библиотеку форм sharepoint, чтобы пользователи могли отправлять формы, но не могли видеть формы других людей? - PullRequest
3 голосов
/ 08 октября 2009

Похоже, что этот вариант применения применим практически ко всем формам, но я пока не нашел для него хорошего готового решения. Представьте себе форму жалобы HR, основанную на InfoPath и SharePoint. Все сотрудники должны иметь возможность заполнять их и отправлять, и, возможно, видеть те, которые они представили, но только члены HR должны иметь возможность просматривать формы других. Как я могу настроить форму и / или библиотеку форм, чтобы приспособить это? Некоторые вещи, которые я пробовал:
[[NFL-LIVE]] # Филадельфия Иглз против Джексонвилль Ягуары: прямой эфир в 2018 году (НФЛ-ФУТБОЛ) НА ТВ-КАНАЛЕ - Создание просмотра библиотеки форм, где CreatedBy = [Me]. Безопасность не может быть установлена ​​для представлений, поэтому пользователи по-прежнему могут видеть все отправленные формы, если они выбирают другое представление. - Настройка безопасности в библиотеке. (AFAIK) невозможно предоставить пользователю права «отправить», не предоставив им также права «просмотра». - Создание собственного рабочего процесса. Это может сработать, но мы бы предпочли использовать готовое решение или стороннюю функцию, чтобы включить этот сценарий, не требуя кода для каждой формы. Мы хотим, чтобы конечные пользователи, не являющиеся разработчиками, могли создавать формы InfoPath с таким поведением.

Ответы [ 6 ]

1 голос
/ 15 июля 2014

Я сделал это с формами Holiday Requests (и теперь мы используем это для всех форм, которые мы создаем). Только HR, менеджер пользователя или «создатель» формы могут открыть полный просмотр. Я не эксперт по Sharepoint или Infopath, поэтому моё решение может не соответствовать всем сценариям.

background - заполнитель форм InfoPath 2010 (не формы браузера) с SharePoint wss3.0 (хотя я не понимаю, почему он не будет работать в более поздних версиях).

Я разработал форму Infopath с несколькими представлениями, открытыми при загрузке формы, в зависимости от того, кто является пользователем и каков его статус. Одним из представлений является вид «извините, вы не можете открыть эту форму».

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

Затем у меня есть список SharePoint (называемый разрешениями) - этот список содержит идентификаторы пользователей и их разрешения (старший менеджер, отдел кадров и т. Д.), И я читаю это, используя подключение к данным, и фильтрую его по идентификатору пользователя (извлекается, когда форма открыт).

Итак, в итоге - когда форма открывается, правило загрузки формы: 1) получает текущий идентификатор пользователя 2) получает разрешения этого пользователя из моего списка 3) проверяет статус формы

и затем показывает соответствующий вид формы (обновление, только для чтения, личный и т. Д.)

Я создал новый тип разрешений, который является копией настроек 'contrib', но без разрешения на удаление. Таким образом, по умолчанию каждый теоретически может добавлять, читать и обновлять все формы, но мои правила запрещают определенные действия.

Кто-то с большим знанием SharePoint и InfoPath, чем я, может найти в этом ошибку, и он не может быть на 100% безопасным в истинном смысле этого слова, но это работает для нас. Я также удалил параметры «Открыть в проводнике Windows» из панели инструментов, чтобы они не могли видеть необработанные данные XML.

Надеюсь, это поможет

0 голосов
/ 09 декабря 2015

Ответ JP выше работал для меня.

Допустим, вам нужны две группы пользователей «Пользователи форм» и «Владельцы форм». Владельцы форм получают полный контроль над всем сайтом, а пользователи формы получают доступ к Contribute только для списка.

Сначала перейдите в раздел «Дополнительные настройки» в разделе «Настройки сайта -> Библиотеки и списки сайтов -> Ваш список».

Выберите ваши предпочтения в разделе Разрешения уровня элемента, который предоставляет права на чтение / создание / редактирование для создателя элемента. Нажмите ОК.

Затем нажмите «Разрешения для этого списка» и нажмите «Прекратить наследование разрешений» для этого списка, а затем добавьте «Пользователи формы» в разрешенные группы с доступом уровня участника. Вы можете добавить «Все» в группу «Пользователи формы» и поделиться ссылкой на форму в своей интрасети для доступа всех сотрудников. Принимая во внимание, что владельцы форм могут видеть все элементы.

0 голосов
/ 27 февраля 2015

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

0 голосов
/ 22 ноября 2013

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

0 голосов
/ 14 августа 2012

Это можно сделать, отредактировав настройки в соответствующем списке / библиотеке и добавив пользователей HR в группу администраторов.

Настройки можно найти, перейдя на вкладку Список / Библиотека и нажав Параметры списка / библиотеки . Затем нажмите Расширенные настройки , и второй раздел, который вы ищете, называется Разрешения на уровне элемента .

Чтобы настроить список таким образом, чтобы люди могли видеть только те, которые я создал, пользователь установил переключатель рядом с Читать элементы, созданные пользователем .

Чтобы настроить список таким образом, чтобы его могли редактировать только люди, создавшие элемент, установите переключатель рядом с Создание элементов и редактирование элементов, созданных пользователем .

Затем создайте группу разрешений, которая имеет полный контроль, и добавьте в нее пользователей HR. Таким образом, они должны видеть все предметы.

0 голосов
/ 09 октября 2009

Ваше требование немного сложнее сделать в готовом виде. Там нет опции, которая позволит пользователю просматривать только свой элемент, а не другие. Хотя вы можете получить это, используя Разрешение на уровне предмета, но вы должны сделать это вручную для каждого создаваемого предмета. Один из лучших вариантов, который вы можете сделать, - это создать обработчик событий для списка, который назначит разрешение уровня элемента для элемента списка для добавленного элемента. В прошлом я делал нечто похожее на это, используя обработчик событий.

...