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

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 1:11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0 Thanks

Комментарии

Аватар пользователя Master of Tragedy Master of Tragedy 15 декабря 2009 в 1:30

Юра, так давай вместе на украинский переведем. ;) А ще, Влад, ты забыл написать как называется модуль и ссылку дать :)

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 1:31

Ух, я ещё не успел закончить свой опус сочинять, а вы уже успели комменты добавить!!!
Ок. Совесть меня уже мучает - зовсім забув рідну мову!
То що будемо робити? Мені зробити переклад?

Аватар пользователя volocuga volocuga 15 декабря 2009 в 1:52
"Master of Tragedy" wrote:

Юра, так давай вместе на украинский переведем

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

Как neochifer обои сделал "From Ukraine with love".

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 1:52

Вьюс он большой! Иногда нужно что-то маленькое и из-за этого ставить Вьюс не хочется.
А вообще, я не фанат этого модуля, хотя он реально мощный. Стараюсь использовать его в случае крайней необходимости. По сути модуль Views - это визуальный конструктор SQL-запросов.

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 1:59

По поводу того, что автор украинский, а модуль русский...
Вижу несколько вариантов решения проблемы:
1. Стать русским автором (сложный вариант)
2. Сделать модуль украинским или русско-украинским (самый простой вариант).

Аватар пользователя volocuga volocuga 15 декабря 2009 в 2:59

русско-украинский - уже неплохой компромис
Небольшой штришок: украинско-русский :)

Аватар пользователя Arturus Arturus 15 декабря 2009 в 7:10

Спасибо, поставил, понравилось.
А листание можно сделать?
И еще хотелось бы статистику (всего блогов автора, дата регистрации) и возможность выбрать, какие роли показывать.

(понеслось:-)

Аватар пользователя sadmin sadmin 15 декабря 2009 в 10:20

Влад, хороший модуль) Ссылка на рабочий пример ведет на страницу с "техническое обслуживание", это ведь временно?

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 14:13

Ссылку на проект поправил. Спасибо

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

По поводу доп. фишек - пишите лучше на орге в issue с подробным описанием что именно нужно - а там посмотрим. Если это просто и быстро - сделаю просто и быстро. :-)

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 14:14
"Arturus" wrote:

А листание можно сделать?

А разве пейджер не работает? Может быть вы в админке поставили 0 блоггеров на странице - тогда пейджер не показывается, а все выводится на 1й странице.

Аватар пользователя Arturus Arturus 15 декабря 2009 в 14:56

На странице admin/settings/bloggers
Блоггеров на странице: 10

Листания нет (блогов больше 20:-)

Аватар пользователя Ujin Ujin 15 декабря 2009 в 15:40
Arturus wrote:

На странице admin/settings/bloggers
Блоггеров на странице: 10

Листания нет (блогов больше 20:-)

Я недавно делал модуль на подобии, и так же проблема с листанием, у меня все связано с тем что в запросе есть GROUP BY и count, я посмотрел этот модуль там тоже есть GROUP BY. здесь можно посмотреть об этом баге, и не знаю как решить, может быть у кого-то будут идеи?

Аватар пользователя sadmin sadmin 10 ноября 2015 в 11:46

Только что начал тестить и та же картина. При настройках 10,10,10 отображается только титл страницы. Кроме того идет путаница в пейджере - появляется дополнительный элемент (у меня с номером 5), который ведет на /blogs
Влад, я 20 минут пробовал добавить issue на орге, но ничего не вышло - бросил. Как дорасту, буду писать туда

Аватар пользователя Master of Tragedy Master of Tragedy 15 декабря 2009 в 17:05
"RISK" wrote:

кто не в курсе: Master of Tragedy автор польского сайта занимающийся переводами на украинский

Вообще-то на польский ;)

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 17:09
"RISK" wrote:

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

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

"Ujin" wrote:

Я недавно делал модуль на подобии, и так же проблема с листанием, у меня все связано с тем что в запросе есть GROUP BY и count, я посмотрел этот модуль там тоже есть GROUP BY. здесь можно посмотреть об этом баге, и не знаю как решить, может быть у кого-то будут идеи?

Проблема явно в запросе. Я знаю, что LIMIT точно нарушит работу пейджера...
Ок. Я понял. Буду разбираться.

Аватар пользователя Dan Dan 15 декабря 2009 в 17:54
"VladSavitsky" wrote:

Проблема явно в запросе. Я знаю, что LIMIT точно нарушит работу пейджера...

А зачем в запросе LIMIT, если есть пэйджер?
А LIMIT используется явно или через обёртку db_query_range?

Влад, спасибо за модуль!
Кстати, сделай картинку на д.орг - будет понятнее, что это, без установки.

Аватар пользователя VladSavitsky VladSavitsky 15 декабря 2009 в 20:40

Добавить картинку на орг у меня не получается - пробовал раз десять уже. И формат менял и размер - никак.

Аватар пользователя orangeudav orangeudav 16 декабря 2009 в 0:26

а я считаю что запрограммить такой селект - пять минут, плюс десять - на темизацию.. но модуль да, он уже готов..

Аватар пользователя VladSavitsky VladSavitsky 16 декабря 2009 в 0:55
"orangeudav" wrote:

а я считаю что запрограммить такой селект - пять минут, плюс десять - на темизацию.. но модуль да, он уже готов..

Примерно столько и ушло, но сам по себе модуль требует ещё и кучу сопровождающего кода.
Кроме того время на проверку работоспособности и "вычитывание" кода.
А вообще-то, если все так просто - почему не сделали?!...

Аватар пользователя Dan Dan 16 декабря 2009 в 2:43

Опасно так работать с запросами.

"VladSavitsky" wrote:

GROUP BY n.uid HAVING COUNT(*) >= ". $post_limit;

Используй подстановку: GROUP BY n.uid HAVING COUNT(*) >= %d";

Аватар пользователя Arturus Arturus 16 декабря 2009 в 5:13
"VladSavitsky" wrote:

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

Недавно столкнулся с отсутствием модуля который выдает список пользователей со статистикой размещенных материалов по типам (блогов-10, галерей-5, комментов-20 ...). Делал сниппетом. Думаю, что многие, в том числе и я будут Вам благодарны за создание такого модуля. Тем более, что он очень похож на данный модуль.

Аватар пользователя Jara Jara 16 декабря 2009 в 5:17
RISK wrote:

Вспомнил из-за того, что Вассерман свой видеоблог ведёт и по материалам его постов предлагаю называть модуль турецким:
_http://www.computerra.ru/blogs/wasserman/376560/
о том, почему турецким, после 7 минуты. И ещё один ролик о языках от Вассермана:
_http://www.computerra.ru/blogs/wasserman/376084/
bla-bla-bla

Сколько времени правила сайта будут НЕ одинаковы для всех? Почему вы можете нарушать своё законодательство, а я – нет?

Если на русском сайте я скажу ПРАВДУ, которая не будет соответствовать ГОСТу, то её могут удалить, и назовут меня буржуазным националистом.

А ваш шовинизм везде, кругом: в книгах, на ТВ, в Интернете. Когда уже появится своя голова? Когда люди начнут мыслить здраво? Этот ресурс я считал лишённым политической грязи, шовинизма и информационных войн. Но видимо это не так.

RISK wrote:

...украинскую мову придумали поляки...

Не то, чтобы я в профессионализме Вассермана сомневался

А надо сомневаться. Вы всё хаваете, как вам преподнесут с экрана. Надо своей головой думать, включите фильтры. Если человек ботанического вида с пейсами распинается, что Украину придумали из пустоты, то вы уже верите ему, только потому, что у него вид такой. А может стоит задуматься зачем он тратит свои силы, и как монетизирует блоги :)

Утверждение «украинский язык – диалект!» здравомыслящий человек посчитает смешным и идиотским. Я уже не говорю о профессионалах. Я кинул ссылку на этот идиотизм профессору-лингвисту, от подтасовок фактов он был в шоке.

Что трудно понять, что за $ это профессура на заказ правительства Мадагаскара «докажет», что люди пошли от лемуров, напрямую, минуя высших приматов?

2 VladSavitsky
Вибачте, що не по темі Вашого посту.

Аватар пользователя root root 18 декабря 2009 в 8:51
RISK wrote:

Сколько времени правила сайта будут НЕ одинаковы для всех? Почему вы можете нарушать своё законодательство, а я – нет?

Если на русском сайте я скажу ПРАВДУ, которая не будет соответствовать ГОСТу, то её могут удалить, и назовут меня буржуазным националистом.

А ваш шовинизм везде, кругом: в книгах, на ТВ, в Интернете. Когда уже появится своя голова? Когда люди начнут мыслить здраво? Этот ресурс я считал лишённым политической грязи, шовинизма и информационных войн. Но видимо это не так.

Вибачте, що не по темі Вашого посту.

Спокойно, господа :) Правила на сайте будут привязаны к законам РФ, пока сайт хостится на территории РФ, но я пока не припомню здесь случаев политической цензуры. И политику во всяком случае стараемся не выпускать за пределы "курилки". Без политики, как и без курилки похоже не обойтись :) Продолжение офтопика: http://www.drupal.ru/node/38232

Аватар пользователя Valeratal Valeratal 16 декабря 2009 в 9:40

вообще АВ не такой уж авторитет
Но, хочу заметить, что топикстартер сам начал разводить дискуссию о национальности модуля
Спрашивается, не все ли равно? Модули бывают либо хорошие, либо другие.
А не русские/украинские/польские/вассерманские

Аватар пользователя sadmin sadmin 16 декабря 2009 в 11:38
"Valeratal" wrote:

А не русские/украинские/польские/вассерманские

не придирайтесь) по-моему очень хорошая идея.

Аватар пользователя sadmin sadmin 16 декабря 2009 в 11:47
"VladSavitsky" wrote:

Новый релиз (6.x-1.1) готов.
Детали указаны тут: http://drupal.org/node/660744
Починил пейджер и некоторые CSS улучшения.

Влад, с пейджером все отлично! Работает, прежний баг с появлением доп. элемента пейджера исчез. При количестве заголовков у блоггера менее 10 выводится только титл страницы /blogs

Аватар пользователя RoSk0 RoSk0 16 декабря 2009 в 12:19
"Valeratal" wrote:

Модули бывают либо хорошие, либо другие.
А не русские/украинские/польские/вассерманские

абсолютно согласен. такими темпами тут очередной холивар разинрается вместо обсуждения модуля

Аватар пользователя VladSavitsky VladSavitsky 16 декабря 2009 в 14:57
"Valeratal" wrote:

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

Прошу прощения, но, когда я написал что модуль "русский", то имел ввиду только то, что в наборе уже есть русский перевод и то, что он сделан представителем русского сообщества. И именно это я хотел подчеркнуть, что я не просто написал обзор "англоязычного"(западного) модуля, а что это вклад сообщества друпал.ру в общее развитие друпал. Вот и всё!

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

Аватар пользователя VladSavitsky VladSavitsky 16 декабря 2009 в 14:58
"sadmin" wrote:

При количестве заголовков у блоггера менее 10 выводится только титл страницы /blogs

Возможно у него их действительно меньше 10? Проверьте, пожалуйста.

Аватар пользователя sadmin sadmin 16 декабря 2009 в 15:41

У каждого блогера более 20 заметок и они выводятся при 10, 11 и т.д.
Как только выбираю в настройках 9 или меньше выводится только титл страницы

Аватар пользователя Dan Dan 16 декабря 2009 в 21:51
"<a href="mailto:gothica@drupal.org">gothica@drupal.org</a>" wrote:

никто не знает как вывести комментарии в таком виде как здесь http://propsiholog.ru/comments/recent?[/quote]
Даже если вы не знаете что такое модуль views, тем не менее, вы можете найти его имя в исходном коде HTML страницы, ссылку на которую вы привели.

Аватар пользователя VladSavitsky VladSavitsky 17 декабря 2009 в 1:10

Есть хорошие новости:
Исправил глюк, который нашёл sadmin (http://drupal.org/node/661624).
Сделал все SQL-запросы безопасными (устойчивыми к SQL-инъекциям).
Подчистил код модуля.

Все это включено в новый релиз 6.x-1.2: http://drupal.org/project/bloggers

PS. Такой простой модуль и столько возни с ним...

Аватар пользователя Dan Dan 17 декабря 2009 в 2:02
"VladSavitsky" wrote:

PS. Такой простой модуль и столько возни с ним...

Именно. Время засекал не там :)
Именно поэтому многие не выкладывают модули на д.орг...

Аватар пользователя Arturus Arturus 17 декабря 2009 в 10:35

У меня ошибки вывалились после обновления

user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\n FROM {node} n\n WHERE n.type = \'blog\'\n ' at line 3 query: SELECT COUNT(*) FROM club_users u INNER JOIN (SELECT n.uid, COUNT(*) AS count\n FROM {node} n\n WHERE n.type = \'blog\'\n AND n.status = 1\n AND n.uid <> 0\n GROUP BY n.uid) c ON c.uid = u.uid WHERE c.count >= 1 in /home/webmaster/www/club.shintoptrophy.ru/sites/all/modules/bloggers/bloggers.module on line 100.

А в первой версии было все в порядке

Аватар пользователя sadmin sadmin 17 декабря 2009 в 11:00
"Arturus" wrote:

А сортировка блогеров идет по какому признаку?

по uid, см. код модуля

Аватар пользователя VladSavitsky VladSavitsky 17 декабря 2009 в 15:07
"Arturus" wrote:

У меня ошибки вывалились после обновления

user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\n FROM {node} n\n WHERE n.type = \'blog\'\n ' at line 3 query: SELECT COUNT(*) FROM club_users u INNER JOIN (SELECT n.uid, COUNT(*) AS count\n FROM {node} n\n WHERE n.type = \'blog\'\n AND n.status = 1\n AND n.uid <> 0\n GROUP BY n.uid) c ON c.uid = u.uid WHERE c.count >= 1 in /home/webmaster/www/club.shintoptrophy.ru/sites/all/modules/bloggers/bloggers.module on line 100.

А в первой версии было все в порядке

Очень странная ошибка. Я проверял локально и на сервере и она не подтвердилась.
Тем не менее явно у вас не происходит преобразование имени таблицы из {node} в club_node. Я это исправил и сделал новый релиз 6.x-1.3 - проверьте, пожалуйста.

Интересно почему такая ошибка возникла. Какая версия друпал у вас стоит? Может быть вы патчили ядро?

Аватар пользователя VladSavitsky VladSavitsky 17 декабря 2009 в 16:25

По просьбам трудящихся сделал ещё один релиз - оказалось достаточно легко можно добавить:

  • Дату регистрации пользователя и
  • Количество постов в его блоге

Все это можно включать/выключать в админке.
Эти изменения вошли в релиз 6.x-1.4: http://drupal.org/node/662208

Частота выхода релизов уменьшилась с 8 часов до 4х... Я думаю, что пока на этом стоит остановиться.
Спасибо.

PS. Список блоггеров до этого релиза никак не сортировался, но теперь сортируется по количеству постов в блоге.
Мне такая сортировка кажется наиборее интересной.

Аватар пользователя Arturus Arturus 18 декабря 2009 в 6:26
"VladSavitsky" wrote:

Интересно почему такая ошибка возникла. Какая версия друпал у вас стоит? Может быть вы патчили ядро?

Версия друпала Drupal 6.14, 2009-09-16
Ядро не патчил, не менял и не обновлял.

А какие предположения? Почему у меня так?

"VladSavitsky" wrote:

Релиз 6.x-1.4

С сортировкой согласен.
Новая версия работает почти хорошо, ошибок не вываливает:-)
Обнаружил, что при переходе по страницам, пользователи с одинаковым количеством материалов перескакивают с первой страницы на вторую и т.д.
http://club.shintoptrophy.ru/blogs
пользователь primkray к примеру

Настройки:
Блоггеров на странице:10
Заголовков для каждого блоггера:5
Минимальное количество постов в блоге: 1

Аватар пользователя VladSavitsky VladSavitsky 19 декабря 2009 в 2:24
"Arturus" wrote:

Обнаружил, что при переходе по страницам, пользователи с одинаковым количеством материалов перескакивают с первой страницы на вторую и т.д.
http://club.shintoptrophy.ru/blogs
пользователь primkray к примеру

Исправил в 6.x-1.5 вашу проблему и там была ещё проблема с выводом без пейджера - выводились все блоггеры без фильтрации по количеству постов в блоге. Все это исправлено - http://drupal.org/node/663576

Аватар пользователя Ingumsky Ingumsky 21 декабря 2009 в 14:15

Спасибо, Влад! Я как раз подошёл к тому, чтобы сделать аналогичный небольшой модуль под нужды своего сайта.

Аватар пользователя Valeratal Valeratal 21 декабря 2009 в 14:45

а насколько сложно сделать так, чтобы выводить не только "блоггеров" но и авторов другого типа нод
У меня к примеру есть и статьи, помимо блогов

Аватар пользователя VladSavitsky VladSavitsky 21 декабря 2009 в 15:20
"Valeratal" wrote:

а насколько сложно сделать так, чтобы выводить не только "блоггеров" но и авторов другого типа нод
У меня к примеру есть и статьи, помимо блогов

Нужно в SQL-запросах поменять тип ноды, поменять URL вывода страницы.
Я, кстати, скоро будут такой модуль делать (пока для 5ки, а там и для 6ки)

Аватар пользователя Arturus Arturus 21 декабря 2009 в 15:35
"Valeratal" wrote:

а насколько сложно сделать так, чтобы выводить не только "блоггеров" но и авторов другого типа нод
У меня к примеру есть и статьи, помимо блогов

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

Аватар пользователя andypost@drupal.org andypost@drupal.org 10 января 2010 в 6:12

Влад, а зачем ты создаешь новые релизы вместо того, чтобы следовать стандартным альфа-бэта-релиз.кандидат?
Разреши dev-релиз и в него набирай очередную порцию изменений, а потом делай стабильный.

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

Аватар пользователя VladSavitsky VladSavitsky 25 января 2010 в 17:05
"<a href="mailto:andypost@drupal.org">andypost@drupal.org</a>" wrote:

Влад, а зачем ты создаешь новые релизы вместо того, чтобы следовать стандартным альфа-бэта-релиз.кандидат?
Разреши dev-релиз и в него набирай очередную порцию изменений, а потом делай стабильный.

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

Аватар пользователя Arturus Arturus 27 января 2010 в 14:40

Когда ждать новых модулей?
Модуль списка пользователей сайта с краткой статистикой планируется?

Аватар пользователя gothica@drupal.org gothica@drupal.org 17 февраля 2010 в 15:29

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

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