Древовидные комментарии и извещения по email

15.05.2007

Если бы я был знаменитостью, и в одном из интервью меня бы спросили, как я отношусь к ЖЖ, то не растерялся бы. Но поскольку никто не спрашивает, задам себе такой вопрос сам.

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

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

Во-вторых, ЖЖ отлично приспособлен под ведение дискуссий. В чем это заключается?

Древовидные комментарии и возможность сворачивать ветки — раз.

Извещения по email — два. Письма содержат не ссылки на новые комментарии, а сам текст комментариев. ЖЖ извещает только о том, что имеет к человеку какое-то отношение.

Нацеленные извещения сложно реализовать без древовидных комментариев.

Теперь посмотрим на разное ПО для дискуссий.

Форумы. Древовидные комментарии — относительная редкость. Существующие реализации неудобны. Лучшее из извещений по email — ответы в теме. Текст ответов почти никогда не присылается. Часто извещение высылается только одно, и пока не сходишь по ссылке, больше ничего не приходит. Общая идея: пользователь постоянно должен быть на форуме и откручивать баннерные показы.

Блоговые движки. Древовидные комментарии тоже не слишком популярны. Извещения по email — относительная редкость. Там, где они есть, присылаются все комментарии к заметке. Общая идея: блог — место для общения автора с читателями, автор — пишет заметки, читатели — комментируют, общения не нужно.

Я ищу идеал, который умеет поддерживать дискуссии на том же уровне, что и движок ЖЖ. Хорошо бы еще и предоставлять всю эту функциональность анонимным пользователям. Знаете что-нибудь такое?

В разное время пробовались Wordpress, Drupal, Textpattern, b2evolution, Serendipity, Nucleus CMS, Typo3, PHPBB, Vanilla, vBulletin. Делать, как ЖЖ, никто из них не умеет.

Новости 16 мая
В ru_cms ответ нашелся мгновенно: либо interra, либо исходники жж.

Комментарии

Efreeti, 15.05.2007 15:37

А мне вот наоборот ЖЖ не нравится из-за древовидных комментариев. Точнее сказать там есть ряд неудобств. Во-первых сворачивания/разворачивания я не нашёл. Во-вторых иногда теряешься кто кому отвечает (так как идёшь по одной ветке, потом внизу натыкаешься на коммент к одному из, и сложно понять, к кому. Ну и в третьих это поощряет оффтопик.

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

В общем - идеала нет.

Дмитрий Сергеев, 15.05.2007 16:03

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

larin, 15.05.2007 23:25

Мне древовидные комментарии очень нравятся, они вносят порядок и структурность. Когда число комментариев переваливает хотя бы за 15 - это чувствуется.
Поэтому на свой новый сайт я написал именно древовидные комментарии.
Ведь интернет родился из общения, общением живет и так будет продолжаться )))
А древовидные комментарии - общение в "живом виде"

Дмитрий Сергеев, 15.05.2007 23:30

Именно порядок. Когда ветки не сильно ветвятся, то совсем хорошо.

Кстати, я тут нашел еще конкурента твоему книжному сайту -- http://x-libris.net/ Видел такой?

larin, 16.05.2007 09:10

Видел. Это пока единственный сайт, такого рода, в котором еще держится душа. ))) Было всего их 5 и все заглохли. Т.к. практически све были построены на готовых, чужих движках и создатели понятия не имели как там, что работает.
В общем, конкурента x-libris.net я не боюсь )))
Пока у меня есть только один конкурент, действительно сильный и грамотный... о нем мы уже разговаривали.

Денис Болтиков, 21.05.2007 09:40

www.livelib.ru
этот?

larin, 21.05.2007 10:56

Нет! Ты , что?! ))))
имхоклаб - вот это конкурент

Денис Болтиков, 21.05.2007 11:03

А мне что-то не очень IMHOclub.

larin, 21.05.2007 11:15

Никому не нравится - тормознутый и непонятный монстр. ))) Но авторы утверждают, что у ни мощная система рекомендаций. Я пока этого не заметил... )

Денис Болтиков, 21.05.2007 11:28

Поэтому я пока пользуюсь livelib.ru

Как запустится твоя тоже обязательно ознакомлюсь :)

larin, 21.05.2007 11:34

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

Денис Болтиков, 21.05.2007 11:43

Мне вполне хватит поиска по тегам и рецензий :)

larin, 21.05.2007 11:55

На первых порах у меня так и будет ))) Так, что уже скоро )

Серый Кот, 18.05.2007 19:31

Вот-вот - и я для МоёМесто.ru сделал древовидные комментарии с отправкой ответа по e-mail. Концепция естественно взята с жж. И я теперь пожалуй могу сказать почему их мало кто делает - трудоёмкость по сравнению с линейными комментариями возрастает на порядок.
(Справедливости ради можно вспомнить старый движок авто.ru - там были древовидные комментарии. Но по одному комментарию на страницу(!). Очень просто делать, но дико неудобно пользоваться)

Дмитрий Сергеев, 19.05.2007 11:37

Ничего себе, на «Моем Месте» есть древовидные комментарии! При случае попробую :)

Если уж такая штука сделана, то нужно социальную составляющую на первый план выводить. Получится ЖЖ на базе закладок. Или dirty.

Хорошо бы показывать обсуждаемые закладки на видном месте. Ну и как-то стимулировать ведение дискуссий.

Серый Кот, 21.05.2007 19:14

Спасибо за идею - действительно надо самые комментируемые ссылки вынести на отдельную страницу. Хотя dirty все равно вряд ли получится - это же вопрос комьюнити а на не софта...

Кстати к слову пришлось - зарегистрировались бы на toodoo - там у вас можно сказать клуб читателей http://toodoo.ru/blog/8014/index, а автора у сайта нет :)

Дмитрий Сергеев, 22.05.2007 12:44

Кстати, да. Sheller говорил, что «Моему месту» нужна специализация. А я бы попробовал сделать живое сообщество. Может и meet.dirty.ru выйдет :)

А с toodoo я попробую, но там авторам сайтов нужно кнопку вешать на главную. Не хотелось бы.

Денис Болтиков, 22.05.2007 12:51

Можно повесить, провести проверку и снять.

Я скоро у себя так и сделаю, в смысле сниму. Оставил бы, но предложенные цветовые решения мне совершенно не нравятся.

Виктор Захарченко, 22.05.2007 15:27

Денис, не нравятся цветовые решения по кнопке? Есть какие-то идеи, предложения?

Денис Болтиков, 22.05.2007 15:40

Есть. Посмотреть варианты цветов у счетчика liveinternet.ru :)

Размеры тоже хочется разные, такие как 88x31, 88x15, 31x31 ) Чтобы кнопки легко можно было сочетать с другими кнопкам и счетчиками.

Виктор Захарченко, 22.05.2007 18:54

Записал себе. В принципе - вполне логичный вариант, дабы не ломать дизайн.

lusever, 04.06.2007 21:08

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

И автору сайта: было бы хорошо если у формы, поля ввода имели нормальные имена. edit[mail] автокомплит в жизни не узнает, что тут почтовый адрес.

Дмитрий Сергеев, 04.06.2007 22:57

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

larin, 22.05.2007 13:24

Вешать кнопку не обязательно. Там можно просто html-комментарий на страницу добавить

Виктор Захарченко, 22.05.2007 15:24

Не надо ничего вешать - просто код поставьте для того, чтобы мы убедились в авторстве. Код невидимый для всех, кроме робота тудушного. А кнопка - это по желанию. Лучше уж виджет с портретами читателей. Что тоже, конечно, по желанию...

Денис Болтиков, 22.05.2007 15:41

Виджет лишнее )) нет от него пользы)

а кнопка знак благодарности за хороший проект :)

Виктор Захарченко, 22.05.2007 18:53

Позвольте поспорить - в него сразу заложен функционал, которого у MyBlogLog нету - можно получить быстрый доступ к профилю или отправить сообщение человеку. Это только первые виджеты наши.

Денис Болтиков, 22.05.2007 18:59

Да, функционал полезный, но в двух случаях.

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

б) Значительная часть читателей зарегистрирована на туду :)

Но вот только это невилируется тем, что в большинстве своем читают через RSS, а на сайт только заходят откомментировать.

А вообще все эти кнопки, виджеты и прочее, тяга к красивым игрушкам :) Я не говорю что это плохо, или что лишнее...

Дмитрий Сергеев, 22.05.2007 16:22

Спасибо за разъяснения, а то я сначала не разобрался да и бросил :)

larin, 19.05.2007 17:36

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

И в чем выражается эта трудоемкость??? Я сделал древовидные комменты для "Моей библиотеки" и большой сложности не заметил. В чем сложность? ИМХО, они ни чем не отличаются в реализации от линейных. Конечно если правильно выбрать модель данных.

Серый Кот, 22.05.2007 17:09

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

larin, 22.05.2007 17:26

Какая рекурсия??? Зачем она здесь не нужна и вредна.
Я ниже уже отвечал на такой вопрос ищи в Гугле: Материализованные пути.
И никакой рекурсии.
А указатели зачем?

Денис Болтиков, 20.05.2007 16:11

А есть в сети описания алгоритмов механизма древовидных комментариев. Изобретать велосипед совершенно не охото.

Денис Болтиков, 20.05.2007 16:11

Извиняюсь, это был вопрос :)

Дмитрий Сергеев, 20.05.2007 16:51

Описания алгоритма не попадалось что-то. Но думаю, его несложно восстановить по исходным кодам ЖЖ или Интерры. Еще можно смотреть модуль «Comment» из базовой поставки Drupal. А еще у Wordpress есть модуль «Threaded comments».

Как минимум, у каждого комментария должен быть уникальный идентификатор и ссылка на родительский элемент (идентификатор другого комментария или поста). Из чего можно сделать вывод о желательной похожести комментариев и постов. Дальше можно долго изобретать :)

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

Денис Болтиков, 20.05.2007 19:21

Это понятно, что тако можно :) Просто думал, что есть уже статьи на эту тему. Помню, что одну видел года два назад. Надо поискать в яндексе и гугле.

larin, 21.05.2007 09:16

Статей куча! ))) Поищи в Гугле "Материализованные пути" и будет тебе счастье )

Денис Болтиков, 21.05.2007 09:18

До такого поискового запроса не в жизнь бы сам не дошел :)

larin, 21.05.2007 09:33

Учи математику ))) В жизни прогодится.

Денис Болтиков, 21.05.2007 09:38

Учил когда-то :)
а сейчас уже поздно :)

larin, 21.05.2007 09:36

Только один совет. Сделай анализ максимального кол-ва комментариев. И пути делай без знака разделителя.
Т.е. выбери какие либо число разрядов, например, 7:
1 | 0000001
2 | 00000010000002
3 | 0000003
Здесь 2 ответ на 1.

Денис Болтиков, 21.05.2007 09:38

Спасибо, учту :)

ARKAN, 26.06.2007 15:27

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

Дмитрий Сергеев, 26.06.2007 23:27

Постраничную разбивку по-моему лучше вообще не делать. А длинные ветки можно сворачивать.

Хотя в ЖЖ разбивка есть -- и ничего.

Helge, 29.09.2008 17:29

Разбивку по страницам надо делать только для веток первого уровня. Все остальные - в свернутом виде. И разворачивать их по отдельному запросую

ARKAN, 27.06.2007 11:26

Постраничная разбивка нужна обязательно.
Иначе это просто глупость.
Сворачивать ветки нужно, иначе рекурсивный запрос с LIMIT просто не будет работать. Постраничную выборку нужно делать по нулевым тредам.
Щас как раз работаю над этим вопросом. В блоге позже выложу как реализовал. Потому что тема очень важна и практически никто ее не реализовывал нормально.

Дмитрий Сергеев, 27.06.2007 11:43

Так это здорово, и интересно будет почитать. А то на словах, конечно, всё выглядит неубедительно.

Кстати, тут в комментариях вроде упоминался способ без рекурсии. Что-то про материализацию путей.

У каждого сообщения появляется еще одно поле. Выгялдят его значения примерно так
01/
00.01/
00.00.01/
02/
00.02/

Ну и плюс хранится ссылка на ключ родительского элемента.

larin, 27.06.2007 13:24

Ссылка на родительский элемент там на фиг не нужна!
Родительский элемент уже задан в самом пути!!!

Дмитрий Сергеев, 27.06.2007 13:50

Сорри-сорри :) В Друпале эта ссылка не на родительский комментарий, а на сам пост.

ARKAN, 27.06.2007 11:46

как по мне то для дерева вполне достаточно id и parent_id
и с этими двумя ключами можна творить все. А вообще очень много зависит от конечной потребности.

Дмитрий Сергеев, 27.06.2007 11:56

Это да. Но рекурсия всё-таки ресурсоёмкая штука.

У меня есть один сайтик с бешенной рекурсией, и чувствую, скоро придется включать кеширование. Благо в Кейке это легко.

Сергей Яров, 01.06.2008 14:56

Рекурсия не нужна. Нужно поле с уровнем вложенности и сортировка комментов по дате. Тогда вывод разбить на странице очень просто и нагрузка минимальна

Inge Daptule, 05.07.2008 10:35

Если в форумах, блогах или комментариях будет предусмотрено поле для домашней страницы и это поле не будет закрыто для индексации, то будет обеспечено 15-20% дополнительных посетителей. Но комментарии обязательно должны гарантировать ТОЛЬКО ручное добавление. Полезно так же внизу страницы давать заголовки свежих сообщений или наиболее популярных тем.
С уважением