Бесплатные CMS > Установка и расширения PunBB > CMS для форума

PunBB + PE (Power Edition)

Что такое PE

PunBB Power Edition — это ответвление известного форумного движка PunBB 1.2. Я стараюсь по-возможности сохранить совместимость снизу-вверх для модов и стилей.

Основная движущая идея PE такова: любой текстовый контент сайта должен храниться единообразно, использовать один и тот же механизм правил доступа и должен попадать в поисковый индекс.
Контент может быть разный: блог, форум, фотогалерея, статья, проект и т.д. В терминах PE это называется "суперкатегории".

Зачем нужен PE

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

Любой сайт развивается, прирастает новыми сервисами. В технологии PE когда вы применяете к темам/сообщениям новый мод, он будет реализован во всех разновидностях данных.

Если рассуждать в терминах объектного программирования, для новых типов данных я создаю классы-наследники, а не новые классы с нуля. Поэтому нет необходимости заново реализовывать то, что уже есть.

Например "поисковые метки" будут работать в статье, фотографии и теме блога.

Зачем нужен PE, когда есть много хороших CMS

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

Power Edition предназначен в первую очередь для апгрейда форумов до уровня полноценного сайта.

Можно сказать и иначе: привлечь первых постоянных посетителей и нарастить контент проще всего именно с помощью форума, но уже на начальном этапе хозяин сайта должен представлять куда и как двигаться в перспективе.

Я стараюсь сохранить красивый легкомодифицируемый исходный код PunBB и добавить в него новые невиданные ранее возможности

О каких данных идет речь?
На сегодняшний день разделы-суперкатегории такие:
- классический форум
- статьи с комментариями
- фотогалерея с комментариями
- персональные журналы-блоги
в перспективе наверное будет система Файлообмена и Личных Сообщений

С форумом все понятно, он уже есть
Статья отличается видом заглавного поста и разбивкой на страницы.
Фотогалерея, в моем представлении, это набор тем, каждая тема начинается с прикрепленной картинки.
Блог — поток авторских сообщений с возможными комментариями других пользователей. Можно рассуждать о блоге как о форуме в котором первое сообщение видно сразу, полностью или частично, в списке тем.

Как будет организована навигация по сайту на PE?
Так как форум — это только одна из составляющих движка, частный случай, я ввожу новое понятие "доска" (board). В принципе английский термин давно применяется в форумах, вспомним БиБиЭски BBS (Bulletin Board System). Движки в своем названии содежат эти слова: vBulletin, phpBB, IPB, PunBB.

Иерархия данных PE такая:
1. суперкатегория — тип досок, например Статьи.
2. категория.
3. доска, например набор статей объединенных каким-то признаком.
4. тема — заглавное сообщение (сама статья) и последующие комментарии.
в исходном движке отсутствовал п.1

Создавая движок на базе скриптов PunBB я заменяю слово forum на board во множестве мест, чтобы в будущем не возникала путаница где имеется в виду "абстрактный класс Доска", а где его наследник "дочерний класс Форум".
viewforum.php, например, переименован во viewboard.php, потомучто он используется для всех суперкатегорий.

Что нового в плане хранения/представления данных?
Для хранения всех типов данных используются все те же старые таблицы
categories, forums, topics, posts
Признак типа есть только в записях таблицы categories, это новое поле kind.

Из скриптов viewboard и viewtopic я вынес куски вывода в отдельные файлы, так легче отделить обработку данных от их представления. Новый каталог include/board/ хранит все эти куски. Для вывода данных viewboard обращается к трем внешним файлам — начало, строка данных и конец:
board_top.php, board_row.php и board_bottom.php
В зависимости от kind эти скрипты обращаются к другим файлам, так для блога будут вызываться
board_top_blogs.php, board_row_blogs.php и board_bottom_blogs.php

То есть сами данные для всех суперкатегорий хранятся и добываются одинаково, а формирование страниц может отличаться.

Будет ли модная сейчас "социальность"?

В Power Edition появляется понятия "персональная доска" и "команда".
Пользователи объединяются в команды или клубы по своим групповым интересам. В команде есть руководство, которое решает административные вопросы.
Перснальные доски, например Блоги, принадлежат конкретному пользователю или команде. В пределах этой доски пользователь-хозяин является модератором. Он может править и удалять сообщения по своему вкусу. Хозяин определяет права пользователей на основе ролей: хозяин/друг/пользователь/гость. Например создавать тему в блоге команды смогут только члены команды (друзья), если так решит руководство команды.

а модерировать сообщение члена команды может другой член команды?

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

короче должно в профиле появиться что-то типа "избранные ленты (новостей) - они же - друзья, избранные [фото/видео] альбомы,

А пока получается, что команда определяет только права на публикацию. не более того.

например я думаю гораздо важнее имея личный дневник (доска пользователя) для отдельных статей - запрещать доступ ВСЕМ/ВСЕМ КРОМЕ ДРУЗЕЙ, или ставить пароль...  тоже - к фотоальбомам (или например -пароль к оригиналу), видео-клипам, музыкальным-файлам.

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

Я теперь вообще очень сильно переосмыслил то как надо делать проекты - после 4-х комнат я понял что нельзя ратовать за свободу и надо делать "коридор" - но в  форме игры. чтобы не слишком ограничивать. Надо и не давать посетителю свободы и с другой стороны - соблюдать меру. Иначе если много свободы - не будет благодарности - не будет отдачи. и то что нету отдачи - это вина именно создателя проекта. а не "неблагодарных посетителей" - как часто я это слышал...

в последний месяц увлечён проектом torrents.ru
нет - я не качаю гигабайты. мне там почти ничего не нужно.

Но как же они грамотно всё посроили!!!

есть трекеры где я скачал 90,6% фильма и вот уже 2-ю неделю не качает больше. сидер просто ушёл и перестал раздавать фильм. время насмарку. Это свободный трекер - там реально чтото скачать только если это чтото тока что выложили.

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

А чтобы не уходили сидеры - тоже есть маленькая мелочь - за свои раздачи считается в 2 раза юольше. дак я и не перестану раздавать - мне же это очень выгодно - с меня качают а рейтинг растёт - я же потом смогу гораздо больше чем сейчас выкачать чего нибедь!!

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

В общем-то, есть у них и недочёты - я насобирал множество идей и что сделать не так - но основные принципы - очень хорошие!

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

а еще там когда просматриваешь какие то новые раздачи, можно раздачу добавить в избранное - и забыть. а когда придёт время качать - просто в профиле ткнуть избранное и все таки раздачи списком получить - не надо искать заново!! это очень удобно и это тоже пришло из соц-проектов!!!


Меню сайта

PunBB + PE (Power Edition)
PunBB + PE (Power Edition)