All articles, tagged with “pybb”

Статус проекта pybb

Зимой 08-09 я активно работал над проектом pybb, затем весной я забил на проект и вот последний месяц опять работаю :) В течении года от нескольких человек поступили существенные контрибуции, за что им большое спасибо. Правда некоторые я вырезал уже, потому что понял, что проект начинает превращаться в очередной all-in-one кухонный комбайн. Из существенного — были оторваны личные сообщения, были вырезаны левые поля типа location, site, icq и т.д. из форумного профиля, была вырезана генерация специфических вещей из главных вьюшек типа index, category, topic и перенесена в template tags, было вырезано велосипедное поле для аватарки с ресайзом и заменено на поле из пакета sorl-thumbnail, всего и не припомню. Суть этих изменений в том, что pybb должен содержать лишь базовый функционал форумного движка, который каждый уже сам сможет расширять при желании для нужд конкретного проекта.

Я подумываю также вырезать шаблоны из стандартной поставки pybb и выложить их в виде отдельного пакета. Кстати, один уже такой пакет я создал — это pybb-templates-fluxbb. Шаблоны, имитирующие вид форума fluxbb (punbb в девичестве). Большая часть шаблонов уже сделана, остались правки по мелочи и i18n. Посмотреть на то как выглядят шаблоны можно тут http://pydev.ru

Отсутствие шаблонов в базовой поставке позволит более вдумчиво разносить JS-логику и template тэги. Часть будет специфичной для шаблона, а часть будет общая для всех шаблонов т.е. будет лежать в пакете pybb. Пример общей js логики — скрипт для прорисовывания дополнительных файловых полей в форме для создания сообщения. Ещё один пример: скрипты markitup редактора.

Я не думаю останавливаться на достигнутым и надеюсь вырезать что-нибудь ещё. Возможно, генерацию email извещений — был ведь какой-то стандартный пакет, возможно, им заменю :-)

Также, я думаю, имеет смысл создать проект с именем типа pybb-standalone, который будет представлять из себя готовый django-проекты, который можно будет поднять на сервере с минимальными усилиями. От текущего варианта установки волосы дыбом встают.

Приятно, что на базе pybb работают несколько живых форумов:

pybb - бодрячком!

Сегодня мои ручки добрались таки до pybb и я смог завершить одно очень важное дело. Раньше при просмотре любого экрана количество запросов к базе данных переваливало за сотню. Сейчас на каждый экран приходится около 10-15 запросов. Это не верх эффективности, но, по крайней мере, такое число уже не заставляет шевелиться волосы на голове :-)

 

PYBB - beta

Итак, c сегодняшнего дня форум сайта pydev.ru фунционирует на базе pybb. Первая стадия развития pybb — наполнение базовыми фичами — закончена. Теперь я займусь оптимизацией. Страшно подумать — на многих страницах количество запросов к базе данных переваливает за сотню.

Итак, что реализовано в pybb на данный момент:

  • Иерархия вида Категории > форумы > топики > посты. Каждый объект имеет свою страницу, кроме постов, которые хоть и имеют постоянный url, но в действительности этот url редиректся на ту страницу топика, которая содержит в данный момент нужный пост.
  • Разметка постов через bbcode или markdown. Возможность выбрать режим разметки по умолчанию.
  • Модераторы: каждому форуму можно назначить модераторов, которые будут иметь возможность редактировать сообщения в этом форуме
  • Возможность закрепить топик в форуме, возможность закрыть топик.
  • Email подписка на новые ответы в теме
  • Автары
  • Профиль, автоматически создающийся для каждого пользователя. Профиль содержит подпись, временную зону, аватар, контактную информацию.
  • Механизм отметки прочитанных топиков.
  • Кривенький “дизайн”, который я смотрел пока только в FF3 :-)
  • импортирование из punbb базы с поддержкой всех вышеописанных фич

Ссылки:

Пожелания, вопросы, багрепорты, патчи можно слать мне на мыло lizendir@gmail.com или лучше в trac (там надо залогиниться через user:user)

PYBB — пациент скорее жив, чём мёртв

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

Основная идея нового подхода: форум должен легко встраиваться в существующие django проекты. В дистрибутив форума не входят функции для регистрации и даже авторизации пользователей — это должен уметь сторонний проект. Если нужно использовать форум сам по себе, то можно положить рядом с ним django-registration или мой django-account и всё долно заработать т.к. форум настроен на имена урлпаттернов, которые используются в вышеназванных приложениях.

Демку можно посмотреть здесь: http://pybb.org Я написал конвертер punbb —> pybb и импортировал данные форума pydev.ru/forum/ в демку pybb. Не пытайтесь авторизоваться под своим логином с pydev.ru т.к. пароли я ещё не научился переносить :-) Демка использует django-account.

Исходный код можно посмотреть здесь: http://hg.pydev.ru/pybb

Django прилжение для регистрации

Последние несколько недель я раздумывал над тем, не продолжить ли мне работу над pybb, разработку которого я заморозил в декабре 2007 года. Думаю, всё же стоит довести этот проект до ума. Однако, за время прошедшее с начала года, я приобрёл новый опыт и поменял точку зрения на некоторые вещи, так что pybb я буду переписывать чуть ли не с нуля.
 

Ещё один форум на python/django

Сегодня ночью, как всегда внезапно, меня торкнуло написать какой-нить прожэкт на django. Самописные блоги уже не в моде, потому решил форум делать ) В результате после 4 часов кодинга образовалось вот это нечто: http://pybb.org [pybb.org]