Статьи Новости Контакты

05.02.2009
Даниил Буров

CMF MODx

описание среды для создания сайтов

Учебник по MODx

Рано или поздно профессиональные навыки каждого веб-мастера повышаются до той степени, когда скриптовые языки, гипертекстовая разметка (html), css становятся не просто словами, а работой, частью жизни. Появляются первые действительно серьезные проекты, которые без хвастовства можно назвать СДЛ (сайты для людей), первые серьезные заказы и осознание того, что инструменты, которые честно служили не один месяц, не справляются с поставленными требованиями. Несмотря не некоторый опыт, начинающий веб-мастер создает большую часть своих проектов методом "я его слепила из того, что было" — шлифует многочисленные CMS, подстраивается под ТЗ (техническое задание) заказчика.

С ростом знаний, как правило, приходит понимание того, что на очередной CMS портального типа попросту невозможно реализовать все пожелания заказчика. Для разработки собственных CMS необходимы глубокие знания и немалый опыт. Те CMS, что есть в наличии, попросту не предоставляют всех необходимых возможностей — недостаточно гибки, для расширения функционала приходится ждать выхода очередного модуля от разработчиков, нерегулярно обновляемы, а то и вовсе забыты. Один из выходов в подобной ситуации — это подбор соответствующей CMF (Content Management Framework) — среды разработки сайта. Одна из таких CMF — MODx.

Предыстория

По сути, MODx является прямым наследником CMS Etomite. Предыстория данного продукта такова: разработчики Etomite поругались, что-то не поделили, и часть разработчиков во главе с Рэймондом Ирвингом образовала команду MODx. Изначально оттолкнувшийся от CMS Etomite версии 0.6, Рэймонд Ирвинг и команда единомышленников продолжают развивать эту CMS, которая теперь называется MODx Project. Система MODx построена на базе Etomite, но является, по утверждению разработчиков, не клоном, а улучшенной версией. Сейчас ее поддерживает команда профессиональных разработчиков практически со всего мира.

Обратимся к самой CMS, взглянем на ее достоинства и недостатки, разберем некоторые особенности и "тонкие" места. С точки зрения коммерции, MODx является GPL-разработкой. Это означает, что система бесплатна и ее может использовать каждый. Она написана на PHP, использует СУБД MySQL и работает практически на всех ее версиях, выпущенных за последние пару лет. В качестве веб-сервера может использоваться Apache либо Microsoft IIS. Контрольная панель системы работает практически во всех современных браузерах, включая Safari. Эта CMF удобна для разработчика, но достаточно сложна для простого пользователя со средним уровнем знаний php, который хочет набор готовых модулей по принципу "включил и заработало". Такого, увы, нет.

Крупным планом

Для установки потребуется хостинг — стоит воспользоваться либо бесплатным хостингом без надоедливых рекламных ссылок, либо его платным аналогом. Пригодится и джентльменский набор веб-разработчика — «Денвер». Также необходимо скачать последнюю версию, а на момент написания статьи таковой являлась MODx-0.9.6.3, по адресу и обратиться к вики-документации. Помня о сложностях в освоении почти любой CMF, документацию следует прочитать крайне внимательно. Согласно вышеуказанной документации для установки необходимо загрузить дистрибутив на хостинг (в корневую папку), выставить права доступа для папок, воспользовавшись любым ФТП-клиентом, и, наконец, создать базу данных MySQL.

По заверениям разработчиков, MODx будет работать "на чем угодно"
Как на платном, так и на бесплатном хостингах установка проходит "без сучка, без задоринки", что не может не радовать. С "Денвером" возможно возникновение небольших проблем warning-типа. К счастью, легко разрешимых. По заверениям разработчиков, MODx будет работать "на чем угодно". Требования действительно достаточно скромные:
  • надежный хостинг без особой перегрузки серверов;
  • ОС Linux;
  • Apache с mod_rewrite;
  • PHP 4.3.10 или выше. В ближайшем будущем, с использованием PHP 5, станут доступны некоторые весьма впечатляющие "навороты";
  • MySQL 4.1.х или выше;
  • знать, что означает php.
Последний пункт еще раз показывает, что MODx именно CMF, а не CMS.

Панель администрирования

Чтобы получить доступ к админ-панели, необходимо зайти на сайт и дописать в адресной строке "/manager", в итоге адрес выглядит примерно следующим образом: "MyDomen.ru/manager". При появлении формы входа в панель в соответствующих полях вводим имя пользователя (логин) и пароль (которые либо присылают по почте, либо выдаются администратором непосредственно). Обращаем внимание: имя пользователя (логин) и пароль чувствительны к регистру. Есть возможность не мучаться с установкой и тестированием, а опробовать в действии демосайт, который перезаписывается каждые два часа, а потому творить в админке можно все, что душе угодно.

Админ-панель сделана добротно — разумный минимализм, древовидная структура каталогов, мягкая цветовая гамма. После недолговременного пребывания в ней становится ясно, что без вдумчивого чтения документации сделать более-менее серьезный проект достаточно сложно. Вместе с тем панель построена на удивление логично и опрятно: демосайт, с которым велись эксперименты, вышел чистым, логичным и достаточно быстрым.

В качестве CMF MODx может похвастаться следующими моментами.

  • Механизм управления ключевыми словами. Есть общий управляемый список ключевых слов, которые затем в каждом документе просто выбираются. При этом движок уже сам прописывает все на странице без каких-либо добавлений кода. Просто и аккуратно.
  • ЧПУ (человеко-понятные URL). Никаких дополнительных надстроек не нужно, точнее сказать, эта "опция" уже включена в базовую комплектацию — достаточно просто включаете использование ЧПУ в админ-панели. По умолчанию используется номер документа (ID), если не задать специальный псевдоним. Для англоязычных статей возможно использование автоматического создания псевдонима по заголовку.
  • Ajax (Asynchronous Javascript and XML — "асинхронный JavaScript и XML") — подход к построению интерактивных интерфейсов веб-приложений, заключающийся в "фоновом" обмене данными браузера с веб-сервером. В результате при обновлении данных страница не перезагружается полностью и веб-приложения становятся более быстрыми и удобными.

Ajax активно используется в администраторской части. В списке документов изначально показываются только необходимые пункты (родительские документы), а затем при необходимости подгружаются дополнительные (дочерние). Также список динамически обновляется при операциях редактирования, создания, удаления, публикации документов. Возможность использования Ajax при разработке проектов на MODx является одним из основных ее преимуществ в качестве CMF.

О пользователях, группах и документах

Все пользователи разделяются на веб-пользователей (кто использует сайт) и менеджеров (кто управляет сайтом). Права менеджеров определяются ролями и легко управляются. Собственно, ролевая система управлением привилегиями не в новинку, однако сам факт наличия оной есть несомненный плюс — удобно и достаточно гибко.

Лес документов

MODx обеспечивает поддержку различных типов документов и неограниченную их вложенность и количество
Документы выстраиваются в общее дерево, которое загружает только видимые документы, а при открытии какой-либо ветки быстро загружает дополнительные. Дерево показывает тип документа, опубликован он или нет, отображается ли в меню. Документы могут быть не только в HTML-формате, но также и css, javasript, xml и любого другого, что можно определить соответствующим типом (Content-Type). Также эти документы могут быть преобразованы в другой необходимый формат. Таким образом, можно сделать библиотеку, которая хранит все книги в формате XML, а посетителям выдает в любом удобном виде (doc, pdf, txt, rtf и т. д.).

Данная модель документооборота обеспечивает поддержку различных типов документов и неограниченную их вложенность и количество. Стоит отметить, что основным недостатком данной системы является слабая оптимизация, что выражается в медленной работе с большим количеством документов — таким образом, скорость обработки документов обратно пропорциональна их количеству. Этот недостаток сразу исключает возможность использования MODx в качестве серьезного, динамически обновляемого портала с высоким документооборотом. Вместе с тем нельзя не отметить удобные инструменты для создания меню, списков и форм. Все шаблоны легко меняются и хранятся в одном месте. В наличии присутствует инструмент для их модификации и управления ими.

Ложка дегтя

Готовых модулей, различных решений (галереи, форумы, электронные магазины) очень мало. Время от времени они появляются, но пока их явно недостаточно. При росте числа документов резко падает производительность. Особенно заметно, когда документов становится действительно много — от 3000. Система начинает очень медленно работать вне зависимости от конфигурации сервера, на котором установлена, ресурсов, которые под нее выделены, и "толщины" интернет-канала. От построения на этой системе действительно больших порталов с объемным контентом стоит воздержаться.

Документация — базовая документация удобно организована в вики-формате и предоставляет базовые сведения по эксплуатации MODx в качестве разработчика. Однако, как и во многих других CMF, для того чтобы полностью разобраться в тех или иных вопросах, придется вникать в исходный код. Наблюдаются некоторые проблемы с русским языком в самой системе. Например, тот же AjaxSearch (поиск) периодически не работает.

Итого

В заключение можно сказать, что плюсы MODx превышают минусы в той степени, чтобы считать данную CMF действительно удачной. Лицензия (GNU GPL) послужит гарантом того, что она будет регулярно обновляться новыми решениями, модулями, функционалом. Будем надеяться, что команда MODx решит все плохие моменты, а хороших сделает еще больше.




Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2017 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100