понедельник, 12 мая 2008 г.

Open Source для нашей выгоды / Joomla!

Source: http://www.itblogs.ru/blogs/borkus/archive/2008/05/12/Open-Source-_34043B044F04_-_3D043004480435043904_-_32044B0433043E0434044B04_-_2F00_-Joomla_2100_.aspx

На праздниках принял и реализовал решение о переводе нашего сайта (www.konnasi.ru) на CMS Joomla!. Уверенности, что нужно связываться именно с этой системой управления контентом (CMS) в общем-то не было. На рынке довольно много всяких продуктов — от бесплатного ez Publisher до платного Bitrix. В свое время мы много их пересмотрели по заказу одного нашего клиента, и, в общем-то, никакого особого оптимизма этот анализ не вызывал.

Ясно было, что для наших довольно скромных задач нам нужен продукт со свойствами:

  1. Максимально популярный, чтобы не было проблем поддержки и внезапной смерти разработчика.

  2. В меру функциональный, адаптируемый и удобный, чтобы закрыть наши проблемы.

  3. Максимально дешевый, чтобы сильно не тратиться на проект, который для нас в общем-то идет по статье «невозвратные расходы».

  4. Он должен вписываться в план, предлагаемый хостинговой компанией.

В этом смысле ясно было, что решение надо строить на PHP, как на наиболее дешевой технологии. По размышлении, мы не стали ставить Bitrix, в основном потому, что он не имел перед Joomla! Никаких преимуществ с точки зрения наших скромных задач. Другие PHP решения были отвергнуты а общем-то субъективно, так как показалась, что за Joomla! стоит большАя масса пользователей и поддержки. Это видно хотя бы по количеству сделанных на ней сайтом и числу плагинов.

Так как наш сайт — экспериментальный, то мы решили строить его сразу на новой версии Joolma 1.5, которая пока существует только в виде беты версии.

Эта версия обладает рядом довольно полезных функций, например, мы активно использовали возможность переопределения способов «отображения» (views, «вида») контента, делаемого системными модулями (например, списка новостей). Речь идет не просто о переопределении стилей CSS, а переопределении генерируемого кода HTML. Раньше для этого нужно было кроить исходный код Joomla!, но начиная с версии 1.5 этого же можно добиться включив переопределенный вариант системного php-файла в свой шаблон сайта. Тогда обновлении CMS шаблон не рушится.

Естественно, мы создали два ландшафта сайта — локальный, на своей PC и в интеренте, поэтому нам была важно простота перемещения контента между ними (использовали phpMyAdmin и FileZilla).

Что существенного можно сказать про процесс переноса?

  1. Крайне полезной можно назвать позаимствованную на время у друзей-дизайнеров книгу Building Web Sites with Joomla! 1.5. Хотя она и написана по более ранним версиям всех использованных технологий (Joomla, MySQL, MyPHPAdmin), но основная структура того как и что надо было делать сохраняет значимость.

  2. Те усилия, которые мы предприняли годом ранее для перевода шаблона сайта на CSS в общем-то принесли плоды. Хотя Joomla! вносит много своих стилей, в целом CSS-дизайн легче изменяется и подстраивается под CSS.

  3. Пришлось бороться с большим количеством глюков софта. Например, MySQL так и не заработал, в качестве сервиса windows, а GUI управления им из состава пакета XAMPP рушится с системной ошибкой. Впрочем, запустили не как сервисис.

  4. Пришлось поломать голову, как это поставить на Zenon в рамках нашего тарифа. Инсталлятор Joomla! порывался создать новую базу на сервере Zenon, чего тариф не допускал. Кроме того, у Zenon, запутанная (на мой взгляд) документация их системы хостинга. По крайней мере я только опытным путем с phpMyAdmin определил  нужные реквизиты базы. Также в итоге пришлось заливать Joomla! вручную,  а не через инсталлятор. Другая фича касалась того, что базу надо переносить только в формате MySQL4. Но потом все заработало.

  5. Мне понравился FTP-менеджер FileZilla. Мало того, что он позволяет перетаскивать по FTP вложенные каталоги, но и еще ставит сам нужные права доступа.

Что касается самой Joomla!, то я так и не понял, нравится или нет мне ее система структурирования контента.

В исходной версии есть много ограничений, некоторые устраняются плагинами. Например, крайне не удобно строить ссылки из текста с одной статьи внутри системы на другую статью. Для этого лучше поставить плагин Linkr!.

Довольно запутанно вело себя главное меню — оно то раскрывалось, когда не надо. То не раскрывалось, когда это было надо. В итоге нашли хитрый механизм, связанный с созданием псевдонимов (alias) одних ссылок меню на другие. Он вроде проблему решил.

Через механизм псевдонимов удалось решить и другую проблему — если вы попадаете на статью не через главное, а через другое меню, то главное меню не раскрывается, чтобы отобразить путь к странице.

Пришлось немного подумать, как одновременно использовать два шаблона страниц — для главной страницы и для второй страницы. Тут помог опыт Bitrix.

Есть еще и вопросы с безопасностью, конечно, как и для всех PHP-систем.

Все это формирует базу для смутных предчувствий, что для проектов с большим количеством контента Joomla! будет не так хороша.

**

В перспективе, наверное, мы проведем с сайтом еще ряд экспериментов. Возможно активизируем поисковый модуль. Хотя HTML-контента у нас не много, смысла во встроенном поиске почти нет. Возможно, прикрутим туда wiki, как рекомендовал нам когда-то Максим Крентовский (он же booter). Еще поставим русификацию Joomla, чтобы при пролистывании новостей не проскакивал английский текст.

Выводы же из данного опыта примерно такие. Для переноса сайта на Joomla! квалификации все же нужны навыки разработчика и администратора. Их хотя и те и другие навыки требуются в ограниченных объемах, но все же уровня «продвинутого» пользователя для такой операции будет не достаточно. Готовые шаблоны для многих фирм будут не пригодны, поэтому придется лезть в код, а установка у провайдера так же связана с непредсказуемыми заморочками. Собственного, на освоение программирования шаблона, создание тестового ландшафта и перетаскивание сайта на провайдера у меня ушла пара дней — это не мало, но, конечно, и не много. Больше времени ушло на продумывание более четкой структуры контента, чему CMS способствует.

В целом я оказался доволен возможностями Joomla!. Довольно интересная альтернатива платным CMS-кам, по крайней мере, на небольших проектах.

// Влад Боркус

Published 12 мая 2008 г. 13:01 by Vlad Borkus
Filed under: , ,

Comments




lazyant said:Вы Drupal в качестве альтернативы не рассматривали? И если да, то чем он не подошел?мая 12, 2008 14:09

Vlad Borkus said:
>Вы Drupal в качестве альтернативы не рассматривали? И если да, то чем он не подошел?
Был один из финалистов. Ничего плохого про систему сказать не могу. Выбор именно Joomla! был несколько субъективен. Ее сейчас довольно много рекламируют, и нам хотелось получить некоторое впечатление о том, как она будет работать на нашей реальной задаче.
мая 12, 2008 14:27

Alexander Kupriyanov said:
Спасибо. Сыну распечатал.
В компании, если будем переделывать, то на Битрикс - по интегративно-персональным соображениям.
мая 13, 2008 10:08

booter said:
Битрикс - это правильно. Если нет специфического функционала.
Хотя я бы денег зажал - время жизни сайта 2-3 года максимум, вложения просто напросто не успеют окупится.
мая 13, 2008 10:51

Vlad Borkus said:
>Битрикс - это правильно. Если нет специфического функционала.
На мой взгляд, Битрикс странноватая система. Два года назад там текст больших публикаций редактор должен был смешивать в php-кодом. С точки зрения безопасности это дырка солидная.  Может сейчас что-то и изменилось. Вот смотрю, PCWeek и ко сайты на Битриксе переделывали, т.е. по крайней мере с точки производительности он оптимизирован.
мая 13, 2008 11:32

booter said:
> С точки зрения безопасности это дырка солидная.
А с точки зрения разработки - вообще маразм. :) Говорят, в новой версии нету, но смотреть не хочется.
> Вот смотрю, PCWeek и ко сайты на Битриксе переделывали, т.е. по крайней мере с точки производительности он оптимизирован.
Эм... Тут больше зависит от инфраструктуры и подсистемы кэширования, нежели от инструмента. Хотя я бы не стал высоконагрузочные сервисы разрабатывать на базе типовых коробок.
мая 13, 2008 13:49

Комментариев нет:

Отправить комментарий