Регистрация  |  Вход

Создание и настройка профилей. Salesforce profiles

Продолжая цикл статей по созданию учебного приложения под Salesforce. Наверное теперь самое время подумать о разделении пользователей по типам в зависимости от отношения их к библиотеке. Пусть это будут работники библиотеки (library staff) и читатели (library members).

Работники библиотеки будут у нас полноценными пользователями salesforce - internal users (с лицензиями Salesforce Platform), а читатели будут у нас portal users (с лицензиями Customer Portal Manager Standard).



Для наших тестовых целей на нашем dev org salesforce любезно предоставил 3 Salesforce Platform лицензии и 5 Customer Portal Manager Standard лицензий. Это конечно очень мало для реального приложения, но для разработки вполне хватает. Посмотреть какие типы лицензий и их количество вы можете в разделе Setup->Company Profile->Company Information.

Давайте создадим необходимые для нашего приложения Library профили. Перейдите в раздел Setup->Manage Users->Profiles. Вот так выглядит дефолтный список профилей, которые создаются при создании орга.

salesforce-profiles

Нажмите clone напротив профиля с названием Standard Platform User. И назовите новый профиль Library Staff

salesforce-profiles-1

Собственно вот и все что касается создания. Теперь начинается все остальная работа по настройке профиля.

Что нас будет интересовать на странице настроек профиля? Постараюсь описать каждую секцию, которая нам понадобится сейчас и в будущем. Если я какие секции не описываю, это не значит что их нет, просто они реально редко или никогда не используются.

Page Layouts - позволяет настроить назначение страниц просмотра и редактирования объектов (layouts). Это актуально если у вас есть несколько видов страниц и в объекте используются record types. Эта секция актуальна если приложение максимально использует стандартный функционал. Если приложение строится на кастомных страницах, то секцию можно пропустить.

Field-Level Security (FLS) - настройки прав доступа к полям объектов. Позволяет задать видимость поля и edit/read-only для него. Забегая вперед скажу что FLS и GRUD основные и коварные настройки, из-за которых при неправильной настройке и отсутствующих проверках в коде появляется куча скрытых проблем. Для нашего приложения, всем custom objects для всех полей надо выставить разрешение на редактирование.

Custom App Settings - настройка видимости приложений. Выставим для нашего приложения Library visible и default.

Tab Settings - настройка видимости Tabs. Тут можно скрыть или наоборот открыть Tabs из других приложений или стандартные

Record Type Settings - настройка доступности и варианта по-умолчанию для record types для объектов. Мы пока Record Types не используем.

Administrative Permissions и General User Permissions - настройка разрешения для выполнения различных операций по администрированию орга и работе со стандартным функционалом CRM. В общем внутренние разрешения salesforce. К изменению данных настроек надо подходить аккуратно.

Standard Object Permissions и Custom Object Permissions (GRUD) - настройка видимости и возможности создавать, изменять и удалять объекты. Для нашего приложения необходимо разрешить работать с custom objects.

Enabled Apex Class Access - список доступных для пользователя Apex Class.

Enabled Visualforce Page Access -  список доступных для пользователя Visualforce Page.

Подведем итоги. Чтобы наше приложение заработало правильно для нам будет необходимо в профиле:


  1. сделать приложение доступным

  2. настроить FLS и GRUD в соответствии с логикой использования объектов пользователями с данных профилем

  3. сделать видимыми необходимые Tabs

  4. добавить в список доступных Apex Classes и Visualforce Pages.


Это основные моменты, которые надо постоянно держать в голове. Любое изменения в модели данных, появление новых страниц или классов должно быть отражено в настройках профилей. Обычно этот момент разработчики упускают и тогда всплывают всякие непонятные ошибки. Обычно с опытом такие ошибки быстро отлавливаются, но в свое время они доставляли мне настоящую головную боль.

Тоже самое мы делаем и для Library Member Profile, который клонируем из Customer Portal Manager Standard. Но пока его не настраивайте. Это мы сделаем позже, после того как создадим customer portal. В настройках данного профиля существует ряд особенностей, которые необходимо знать.

К настройкам этих двух профилей мы будем возвращаться не раз по ходу разработки приложения.