В этом учебном пособии подробно рассказывается о включении сообществ Salesforce с содержимым Adobe Experience Manager (AEM) через Salesforce CMS Connect (HTML).

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

Adobe Experience Manager (AEM) — это комплексное решение для управления контентом для создания веб-сайтов и всех их дополнительных приложений.

Для компаний, использующих как сообщества Salesforce, так и внешние системы управления контентом, например. AEM, контент будет дублироваться в обеих системах, а брендинг не будет одинаковым на всех веб-сайтах. Эту проблему можно решить с помощью компонентов Salesforce Communities CMS Connect, сообщества Salesforce могут извлекать содержимое и стили из внешних систем CMS, например, AEM через CMS connect.

CMS подключение

CMS Connect — это функция, добавленная Salesforce для сообществ.

CMS Connect позволяет клиентам Community Cloud использовать существующий контент и динамически добавлять его в свои сообщества Lightning. Позволяет централизовать контент в любой выбранной вами системе CMS без необходимости воссоздавать контент, когда вы хотите использовать его в своих сообществах. Это позволит работать с Headless CMS, контент будет управляться через централизованную систему CMS и использоваться по разным каналам для поддержки различных бизнес-кейсов.

Поддерживаемые сторонние системы:

  • Менеджер опыта Adobe
  • Друпал
  • СДЛ
  • Сайткор
  • Вордпресс

CMS Connect может извлекать контент из Adobe Experience Manager, WordPress, Drupal, Sitecore, SDL и других источников, поддерживающих структуру контента в виде фрагментов JSON или HTML.

CMS Connect (HTML) позволяет вам интегрировать фрагменты веб-контента HTML (например, заголовки, нижние колонтитулы, баннеры и т. д.), чтобы использовать тот же брендинг вашего веб-сайта в ваших сообществах.

CMS Connect (JSON) лучше всего подходит, когда вы хотите добавить списки контента (например, блоги, статьи, каталоги продуктов, файлы и т. д.), включая аутентифицированный контент.

Компонент подключения CMS можно настроить для загрузки содержимого, относящегося к компоненту AEM, на веб-сайт сообщества Salesforce. Верхний и нижний колонтитулы также можно извлечь из AEM, чтобы обеспечить единообразие внешнего вида между веб-сайтами. Стили и Java-скрипты из AEM также можно загрузить на веб-сайт сообщества, чтобы обеспечить единообразие стилей на всех веб-сайтах. Веб-сайты сообщества будут обновляться всякий раз, когда изменяется контент в AEM, это помогает уменьшить усилия по обновлению контента в нескольких системах.

Настройка CMS Connect (HTML)

В качестве первого шага давайте подключим сообщества к учетной записи Salesforce. Чтобы включить сообщества, войдите в учетную запись Salesforce и быстро найдите «сообщества», нажмите «Настройки сообществ» и «Включить сообщества», если они еще не включены.

Выберите доступный поддомен для сообщества и сохраните настройки.

Теперь сообщество включено. Если вы хотите изменить какой-либо дополнительный параметр, вернитесь на страницу «Настройки сообщества» и обновите необходимые данные. Давайте теперь создадим новое сообщество, вернемся к «Все сообщества» и нажмите «Новое сообщество».

Выберите необходимый шаблон для создания сообщества, при необходимости вы можете «Создать свой собственный». Я собираюсь использовать шаблон «Обслуживание клиентов» для демонстрации. Нажмите «Начать» после выбора шаблона.

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

Нажмите «Управление контентом» и «CMS Connect», чтобы подключиться к «Adobe Experience Manager».

Подключение к CMS

Добавьте новое подключение к CMS, чтобы подключить сообщество к серверу AEM для загрузки необходимого контента.

Введите имя для соединителя, а также выберите «Источник CMS» как AEM.

Выберите «Тип подключения» как общедоступный, если вы выберете «Аутентифицированный», необходимо предоставить «Именованные учетные данные», «Аутентифицированный» «Тип подключения» может извлекать данные только из источника JSON.

Введите базовый URL-адрес сервера — https://test.albinsblog.com (открытый издатель AEM через внешний домен), домен должен быть включен через SSL (HTTPS).

Включите корневой путь к содержимому — content/wknd/us/{language} (параметризация языка, чтобы содержимое можно было извлекать на основе языка, включенного в Salesforce).

Добавьте необходимые CSS и JavaScript в соединение — я включаю только CSS, необходимые для поддержки стиля веб-сайта wknd.

Включите сопоставление языков между сообществом Salesforce и AEM.

Сохраните конфигурацию и вернитесь в Builder.

Добавьте компонент «CMS Connect(HTML)» в нужное место.

Нажмите на компонент и свяжите источник CMS Connect с сообществом, определите путь к компоненту, чтобы получить данные для этого конкретного экземпляра компонента.

Я собираюсь извлечь содержимое указанного ниже раздела с домашней страницы образца веб-сайта WKND (например, en.html).

Контент в AEM строится на основе различных отдельных компонентов — автономных разделов веб-сайтов, отдельные компоненты отображаются извне в виде фрагмента HTML. HTML-данные компонентов можно использовать на внешних веб-сайтах для отображения части содержимого путем применения необходимых стилей.

Путь к конкретному компоненту можно получить из AEM.

Путь к компоненту будет /content/wknd/us/en/jcr:content/root/responsiblegrid/responsivegrid_1679842506, так как базовый путь уже настроен как content/wknd/us/en, фактический путь к компоненту для CMS Connect. компонент jcr:content/root/responsivegrid/responsivegrid_1679842506.html — путь к компоненту должен быть дополнен «.html», чтобы получить HTML-фрагмент компонента.

Теперь вы получите исключение, связанное с перекрестным происхождением, когда сообщество попытается получить данные из AEM.

Конфигурация CORS

По умолчанию запросы между источниками блокируются AEM, мы должны включить CORS (совместное использование ресурсов между источниками) в AEM, чтобы делиться контентом с сообществами Salesforce, совместное использование ресурсов между источниками (CORS ) — это механизм, который позволяет запрашивать ограниченные ресурсы на веб-странице из другого домена за пределами домена, из которого был обслужен первый ресурс, источник (домен сообщества) — https://techforum1-developer-edition --live.na123.force.com (фактический домен см. в сообщении об ошибке консоли) должен быть добавлен в качестве разрешенного источника в AEM для поддержки запроса Cross-Origin от сообщества Salesforce к AEM.

Конфигурацию CORS можно включить с помощью «Политики совместного использования ресурсов Adobe Granite между источниками»Конфигурация OSGI

Добавьте https://techforum1-developer-edition--live.na123.force.com (значение DNS отличается для конфигурации вашего сообщества) в конфигурацию Разрешенные источники.

Теперь конфигурации готовы, обновите страницу и просмотрите сообщество. Теперь сообщество извлекает необходимый контент из AEM, а также применяет стили на основе CSS из AEM.

Включите общий доступ для сообщества, чтобы внешние пользователи могли получить доступ к сообществу без предоставления учетных данных. URL-адрес сообщества можно скопировать отсюда, или Salesforce также отправляет электронное письмо с URL-адресом при публикации сообщества. Другие необходимые конфигурации, например SEO, можно включить, если требуется, через настройки.

Теперь сообщество готово к публикации, URL-адрес сообщества доступен для просмотра содержимого. На этот раз вы можете не видеть контент из AEM, так как настройка CORS также должна быть включена для живого домена — https://techforum1-developer-edition.na123.force.com.

Теперь к сообществу могут получить доступ внешние пользователи, при необходимости также можно настроить пользовательские домены сообщества (DNS).

При необходимости вы сможете вытащить верхний и нижний колонтитулы из AEM. Верхний и нижний колонтитулы можно настроить в настройках. Это обеспечивает единообразный «внешний вид» на всех веб-сайтах.

CMS Connect позволяет клиентам Community Cloud использовать существующий контент и динамически добавлять его в свои сообщества Lightning. CMS Connect позволяет централизовать контент в любой выбранной вами системе CMS без необходимости воссоздавать контент, когда вы хотите использовать его в своих сообществах. Заголовки CORS должны быть включены в AEM, чтобы принять запрос от сообщества Salesforce. Это позволит настроить безголовую CMS, контент будет управляться централизованно в выбранной CMS, и разные каналы смогут получать контент из CMS по разным каналам, например, HTML, JSON и т. д., и отображать контент для конечных пользователей. Это уменьшит усилия, необходимые для управления контентом для нескольких каналов.

Первоначально опубликовано на https://www.albinsblog.com.