Skip to content
This repository has been archived by the owner on Mar 25, 2019. It is now read-only.

Внедрить подписку на комментарии материала без написания своего комментария #1203

Open
ivnish opened this issue Sep 28, 2018 · 30 comments

Comments

@ivnish
Copy link
Member

ivnish commented Sep 28, 2018

Без написания своего комментария. Просто галочка/флаг "подписаться на пост". Очень многие пользователи это просят

Сейчас у нас используется модуль https://www.drupal.org/project/comment_notify но у него галочка без AJAX и требуется написать свой комментарий и поставить галочку, чтобы подписаться на новые комментарии в посте.

screenshot from 2018-09-29 09-32-04

Необходимо поискать контрибный модуль, который будет работать через AJAX

@orion76
Copy link
Contributor

orion76 commented Sep 28, 2018

хм.. на одном текущем проекте есть задача организовать удобную платформу для дискуссий.
В том числе и подписка на подветку комментария.
А в общем, это будет страница профиля пользователя с интрументарием навигации по своим комментариям:
1.Подписки на подветки.
2.Подписки на комментариии по по определенным темам.
3.Подписки на комментарии определенных пользователей.
4.Ответы на "мои" комментарии.
5.Ответы на комментарии из той же ветки.
и т.д.

Понимаю, возможно на drupal.ru этого всего не нужно, но необходимой частью функионала с удовольствием поделюсь.

Какие-то дополнения-уточнения-пожелания по теме есть?
И где почитать, как оформить коммит?
Тут наверное будет не просто "коммит", а отдельный модуль-коммит?
Или "отдельный" модуль для данной задачи уже где-то есть?

@ivnish
Copy link
Member Author

ivnish commented Sep 28, 2018

Для друпал.ру думаю будет достаточно просто подписки на определённый пост без написания комента. Желательно решить вопрос контрибным(и) модулем(ми). Мы не очень приветствуем кастом. По поводу коммитов напишу завтра, с телефона неудобно

@adubovskoy
Copy link
Member

Отлично. Лично у меня нет вопросов по поводу наличия в профиле странички со своими комментами/ответами/подписками. Есть вопросы насчет подветок и определенных тем, навскидку не вижу как легко и удобно сделать.

По оформлению кода, имхо лучше отдельным модулем-фичей.

@orion76
Copy link
Contributor

orion76 commented Sep 28, 2018

Ок.. немного разберусь как устроены комменты на drupal.ru
конкретнее : меню ссылок коммента (изменить, цитировать и т.п.)

логичнее всего это должна быть аякс-ссылка, по которой коммент добавится в подписки.
очень похоже на контриб-модуль flag, надо подумать, может опртимальнее задействовать его.

@ivnish
Copy link
Member Author

ivnish commented Sep 28, 2018

flag у нас уже есть, если что

@ivnish
Copy link
Member Author

ivnish commented Sep 28, 2018

Поясню: суть Issue в том, что сейчас чтобы подписаться на комментарии в посте (получать уведомления на почту) нужно самому написать комментарий и поставить галочку.

А нужно, чтобы была возможность подписаться без написания комента

@orion76
Copy link
Contributor

orion76 commented Sep 28, 2018

Это понятно, что должна быть возможность с того места страницы, где расположен комментарий, подписаться на его "подкомментарии".
Далее, получается, необходима возможность управлять своими подписками комментариев и мониторить их.
Кому-то, возможно, удобно мониторить новые комменты через почту.
А кто-то почтой пользуется пару раз в год, и ему проще мониторить их в своем профиле.

Получается, в профиле должна быть страница с подписками на комменты и с инструментом отписки от ненужных подписок.

1.Если модуль flag установлен и работает, значит достаточно добавить в меню комментария ссылку-флаг подписки на коммент.
2.В профиль на спец.странице - вьюс с комментами, на которые пользователь подписан (с сылкой на коммент, кол-вом непрочитанных коментов и ссылка "отписаться")

@ivnish
Copy link
Member Author

ivnish commented Sep 28, 2018

Не усложняй) Пока будет достаточно подписки на весь пост, т.е. на все новые комментарии из поста

@ivnish
Copy link
Member Author

ivnish commented Sep 29, 2018

Дополнил пост

@avakorin avakorin changed the title Подумать о возможности "подписаться на комментарии" Внедрить подписку на комментарии материала без написания своего комментария Sep 29, 2018
@orion76
Copy link
Contributor

orion76 commented Sep 29, 2018

Что в итоге выходит..
Извиняюсь, незнаю почему, был уверен что drupal.ru на восмерке, а функционал для дискуссий, который думал применить и на drupal.ru именно для восьмерки-)

Ну раз подписался, чтож, надо делать-)

Если нужна только подписка на коммент и рассылка,(имхо) то модуля тут и не очень нужно, как минимум на функционал отдельного модуля тут не тянет.

Надо добавить ссылку-флаг подписки в "выпадающее" меню комментария, это проще через админку.

И организовать рассылку..
Организовать рассылку могут помочь:
Rules
Views
https://www.drupal.org/project/views_rules

Делаем вьюс, выбирающий всех пользователей, которые подписали на некий комментарий.

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

получается совсем без кастом-модулей..

вариант подходит?

@ivnish
Copy link
Member Author

ivnish commented Sep 29, 2018

Нужно подписываться не на конкретный комментарий, а на весь пост. По принципу модуля comment_notify.

@avakorin
Copy link
Contributor

Коллеги, предлагаю сначала поискать готовый контриб.

@adubovskoy
Copy link
Member

Есть https://www.drupal.org/project/comment_notify . Но мне не нравится идея получать много почты (или отправлять много почты со стороны drupal.ru - проще попасть в спам-листы). Идея @orion76 с flag + отдельную страницу имхо удобнее.

@avakorin
Copy link
Contributor

comment_notify у нас уже установлен 😉

Это именно его чекбокс
image

Есть еще node_notify, но он только для семерки.

@ivnish
Copy link
Member Author

ivnish commented Sep 29, 2018

@adubovskoy у нас и так сейчас отправляется много почты, это не проблема. Проблема в том, что чтобы подписаться на коменты, нужно самому написать комент. Это не очень удобно. Идея же ориона мне не совсем понятна

@adubovskoy
Copy link
Member

Идея же ориона мне не совсем понятна

Он хочет делать это же через флаг и + добавить возможность просмотра обновлений на сайте.

@ivnish
Copy link
Member Author

ivnish commented Sep 30, 2018

Зачем тогда ему меню комментариев? Как минимум нужно меню ноды использовать.

@orion76
Copy link
Contributor

orion76 commented Oct 1, 2018

@itcrowd72 Зачем тогда ему меню комментариев?

"меню комментариев" - имеется ввиду раскрывающаяся менюшка в хидере каждого коммента (Спасибо, Цитировать, Ответить, Позвать модератора) куда, как мне кажется, логично поместить ссылку на "Подписку".

@itcrowd72 Нужно подписываться не на конкретный комментарий, а на весь пост

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

1.Добавляем флаг подписки посту (ноде)
2. Делаем правило Rules
событие: добавление комментария
действие: выбираем вьюсом по флагу всех подписавшихся на пост юзеров и циклом по списку отправляем уведомления.

@ivnish
Copy link
Member Author

ivnish commented Oct 1, 2018

В принципе неплохой вариант. Но есть еще над чем подумать. Мы в скором времени планируем переход на Drupal8, а там Rules вообще неюзабельный. Но в целом твой вариант неплохой. Можно будет добавить ссылку в action links поста:

screenshot from 2018-10-01 11-38-45

@adubovskoy
Copy link
Member

В принципе неплохой вариант. Но есть еще над чем подумать. Мы в скором времени планируем переход на Drupal8, а там Rules вообще неюзабельный.

да все равно, главное ж флаги. написать обрабатывающий это кастом не сложно. Имхо нужно делать.

@orion76
Copy link
Contributor

orion76 commented Oct 2, 2018

такс.. осталось только определиться, как все это сделать..-)

1.накликать мышкой минут за 10

2.Оформить в виде модуля:

  • добавление флага с необходимыми параметрами к нужному бандлу ноды
  • темизировать вывод ноды (перенести ссылку-флаг в "список ссылок" ноды или просто разместить ее под этим списком).
  • программно импортировать Views для выборки подписчиков.
  • программно импортировать правило Rules.

@ivnish
Copy link
Member Author

ivnish commented Oct 2, 2018

1.накликать мышкой минут за 10

Никак нет. Пока друпал.ру на семерке, мы оформляем все изменения через hook_update модуля drurum. Полностью всё, что ты расписал:

  • добавление флага с необходимыми параметрами к нужному бандлу ноды
  • темизировать вывод ноды (перенести ссылку-флаг в "список ссылок" ноды или просто разместить ее под этим списком).
  • программно импортировать Views для выборки подписчиков.
  • программно импортировать правило Rules.

Посмотри предыдущие апдейты в качестве примера

@orion76
Copy link
Contributor

orion76 commented Oct 3, 2018

Ок.. с этим разобрались..

А какова модель работы с репозиторием:
Fork+Pull или можно пушить прямо в этот репозиторий?

@ivnish
Copy link
Member Author

ivnish commented Oct 3, 2018

  1. Ты делаешь себе форк, создаешь новую ветку из ветки dev с номером issue, мы делаем так: issue-1203

  2. Вносишь необходимые изменения

  3. Делаешь коммиты с именем issue Внедрить подписку на комментарии материала без написания своего комментария #1203: Внедрить подписку на комментарии материала без написания своего комментария

  4. Пушишь в свой форк

  5. Создаешь PR в этом репо

  6. Мы его ревьюим

@orion76
Copy link
Contributor

orion76 commented Oct 5, 2018

Хм.. погрузился в задачу и оказалось..
"Механизм" подписки на топик уже есть.
Надо только добавить комментарий.

Т.е. надо просто добавить "не опубликованный" комментарий.

значит достаточно к "ссылкам топика" добавить аякс-ссылку, по которой будет создаваться неопубликованный коммент с "подпиской" на комменты топика.

Если я правильно понимаю, реализовывать все это дело надо в
drupal.ru/sites/all/modules/custom/dru_comments/dru_comments.module
??

@ivnish
Copy link
Member Author

ivnish commented Oct 5, 2018

Нет, неправильно) Этот модуль будет деинсталлирован и заменен на контриб.

Если у тебя пару строк кода, то для этого есть модуль drurum

@avakorin
Copy link
Contributor

avakorin commented Oct 5, 2018

будет создаваться неопубликованный коммент с "подпиской" на комменты топика.

И в итоге у нас будет куча неопубликованных комментариев, которые будут видны редакторам и админам сайта?

@ivnish
Copy link
Member Author

ivnish commented Oct 5, 2018

Непорядок 😐

@orion76
Copy link
Contributor

orion76 commented Oct 8, 2018

в общем, сделал по первому варианту, с флагами..
comment_notify подписывается только на опубликованные комменты, так что его приспособить не получилось..

остался маленький нюансик: автору коммента, если он "подписан" на топик, сообщение отправляем?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants