Начинать каждую следующую статью об очередной CMS трудно: кажется, что все уже было сказано раньше тобой или кем-то другим, причем не единожды. С другой стороны, давным-давно сформировался определенный набор критериев, по которым мы сравниваем подобные системы между собой, а значит, оценивать становится с каждым разом все проще и проще, ведь мы знаем тему досконально. Ломать же голову над тем, зачем нам их столько, не будем, а сразу перейдем к делу.
Что нам обещают
Разбираясь с Bitweaver, мы пойдем обычным путем: рассмотрим, что обещают нам разработчики, а затем изучим архитектуру продукта и его особенности. В качестве основы на данном этапе возьмем небольшой список, который называется The Best of Bitweaver; также его можно найти и на официальном веб-сайте проекта.
Правда, в статье мы немного расширим его и углубим, учтя и другие документы разработчиков.
Простая схема работы с дизайном
Bitweaver обладает такой внутренней системой для работы с внешним видом страниц, которая позволяет разбивать их на множество небольших логических кусков и держать их в максимально компактном виде. В то же время фундаментом для Bitweaver в данном вопросе служит система шаблонов Smarty, которая позволяет безболезненно отделять логику страниц и контента, а шаблоны — это фактически обычный HTML-код с вкраплениями собственных переменных Smarty.
Кроме того, вместе с системой поставляется несколько уже готовых вариантов, в том числе и blank. Это сделано для того, чтобы помочь пользователям создавать веб-сайты XHTML 1.0 Strict, которые взяты в Bitweaver за стандарт. Иными словами, используя заготовки и документацию на официальном портале, можно добиться правильного отображения страниц достаточно быстро. Такая забота о пользователях характеризует систему и ее разработчиков только с хорошей стороны.
Мощная система стилей на базе CSS
Bitweaver очень прост в обращении
Как видно из предыдущего пункта, Bitweaver стремится быть проще и удобнее для пользователя, но тем самым его свобода чуть-чуть ограничивается. То же самое и со стилями: описываемый продукт обладает собственным интерфейсом для этих целей. Это одновременно делает работу с ними простой и более быстрой (меньше непосредственно кодинга) и уменьшает их объем с 50-65 килобайт в аналогичных системах да 10-15 килобайт в Bitweaver.
Думаю, что логичен вопрос о чистоте кода, раз пользователь не везде имеет над ним полный контроль. В ответ на это разработчики утверждают, что во всех страницах, генерируемых Bitweaver, таблицы практически не используются, за исключением тех мест, где без них не обойтись, — по соображениям браузерной совместимости в первую очередь.
Удобные инсталлятор и менеджер
Как правило, многие авторы систем управления контентом занимаются наращиванием внутренней функциональности, забывая о ее usability, а ведь она значит очень много. В Bitweaver с этим проблем не возникнет точно: здесь все сделано на приемлемо высоком уровне даже для коммерческого продукта. К примеру, инсталлятор автоматически проверяет настройки сервера и PHP, затем пользователь выбирает, что именно нужно установить, а от пользователя требуется минимум технических знаний. То же самое и с обновлением системы.
Главная страница менеджера в Bitweaver |
Что касается внутреннего менеджера Bitweaver, то он сделан так, что даже новичок интуитивно понимает, что и зачем следует нажимать. Если же у кого-то интерфейс все-таки вызовет вопросы, то практически все его элементы имеют возможность подсказки.
Повышенная скорость загрузки страниц
Разработчики очень гордятся тем, как были оптимизированы внутренние процессы Bitweaver во время обращений к базам данных. Суть этой оптимизации заключается в резком уменьшении количества запросов к базе: когда Bitweaver только начинался, их количество достигало 200 для загрузки одной страницы, сегодня же это число находится в районе 25.
Поддержка сразу нескольких баз данных
Bitweaver может работать с использованием PostgreSQL (pgsql), Firebird/InterBase, Oracle, MySQL, Microsoft SQL Server, Sybase и SQLite. Пожалуй, это одна из немногих систем управления контентом, которая действительно не зависит от используемого типа баз данных. Эта возможность появилась благодаря ADOdb — достаточно известной сегодня библиотеке. Более того, в качестве сервера администратор может выбрать как Apache, так и IIS — для каждого случая предусмотрен отдельный инсталляционный пакет.
Наследственность контента
Этот пункт с первого взгляда может показаться несколько абсурдным, но значит он лишь то, что вся информация в Bitweaver хранится в одной, условно говоря, центральной таблице, но в то же время имеется возможность создавать таблицы, которые будут соответствовать контенту лишь какого-то определенного типа, отвечая его требованиям. Наследственность при этом сохранится.
Быстрая интеграция с внешними приложениями
Об этом, как правило, заявляют разработчики каждой системы управления контентом вне зависимости от того, как дела обстоят на самом деле. Возможность интеграции со сторонними приложениями для CMS — это очень важная опция, от которой напрямую зависит ее популярность. К слову, в инсталляционный пакет Bitweaver уже входят встроенные phpBB и Gallery2, так что примеры есть, а также есть неплохой API и множество рекомендаций от пользователей.
Если говорить об архитектуре, то весь Bitweaver как система управления контентом состоит из множества различных пакетов, одни из которых обязательны для корректной работы продукта, а другие носят опциональный характер и используются по мере необходимости. Схема, можно сказать, классическая: в том или ином виде она присутствует везде, а разница — лишь в реализации. Посмотрим, как с этим обстоят дела у Bitweaver.
Вначале обсудим базовые пакеты, а затем пробежимся по всем остальным.
Базовые пакеты
Самый первый пакет — это Kernel Package. Bitweaver использует его во время инициализации и работы; он отвечает за настройку базы данных и правильную конфигурацию всех остальных пакетов. Главная его особенность — это скорость, масштабируемая в зависимости от размеров веб-сайта. Иными словами, один проект может иметь очень много технических опций, а другой — минимум. Однако не во всех CMS скорость будет меняться соразмерно подключенным или отключенным опциям. В Bitweaver неиспользуемая функциональность отсутствует еще на стадии парсинга.
В то же время, когда необходимо подключить не просто новый модуль, а интегрировать внешнее приложение, единственное, что требуется, это интерфейс для связи с базой данных и специализированная framework в рамках системы, которая будет отвечать за рендеринг страниц для встроенного приложения.
Еще одним важнейшим пакетом является Liberty Package. Он-то как раз и обеспечивает уже упомянутую наследственность контента. Схематично говоря, все модули Bitweaver (статьи, галереи, блоги и т. д.) взаимодействуют с Liberty, а не с базой данных напрямую. Такой подход позволяет значительно увеличить скорость загрузки информации и скорость поиска.
Этот же пакет отвечает и за всю остальную работу с данными, причем с вариациями. Так, к примеру, ввод текста может быть осуществлен в нескольких форматах благодаря механизму плагинов: TikiWiki, HTMl, BBCode, MediaWiki, XML, обычный текст. Кроме того, в Bitweaver есть возможность использовать любой механизм сортировки информации по id.
В Bitweaver можно создавать свои пакеты
Рендеринг всех страниц в системе Bitweaver контролирует пакет под названием Themes Package. Не вдаваясь в лишние технические детали, напомню, что свобода пользователя в плане настройки дизайна несколько ограничена, что является следствием архитектуры продукта. Но не стоит думать, что ограниченная свобода в данном случае — это невозможность создать свой собственный стиль веб-сайта. Нет, я говорю не о том. Просто дизайнеру придется принять некоторые правила и ограничения, которые накладывает философия Bitweaver, и все. К слову, это обычная ситуация для многих других продуктов схожего толка.
Поскольку администрирование пользователей сегодня для систем управления контентом является одной из первостепенных задач, в Bitweaver за эту часть отвечает отдельный пакет, который логично называется Users Package. Сюда входит и регистрация (в том числе и для внешних приложений), и настройка индивидуального вида веб-сайта, и мониторинг изменений, и все остальные функции, которые считают обязательным набором.
Встроенная wiki в Bitweaver |
Последним из базовых пакетов является пакет, отвечающий за весь внутренний текст и локализацию продукта, — Languages Package. Причем и здесь разработчики позаботились об удобстве: для того чтобы сделать свой перевод Bitweaver, нет нужды обрабатывать текстовые файлы в редакторах. Система имеет для этих целей собственный интерфейс.
Дополнительные пакеты
Переходя к рассказу о дополнительных пакетах в Bitweaver, сразу скажу, что описать их все подробно в этой статье не получится и, думаю, понятно почему. Однако картину я постараюсь дать максимально обширную, чтобы суть продукта стала ясна.
Bitweaver поставляется с несколькими интегрированными приложениями
А начну с возможности создавать свои собственные пакеты. Здесь Bitweaver дает своим пользователям, знающим веб-технологии в достаточной мере, полную свободу. Схема разработки пакета проста и укладывается в короткий tutorial, который можно найти в официальной документации к продукту. Разумеется, пакеты в данном случае лишь добавляют функциональность, но не позволяют ее менять кардинальным образом. Для этих целей придется вмешиваться в базовый код продукта.
Итак, вот список основных пакетов, отвечающих за контент в системе Bitweaver, с небольшими пояснениями:
- Articles Package — как видно из названия, пакет помогает пользователям публиковать статьи, причем статьями в данном случае считается практически все, что, по большей части, состоит из текста (новости, заметки и т. д.);
- Blogs Package — Bitweaver имеет встроенный модуль, отвечающий за ведение блогов, что достаточно удобно;
- Categories Package — контент — такая вещь, которую всегда требуется как-то структурировать, оптимизировать и вообще управлять ею, для этих целей и предназначен настоящий пакет;
- Fisheye Package — одна из двух встроенных в Bitweaver галерей изображений, автоматически создает thumbnails;
- Galaxia Package — это специфичный модуль, который добавляет в Bitweaver workflow-функциональность;
- Messages Package — система для внутреннего обмена сообщениями между пользователями, бывает очень удобной, если речь идет о community-портале;
- PhpBB Package — интегрированный форумный движок PhpBB, который, думаю, не нуждается в представлениях;
- RSS Package — этот пакет избавит администратора от головной боли в виде настройки и дальнейшего ведения RSS feeds на веб-сайте;
- Wiki Package — очень полезная вещь еще и потому, что не требует никаких дополнительных трудозатрат по добавлению wiki-функциональности.
Подводя итог, скажем, что Bitweaver не хватает звезд с неба, когда речь заходит о каких-то нетривиальных задачах, требующих серьезной работы по части веб-программирования. Однако Bitweaver — это отличный вариант, если требуется построить полноценный веб-сайт с обязательным набором возможностей, причем за не очень длинный промежуток времени. Скорость и дружелюбность — вот две главные отличительные черты Bitweaver, и, уверен, это многим придется по душе.
Ссылки по теме
Статья получена: hostinfo.ru