Появилось интересное задание, хотелось бы обсудить со спецами концепцию реализации следующего функционала.
Есть у соц. сетей сервис-код "Поделиться", размещается на сайтах для перепоста новостей, при клике появляется форма, заполняется, после сабмита создается запись у пользователя в профиле.
Нужно сделать чуть не так: сначала создается запись-нода на Drupal-сайте (Сервис), с неё берётся js-код, генерирующий некий виджет, который размещается на сторонних сайтах, при использовании (клик по ссылке, отправка формы в попапе) пользователь авторизуется на сайте-сервисе и помечает ноду (допустим флаг "в избранное"). От функционала модуля Flag отличается тем, что нужно к каждому флагу учесть с какого сайта пользователь кликнул (не зарегистрировался, а нажал "в избранное", пользователь будет иметь подборку "Изрбранного").
Дано:
Нода типа "Событие", у каждой ноды генерируется код некоего яваскрипт-виджета, виджет привязан к nid.
Размещенный виджет "подгружает" данные этого события на страницу, например, в виде ссылки "Подписаться на Событие «Встреча одноклассников» (уже подписалось - 10 человек)".
При клике по ссылке происходит подписка пользователя на Drupal-сайте Сервиса, например, в попапе с проверкой авторизации (расчитано на постоянных пользователей Сервиса).
Суть вопроса - Как сделать? Где хранить данные?
Пока придумал такие варианты:
1. Сделать флагами (flag) - яваскрипт-виджет "подтянет" описание через json, по клику - авторизация, и клик по flag-у. Но как учесть реферер при этом? Куда его записать? Может сделать группу полей в ноде "Событие" и при отметке Флага записывать в поля ноды необходимые данные (Field Collection)?
2. Затемизировать комментарии, чтобы по клику постился скрываемый впоследствии комментарий с нужными данными (прям поля создать, например, тип комментария=служебный, реферер, дата), но это больше похоже на костыль.
Комментарии
да флаг удобно конечно (но обычно его применяю для избранного или "отложить товар")
Как я понял, Flag 3 версии должен помочь - Флаг станет entity, это вот прям само то, но еще в dev-е