Эта статья морально устарела :( . Приглашаю продолжить ваше знакомство с Salesforce на нашем Форуме!
Продолжая цикл статей по созданию учебного приложения под 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. Вот так выглядит дефолтный список профилей, которые создаются при создании орга.
Нажмите clone напротив профиля с названием Standard Platform User. И назовите новый профиль Library Staff
Собственно вот и все что касается создания. Теперь начинается все остальная работа по настройке профиля.
Что нас будет интересовать на странице настроек профиля? Постараюсь описать каждую секцию, которая нам понадобится сейчас и в будущем. Если я какие секции не описываю, это не значит что их нет, просто они реально редко или никогда не используются.
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.
Подведем итоги. Чтобы наше приложение заработало правильно для нам будет необходимо в профиле: