LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 19:00:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 [2]  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Управление подпиской на уведомления о новых комментариях в JComments  (Прочитано 17446 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« : 13.08.2008, 13:16:44 »

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

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

1. Для того чтобы подписаться на комментарии необходимо было оставить комментарий
2. При удалении комментария в котором была подписка, подписка прекращалась
3. Была возможность многократно подписаться на уведомления (письмо-то уходило одно, но отписываться можно было долго)

Из преимуществ данного способа можно отметить только один - простота (никаких доп. запросов к БД делать не нужно было).

В разрабатываемой версии я изменил способ хранения информации о подписке, выделив для этого отдельную таблицу в БД. При этом в процессе сохранения комментария добавилось 2 запроса к БД (проверка на уже существовании подписки на комментарии к данному материалу - на всякий случай и непосредственно сохранение информации о подписке в таблицу БД).

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

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

1. Нужно ли предоставлять авторизованным пользователям возможность отменить подписку на уведомления со страницы комментариев? И если нужно, то как это должно выглядеть? Я пока вижу 2 варианта:

1.1. В форме добавления редактирования все-таки показывать "Уведомлять меня о новых комментариях" с установленной галочкой, и при ее снятии - удалять подписку.
1.2 Добавить где-либо на странице комментариев ссылку "Отказаться от уведомлений о новых комментариях" по клику на которой отписывать пользователя.

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

При реализации варианта 1.2 есть другой недостаток - механизм подписки и отписки как бы отличаются - в первом случае в одном месте формы ставится галочка, во-втором - где в другом месте нажимается ссылка (или кнопка).

Отсюда появляется второй вопрос.

2. Каким образом пользователям предоставлять возможность подписки на комментарии?

Как я уже писал, сейчас пока по-прежнему нужно оставить комментарий не забыв установить галочку про получение уведомлений. Однако, по идее, для авторизованных пользователей это несколько излишне. Объясню почему. Чтобы оформить подписку нужен e-mail и, желательно, имя пользователя. Для авторизованных эта информация и так доступна, поэтому им по идее достаточно просто кнопки "Подписаться на уведомления о новых комментариях". А для гостей - нужно еще 2 поля и такая же кнопка.

У меня появилась мысль реализовать все это следующим образом.

Для авторизованных пользователей. Сразу под списком комментариев (там где сейчас ссылки на RSS и обновление списка), добавить ссылку "Подписаться на получение уведомлений о новых комментариях", по клику на которой автоматически будет осуществлена подписка. Если же пользователь уже подписан - показывать "Отказаться от получения уведомлений о новых комментариях". И, помимо этого, оставить привычную галочку в форме отправки комментариев. Чтобы не забирать у пользователей то, к чему они привыкли.

Для гостей (неавторизованных пользователей). Точно так же, как для авторизованных, оставляем в форме добавления комментария галочку, посредством которой он может подписаться. А вот что делать для случая, когда пользователь хочет подписаться на уведомление не добавляя комментарий сходу придумать не могу. Был вариант, точно так же как для авторизованных показать под списком ссылку "Подписаться на получение уведомлений о новых комментариях", но в отличие от авторизованных, по клику на этой ссылке не сразу выполнять подписку, а показывать форму в которой нужно ввести e-mail, имя и нажать кнопку.

Вот как-то так...

Интересует общественное мнение по данному вопросу. Не перемудрил ли я, не слишком ли усложняю... Может какие-то есть другие варианты решения данных вопросов?
« Последнее редактирование: 23.10.2008, 15:01:15 от smart » Записан
 
dimetrius
Осваиваюсь на форуме
***

Репутация: +7/-1
Offline Offline

Пол: Мужской
Сообщений: 136



« Ответ #31 : 09.12.2010, 03:31:09 »

Наверное много хочу, но хотелось бы:

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

У меня есть статьи, в которых комментарии временами сыпятся каждые 2-3 минуты. Думаю любой нормальный человек очень сложно воспримет такое количество сообщений, даже если он на них подписывался.

2. При отправке сообщений, если в новости много подписавшихся, то отправка занимает до 30-40 секунд.
нельзя ли сделать так, чтоб человек не ждал пока отправятся все email. т.е. чтоб сообщение сразу публиковалось, а на фоне уже шла рассылка.
« Последнее редактирование: 09.12.2010, 20:45:49 от dimetrius » Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #32 : 13.12.2010, 01:45:01 »

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

Проблема:
jcomments 2.2.0.2
joomla 1.5.22
Не приходят уведомления пользователям, подписанным на эти уведомления.

У меня в настройках стоит не автопубликация, а публикация через модерацию. Раньше, при отсутствии автопубликации, уведомления и не приходили, это было нормой, но я читал, что теперь это исправлено. А у меня не работает.
На том топике читал про то, что нужно заменить какой-то файл, у меня этот файл есть, я скачал выложенный файл на форуме, сравнил со своим (побайтно) - один в один.

Пожалуйста не посылайте по др. местам, помогите решить проблему. Заранее спасибо большое!
Записан
iT)ZevS(
JComments Tester
*

Репутация: +31/-2
Offline Offline

Пол: Мужской
Сообщений: 322


« Ответ #33 : 13.12.2010, 02:45:51 »

Странно на самом деле, у меня те же версии и премодерация и все приходит...
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #34 : 13.12.2010, 13:45:40 »

1. Возможность для пользователя управлять подписками своими прямо на сайте.
т.е. перешёл по ссылке, а там все его подписки, хочешь отказывайся, хочешь просматривай.
да, такое есть в планах, но те в следующей версии, а через версию

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

2. При отправке сообщений, если в новости много подписавшихся, то отправка занимает до 30-40 секунд. нельзя ли сделать так, чтоб человек не ждал пока отправятся все email. т.е. чтоб сообщение сразу публиковалось, а на фоне уже шла рассылка.
угу, этот функционал уже в работе
Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #35 : 13.12.2010, 18:04:57 »

Проверял подписку в unregistered режиме. Быть может если пользователь зарегистрирован, то комментарии приходить будут. На одном сайте прочел "подписка на уведомления (только для зарегистрированных пользователей)"
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #36 : 15.12.2010, 10:59:40 »

У меня похожая проблема. Уведомления приходят через раз. Из трёх уведомлений пришло только одно.
Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #37 : 15.12.2010, 16:54:07 »

У меня похожая проблема. Уведомления приходят через раз. Из трёх уведомлений пришло только одно.

Ну слава богу, я не один с этой проблемой! Уважаемый разработчик, пожалуйста обратите на эту проблему внимание. Напишите - какие настройки могут этому мешать? Ваш компонент отправляет письма благодаря движку сайта, или сам? Просто в движке сайта всё настроено через smtp с авторизацией. Быть может что-то с этим связано? Еще просьба - у кого всё на 100% работает и уведомления приходят даже тогда, когда незарегенные пользователи комментарии оставляют и автопубликация отключена - пожалуйста выложите сканы своих настроек. Буду очень признателен. Давайте уже решим эту проблему раз и на всегда. Если Автор разберется, то с меня пожертвования - хотябы сотенку кину.

Спасибо большое!
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #38 : 15.12.2010, 17:02:41 »

Хотя вот письма с уведомлениями на модерацию мне приходят постоянно. Вчера вот только одно не пришло. Хз почему.
Решил тогда проверить, елси подписаться. Подписался — из трёх пришло только одно.
Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #39 : 15.12.2010, 17:17:33 »

Хотя вот письма с уведомлениями на модерацию мне приходят постоянно. Вчера вот только одно не пришло. Хз почему.
Решил тогда проверить, елси подписаться. Подписался — из трёх пришло только одно.

На модерацию приходят все у меня, а вот подписчики - ни одного. Если я, как администратор что-то размещаю, естественно для админа у меня автопубликация, то уведомления естно приходят, а вот то, что премодерируется - не уведомляется.
Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #40 : 17.12.2010, 12:25:58 »

Где же автор JComments?
Автор, пожалуйста откликнитесь, и что Вы все-же скажите относительно моего прошлого поста:

Ну слава богу, я не один с этой проблемой! Уважаемый разработчик, пожалуйста обратите на эту проблему внимание. Напишите - какие настройки могут этому мешать? Ваш компонент отправляет письма благодаря движку сайта, или сам? Просто в движке сайта всё настроено через smtp с авторизацией. Быть может что-то с этим связано? Еще просьба - у кого всё на 100% работает и уведомления приходят даже тогда, когда незарегенные пользователи комментарии оставляют и автопубликация отключена - пожалуйста выложите сканы своих настроек. Буду очень признателен. Давайте уже решим эту проблему раз и на всегда. Если Автор разберется, то с меня пожертвования - хотябы сотенку кину.

Спасибо большое!
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #41 : 20.12.2010, 11:49:11 »

У меня похожая проблема. Уведомления приходят через раз. Из трёх уведомлений пришло только одно.
может быть письма попадают под анти-спам фильтр?

а вот то, что премодерируется - не уведомляется.
угу, не уведомляется, есьт такой баг... я описывал его решение (поищите или тут, или на JoomlaTune.com/forum, искать можно по имени файла admin.jcomments.php - именно в нем нужно сделать небольшую правку).
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #42 : 20.12.2010, 14:35:31 »

Цитировать
угу, не уведомляется, есьт такой баг... я описывал его решение (поищите или тут, или на JoomlaTune.com/forum, искать можно по имени файла admin.jcomments.php - именно в нем нужно сделать небольшую правку).
Что-то не нашёл :/
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #43 : 20.12.2010, 15:52:02 »

Что-то не нашёл :/
плохо искали, вот например одна тема: http://www.joomlatune.com/forum/index.php/topic,732.0.html, но точно была еще одна, я пошагово описывал.
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #44 : 20.12.2010, 21:23:37 »

Исправил, как написано по ссылке. Написал коммент — уведомление не пришло.
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #45 : 20.12.2010, 21:45:49 »

Исправил, как написано по ссылке. Написал коммент — уведомление не пришло.
ну если автопубликация выключена, то пока не опубликуете и не придет.
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #46 : 20.12.2010, 21:51:47 »

Я что, совсем тупой что ли? Опубликовал, естественно. Ничего не пришло.
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #47 : 28.12.2010, 23:33:18 »

ну если автопубликация выключена, то пока не опубликуете и не придет.
Это не относится к публикации через ссылку в письме-уведомлении??
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #48 : 29.12.2010, 11:35:01 »

Это не относится к публикации через ссылку в письме-уведомлении??
Нет, не относится - по этой ссылке по идее все должно работать. Или у вас не работает?
Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #49 : 29.12.2010, 17:54:21 »

Всё, после внесения изменений в admin.jcomments.php, если публиковать записи через админку, то подписавшимся пользователям приходят уведомления об ответах. А если через ссылку в письме, то не приходят.
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #50 : 29.12.2010, 20:00:28 »

А если через ссылку в письме, то не приходят.
Откройте файл JComments.php и замените:

Код
						case 'publish':
$comment->published = 1;
$comment->store();
на
Код
						case 'publish':
$comment->published = 1;
$comment->store();
 
// send notification to comment subscribers
JComments::sendToSubscribers($comment, true);

Записан
Takohashi
Осваиваюсь на форуме
***

Репутация: +7/-3
Offline Offline

Пол: Мужской
Сообщений: 88



« Ответ #51 : 29.12.2010, 20:02:41 »

Это что даёт? Отправляет уведомление после публикации через почтовое сообщение?
Записан
bzzik
JComments Tester
*

Репутация: +219/-0
Offline Offline

Пол: Мужской
Сообщений: 3798


Contra Gaming Community


« Ответ #52 : 29.12.2010, 20:05:21 »

Это что даёт? Отправляет уведомление после публикации через почтовое сообщение?
Именно так.
Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #53 : 08.01.2011, 18:33:43 »

Ура! Наконец то добился результата - нажимаю по ссылке "опубликовать", а именно так я и публикую - зачем мне лезть в админку, чтобы коммент опубликовать, так вот, нажимаю и письмо подписчикам приходит!!

Сделал оба исправления(что описывалось выше и из др. ветки), сайчас опишу их тут вместе, чтобы было всем удобнее, кстати, автор даже в версии 2,2,0,2 НЕ ИСПРАВИЛ этот баг, я добавлял коды и видел, что их еще нет.
Итак, вот, что я сделал(как было указано), чтобы всё заработало:
1. (ответ взял тут: http://www.joomlatune.com/forum/index.php/topic,732.0.html) Спасибо "jakow86":
Идем в administrator/components/com_jcomments/admin.jcomments.php
Ищим там строку
Код:
"function publish( $publish )" (должна быть на 599 строке) и после строк:
$db = & JCommentsFactory::getDBO();
$db->setQuery("UPDATE #__jcomments SET published='$publish' WHERE id IN ($ids)");
$db->query();

добавляем:

Код:
// HACK
      if($publish){
        $row = new JCommentsDB($db);
        
        require_once (JCOMMENTS_BASE.DS.'jcomments.php');
        
        foreach($id as $comment){
      if ($row->load($comment)) {
            JComments::sendToSubscribers($row);
          }
        }
      }
      // END HACK

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

Но, для того, чтобы уведомления приходили, когда администратор публикует их по ссылке из почты, нужно сделать второе исправление:

2.

идем в components/com_jcomments/jcomments.php

там находим строки:

                     
Код:
case 'publish':
$comment->published = 1;
$comment->store();

и добавляем к ним:

                     
Код:
// send notification to comment subscribers
JComments::sendToSubscribers($comment, true);

(за это исправление спасибо автору "smart")

Уважаемый автор компонента, пожалуйста вшейте эти изменения в дистрибутив компонента. Чтобы люди больше не мучились.



Быть может кто-то знает - почему некоторые файлы компонента дублируются в :
components/com_jcomments/
и в
administrator/components/com_jcomments/
?
Всем спасибо за решение проблемы!
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #54 : 09.01.2011, 12:08:02 »

Уважаемый автор компонента, пожалуйста вшейте эти изменения в дистрибутив компонента. Чтобы люди больше не мучились.
они туда включены еще летом, просто у меня (это уже стало традицией) затянулся выпуск очередной версии.

Быть может кто-то знает - почему некоторые файлы компонента дублируются в :
components/com_jcomments/
и в
administrator/components/com_jcomments/
какие именно файлы у вас дублируются? никаких дублирующихся файлов быть не должно...
Записан
fenixreal
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #55 : 10.01.2011, 22:01:50 »

Относительно дублирования файлов - мой какой-то баг, видать переустанавливал или еще что, сейчас переустановил и всё ок.
Классный компонент, теперь на 100% радует!
Автор, пожалуйста укажите свой r кошелек, перекину копеечку.
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #56 : 11.01.2011, 18:07:59 »

Автор, пожалуйста укажите свой r кошелек, перекину копеечку.
все реквизиты есть у меня в подписи...
Записан
coldmember
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 29


« Ответ #57 : 31.01.2011, 15:32:28 »

всё сделал как fenixreal показал, но уведомления никуда не доходят...

Может как то можно  сделать чтобы уведомления появлялись прямо в профиле ? если использую CommunityBuilder?
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #58 : 31.01.2011, 15:51:46 »

всё сделал как fenixreal показал, но уведомления никуда не доходят...
значит что-то упустили
Записан
Rchernovol
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #59 : 02.02.2012, 01:11:48 »

А как сделать чтобы галочка "Подписаться на уведомления о новых комментариях" была поставлена по умолчанию?
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #60 : 03.02.2012, 01:39:07 »

А как сделать чтобы галочка "Подписаться на уведомления о новых комментариях" была поставлена по умолчанию?
во-первых ваш вопрос не имеет никакого отношения к данной теме, а во-вторых он уже обсуждался на форуме и если поискать найдете ответ.
Записан
Страниц: 1 [2]  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet