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

Создаем внешний сайт на Salesforce для гостей

Salesforce как CRM представляет собой закрытую систему для бизнес решений. Но часто заказчик ставит задачу сделать "окно во внешний мир" для своего бизнес решения. Для этой цели Salesforce предоставляет замечательное решение Site. С помощью site вы можете предоставлять незарегистрированным пользователям возможность видеть определенные visualforce страницы. Естественно site поддерживает всю мощь visualforce и apex и ограничивается лишь настройками прав доступа для анонимных пользователей.

Чтобы создать внешний сайт на вашем дев орге необходимо в setup->develop->Sites во первых зарегистрировать доменное имя и собственно создать новый сайт. Создание доменного имени не представляет особого труда. Вам необходимо придумать уникальный префикс, проверить его уникальность, согласиться с условиями использования и зарегистрировать новое доменное имя. Помните, что доменное имя для вашего орга регистрируется один раз и в будущем поменять его не получится. Но есть возможность прикрутить свое (купленное) доменное имя, но это услуга платная и доступна только для production оргов.



salesforce-site-1



Теперь у вас есть возможность создать новый сайт. Вам необходимо будет указать имя для сайта (можно придумать что угодно, это имя никак на не будет участвовать в построении url), выставить галочку active и указать страницу, которая будет играть роль домашней страницы (Active Site Home Page). Есть возможность переназначить ряд стандартных страниц, но это по желанию. Можно оставить пока то что указано по умолчанию. Есть еще возможность указать Default Web Address. Удобно использовать в случае если у вас будет несколько сайтов, которые можно разместить в разных поддиректориях (папках). Вот пример тестового моего тестового сайта. Я предварительно создал тестовую страницу "My Site Home" чтобы указать ее в настройках для сайта.



salesforce-site-2



Вот что получилось при обращении к сайту по Default Web Adress.



salesforce-site-3




<apex:page >

Hello for Salesforce Site! <br/>
This is My Site Home page

</apex:page>


Моя тестовая страница содержит всего лишь текст, но на странице видно что сайт имеет какие-то header и footer. Это стандартный header тега apex:page (который мы не отключили). Добавим параметр showHeader="false" и перезагрузим страницу.



salesforce-site-4



Теперь страница My Site Home выводится как есть и доступна всем желающим пользователям из внешнего мира. Важно знать! При создании нового сайта, на вашем орге создаются скрытый профиль "site_name Profile" и пользователь "site_name Site Guest User". Профиль необходим для того чтобы настроить права доступа для анонимных пользователей, сам пользователь необходим чтобы использовать его при работе с Debug Logs (заниматься отладкой сайта). И профиль и пользователя вы не найдете в стандартных списках. К профилю можно получить доступ по кнопке Public Access Settings на странице свойств сайта.



salesforce-site-5



А вот и пользователь



salesforce-site-6  



Использование данного пользователя для отладки является наверное единственной возможностью понять что происходит на сайте (в смысле проблем) потому что Salesforce не выводит текст ошибки а только показывает страницу заглушку анонимным пользователям. В следующей статье я покажу как пользоваться системой шаблоном, потому что для salesforce site их использование мне кажется просто незаменимым.