Все, кто тесно работал и работает с друпалом, знают один из его главных минусов - плохая поддержка форумной системы.
Замечу, что все нижесказанное в некоторой мере относится и к блогам друпала, ибо форум и блог во многом похожи. Например, управление комментариями и смайлики.
До этого уже несколько раз делались попытки осветить эту проблему, но... кроме [url=http://drupal.ru/blog/982]Natalie[/url], никто глобально за проблему и не брался...
В ее цикле статей указываются 2 пути - форум родной и форум сторонний (VBulletin, CMF, etc). Мне тоже интересен первый путь, т.к. второй уже испробован, но не понравился - неудобно 2 продукта поддерживать, и форумы тяжелые (лично мне больше нравится форумный движок [url=punbb.org]PunBB[/url], который вообще в данный момент не имеет интеграции с друпалом).
Данную статью вначале я планировал написать, как продолжение к статьям Натали. Однако, чуток поразмыслив, пришел к выводу - слишком уж разные они получатся.
У Натали больше ориентация была на новичков, было все доступно и пошагово расписано. Мне же, более всего, требовалась практичность, функциональность. Где-то в мае была опубликована [url=http://drupal.ru/node/5696]третья статья[/url], но, кроме воды, я там ничего не увидел (надеялся прочесть про описание нужных модулей). Как говорится - не нравится - сделай сам.
После длинного вступления - что брал за основу:
[list=1]
[*]Обеспечить максимальное приближение к современным форумам, т.е. превратить [i]это нечто[/i] в привычный форум.
[*]За идеальный форум брался PunBB, минимализм которого потрясает многих. Тем не менее, обращалось внимание на необходимые фишки, вроде закачки файлов и модерирования.
[*]Статья предназначена отнюдь не для новичков, необходимы знания по установке модулей, их настройке, "прикручиванию", разрешению для пользователей. Русификация даже не затрагивается.
[*]Статья представляет собой скорее набор ссылок "куда-копать", нежели подробное руководство.
[*]В списке перечисляются: вначале самые важные форумные свойства, далее идут менее важные, в конце - просто "удобности" и навороты.
[*]Предполагается, что форум уже более-менее настроен (по тем же статьям Натали).
[/list]
Как получить хороший форум - по пунктам:
[list]
[*][url=http://drupal.org/project/bbcode]BB-Code[/url].
Важный атрибут любого форума. Лично для меня форум без bb-кодов - не форум.
[*]WYSIWYG / удобный редактор.
Предпочтения отдаю [url=http://drupal.org/project/bueditor]BUEditor[/url] + [url=http://drupal.ru/node/6892]кнопки[/url]. Можно использовать [url=http://drupal.org/project/quicktags]quicktags[/url], как более простой и легкий ему аналог. Желающие могут поискать информацию по TinyMCE, FCKEditor, HTMLArea.
[*]Модерирование форума, настройки доступа.
Организуется все это дело с помощью модуля [url=http://drupal.org/project/forum_access]Forum Access[/url] и необходимого для его работы [url=http://drupal.org/project/acl]ACL (Access control list API)[/url].
При создании контейнера можно указать, кто может его просматривать. При создании форума - уже больше настроек. Можно распределить какие группы могут просматривать/писать/редактировать/удалять сообщения. Модераторы для форума устанавливаются только по никам, по группам нельзя. Т.е. если у вас много форумов, то придеться для каждого указывать модератора, нельзя указать группу глобальных модераторов.
Также может пригодиться модуль [url=http://drupal.org/project/taxonomy_multi_edit]Taxonomy multi edit[/url] - для массового перемещения топиков из одного форума в другой.
[*]Жалоба, сообщить модератору.
Реализуется благодаря модулю [url=http://drupal.org/project/abuse]Abuse[/url].
Очень удобный модуль, можно использовать 2 типа жалобы - просто сообщить модератору(report abuse) и прямая жалоба(direct flag). Во втором случае сообщение, о котором сообщается, сразу же скрывается от пользователей. Такую возможность, например, можно дать активным пользователям форума.
В админке все тоже продумано до мелочей. Выводится текст жалобы, текст сообщения, и кнопки с действиями (разрешить / удалить / сообщить на e-mail об этом пользователю, на которого жалуются / забанить его). Употреблю журнальную фразу - модуль из раздела must have.
[*]Управление темами и сообщениями (комментариями).
Иначе говоря - перекинуть сообщения в другую тему, создать из сообщения - тему. Все это (и немножко еще другого) можно сделать с помощью [url=http://drupal.org/project/comment_mover]Comment mover[/url].
У него есть только пара существенных недостатков. Первый заключается в том, что действие можно осуществлять только над одним сообщением (нельзя выделить кучу, и отправить их в другую тему). А второй (скорее т.н. багофича) - что родительские сообщения тянут за собой всех детей. Таким образом, утаскивается в другой топик целая ветка, хотя нужно только одно родительское бывает. Хотя этот недостаток и решается, путем выполнения лишней работы.
Прочтение Readme данного модуля сэкономит много нервов. Крайне неудобный и сложный для понимания модуль, ИМХО.
[*]Смайлики.
Ну тут все просто. Слили модуль [url=http://drupal.org/project/smileys]Smileys[/url], активировали, настроили как надо (применять для нод / комментов, отображать панельку со смайлами), активировали его в фильтрах (форматах ввода).
[*]Аттач, прикрепление файлов.
Удобный модуль [url=http://drupal.org/project/comment_upload]Comment upload[/url].
Активируем модуль, указываем права (кто может закачивать файлы), и в типах материалов указываем для каждого материала - можно ли аттачить файлы к комментариям. Минус модуля в том, что нельзя указать типы и размеры файлов.
[*]Личка, личные сообщения.
Модуль [url=http://drupal.org/project/privatemsg]Privatemsg[/url].
Минимум настроек, максимум функциональности. Из настроек - количество сообщений на странице, таймаут для защиты от флудеров, возможность создать сообщение-приветствие для новых (регистрирующихся) пользователей. На данный момент (август 2007) лучше скачать стабильную версию 1.8, ибо 2.х, которая в разработке - сильно кривая.
[*]Подписка.
Пока не сильно занимался этим вопросом.
Копать в сторону [url=http://drupal.org/project/subscriptions]Subscriptions[/url], [url=http://drupal.org/project/simplenews]Simplenews[/url], [url=http://drupal.org/project/notify]Notify[/url].
[*]Ссылка "Цитировать" для комментария.
Обеспечивается модулем [url=http://drupal.org/project/quote]Quote[/url].
В него настройках можно еще указать то, у каких типов материалов ее выводить. По сути - просто обрамляет цитируемый текст кодом [quоte=автор]текст[/quоte]
[/list]
В целом - уже получается приличный форум. Только тему надо будет редактировать, и лишние ссылки убивать / выводить в виде рисунков.
На повестке дня (ака TODO):
[list]
[*] Подписка.
[*] Объявления администрации (блоками / модулем admin message).
[*] Дополнительные фильтры / bbcode (YouTube, флирк), [hide=XX].
[*] Мини-изображения при аттаче картинок.
[*] Версия для печати // скорее всего напишу отдельную статью.
[*] Голосования (реально ли как-нибудь совместить?).
[*] Глобальные модераторы.
[*] Подробно про WYSIWYG редакторы.
[*] Изменение темы. Нормальный постраничный вывод [1,2,3...9,10,Все](в списке тем), нормальный переход на последнее сообщение. Время в виде HH.MM.SS, а не XX минут назад.
[/list]
Комментарии
Отличное начало!
5) Недавно поднимали вопрос
гм...
9) На форуме уже был вариант решения как выводить в нормальном виде. Тут заядлых drupal-еров не переубедить, что небо должно быть голубым, а трава зеленой
5 - да, я читал. Но там еще есть некоторые нюансы, с которыми самому пришлось столкнутся (вывод комментов на печать, а не только ноды).
9 - комментарии в статьях Натали. Время точно, а вот насчет страниц - не припоминаю.
В закладки!
Будем разбираться
определённо, то что я лично давно с удовольствием бы узнал. огромный сэнкс.
http://drupal.org/node/154320 тоже озаботились
Чорного кобеля не отмоешь до бела
А надо.
КСЕОН, отличная статья.
С удовольствием познакомлюсь со всеми твоими мыслями.
PVasili, большое спасибо за тему.
Ща буду экперементировать.
(Эт ток у мну так бывает, открывал http://drupal.ru, что бы задать именно этот вопрос)
Спасибо за статью!
Для меня очень актуально, сам на этой неделе собирался разбираться с друпаловским форумом.
Небольшие комментарии:
Этот модуль к сожалению на данный момент не доведен до ума, в нем есть критические ошибки, что не позволяет использовать весь задуманный автором функционал.
В этом модуле используются лимиты размеров и разрешенные типы файлов заданные в настройках Upload.
KCEOH, молодец, подробно все описал, не знаю что добавить.
Глобальных модераторов можно сделать ролью, и через forum access дать ей доступ на модерирование всех форумов. И еще, для модерирования, очень нужный модуль – comment mover
И еще, такая мелочь, но мне очень не нравиться как сделаны подписи в Друпале, есть хороший модуль который исправляет подписи на динамические для 4 и 5 версий (как известно подпись лепиться в тело комментария на фазе его создания, и если пользователь её изменят, в старых постах остается старая подпись) на сколько я знаю в 6-ой версии подписи динамичны, и их вообще можно отключить. Вот сам модуль: signature
Вы кстати попробуйте установить этот ACL и Forum Access сделать приватные форумы, запостить несколько постов, а потом вырубить ACL и Forum Access, создать пост, и попытаться открыть его анонимным пользователем.
Кстати родился Drupal именно как BB
p.s.
Подписка – subscriptions, рекомендую!
2 Krotty@drupal.org
Мда, критических ошибок там немало однако... Не посмотрел, спасибо за замечание.
2 Ainur
В упор не мог найти, где там выставляются права роли, только определенному юзеру.
Про comment mover - пункт 5 повнимательнее почитай
А еще можно вырубить модули forum и comment и тоже попытаться посмотреть.
Вы не на Петросяна случайно работаете?
Content Not Viewable When ACL Disabled and Not Logged In
Создавая форум, выставляются какие роли могут читать, создавать, изменять или удалять темы, внимательней изучайте модули которые используете.
Очень интересует вопрос производительности такого решения: будет ли он уступать в производительности форумным движкам, например SMF при наплыве 500 пользователей?
Там только свои сообщения редактировать можно. Модерирование тут не при чем.
2 spartan
В зависимости от того, что на форуме будет. Если сбоку (сверху / снизу) будут блоки, которые генерируют много запросов, то может и уступать будет. Вообще, сравнение лучше бы проверить на практике, тут и от сервера много что зависит, от его настроек. С SMF не работал, не знаком, так что даже примерно прикинуть не могу его производительность.
Также интересует тема производительности - при установке Forum Access и задании различных прав для разных ролей и форумов скорость загрузки страницы форума стремится чуть ли не к минуте. Правда, после загрузки первой страницы она резко увеличивается, и тормоза почти не заметны. Но выдержать первую загрузку нервов мало кому хватит.
Аналогичное поведение ("первая загрузка" измеряется десятками секунд, после - относительно нормально) - полностью справедливо и для Taxonomy Access, TAC_lite (после задачи прав). Это есть "нормально", либо "я что-то делаю не так"? Описанное на форуме, где 4000 юзеров, 50 подфорумов, Drupal 5.2, collocation.
загрузка минуту???? у вас диалуп?
у меня если больше секунды сайт грузит я паникую
лучше бы сказали как cmf внедрить не как фрейм, а ввиде как блок.
С уважением Александр
Хорошая статья! Я собиралась в конечном итоге написать обзор нужных модулей, но не успела по разным причинам.
Хочу добавить flatforum - это скорее тема, чем модуль, для приведения форума в приличный вид (более похожий на стандартные phpBB и иже с ними)
advanced forum в последний версиях реально творит с форумом чудеса, как и с нагрузкой на сервер
Спасибо за статью. А как аватары реализовать. Без них форум - не форум.
и что-то после добавления модуля ACL ничего не изменилось. Модуль активировал. Он попросил перестроить права доступа ко всему, что уже было на сайте, согласился, но никаких видимых изменений не обнаружил.
Не вспомнили про Author pane для приведения в нормальнЬІй вид профиля в форуме.
Не вспомнили про Advanced Forum для приведения в нормальнЬІй вид самого форума.
Не замеил вспоминали про Forum Signatures или нет... но на всякий случай пишу)))
Подписка. -- Subscriptions
Дополнительные фильтры (YouTube) -- video_filter
Голосования (реально ли как-нибудь совместить?). -- скорее всего через Advanced Voting или Voting API
Глобальные модераторы. -- А стандартнЬІими средствами почему не сделать? Оо
>>А как аватары реализовать.
Включить в настройках друпала аватарки))) По стандарту включено в друпале. Сам не сначала нашел)))
tpl + css творят чудеса
А я думал что если речь заходит о форуме на друпале, то главным вопросом будет производительность.
Насчет BB-Code с автором не согласен, и предпочитаю BUeditor + markdown. Маркдаун пусть не такой распространенный, но более правильный с тз. конечного пользователя (тупо синтаксис проще), и поэтому более перспективный (хотя я конечно понимаю что статья 3.5 летней давности и автор может сегодня сказал-бы по-другому).
Насчет маркдауна могу аргументировать, почему он лучше BB-code, но это если будут желающие слушать мои деферамбы.
Сел в первый ряд. Слушаю
http://www.drupal.ru/node/59382
Есть модуль форума для друпал http://www.richardpeacock.com/get-rpforum (принцип: и тема и ответы к ней это ноды)
Вот его демо http://forum.richardpeacock.com/forum
В отличии от advance_forum не требует установки дополнительных модулей.
Вопрос: какие элементы используются в сообщениях форума в подавляющем большинстве случаев?
Подскажите, при помощи какого модуля я могу скрыть некоторые форумы с главной страницы форума (не сайта а форума)? Хочу сделать так, чтобы эти скрытые форумы были видны только после того, как провалишься в родительский!
Неужели проблема таки не решилась с форумом?
Подскажите, пожалуйста, можно ли как на Друпале 7 на форуме сделать опцию перемещения комментов из темы в тему?
А где в друпале форум? Оо
Я вижу ноды в табличном виде, объединённые категориями.
А зачем? Темы можно переносить, а камменты для чего тасовать?
Ну и что? Или нужен функционал которым никто особо пользоваться не будет?
я удивлен что его из Drupal 8 еще не выпилили. Это как дефолтный модуль Blog (который выпилили).
Все делается созданием своего типа ноды + Views + чутка напильника и все.
Ээээ... Что "ну и что?" ?
Я говорю, что друпал это не форум и ждать мощный форум на нём а-ля ИПБ, КсенФоро не следует.
Не не. Форум выпиливать не нужно. Мне модуль нужен.
Тем более на самом друпке.орг форум очень большой.
Суть в том, что модуль по сути ничего не дает. Все воссоздается на раз-два.
Так оставили как раз чтоб не воссоздавать Выпиливать конечно не надо, а в контрибы переместить - не повредило бы.
Ну блог то выпилили, а он явно почаще использовался.
Насчет блога очень сомневаюсь, что почаще. Если что и воссоздавалось за пять минут, то это блог. А его куда, в контрибы или насовсем?
Блог, вроде как в контрибы вынесут.
https://drupal.org/project/blog
Ну в контрибы - это да, правильно.
дак и форум тудаже. Глядишь развитие получит и новое дыхание.
к этому и идет.
в ядре сущности, поля, вьюсы и пути (универсальный мегакомбайн),
все остальное - в контриб.
по сабжу - формат "форум" вымирает (или эволюционирует)
reddit повеселее будет.
Ну да, я и написал - в контрибы бы не повредило.
За последние года полтора включал его всего для двух сайтиков, и то в одном потом выключили за ненадобностью.
мы уже имеем адванцыд форум в контрибе.
И шо на деле?
Такое блеать уг, что "друпал говнище" хочется писать на каждом заборе
Так это ж разное, forum - основа, advanced - набор прибамбасов разной степени осмысленности.
Вить, чего поливать то? Ну выкатил бы нормальный модуль для форума и камментов (а то один Андрей мучит их в 8-ке) :). Опыт же есть. Ну и имел бы заслуженные медали и почести :). А так все мучаются с тем, что есть
Куда выкатил?
Рвать задницу на орге и доказывать что я не верблюд - желания не имею, так же как и SVN-акка от славных времён.
Тот же упомянутый Энди Постников адепт системы "Зачем писать новое, помоги существующему проекту", читать прошлое предложение.
Мне тоже, общий бардак и каша на d.org + выдача малиновых(и других) штанов не нравится (тем более - полно людей в жёлтых штанах выкладывающих такое... что волосы (и не только) встают)
Но есть же git, песочница, личный блог...
Если существующий в полном тупике и автор неадекватный (что тоже не-редкость) - зачем помогать?
Полно же модулей с абсолютно одинаковым функционалом.
Комерц же
пилятпишут, но убер тоже жив.А это спроси у названного выше товарища.
Более половины контриба скорее мертвы чем живы.
Но легко появляется кто-нить шибко умный, который говорит что модуль новый не надо, лучше старый помоги допилить.
К сожалению, за все эти годы в отношении форума ничего не поменялось. Такое ощущение, что про него все забыли и пользуются чем-то еще. Действительно непонятно, зачем его вообще оставились в ядре в D8 (руки не дошли, наверное, учитывая все остальное).
Навскиду в D7 я бы пользовалась Entity API (custom entity и всякий функционал), Views и Entity Reference. Возможно Organic Groups для контроля за доступом и правами. Причем Views и Entity Reference входят в ядро D8, так что посмотрим, может кто-то возьмется. Другое дело, что неизвестно, насколько форумы вообще будут актуальными через пару-тройку лет.
Ну мне форум на друпале нравится. слегка темизировал по мелочи,вернее подправил стили в css и нормально. свои функции выполняет.