Intellect Board — cистема управления сайтом

Построение сайта на основе форума

Intellect Board — cистема управления сайтом »   Обсуждение Intellect Board 3.x »   Общая характеристика IntB 3.x
RSS

Общая характеристика IntB 3.x

Текущий рейтинг темы: Нет
Выводить сообщения

<<Назад  Модераторы: aerograf, wsxПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Итак, перечислю основные черты, которые будут отличать IntB 3.x от 2.x.
1. Отказ от жестко фиксированной иерархии категория/раздел/тема/сообщение и переход к универсальной таблице объектов, расположенных древовидно (кроме того, в дальнейшем планируется добавление ссылок-указателей, по аналогии с symlinks в Unix-подобных системах, что позволит делать структуру вообще произвольной).
Для представления дерева в базе данных будут использоваться materialized paths.
Таким образом, мы переходим от CMS на базе форума к форуму со встроенный CMS.
2. Более высокоуровневая работа с БД. Если в 2.x были функции вида db_имя_функции, полностью аналогичные функциям работы с БД для MySQL, то в 3.x используются функции, позволяющие сразу извлекать поле, строку или множество строк в виде массивов без организации цикла вида while ($data=db_fetch_array($res)) и сразу же освобождать ресурс, а также обрабатывающих ситуации, когда ничего не было возвращено. Будет сохранена прежняя префиксная модель именования таблиц, но при этом будет иначе проводится сохранение: вместо автоматизированного построения части SQL-запроса в виде строки вида "поле1=значение1, поле2=значение2" будет строится хеш-массив вида поле1=>значение1, поле2=>значение2, который затем будет передаваться функции сохранения. (При этом значительно упрощается проверка и корректировка значений полей в том случае, если пользователь пытается их сфальсицифировать.)
3. Использование объектно-ориентированного программирования (объектная модель PHP 4) для предотвращения конфликта имен и использования возможностей, предоставляемых наследованием.
4. Полная изолированность модулей. Хотя в 2.x тоже используется модульный подход, однако полной изолированности модулей нет, так как они используют общие библиотеки, единые языковые файлы и структуру БД.
В 3.x для каждого модуля будет свой шаблон, свой языковой файл, и свой файл, описывающий необходимые поля в структуре базы данных. При этом структура БД будет описываться не в виде SQL-запросов, а в специальном формате (возможно, XML). Обработкой этого файла будет заниматься модуль работы с базой данных, который и будет приводить структуру БД в соответствие с этим описанием.
Такой подход позволит собирать дистрибутив только из тех модулей, которые действительно нужны для конкретного сайта.
5. В IntB 3.x будет полностью разделено получение данных и их вывод, что позволит использовать одни и те же процедуры для генерации обычных страниц, RSS и WAP.
Оффтопик: Именно из-за отсутствия этой возможности в IntB 2 x. WAP был исключен из планов.
Кроме того, это же позволит в будущем организовать API для вызова функций форума с помощью протокола SOAP.
Кроме того, такой подход позволит сделать обработку информации различными парсерами в зависимости от стиля (и теоретически становится возможным написание такого парсера, который позволит использовать стили от других движков).
6. Полная изоляция функций работы с пользователями в отдельный класс. Это даст возможность желающим интегрировать IntB 3.x с другими движками избавиться от дублирования информации между базой данных чужого движка и базой IntB.
7. Кроме модулей, предусматриваются еще и подключаемые библиотеки, которые могут использоваться несколькими модулями одновременно. Также предусматривается механизм событий, с помощью которого будут вызываться подключаться определенные библиотеки и вызываться процедуры из них при наступлении определенного события (например, перед сохранением отправленного пользователем сообщения в БД). Так как механизм событий является настраиваемым, это позволит писать дополнительные библиотеки
8. Используемая кодировка — UTF-8. Также (в случае MySQL) планируется переход на таблицы типа InnoDB, отказ от FULLTEXT-поиска и замена его на собственный механизм индексации с использованием стеммера, что позволит перейти к поиску с учетом словоформ.
9. Усовершенствованные средства отладки. Теперь будут ошибки уровня warning не будут приводить к аварийному завершению скрипта. Также отключено подавление ошибок уровня notices и скрипты строятся таким образом, чтобы эти ошибки не возникали при нормальной работе. В случае возникновения ошибки выводится полный стек обратного вызова со всеми параметрами, что существенно упрощает отладку.
10. Принципиально новая возможность, которой не было в IntB 2.x — самодиагностика. Каждый модуль и библиотека имеют функцию, при вызове которой производится проверка, имеются ли условия для корректной работы или нет (т.е. загружены ли дополнения PHP, разрешена ли запись в нужные каталоги и т.п.).
Наличие этой возможности позволит более просто обнаруживать возможные проблемы, особенно при переносе сайта с одного хостинга на другой.
11. IntB 3.x сразу пишется с документацией для разработчика (точнее, она генерируется автоматически средствами PHPDoc). Документация на английском языке.

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
<<Назад  Модераторы: aerograf, wsxПечать
Intellect Board — cистема управления сайтом »   Обсуждение Intellect Board 3.x »   Общая характеристика IntB 3.x
RSS

1 посетитель просмотрел эту тему за последние 10 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
Ограничение доступа
не отображаются разделы
Архив версий
Установка стиля на Intellect Board 2.22
Завершилась работа над новой версией 3.00

Самые активные 5 тем RSS


Время выполнения скрипта: 0.0153. Количество выполненных запросов: 17, время выполнения запросов 0.0000
Creative Commons License Rambler's Top100 Rambler's Top100 Рейтинг@Mail.ru Valid HTML 4.01 Transitional Valid CSS!