Всем привет! Сегодня мы расскажем о том, что именно должна делать хорошая система сбора отзывов для гарантированного поднятия конверсии сайта на примере нашего продукта – системы сборы отзывов Cackle Reviews. Первый релиз состоялся в ноябре 2013. За полтора года существования у нас появилось порядка 200 клиентов (из которых 150 – интернет-магазины) и чёткое представление о том, какие возможности системы отзывов честно влияют на рост конверсии:

1. Автоматическая индексация отзывов в Google с микроразметкой рейтинга schema.org/review;
2. Импорт отзывов из Яндекс.Маркета;
3. Рассылка follow-up писем после покупки с приглашением оставить отзыв;
4. Трансляция отзывов в социальные сети;
5. СПАМ-тест (mail-tester.com) с результатом не ниже 9/10 баллов.

Как это всё работает в Cackle Reviews – под катом.

система отзывов для интернет-магазина

1. Индексация в Google с микроразметкой рейтинга


Микроразметка рейтинга – это определённый формат данных для того, чтобы Google понимал и отображал в результатах поиска ссылки на ваш сайт вместе с красивыми оранжевыми звёздочками, рейтингом и количеством отзывов.

Cackle Reviews

В Cackle Reviews это работает автоматически. При установки на любую страницу сайта, наш сервис скажет Google, что данную страницу надо индексировать с микроразметкой. А самое главное «It's Just JavaScript™», то есть не нужны никакие дополнительные настройки в виде синхронизации отзывов в локальную БД или плагины для CMS. Работает это благодаря тому, что Google индексирует JavaScript.

Проверка в Google Testing Tool


Чтобы убедиться, что Google будет индексировать ваш сайт с микроразметкой, есть специальный валидатор Google Testing Tool. Так как Cackle Reviews работает через JavaScript, то вам нужно не просто скопировать адрес страницы с отзывами, а открыть консоль браузера (например в Chrome это Ctrl + Shift + C), перейти на вкладку Elements и скопировать весь код страницы в окно 1 валидатора, кликнуть «ПРОВЕРИТЬ». Если ошибок нет и в результате отображается рейтинг (значения для примера):

aggregateRating [AggregateRating]:
    ratingValue:      4.5
    reviewCount:    3

То всё ок!

Живой пример


В Google найдите текст «Достоинства: Отличные часы, стоят того Комментарии?: модель превосходна» – первая ссылка bestwatch.ru/watch/Frederique_Constant/FC335MC4P5 (наш клиент), сбоку "Рейтинг: 4,5 — ?4 отзыва". Перейдём на эту страницу, снизу система сбора отзывов Cackle Reviews. Далее откроем страницу в HTML-виде и видим, что отзывов в коде нет, а это значит, что индексация с микроразметкой работает через JavaScript и вам не нужно производить дополнительную настройку: сохранение отзывов в локальную БД или подтягивание стороннего HTML.

микроразметка рейтинга


Ещё примеры индексации с микроразметкой на js (искать в Google):
site:kinderus.ru на основе отзыва
site:unizoo.ru на основе отзыва
site:mirgeeka.ru на основе отзыва
site:afilot.ru на основе отзыва
site:yarcom.ru на основе отзыва
site:shveiburg.ru на основе отзыва

Детали реализации


Google индексирует JavaScript с микроразметкой schema.org/review. Поэтому в виджете, при отрисовке HTML, достаточно просто поддерживать данный формат.

Вкратце о том, что по-минимуму должно быть в HTML для корректного понимания микроразметки в Google

1. Информация о продукте


<div itemscope itemtype="http://schema.org/Product">
  <meta itemprop="category" content="Mobile">
  <meta itemprop="brand" content="Apple">
  <meta itemprop="name" content="iPhone 6 Plus 128GB">
  <meta itemprop="image" content="http://mdata.yandex.net/i?path=b0912201810_img_id7453707806759058271.jpeg">
</div>


2. Информация о рейтинге


<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
  <span itemprop="ratingValue">4.5</span>    <!-- рейтинг -->
  <span itemprop="reviewCount">7</span>    <!-- количество отзывов -->
</span>


3. Информация о рейтинге каждого отзыва


...
<li itemprop="review" itemscope="" itemtype="http://schema.org/Review">
  <span itemprop="reviewRating" itemscope="" itemtype="http://schema.org/Rating">
    <meta itemprop="ratingValue" content="5">   <!-- рейтинг -->
  </span>
  ...
  <a href="..." itemprop="author">Чак Норрис</a>   <!-- автор -->
  ...
  <meta itemprop="datePublished" content="2015-04-10T12:06:17">   <!-- время публикации отзыва -->
  ...
</li>
...

PS: Значения даны для примера.


2. Сбор отзывов с Яндекс.Маркета


Отзывы – проверенное и недорогое решение для увеличения конверсии сайта. Склонить пользователя написать отзыв трудно, поэтому лучше взять готовые, например с Яндекс.Маркета. Выгоды для вас:

  • Ценный и проверенный контент, дающий дополнительный трафик на сайт;
  • Достоверные отзывы с отметкой источника (отзыв с Яндекс.Маркета) помогают потенциальному покупателю быстрее определиться с покупкой и повышают доверие к вашему Интернет-магазину.

Отзывы с Яндекс.Маркета

Сбор отзывов с Яндекс.Маркета в Cackle Reviews


Сначала надо получить ключ Яндекс.Маркета для доступа к API загрузки отзывов, указав его в форме Cackle Reviews и IP-адрес нашего сервера (cackle.me). Сохранить ключ в панели администрирования Cackle (вкладка «Отзывы», меню «Настрои?ка»).

Для сбора отзывов загрузите товары из вашего интернет-магазина в Cackle, используя API:
HTTP-метод Endpoint Ограничение
POST cackle.me/api/3.0/review/productym.json 2 раза в минуту
Параметр Описание
id Идентификатор вашего виджета
siteApiKey Секретный ключ виджета.
accountApiKey Секретный ключ аккаунта
products Список товаров в формате JSON
У каждого товара должен быть проставлен специальный параметр ymId, принимающий значение modelId из Яндекс.Маркета.


Пример товара (параметр products):

[{
  "prodId": "12345",
  "ymId": "11031822",
  "chan": "/product/12345/",
  "url": "http://myexamplestore.ru/product/12345/",
  "name": "Смартфон Apple iPhone 6 Plus 128Gb",
  "photo": "http://mdata.yandex.net/i?path=b0912201833_img_id3857037135783998090.jpeg",
  "price": "65500"
}]

prodId – id товара из вашей БД
chan – канал для связки отзывов со страницей сайта (подробнее)
url – страницы, где будут отзывы

Демонстрация на сайтах клиентов: delonghi.club, shveiburg.ru, mrklimat.ru.

Разработчикам: детали реализации


Функционал написан на Java, Spring и Hibernate. Оперирует с 4 основными таблицами БД, более подробно – в спойлере.

О технической реализации сбора отзывов с Яндекс.Маркета в Cackle Reviews
review_ym_cursor – информация о модели (modelId), количество загруженных и всех отзывов с Маркета ("курсор")
review_ym – отзывы в формате Яндекс.Маркета
review_product – загруженные товары + информация о количестве конвертированных отзывов из review_ym в review
review – отзывы в формате Cackle

Работает последовательно:

1. Добавляем товар


Клиент вызывает API добавления товара с заполненным ymId. Товар добавляется в таблицу review_product, в review_ym_cursor создается новая запись с идентификатором данного сайта, товара и модели в Яндекс.Маркете.

2. Загрузчик отзывов в формате Яндекс.Маркета


Запускается функция, которая вызывает API Маркета и получает первые 10 отзывов, сохраняя их в промежуточную таблицу review_ym в формате Яндекс.Маркета. В таблицу review_ym_cursor сохраняется общее количество скачанных отзывов (поле recd) по данной модели и сайту + сколько отзывов всего (поле total).


3. Конвертация отзывов в формат Cackle


Запускается функция, которая берёт Маркет-отзывы из таблицы review_ym и сохраняет их в отзывы в формате Cackle Reviews в таблицу review. В таблицу review_product записывается общее количество конвертированных отзывов (поле conv), чтобы в следующий раз начать с нужного места.

4. Следующие отзывы


В ночное время происходит автоматический вызов двух процессов:

Первая выполняет пункт 2 для всех записей из review_ym_cursor, у которых recd < total.
Вторая выполняет пункт 3 для всех записей из review_product, у которых conv < review_ym_cursor.recd.

В итоге скачиваются новые 10 Маркет-отзывов, а потом конвертируются в Cackle-формат. Это выполняется до тех пор, пока review_ym_cursor.recd < review_ym_cursor.total и review_product.conv < review_ym_cursor.recd соответственно.

Есть и третий процесс. Он проверяет для моделей, у которых review_ym_cursor.recd == review_ym_cursor.total (всё скачано), не появилось ли новых Яндекс.Маркет-отзывов и если появились, то обновляет total.

Основная идея данной реализации – это независимое выполнение двух функций: загрузка Маркет-отзывов (пункт 2) и конвертация в Cackle-отзывы (пункт 3). Меньше каплинга – меньше проблем.


3. Follow-up письма после покупки с приглашением оставить отзыв


Собирать отзывы нужно не только с Яндекс.Маркета, но и от реальных покупателей. Допустим, пользователь приобрёл какой-то товар в интернет-магазине. Через несколько дней на свой email он получает письмо с просьбой оставить отзыв о ранее купленном товаре. Такие письма называются follow-up и Cackle Reviews умеет отправлять их автоматически.

Уникальность Cackle Reviews в том, что ссылка «Оставить отзыв» в follow-up письме ведёт именно на страницу купленного товара интернет-магазина (а не на сайт системы сбора отзывов, как во всех других подобных системах) и при переходе форма написания отзыва открывается автоматически с уже авторизованным пользователем.



Интеграция follow-up рассылки с интернет-магазином


Загрузка заказов


Для рассылки follow-up писем по покупателям необходимо загрузить заказы из вашего интернет-магазина в Cackle. Это делается с помощью API:
HTTP метод Endpoint Ограничение
POST cackle.me/api/3.0/review/order.json 1 раз в 5 секунд
Параметры аналогичные API загрузки товаров, за исключением параметра products, вместо него orders.

Пример заказа (параметр orders):

[{
"orderId": "123",
"created": 1426330626814,
"modified": null,
"notify": 1426330626814,
"paid": true,
"deliver": true,
"notified": false,
"user": {
  "id": "775",
  "name": "Дмитрий Иванов",
  "email": "dmivanov@mailforspam.com"
},
"products": [{
  "prodId": "12345",
  "ymId": "11031822",
  "chan": "/product/12345/",
  "url": "http://myexamplestore.ru/product/12345/",
  "name": "Смартфон Apple iPhone 6 Plus 128Gb",
  "photo": "http://mdata.yandex.net/i?path=b0912201833_img_id3857037135783998090.jpeg",
  "price": "65500"
}]}]

//notify – параметр для безусловной отправки follow-up письма в указанную дату (миллисекунды);
//notified – если true, то по данному заказу уже было отправлено follow-up письмо, если false – нет;
//user – зарегистрированный на вашем сайте пользователь (единая авторизация, SSO), или вместо него может быть два параметра (email и name) для анонимного юзера.

Создание рассылки


Когда заказы загружены, необходимо создать рассылку с условиями отправки и шаблоном письма. Это можно сделать в панели администрирования Cackle (вкладка «Отзывы», меню «Рассылка»).





Follow-up письмо


Письмо состоит из нескольких частей. Редактируемые – отправитель, тема, логотип, тело письма (body), подпись (footer). Нередактируемые – товар или список товаров с названием, фото и ссылкой «Оставить отзыв».

Ссылка «Оставить отзыв» ведёт на страницу купленного товара интернет-магазина. Все служебные параметры, для открытия формы написания отзыва и автоматической авторизации пользователя, передаются в ссылке после хеша (#) в закодированном формате (MD5).

follow-up письмо с приглашением оставить отзыв

Если пользователь перешёл по ссылке «Оставить отзыв» и опубликовал его, то он будет помечен значком «Проверенныи? покупатель», который сигнализирует о том, что данный клиент действительно купил товар.

Система отзывов Cackle Reviews проверенный покупатель

Тестирование, отладка


У созданных рассылок есть кнопка «Тест», по клику на которую происходит мгновенная обработка найденных заказов и отправка follow-up писем. Например, можно загрузить несколько тестовых заказов с email-ми @mailforspam.com или @mailinator.com, а дальше тестировать отправку писем.

Автоматическое исполнение активированных рассылок происходит в ночное время с 01 до 06 часов по Москве.

Плагины для CMS


Рассылка follow-up писем работает автоматически в плагинах 1С-Битрикс и OpenCart. В ближайшее время планируем подключить данный функционал для Joomla (VirtueMart, K2, Zoo), PrestaShop и InSales.

4. Трансляция отзывов в социальные сети


Cackle Reviews поддерживает три типа авторизации: анонимная, социальная и единая с сайтом. Если пользователь выбирает социальную авторизацию и входит через ВКонтакте/Мой Мир/Facebook/Twitter, то его отзыв автоматически попадает на стену социальной сети со ссылкой на сайт. Выгоды для интернет-магазина:

  • Привлечение дополнительного трафика из социальных сетей;
  • Повышение доверия сайта среди друзей пользователя.

Функционал доступен для тестирования на странице демонстрации решения.

Реализация


У каждой соц.сети свой API кросспостинга сообщения на стену. Это API мы включаем в реализацию библиотек OAuth-авторизаций. В Cackle для таких библиотек используется Spring Social, только со своей имплементацией для каждой социальной сети. Это очень удобно, так как многое Spring Social делает за вас, например, поддержка стандартов OAuth 1.0 и 2.0, сохранение и обновление access, refresh-токенов и expired.

5. СПАМ-тест


Возможно, кто-то не знает, но есть такой сервис проверки писем на СПАМ, как mail-tester.com. Результат его проверки – это количество балов от 1 до 10. Для системы сбора отзывов с follow-up рассылкой низкий бал означает, что покупатели просто не будут получать письма с приглашением оставить отзыв.

В следующем топике расскажем, про наш опыт настройки SMTP-сервера и как мы добились вот такого результата для Cackle Reviews:


Если вы хотите попробовать Cackle Reviews на своём сайте – welcome! Установка займёт не более 1 минуты.

Спасибо за внимание. Всем успехов!

Комментарии (34)


  1. Claud
    20.04.2015 17:28
    +1

    Я недавно забрел на серч, там кто-то боролся с трудностями индексации сайта на angular в яндексе (божится что у него есть пререндереный вариант), т.е. знал куда идет. Так вот там же вычитал, что google отказывается от идеи индексировать сайты на js, якобы был об этом релиз. Насколько это правда, трудно сказать, по тому что не искал подтверждения слов.

    P.S. В яндексе выходит индексации не будет, по тому что они про js даже не заикались.


    1. javist Автор
      20.04.2015 17:35
      +3

      Для индексации в Яндекс можно использовать CMS плагин или настроить сохранение и вывод (в HTML) отзывов согласно API cackle.ru/help/review-sync. Вот только микроразметку для отзывов Яндекс поддерживает об автомобилях и компаниях help.yandex.ru/webmaster/hreview/general.xml :(


      1. javist Автор
        20.04.2015 17:43

        Прошу прощения, вот корректная ссылка help.yandex.ru/webmaster/supported-schemas/review-car.xml для schema.org/Review Яндекса.


  1. ustasby
    20.04.2015 17:31
    +2

    Отзывы, кто им еще верит? Целая армия ботов сидит и готова за 5 центов писать отзывы на любом сервисе. Читать можно негативные, как правило они то не ботами написаны.


    1. javist Автор
      20.04.2015 17:40
      +2

      Спасибо, но пост несколько о другом…
      О том, что микроразметка индексируется в Google через чистый JavaScript, об импорте отзывов с Яндекс.Маркета, о рассылки follow-up писем и о важности СПАМ теста =)


      1. ustasby
        20.04.2015 17:52
        +1

        это я тоже прочитал, спасибо


    1. Boomburum
      20.04.2015 17:44
      +3

      Из собственного опыта как раз могу сказать, что отзывы — полезная штука. Причём именно негативные — часто выбрать девайс можно только по минусам, а не по плюсам. Простой пример – два одинаково хороших холодильника (телевизора, и т.д.), но у одного один недостаток, у второго — другой. И в итоге выбираешь именно по тому, с каким из недостатков будет сложнее жить, а не по достоинствам. И вот когда читаешь отзывы, тут уже многое зависит от умения отличать «отзывы ботов» от нормальных отзывов.


    1. ilyaplot
      20.04.2015 20:48

      Ну верит же еще кто-то, что баннер с сайта может найти вирусы на жестком диске и предложить «антивирус».


      1. ustasby
        20.04.2015 22:50

        Это не потребители, такие и в магазине с наличными ходить будут до последнего.


    1. lopatoid
      20.04.2015 22:15

      Негативные тоже могут быть написаны ботами компаний-конкурентов.


  1. amarao
    20.04.2015 18:52
    -1

    А можно ли в «какал-отзывы» размещать положительные отзывы о компании, или оно только для отрицательных?


  1. utkorose
    20.04.2015 20:09
    -1

    Нет отзывика кроме Флампа и 2ГИС его пророк


    1. javist Автор
      20.04.2015 20:14
      +2

      У нас немного другая идея, Cackle Reviews это облачный сервис для установки на сайт клиента. В итоге прямо в интернет-магазине появляется возможность оставлять отзывы о товарах, например unizoo.ru/catalog/52328/#mc-review


  1. SkyCat
    20.04.2015 22:50
    +2

    С оплатой у вас все весело.
    Раньше была опция «Единая авторизация». И для комментариев и для отзывов. Стоила она 4 тыс. рублей на год.
    Теперь появилась «Комментарии: единая авторизация» и «Отзывы: единая авторизация». Каждая по 4 тыс. рублей. Итого 8 тыс.
    Это такой бизнес, что ли, продавать одну услугу два раза?
    Вообще, многие компании в кризис цены снижают, у вас на ровном месте услуга в два раза больше стоить стала.

    Клиенты «довольны», наверное. Мы так просто от радости прыгаем.


    1. maxic
      26.04.2015 22:05
      -3

      К примеру в opencart на 8000 рублей можно купить «5» отличных модулей «отзывов» ничем не хуже, а может даже и лучше. И не раз в год, а на всё время жизни магазина и ответы админов есть и еще куча наворотов, которых нет здесь


      1. javist Автор
        26.04.2015 23:47

        Лучше вместо 1000 слов приведите хотя бы 1 «наворот», которого нет в Cackle Reviews? =)


        1. maxic
          27.04.2015 00:03
          +1

          сразу минус без «разбирательств»...? это троллизм называется
          Теперь отвечу:
          Ответ админа с настройкой «вида» (фронт плюс ответ админа из админ части даже при премодерации). Подписка пользователя на ответ (не на все, а только на его пост, но это может не заметил)
          Отсутствие динамических пользовательских полей (не только недостатки и достоинства) с шаблонами, плейсами и т.п.
          Отсутствие динамических рейтингов. (к примеру рейтинг тех поддержки и т.п.)
          Не нашел визуального редактора…
          Пользовательских шаблонов вывода
          Если поискать много чего найти можно, чего нет
          А у других есть ;)


          1. javist Автор
            27.04.2015 13:13
            +2

            >Ответ админа с настройкой «вида»
            В Cackle Reviews вы можете комментировать отзывы пользователей, с настроенным бейджем, из админки и тоже при премодерации.

            >Подписка пользователя на ответ
            Это есть в системе Cackle Comments (а её обычно ставят совместно с Reviews).

            >Отсутствие динамических пользовательских полей
            В Cackle Reviews можно скрыть любое поле, оставив вообще только звездочки (если вы об этом).

            >Отсутствие динамических рейтингов.
            Скажу по секрету, это есть, у нас просто закрыт этот функционал, так как пользователи его очень редко юзают.

            >Не нашел визуального редактора…
            >Пользовательских шаблонов вывода
            Это все можно сделать через API, изменить шаблон html или добавить свой css. Причем в отличии от OpenCart кастомизация идет не через редактор, а прямо в коде, что позволяет детально проработать новый UI.

            А вот чего вы не найдете в OpenCart:
            1. Автоматическая индексация с микроразметкой рейтинга в Google;
            2. Автоматический импорт отзывов с Яндекс.Маркета;
            3. Кросспостинг и авторизация через все социальные сети (включая Российские);
            4. Отправка follow-up писем после покупки с приглашением оставить отзыв;
            5. Единая авторизация с вашим сайтом;
            6. Снижение нагрузки на сам сайт;
            7. Аналитика;
            8. Полнотекстовый поиск;
            9. СПАМ защита;
            10. Real-time панель администрирования;
            11. Звуковые, Tray, Email уведомления о новых отзывах;
            12. Полный профиль автора отзыва (email, страна, браузер, IP и т.д.);

            Лайки, whitelist, перенос отзывов, виджет рейтинга с возможностью голосования, несколько модераторов и другие возможности.

            Система Cackle Reviews для крупных Интернет-магазинов, которые действительно хотят повысить свою конверсию и мы максимально помогаем им. А те решения, про которые вы говорите, скорее для простеньких сайтов с 100-200 пользователями в сутки и 10-20 заказами в месяц =)


            1. maxic
              29.04.2015 20:32

              >Отсутствие динамических пользовательских полей
              Вы даже не поняли что это такое :) Отвечу просто редактор дополнительных полей (фактически форм)
              А при пользовательских шаблонах — это превращается в полноценную систему сообщений, форм обратных связей и т.п. К примеру заказать звонок и т п (это тоже «отзывы»)

              >Отсутствие динамических рейтингов.
              У вас может быть и редко, у моих — постоянно. Вы наверно не совсем поняли что это такое, но при редакторе полей форм, это тривиальная задача. Но у вас нет такого функционала.

              >Не нашел визуального редактора…
              Нету, так как нет обработки потом bbcode и т п

              >Пользовательских шаблонов вывода
              Шаблон html чего? Обертки, дерева, рейтингов, пользовательских полей? Сомневаюсь что всего этого
              И не надо про default opencart отзывы, мы говорим не о них, а модулях разработчиков. Где это все есть.

              И хватит этой рекламы. Есть модули отзывов не хуже вашей системы а даже лучше, во всяком случае в opencart я точно знаю что есть лучше.
              Все перечисленные пункты есть модулями в opencart и гораздо дешевле
              Единственное не видел 9-го пункта, но в принципе сделать можно. Зато другого функционала больше на много порядков


            1. maxic
              29.04.2015 20:51
              +1

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


              1. javist Автор
                29.04.2015 21:00

                >И хватит этой рекламы.
                Это была не реклама, а голые факты :)

                >Да, кстати, забыл спросить, у вас для каждого языка «отдельные» отзывы?
                Да, конечно, параметр channel для разделения отзывов по страницам + lang для локализации самой системы и ещё несколько 10ков других параметров для детальной настройки cackle.ru/help/widget-api


                1. maxic
                  29.04.2015 21:24

                  И совет — добавьте функцию && $this->validate() на post к вашему модулю opencart. Поверьте старику (и в opencart тоже) — это пробой в opencart 1.5.x без неё.


                1. maxic
                  29.04.2015 21:38

                  Реклама, реклама ;) Знаете почему… Если бы не писали что ваша система лучше всех, а остальные «для мелких сайтов» и г., то это были бы факты.

                  Мне, честно, нравиться ваша система, она классная, даже отличная! Но… есть не хуже в Opencart, Magento, Presta, а даже и получше с большим функционалом и самое главное дешевле обойдется (правда дешевле не в magento и не в presta :) ). Это тоже факт, так что его тоже надо принять.


        1. maxic
          27.04.2015 00:27

          А вот за такое «расстреливать» надо:

          Код «вашего» модуля для opencart
          if (($this->request->server['REQUEST_METHOD'] == 'POST')) {
          $this->model_setting_setting->editSetting('cackle', $this->request->post);

          А проверка групп?! Т.е. группа демонстрация может запросто изменить все настройки магазина
          Это называется пробой в безопасности.

          Надо как в стандарте: if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {

          Т.е. && $this->validate()

          Где: if (!$this->user->hasPermission('modify', 'module/cackle')) {

          А во фронте контроллера откуда «взялась» модель...?
          $sql = «select * from ».PREFIX."_reviews where product_id = '$post_id' and approve = 1";

          Т.е. MVC и стандарты «нам» по барабану…

          Зато минусы троллить «мы» умеем


          1. alexeydenisov
            27.04.2015 18:26
            +1

            >А проверка групп?! Т.е. группа демонстрация может запросто изменить все настройки магазина
            >Это называется пробой в безопасности.

            Никаких проблем с безопасностью нет…
            Исходя из вашего кода:

            if (!$this->user->hasPermission('modify', 'module/cackle')) {

            который по вашим словам должен закрыть «пробой в безопасности» проверяет только modify и получается, что такой пользователь сможет видеть все настройки и это нормально?
            На самом деле validate() используется для валид. сообщений, а не для прямого управления правами!!!
            Права для групп(для той же демонстрации) выдаются для каждого модуля на Access и Modify. Если админ поставит галки у module/cackle то естественно, пользователь данной группы будет видеть эти настройки и иметь возможность модифицировать их, если нет то увидит вот что:image

            Насчет стандартов, улыбнуло… как вы еще не заметили, что мы в один модуль умудрились запихнуть совместимость двух версий, 1.5 и 2.0… тоже довольно нестандартное решение)


            1. maxic
              29.04.2015 20:20

              Извините но видно вы в opencart еще начинающий.
              Вы что думаете я не могу послать POST запрос?!
              В вашем куске кода нет даже validate на POST
              Как вы демо сделаете чтобы показать пользователям ваш модуль? ;)
              Т.е. дадите права на view. Дайте мне view — я вам потом покажу какой у вас будет демо сайт :) Потому что через view я получу права и на modufy (но вы видно этого не знаете). Мало того часто админы дабы не искать из всего списка модулей (человеческий фактор), дают некоторым группам пользователей view, как «выделить все» (те кто в теме в курсе о чем я) И в таком случае группа у которой view получает ВСЕ права ЧЕРЕЗ ВАШ МОДУЛЬ.
              В итоге те кто имеют права на view спокойно изменят настройки ВСЕГО магазина (opencart 1.5.x, даже не группы cackle), только в opencart 2.x закрыли этот баг

              Насчет совместили — это улыбнуло и рассмешило. Это модуль? Это маленький модулек. Я в своих, модулях (по функционалу как сам opencart) давно совместил версии 1.5.x и 2.x причем без ocmod и без vqmod и без редактирования файлов

              Это значит что пользователь группы демо, может изменить ВСЕ настрйоки магазина, так как в opencart 1.5.x идет управление не через группу.


        1. SkyCat
          27.04.2015 04:51

          Я так понимаю, по моему комментарию сказать нечего?


          1. javist Автор
            27.04.2015 13:25

            >Это такой бизнес, что ли, продавать одну услугу два раза?
            Это разные услуги. Комментарии, отзывы или например опросы — три независимые системы, у них нет ничего общего, кроме владельца. Соответственно услуги (whitelabel, sso) у них тоже разные.

            >Вообще, многие компании в кризис цены снижают, у вас на ровном месте услуга в два раза больше стоить стала
            Базовые цены на все продукты — комментарии, отзывы, онлайн консультант, опросы у нас не менялись с 2012 года. И это при том, что после падения евро мы платим за все сервера и трафик в 2.5 раза больше (даже наш Российский хостер поднял цены на сервера).

            >многие компании в кризис цены снижают
            О_о


            1. SkyCat
              27.04.2015 18:54

              Это разные услуги. Комментарии, отзывы или например опросы — три независимые системы, у них нет ничего общего, кроме владельца. Соответственно услуги (whitelabel, sso) у них тоже разные.

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

              О_о

              Что вас так удивило? Не знаете про такую бизнес-модель?


            1. SkyCat
              27.04.2015 18:55

              В общем-то, диалог смысла нет продолжать. Вы потеряли клиента из-за своей политики ценообразования. — 10 тыс. рублей. В августе мы с вами попрощаемся. Нет никакого желания платить два раза за одну и ту же услугу.


              1. alexeydenisov
                27.04.2015 19:04

                Позвольте уточнить, а эти 2 виджета(комментарии, отзывы) у вас размещены на одном и том же сайте?


                1. SkyCat
                  27.04.2015 19:07

                  Да


                  1. alexeydenisov
                    27.04.2015 19:42
                    +2

                    Когда закончится оплаченный пакет, напишите нам в саппорт. Мы обычно идем навстречу старым клиентам и предоставляем скидки.


  1. vovalog
    21.04.2015 08:43
    +1

    Название какое-то у вас сложновыговариваемое.