Реорганизация структуры drupal.ru: разделы документации, форумы, комментарии, теги

Осень, пора обострений у психов креатива и сбора урожая. В сообществе drupal.ru оживление, после летней спячки приятно видеть разнообразные инициативы. Кто-то грозится взломать сайты на друпале, кто-то строит свою консерваторию с вики и документацией, а мы тем временем займёмся перестановкой мебели в разделе доков, где на текущий момент завалялся пыльный book с архивом подшивок актуальнейшей инфы где-то до 1809 года. Это не первое такое начинание, старожилы помнят ещё wiki.drupal.ru, translation.drupal.ru и другие попытки упорядочить документацию на русском (и вообще её написать). В прошлой вики наибольшую активность проявляли спамеры и повторять это решение очередной раз нет желания. Собственно надо ли оно нам вообще? На сайте регулярно появляются топики с вопросами, на них даже отвечают, иногда даже по делу — что ещё надо от русскоговорящей тусовки вокруг англоязычного проекта? Оставлю этот вопрос неотвеченным с целью обсудить в комментариях, я же хочу предложить методы решения, основаные на наблюдениях за drupal.ru последние годы.

Форумные завалы

С форумами всё тихо и хорошо, пока на них не начинают активно писать. Тогда форумы становятся похожими на чаты. Что нелохо, так как ради общения в онлайне не прибегая к IRC/пейджерам и т.п. специальным программам оно и задумывалось. Но у форумов есть ещё одна задача, с которой они справляются на больших объёмах контента отвратительно — архивация старых обсуждений. Перенести старые топики в архивный форум конечно несложная задача, но поиска по старым обсуждениям это не облегчает. В итоге на любых форумах получаем такую проблему, как появление дублей обсуждений, когда старые обсуждения на эту же тему «ушли в архив». Избегают этого на форумах только одним методом — жуткой модерацией новых топиков, когда дубли отправляются на свалку с указанием ссылки на оригинальное обсуждение (при условии что модератор сам это обсуждение помнит и смог его найти в архиве). Полностью проблемы это не решает.

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

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

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

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

Облако тупой фигни

На drupal.ru права на таксономию довольно либеральны — при создании материала пользователь сам может выбрать подходящие по его мнению теги и эти теги будут включены в общий список ключевых слов для пометки материалов сайта. Эта схема предлагается друпалом из коробки, но как показал опыт в исходном виде имеет очень ограниченную область применения — и drupal.ru со своей огранизацией контента в эту область явно не попадает. Улучшением схемы с тегами материалов может быть их отбор по популярности. Пользователь проставляет тег, подходящий к материалу, либо голосует за уже прикреплённый к материалу тег. Выбранные им теги отображаются только для него самого, а для остальных посетителей отображаются только теги набравшие скажем не менее 3-х голосов. Дополнительно можно вместо произвольного набора ключевых слов предоставить жёстко забитый рубрикатор с тегами и предлагать выбор только из него (спорно, стоит обсудить).

Проблемы выбора

Возвратимся к форумам, точнее к их списку. Первые года три я поддерживал структуру форумов максимально простой, число форумов не превышало десяток. Затем по разным инициативам от разных людей поступали запросы добавить тот или иной форум или категорию форумов, пока их число не доросло до нынешнего. По названиям форумов, не читая описаний, не всегда очевидно, какой форум выбрать для постинга материала. Да собственно описания тоже не сильно помогают, т.к. выбор слишком большой — руководства по юзабилити не зря предлагают ограничивать меню и списки 7-9 элементами, это то число предметов, которое человек способен держать в кратковременной памяти не напрягаясь. Дальше мы просто теряем начало, доходя до конца списка. Как результат это приводило к дополнительным конфликтам, из-за удалённых модераторами топиков, попавших не в тот форум.

TODO для drupal.ru Создаётся словарь из двух терминов: «есть вопрос», «предлагаю решение». Выбор элемента обязателен, по умолчанию выбран первый термин. Все материалы, включая блоги помечаются этими терминами, позволяя сразу отделить вопросы от howto. Возможность пометить ноду вида «Вопрос» флагом «Решено». Голосование за комментарии и возможность пометки комментария (до 3-х комментариев) тегом «Решение». Ссылки на лучшие комментарии выводятся в блоке в правой колонке, отсортированные по рейтингу. Комментарии-решения выводятся сразу под топиком (в свёрнутом виде). Помечать комментарии тегом «Решение» и материалы тегом «Решено». Архив документации разделяется на три раздела: Друпал для новичков: базовая установка и настройка друпала и системного окружения, список литературы и ресурсов для дальнейшего изучения Документация разработчикам: материалы требующиеся для написания расширений к друпалу — модулей, тем оформления и всего остального Деятельность сообщества: всё что относится к мероприятиям drupal.ru и других друпалерских сообществ рунета — история проекта, список благодарностей, встречи, семинары, пьянки и пр., а также и освещение деятельности drupal.org Разделы документации делятся внутри на книги — до 7 книг в одном разделе Все страницы документации организуются как book + возможность редактирования в вики-стиле (правит любой желающий, полная история правок, откат правок) Во всех материалах добавляется кнопка «Скопировать в вики» — копирующая текст материала (плюс возможно выбранных комментариев) в новую ноду в вики, либо возможность добавить материалы к уже существующей ноде в вики. В «викизированной» статье появляется ссылка на материал вики: «см. решение в вики» В вики под статьями сохраняются ссылки на материалы. послужившие отправной точкой данной вики-статьи. Список форумов сокращается до 9, разбитые на 4 категории. Техническая поддержка Установка и настройка Drupal Системное окружение (LAMP) Сайтостроение (для вопросов не о друпале. например обсуждений по SEO и пр.) Бизнес Предлагаю услуги Нужно сделать Участие в проекте Вопросы по написанию тем и модулей Работа *.drupal.ru Свободное п/о (объединяет форумы «Обзоры и сравнения CMS» и «Свободные программы» Курилка Всё остальное разруливается тегами внутри материалов: хостинг и прочее. Пометка материалов специальным тегом или флагом, как альтернатива форуму «Корзина», где собирается «мусорная информация» — то что жалко выбросить, но жалко удалять. Материал остаётся опубликованным в исходном форуме или блоге, доступным по прямой ссылке, но перемещается в конец списка топиков форума, а также исключается из поиска по сайту. Для выставки сайтов предлагается обсудить интеграцию с ресурсом Друпалогия. Все теги приводятся к lowercase для простоты. Можно указть тег к любому материалу сайта, своему или чужому. Выбранный тег виден только выбравшему его пользователю. Если такой тег выбран пятью или более пользователями для этого материала, он становится публично виден всем. Модераторы могут править теги, блокировать определённые теги. По результатам перестройки функционала сайта корректируется тема оформления.

Приглашаю к обсуждению модулей, которые могут реализовать требования выше. Чего не найдётся на drupal.org (а наверняка не найдётся) — конечно допишем, но предпочтительнее задействовать готовые и хорошо поддерживаемые решения. Список задач в TODO может корректироваться по результатам обсуждения здесь.

P.S. В этом топике не обсуждается вопрос выдачи КНОПКИ.

P.S.№2 Изменения произведённые на сайте по опубликованному выше плану можно отслеживать на http://drupal.ru/changelog

Источник: http://www.drupal.ru/node/50724

Новый украинско-русский модуль – список всех блоггеров сайта и заголовки последних постов из их блогов.

Опубликовал на drupal.org модуль, который показывает список блоггеров с их аватарами, реальными именами (если модуль RealName включен) и Х заголовков последних постов в блоге.

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

Страница выводится по адресу: example.com/blogs

В настройках модуля можно указать:

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

В релиз включен полный перевод модуля на русский язык.

Скриншот страницы, которую выводит модуль:

Время разработки
Модуль достаточно простой, а значит должен работать как часы. Я считаю, что лучше иметь набор простых модулей, которые четко и ясно работают, чем “швейцарский нож”, которым трудно пользоваться и не всегда понятно как.

Модуль был написал – с секундомером в руках – за 95 минут. Почти половину времени заняло написаний фунций темизации, потому что это слабо знакомая область и пришлось по ходу дела разбираться.
После этого были некоторые улучшения и доработки, что также заняло время, но секундомера не было…
Плюс время на создание страницы модуля на друпал.орг, загрузку кода в CVS и создание релиза.

Я думаю, что если округлить, то можно считать, что на создание такого простого модуля ушёл 1 день (8 часов).
В будущем на публикацию на drupal.org я думаю уйдёт меньше времени, потому что я записал все свои движения по этому поводу…

Мотивация
Модуль был написан на скорость и бесплатно. Мне понравилось!..
Есть в этом что-то заманчивое. И адреналин работы с секундомером и доброе дело для пользы другого.

В общем я задумался над тем, чтобы (пока) раз в месяц выделать 1 день для создания модуля, который сообщество друпал.ру сочтет общественно полезным.

Это не значит, что я буду делать за вас вашу работу, а только то, что я хочу сделать что-то полезное для сообщества, которое мне многое дало.

А пока я буду готовиться. Спасибо.

PS.
Забыл дать ссылку на страницу проекта:  http://drupal.org/project/bloggers
Модуль называется Bloggers (спасибо  neochief за идею названия)

Источник: http://www.drupal.ru/node/38100

Eye-tracking Drupal.ru

«Некоторое время назад, наша компания провела тест на главной странице русскоязычного сайта известной CMS Друпал – www.drupal.ru Задачей теста было найти ссылку на демо-сайт этой CMS. В качестве испытуемых бралось две группы по 5 человек – «компьютерщики» и «менеджеры». Обе группы не имели отношения к сайтам и не работали с CMS.

Тестирование проходило с помощью eye-tracker’а – прибора, отслеживающего направление взгляда испытуемого. То есть, в процессе тестирования определялось, как испытуемый изучает страницу и где он ищет нужную ему информацию.»

Дальше: http://habrahabr.ru/blogs/web_design/73332/

p.s. А где у нас ссылка на демо-сайт?
p.p.s. А нету у нас её. =)

Источник: http://www.drupal.ru/node/35907

© 2009 Обзор CMS