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

Salesforce community. Практика 2. Настраиваем self-registration и делаем custom page в качестве landing page.

Продолжаю свои исследования salesforce communities. После сегодняшних опытов сложилось некоторое впечатление какой-то недоделанности нового функционала (что-то у меня упорно не получалось заставить работать вход в community) и назрел вопрос - "нахрена эти community сделали". Преимущества новых community перед порталами пока не видно. Будем разбираться. Пока community это всего лишь симбиоз портала и сайта. Просто объединили в все в одну кучу.



Итак, продолжим настройку. Как просил нас Salesforce после включения self-registration необходимо настроить контроллер страницы регистрации CommunitiesSelfRegController.cls. Вот эти строчки. Значения в кавычках я уже подставил. На вашем орге значения соответствующих Id будут другими.




String profileId = '00e90000000jatp'; // To be filled in by customer.
String roleEnum = ''; // To be filled in by customer.
String accountId = '0019000000PHgpz'; // To be filled in by customer.


Как получить данные значения: profileId - профиль, который будет присваиваться новым пользователям, которые решатся самостоятельно зарегистрироваться в community. Обещанных профилей и лицензий для communities я так и не увидел, поэтому воспользуемся по старинке стандартным профилем Customer Portal Manager Standard, который клонируем и назовем Community User Test например. Id данного профиля можно взять в адресной строке находясь на странице редактирования профиля. roleEnum - непонятно зачем вообще нужен.



Далее по коду он вообще не используется. accountId - аккаунт, который необходимо создать. Все новые контакты (contact) будут привязываться к данному аккаунту. Id можно аналогично получить из адресной строки находясь на странице редактирования данного аккаунта. !ВАЖНО - у владельца (owner) аккаунта, т.е. у Вас, должна быть указана любая роль в настройках вашего пользователя (user). Еще важный момент в настройке community - не забываем добавить новый профиль в список разрешенных для community.



salesforce-community-members



Создадим Visualforce page, которую будем использовать в качестве Landing page для community. Пока она будет содержать только статический текст - приветствие. Задайте какой-нибудь уникальное имя.



salesforce-community-landing-page



Поправим настройки community чтобы наша страница автоматически открывалась при заходе в community.



salesforce-community-edit-pages-settings



Укажем в пункте Active Site Home Page нашу страницу.



salesforce-community-edit-pages-settings-2



При переходе по ссылке на community должна открываться наша страница. Данная страница доступна всем (в том числе незарегистрированным) пользователям и является своего рода лицом вашего community. Адрес /login зарезервирован для стандартной страницы входа в community.



НО я столкнулся с проблемой - данная страница упорно не хотела принимать какие бы то ни было логины и пароли пользователей. В общем войти в community c ее помощью мне не удалось. Будем надеяться что это временный глюк salesforce ( :) да-да такое тоже бывает). А войти в community у меня получилось с помощью старой стандартной страницы SiteLogin (она тоже создается на орге при активации community среди прочих). Просто делаем данную страницу и ее контроллер доступными в настройках community



sitelogin-for-salesforce-community



и переходите по адресу community_base_url/SiteLogin



salesforce-site-login-page



Видим старую знакомую страницу. Вот она как раз и позволяет нам зайти в community



login-to-community



Извиняюсь, но продолжение будет уже в следующей статье, где я постараюсь привести все настройки к общему виду и сделать небольшой портал в корпоративном стиле основываясь на возможностях salesforce communities.