JomSocial Plugin

  • 87 Ответов
  • 39678 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
JomSocial Plugin
« : 29.04.2009, 19:34:37 »
Итак, мой первый на моём веку самописный плагин! Прошу сильно не бить - но вроде пашет, как оно того требует.

В чём его суть?
Когда пользователь добавляет комментарий к материалу, то в JomSocial Activity Stream появляется новое событие типа: пользователь добавил (а) новый коммент к такому-то материалу. Естественно название материала и ссылка на него присутствуют.

Также начисляются очки за: добавление комментария, удаление комментария и оценку комментария.

Не забудьте запустить в JomSocial сканирование новых правил (появятся новые правила для JComments) и настроить их.

Версия для Joomla! 2.5 - совместима c JComments 2.3.0+
27.03.12 - версия 1.0

Обновление 03.04.12 - версия 1.1
- фикс загрузки языка

Версия для Joomla! 1.5 - совместима с JComments 2.2.0.2
Обновление 17.08.09 - версия 1.2
- переименовал плагин в jcomments.jomsoc (те кто использовал старую версию (1.1) - необходимо её удалить, а потом установить эту!);
- добавил возможность добавления очков пользователям по двум событиям: добавление комментария и удаление комментария.

Обновление 15.11.11 - версия 1.3
- добавил возможность добавления очков пользователям при оценке комментария: Comment Vote Up и Comment Vote Down.

Версия для Joomla! 1.5 - совместима с JComments 2.3.0+
27.03.12 - версия 1.4

Пользуйтесь на здоровье. Но это неофициальная версия, так что юзайте на свой страх и риск  ::)

[вложение удалено Администратором]

*

The Yur

Re: JomSocial Activity Stream
« Ответ #1 : 01.06.2009, 01:43:50 »
А карма юзера в JomSocial увеличивается при добавлении коммента?

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #2 : 01.06.2009, 12:31:27 »
Нет. Plugin только для Activty Stream. User points здесь не присутствуют (они и не должны быть связаны с Activty Stream).

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #3 : 01.06.2009, 13:07:16 »
В принципе, если мы этот плагин назовем не JomSocial Activity Stream, а просто JomSocial Activity, и добавим в него 2 параметра: добавлять записи в Activity Stream и добавлять поинты пользователю, то он сможет решать обе задачи. При этом, это будет все-таки один плагин, а не десяток.

Единственное, не очень понятно, каким образом производить первичную настройку JomSocial. Чтобы выставлять пользователям поинты нужно сначала в таблицу jos_community_userpoints добавить правила для JComments. Но у плагинов нет никаких функций типа как у компонентов com_install, которые бы выполнялись при установке. А каждый раз проверять - расточительно. Можно конечно возложить это на пользователя - дав инструкцию какие правила надо добавить, но это опасно - наверняка найдется пару десятков человек, которые что-нибудь, да напутают.

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #4 : 01.06.2009, 13:43:56 »
Именно так, есть тут свои нюансы.

С другой стороны - очень расточительно проверять?

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #5 : 01.06.2009, 14:26:21 »
В принципе есть одна мысль, вечерком реализую. Единственное, что она будет работать только с JComments 2.1 и выше. На версии 2.0 этот трюк не получится.

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #6 : 01.06.2009, 14:32:01 »
Ну 2.0 уже почти в прошлом :) Ладно, без оффтопа.

Я кстати ещё не совсем понял, за что отвечает строчка $act->cmd = 'wall.write' ? Может стоит переделать на jc.write - не совсем ясно, на что это влияет.

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #7 : 01.06.2009, 14:44:42 »
А там нужно несколько иначе, вот так добавляем:

Код: (php) [Выделить]
require_once(JPATH_BASE.DS.'components'.DS.'com_community'.DS.'libraries'.DS.'karma.php');
CUserPoints::assignPoint('jcomments.add');

Ну и регистрируем в JomSocial набор действий:

jcomments.add
jcomments.remove
jcomments.vote

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #8 : 01.06.2009, 15:01:25 »
Это то ясно :) Мне не ясно на что влияет $act->cmd = 'wall.write' в Activity Stream? Я в этом не разобрался... Можно ли её переписать на $act->cmd = 'jcomments.add' к примеру?

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #9 : 01.06.2009, 15:15:49 »
Думаю не просто можно, а нужно, вот смотри кусок кода у них:

Код: (php) [Выделить]
$act = new stdClass();
$act->cmd = 'application.remove';
$act->actor = $my->id;
$act->target = 0;
$act->title = JText::_('CC ACTIVITIES APPLLICATIONS REMOVED');
$act->content = 'This is the body';
$act->app = $name;
$act->cid = 0;


CActivityStream::add($act);

CFactory::load( 'libraries' , 'userpoints' );
CUserPoints::assignPoint('application.remove');
Как видишь, то, что уходит в $act->cmd, совпадает с первым аргументом в assignPoint.

Если посмотреть код CActivityStream, то можно увидеть, что изначально увеличение количества поинтов было прямо там, и лишь потом, они это дело вынесли в отдельный класс. Так что менять на jcomments.add надо.


*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #11 : 17.08.2009, 14:28:07 »
Обновление 17.08.09
- переименовал плагин в jcomments.jomsoc;
- добавил возможность добавления очков пользователям по двум событиям: добавление коммента и удаление коммента
Кроме установки самого плагина необходимо приложенный файлик jomsocial_rule.xml закинуть в корневую папку JComments (components/com_jcomments), далее запустить в JomSocial -> User Points сканирование новых правил (появится два новых правила для JComments) и настроить их.

Те кто использовал старую версию (1.1) - необходимо её удалить, а потом установить эту!

Серж - проверь пожалуйста новую версию. А то из меня писака ещё тот (делал по их документации) :) Мне не нравится как инклюдятся файлы (по несколько раз, хотя это и не влияет не на что) - инклюды можно вынести за функции?

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #12 : 17.08.2009, 15:41:33 »
Кроме установки самого плагина необходимо приложенный файлик jomsocial_rule.xml закинуть в корневую папку JComments (components/com_jcomments)
по идее от этого шага мы можем избавиться, включив данный файл в дистрибутив JComments...

Мне не нравится как инклюдятся файлы (по несколько раз, хотя это и не влияет не на что) - инклюды можно вынести за функции?
да не, ничего страшного там нет, все равно эти функции вызываются по одному разу, только когда срабатывает соотв. событие. А учитывая тот факт, что они могут и не вызываться (ну не будет пользователь ничего добавлять), то сейчас как раз наиболее экономный вариант. В противном случае независимо от того вызовутся они или нет, при загрузке плагинов группы JComments подключались бы лишние файлы. Так что я думаю, сейчас все нормально.

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #13 : 17.08.2009, 16:23:26 »
по идее от этого шага мы можем избавиться, включив данный файл в дистрибутив JComments...
Аха, можно. Если так подумать, то больше правил никаких и нет?

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

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #14 : 17.08.2009, 16:31:20 »
Аха, можно. Если так подумать, то больше правил никаких и нет?
оки
ну можно начислять еще за оценку комментариев...

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #16 : 17.08.2009, 17:41:38 »
В теории да. На практике - набивание очков :)
Если мы говорим о набивании, то их можно и комментариями набивать... а так, ничего зазорного в том, что пользователь оценивает чужие комментарии я не вижу. Никто же не заставляет приравнивать оценку к добавлению комментария, можно за это действие давать в 10 раз меньше очков, но все-таки давать.

*

Оффлайн djos

  • ***
  • 139
  • [+]0 / [-]0
  • http://adsound.net
    • Просмотр профиля
Re: JomSocial Activity Stream
« Ответ #17 : 17.08.2009, 18:00:33 »
А вы не планируете полную поддержку коментариев в джум социал? Ну там в групах, фотках и тд

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #18 : 17.08.2009, 19:12:35 »
А вы не планируете полную поддержку коментариев в джум социал? Ну там в групах, фотках и тд
в настоящее время для этого нужно довольно сильно влезать в ядро JomSocial, чего я точно не хотел бы делать... Если вдруг авторы сделают возможность использования сторонних комментариев - я напишу соотв. плагин. Но вообще, я думаю это маловероятно, потому как у них есть свой коммерческий компонент комментариев JomComment и вряд ли они кого-то пустят на свой рынок... А поддерживать подобную интеграцию на уровне модификаций честно говоря хлопотно - у меня на это нет времени.

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #19 : 17.08.2009, 19:28:44 »
А вы не планируете полную поддержку коментариев в джум социал? Ну там в групах, фотках и тд
Хы, я над этим задумывался тоже... Но там нужно дофига лопатить...

*

Оффлайн djos

  • ***
  • 139
  • [+]0 / [-]0
  • http://adsound.net
    • Просмотр профиля
Re: JomSocial Activity Stream
« Ответ #20 : 17.08.2009, 22:55:59 »
Ясно...тогда видимо придется юзать их компонент а жаль (( Мне он кажется тупым и корявым

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #21 : 18.08.2009, 13:29:32 »
Серж - мне треба ещё более усложнить задачу :) Можно ли как-то в плагине получить имя компонента, к которому оставлен коммент? Я хочу для своего сайта сделать кое какие ограничения.

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #22 : 18.08.2009, 14:48:35 »
Можно ли как-то в плагине получить имя компонента, к которому оставлен коммент?
да, конечно... тебе в плагин передается объект $comments, у него в поле object_group и находится название компонента.

*

Оффлайн b2z

  • *****
  • 7740
  • [+]739 / [-]0
  • Пол: Мужской
  • Разраблю понемногу
    • Просмотр профиля
    • NorrNext - расширения для Joomla! и Pagekit
Re: JomSocial Activity Stream
« Ответ #23 : 18.08.2009, 18:04:19 »
да, конечно... тебе в плагин передается объект $comments, у него в поле object_group и находится название компонента.

О чём-то таком я и подумал. Свою затею реализовал изменив код добавления очков на:
   
Код: (php) [Выделить]
if (($comment->userid) && ($comment->object_group == 'com_content')) {
CuserPoints::assignPoint ('com_jcomments.comment.add');
}

*

Оффлайн 4.n

Re: JomSocial Activity Stream
« Ответ #24 : 31.08.2009, 18:07:06 »
в настоящее время для этого нужно довольно сильно влезать в ядро JomSocial, чего я точно не хотел бы делать... Если вдруг авторы сделают возможность использования сторонних комментариев - я напишу соотв. плагин. Но вообще, я думаю это маловероятно, потому как у них есть свой коммерческий компонент комментариев JomComment и вряд ли они кого-то пустят на свой рынок... А поддерживать подобную интеграцию на уровне модификаций честно говоря хлопотно - у меня на это нет времени.
Сергей, заранее извиняюсь, за вероломное вторжение, в ваши дальнейшие планы и за оффтоп.
Но все же, возьму на себя смелость спросить.
Может свой компонент социалки осилите? Помнится где то проскакивали упоминания о планах разработки блогов by Smart...  
Если это не сон, может тогда и компонент "социалки с блогами" - реально?
Предпосылок то полно и пример есть.
Правда, стоит признать, симбиоз прямо скажем не доделанный и не очень удачный.
1. JomSocial - не идеален, хотя симпотичен. (на мой взляд, лучшее из того что есть по социалкам на J!1.5)
2. MyBlog - тоже не подарок, (достоинство: внешне симпатичен, о недостатках все знают...)
3. JomComments - не наш выбор! (JComments - вне конкуренции!)

Было бы круто утереть буржуям нос... Еще и по двум верхним позициям.
С вашим подходом к делу и профессиональным отношением, уверен будет бомба.
Понятно, что время - деньги, и того, и другого, вечно не хватает.
Так мы, чем сможем, тем поможем.
Кто талантом не обижен, с кодом и дизайном помогут, а кто не талантлив - денег подкинут.
Ну и потестим всем миром =)
Думаю желающие по участвовать найдутся.
Хотя бесспорно, гиморно все это...
« Последнее редактирование: 31.08.2009, 19:09:04 от 4.n »

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #25 : 31.08.2009, 18:16:54 »
В общем это уже несколько флейм, и данное обсуждение выходит за тему топика, но раз возник вопрос я отвечу - но чур здесь не обсуждать, дабы не захламлять топик. Обсуждать тут действительно нечего.

Понятно, что время - деньги, и того, и другого, вечно не хватает.
Так мы, чем сможем, тем поможем.
Кто талантом не обижен, с кодом и дизайном помогут, а кто не талантлив - денег подкинут.
у меня денег на создание такого расширения нет, делать его коммерческим я не хотел бы, потому как нет никакого желания затем бороться с пиратами (а то что покупать будут единицы у меня сомнений нет), в развитие расширения на пожертвования - тоже не верю, есть прекрасный пример JComments - за последние полгода пожертвования на развитие составили что-то около 15-25$ (не считая 2-х пользователей, которые финансово отблагодарили за оперативное решение их проблем). В пресс-релизе о выходе новой версии везде были указаны реквизиты как помочь проекту - с момента выхода последней версии прошел месяц - 0$. Как вы понимаете, 25$ за полгода это не те деньги, чтобы создавать расширения.

*

Оффлайн smart

  • *******
  • 6856
  • [+]1311 / [-]14
  • Пол: Мужской
  • снова дома...
    • Просмотр профиля
    • Новости Joomla на русском
Re: JomSocial Activity Stream
« Ответ #26 : 12.04.2010, 16:44:22 »
Так, новая версия JComments уже будет содержать jomsocial_rule.xml в дистрибутиве, и при установке он будет помещаться, как и положено в папку /components/com_jcomments/. Так что больше необходимости копировать его вручную не будет.

Re: JomSocial Activity Stream
« Ответ #27 : 01.07.2010, 23:05:06 »
Доброе время суток, Активити стрим не находит перевод CC ACTIVITIES APPLLICATIONS REMOVED, прописал его се равно не помогло. как это исправить и где?? еще один вопрос, Расширенный поиск - Добавить критерий, нечего не происходит? Почему? как это исправить ?
« Последнее редактирование: 02.07.2010, 03:02:28 от Power4ik »

*

Оффлайн Ecspert

Re: JomSocial Activity Stream
« Ответ #28 : 10.09.2010, 23:07:38 »
благодарю за доработку, а можно сделать чтобы текст комментария тоже отображался? (первые 50 символов к примеру)
и ещё в строке активности теперь появляются новые комментарии по всей системе, даже из статей или из других компонентов, наверно оно так и лучше

*

Оффлайн 4.n

Re: JomSocial Activity Stream
« Ответ #29 : 15.09.2010, 21:05:10 »
благодарю за доработку, а можно сделать чтобы текст комментария тоже отображался?
Файл: /plugins/jcomments/jcomments.jomsoc.php
    $act->content     = '';заменить на
    if ($comment->userid == '0') {
    $act->content     = '';
    } else {
    $act->content     = $comment->comment;
    }
Таким образом в поле контент, коммент авторизованных пользователей будет отображаться,
 а коммент гостей не будет показан, т.к должен пройти модерацию!
В активности будет только сообщение о том что гость оставил коммент к такому то объекту...