PunBB + PE

это не просто форум

27.03.2007 07:24:04 #1: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Суперкатегории - база для построения мини-CMS

В основе простая идея: заводим дополнительный признак у форума - тип (kind).

Имея такой признак мы можем
1. Разделить полный список форумов на группы по типам, например "статьи", "галереи", "новости", "блоги" и т.д.
В меню верхнего уровня добавим навигацию по типам. Отсюда появился термин супер-категория. Эта группировка как бы выше по иерархии, чем категории.

2. Отрисовывать форум и тему по-разному, в зависимости от типа форума. Например
- в галерее давать превьюшку для приоединенного JPEG
- статью выводить на всю доступную ширину и высоту страницы без лишнего обрамления
- по признаку "новости" фильтровать вывод последних тем на главной странице портала

3. Дать пользователю возможность ограничивать текстовый поиск по одному или нескольким типам форумов.

По мере надобности можно заводить новые типы форумов.
Этот механизм хорошо сочетается с так называемыми "Человеко-Понятными УРЛами" ЧПУ (в английском языке используют термин Search Engine Friendly или Search Engine Optimized). Для каждого типа форума можно и нужно завести наглядный алиас, например:
_http://somesite.com/articles/ будет отображаться на _http://somesite/viewforum.php?kind=3

Тестовый полигон "суперкатегорий" - сайт http://punbb-pe.org.ru/

Неактивен

 

01.04.2007 08:51:03 #2: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

очень интересует второй пункт -
я рассматриваю твои суперкатегории как возможность интеграции сайта и форума более высоким уровнем (поиск, и то что писал в теме на punbb.ru : http://punbb.ru/viewtopic.php?pid=9666#p9666 )

пока что только догадываюсь - как разделить внешний вид.. или css другой давать (но хеадер ведь один...) или как лучше (правильнее это сделать?

И ещё - не могбы ты применительно к своей сборке написать хауту - про Mod_Rewrite? ато он очень сложный - если будет хауту то по аналогии можно много самому сдлать!

----

Ещё хочу очень чтобы ты учел эту проблему:

Индексация ссылок на пост (дублирование тем - это плохо) http://punbb.ru/viewtopic.php?id=823

И ещё - в сборке 0.0.5 - там ведь нет разделения поиска как пункте 3.

уже писал тут6 http://punbb.ru/viewtopic.php?id=1205 что встроенный поиск не годится.

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

Неактивен

 

02.04.2007 06:51:54 #3: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

* разный внешний вид можно задавать в CSS, а если требуется что-то сильно отличное можно выделить какие-то куски viewtopic в отдельные файлы и подключать их через include. тогда во viewtopic будет что-то такое:
switch(@forum_kind){
case PUN_KIND_ARTICLE:
  include(PUN_ROOT.'include/PE/article.php');
...
default:
  include(PUN_ROOT.'include/PE/focum.php');
}

* сейчас разделения поиска нет, я хочу такое добавить в PE 0.1.0
мне нравится своей простотой поиск c главной страницы на PunRes - чекбоксы на каждый тип. по-умолчанию все включены.
update: уже есть

* дублирование ссылок - это нехорошо, но как-то надо адресовать конкретный пост! в форуме exbb, к примеру, возле постов стоят не прямые ссылки, а по клику выскакивают окошки "Адрес этого сообщения такой-то". Поисковик по такой ссылке не пойдет, но адрес скопировать можно smile

Неактивен

 

02.04.2007 07:36:30 #4: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

дак я и говорю - эта проблема РЕШЕНА втой теме что я привёл - сходи на форум реактора - http://ru55.ru/forum - я там внедрил и этот мод - тоесть там ссылка на пост заменяется ссылкой на ТЕМУ а пост идет как якорь после символа #
это делается для НЕ ЧПУ-панбб форума просто добавлением небольшого кусочка в footer.php

и ещё я туда внедрил Convenient URLs by hcs - который вместо ссылки выводит имя темы на форуме, на которую ссылаешься!

только мне пришлось пару строк добавить - ведь к постам теперь ссылка ведт по другому smile

в данном случае я не знаю как изменить mod_rewrite - поэтому на netline.org.ru (твоя 0.0.5) - не внедрял ни первого ни второго sad


ссылка на тему: http://nlf.aa.z/topic/105

ссылка на пост: http://nlf.aa.z/post/704#p704

а надо бы вторую сделать примерно такой: http://nlf.aa.z/topic/105#p704

или: http://nlf.aa.z/topic/105:704 (как на ixbt)

тоесть я хочу тебе сказать что сама проблема в движке РЕШАЕТСЯ тем самым модом - stop dublicate urls, осталось только переделать мод-реврайт правильно

Отредактированно niikto (02.04.2007 07:37:26)

Неактивен

 

02.04.2007 12:18:51 #5: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

mod_rewrite настраивать не придется. в .htaccess есть такая хрень:

Код:

    RewriteRule ^topic/([0-9]+)?#p([0-9]+)/?$ viewtopic.php?id=$1#p$2 [L,NC]

тут все уже предусмотрено!

то есть модифицировать PE надо точно также как нечпушный форум, только ссылки делаешь не viewtopic.php...#... а topics/...#...

Неактивен

 

24.05.2007 08:11:09 #6: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

модифицировал таки smile

тока вот Convenient urls by hcs не решился поставить...

это вошло в 006 smile

Отредактированно niikto (24.05.2007 08:12:04)

Неактивен

 

13.09.2007 06:08:04 #7: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

Как обычно идея должна пройти какую-то эволюцию, вызреть. Со временем уточняются термины и способы реализации. Чтобы избежать путаницы в названиях буду вместо слова "форум" употреблять термин "доска". Доска Объявлений - Bulletin Board System. Теперь "форум" — это частный случай "доски".
Сейчас я готовлю релиз PE 0.1.0. Попробую перефразировать первый пост темы:

В основе простая идея: заводим дополнительный признак у категории - тип (kind).

Имея такой признак мы можем
1. Разделить полный список досок (boards) на группы по типам, например "форумы", "статьи", "галереи", "блоги" и т.д.
В меню верхнего уровня добавим навигацию по типам. Отсюда появился термин супер-категория. Эта группировка как бы выше по иерархии, чем категории. В пределах одной категории все доски имеют один и тот же тип.

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

3. Дать пользователю возможность ограничивать текстовый поиск по одному или нескольким типам досок.

По мере надобности можно заводить новые типы досок.
Этот механизм хорошо сочетается с так называемыми "Человеко-Понятными УРЛами" ЧПУ (в английском языке используют термин Search Engine Friendly или Search Engine Optimized). Для каждого типа форума можно и нужно завести наглядный алиас, например:
_http://somesite.com/articles.php будет отображаться на _http://somesite/boards.php с фильтрацией по categories.kind=3

как это работает в PE 0.1.0:

- в таблицу categoies добавляю поле kind
- скрипт index.php (список всех досок) теперь называется boards.php. он никогда не будет вызываться напрямую, а только из оболочек. например имеем оболочку blogs.php:

Код:

<?php
define('PUN_ROOT', './');

$kind  = PUN_KIND_BLOG;
require PUN_ROOT.'boards.php'

аналогично делаем articles.php, forums.php и т.д.

а в boards.php имеем такой код:

Код:

...
if (!isset($kind))
    exit('You cannot call this script directly');
...
$result = $db->query('SELECT ... FROM categories AS c INNER JOIN forums AS f ... WHERE c.kind='.$kind.'...');
...

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

Неактивен

 

14.09.2007 03:33:59 #8: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

вышла 8-я ревизия PE 0.1.0
- доски уже разделены по типам (теперь это называется "доски")
- форумы распределяются по типам в админке: панели Категории и Доски
- в поиск заложена заготовка раздельного поиска по разным типам

пока НЕТ никакого различия в отображении разных типов: что форум, что галерея, все едино smile
это задача для будущих правок

можно скачать здесь:
http://www.assembla.com/spaces/files/punbb_pe

UPDATE: АХТУНГ! я забыл добавить в репозиторий пару абсолютно необходимых файлов. такчто пока рано качать sad

UPDATE2: файлы добавлены. это 9я ревизия - можно качать smile

Неактивен

 

14.09.2007 23:08:55 #9: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

Продолжение теории: персональные доски - блоги и личные галереи.
В "нормальном" форумном движке новые форумы может создавать только Админ. он же делегирует некоторые административные функции Модераторам.

Теперь вообразим страшное: Админ разрешает какой-то группе пользователей создавать свои доски. В пределах своей личной доски пользователь является Модератором и даже чуть-чуть Админом.
Он может удалять и редактировать любые комментарии, Может разрешить или запретить писать определенным группам пользователей, может вести свой личный блек-лист (почтичто бан-лист).

Как реализовать?

1. В таблице groups заводим еще одно право и один список
+ own_board tinyint(1) default 0. Право на создание своих досок. По-умолчанию выключено.
+ cat_list text null. Сериализованый список категорий где пользователь данной группы может создавать личные доски. Категория имеет свой тип-суперкатегорию (см. выше). Значит Админ может, например, разрешить группе Power Users заводить только блоги, а группе Columnists заводить блоги, галереи и статьи.

2. В таблице forums заводим ссылку на автора.
+ owner_id int(10) null. По-умолчанию автора нет. Обычная доска smile Если поле не null, значит персональная.

3. В таблице users заводим список для "личных врагов фюрера". Должен он как-то банить плохишей в пределах своих досок?
+ black_list text null. Сериализованный список пользователей, не допущенных к личным доскам данного пользователя.

Это материал для внедрения в ближайших ревизиях PE

Неактивен

 

15.09.2007 18:16:24 #10: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

вышла 10-я ревизия. набор реализованных особенностей:
- раздельные списки досок по суперкатегориям. для каждой суперкатегории есть отдельный скрипт.
- как следствие: index.php теперь не список форумов, а "портальная" страница с отдельным шаблоном
- панели Админки Boards (бывший Forums) и Categories настроены на работу с суперкатегориями
- в запросе поиска можно указать набор суперкатегорий, в которых надо искать. если указана конкретная доска для поиска, то эта опция игнорируется
- новый help.php - разделы помощи разворачиваются по требованию

основа заложена, приступаю к управлению внешним видом отдельных суперкатегорий

Неактивен

 

23.09.2007 07:40:34 #11: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

ревизия 15. реализовано:
- поиск возможен по отмеченным типам досок, но если выбрана конкретная доска, то типы игнорируются.
- переходы к другой доске (quickjump) во viewboard и viewtopic делаются только в пределах текущей суперкатегории
- перенос темы аналогично - только в другую доску той же суперкатегории

Неактивен

 

25.09.2007 07:40:19 #12: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

Я в раздумьях про структуру PUN_KIND_ARTICLES...

Сейчас мне кажется, что статья и комментарии к ней — это должны быть разные "темы". Сама статья может быть из нескольких частей/страниц. Это можно оформить как посты одной темы. Комментарии к статье — классический форум. Просто в заголовке темы будет сказано: "комментарии к статье такой-то".

Какие будут соображения? niikto, что-то давно тебя не было слышно smile

Неактивен

 

25.09.2007 08:26:45 #13: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Суперкатегории - база для построения мини-CMS

Комментарии к статье — классический форум.

Думаю это более логично.


никогда не жалей о том чего не можешь изменить

Неактивен

 

30.11.2007 10:07:06 #14: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Суперкатегории - база для построения мини-CMS

Эта тема пережила переезд на другой сайт, сам PE перешел уже в иное состояние, какие-то ссылки устарели.
Поэтому я закрываю тему как неактуальную. Новое время, новые темы. Ура!

Неактивен

 

Board footer

Powered by PunBB + PE

Valid XHTML Valid CSS

[ Generated in 0.039 seconds, 8 queries executed ]