22 January 2012

Критика UMI.CMS

CMS

UMI.CMS позиционируется как «система управления сайтами нового поколения». Официальный сайт приветствует нас радостным сообщением, что выдано более 86 000 лицензий, но стоит отметить что тут считаются все виды лицензий, не только платные, но и бесплатные. Так, например мне, потребовалось получить уже не один десяток бесплатных лицензий, а поскольку все лицензии привязаны к домену, то при переносе сайтов на рабочие домены лицензию нужно получать заново.

На главной странице официального сайта написано, что UMI.CMS используют более 10 000 сайтов и приведен список крупных сайтов, которые используют данную систему. Первый сайт в этом списке — сайт Сколково, который уже ушел от UMI.CMS на ASP (об этом на хабре уже писали). Вторым сайтом в этом списке идет сайт Связного, непонятно какой именно сайт имеется ввиду, но официальный сайт www.svyaznoy.ru работает на Битриксе, а не на UMI.CMS. Тоже самое и с сайтом правительства Москвы, хотя на официальном сайте UMI.CMS указано, что они работают именно на данной CMS.

Исходный код главной страницы официального сайта UMI.CMS радует нас такой вот версткой:
<h2 class="h2_style_main_page" style="margin-bottom: 0; display: inline-block; *width: 281px; margin-left: -21px; float: left;">Отзывы от владельцев сайтов</h2>
<a style="margin-bottom: 0; position: relative; bottom: 0; text-decoration: none; display: inline-block; float: right; right: 64px; top: 3px; font-weight: bold;" href="/product/reviews/">Все</a>
<h2 class="h2_style_main_page" style="margin-bottom: 0; display: inline-block; float: right; margin-right: 162px;">Отзывы от разработчиков сайтов</h2>
<div class="clear" style="height: 1px; margin: 0; padding: 0;"> </div>
</div>
<div class="clear" style="height: 1px; margin: 0; padding: 0;"> </div>
<div id="respones" class="respones" style="width: 920px !important; *height: 420px !important;">
<div id="responesContainer" style="width: 920px !important;">


Хорошо хоть, что сайт не сверстан таблицам, как, например, у официального сайта CMS DLE.

Сайт "Документация разработчика сайтов" и "Документация разработчика UMI.CMS" сделаны не на UMI.CMS, а на основе простых HTML страничках с использованием фреймов (кстати, на всех страницах не прописан заголовок документа в верстке).
Сайт вики также сделан не на UMI.CMS, а на open source движке MediaWiki.

Чтобы установить UMI.CMS себе на хостинг необходимо скачать файлик install.php, который сам скачает все файлы CMS из интернета. Соответственно не получится иметь у себя в резервных копий UMI разных версий, поскольку скачивается всегда последняя версия. Следует заметить, что UMI.CMS необходимо наличие на сервере расширения php xsl, которое установлено не на всех хостингах. Полная пробная версия UMI.CMS без установленных демо сайтов занимает 180 мб (4 985 файлов и 1 277 папок), база данных состоит из 80 таблиц размером 3,5 мб.

Проверка валидатором админской части UMI.CMS выдает 36 ошибок и 3 предупреждения (не объявлен тип документа, отсутствую теги alt у изображений, нестандартные атрибуты).

При редактировании материалов в UMI.CMS нет простой кнопки «Предпросмотр», зато есть три кнопки «Сохранить»:


Добавление изображений (известная проблема CMS) превращается в сущий ад, если количество изображений становится больше 20-50, поскольку после загрузки изображения его надо сначала найти (по имени или превьюшке), выбрать и только потом вставить. Т.е. нет простого режима — выбрал файл, загрузил, вставил.

Верстка


Одно из главных преимуществ по мнению создателей UMI.CMS — это режим редактирование edit-in-place, который позволяет редактировать сайт в визуальном режиме сразу на странице без захода в админку. Обратная сторона этой возможности — применение нестандартных атрибутов у html тегов (например: umi:element-id=«44» umi:region=«row» umi:field-name=«name» umi:empty=«Название раздела» umi:delete=«delete»), в результате чего получается не валидная верстка.

В UMI.CMS используются макросы, которые вызывают определенные действия (например показ элемента каталога, фотогалереи и т.д.). При вставки этих макросов в визуальный редактор (используется Tinymce) они оборачиваются тегами p. В результате при срабатывании большинства макросов внутри тега p появляются теги div, что приводит к не валидной верстке.

Помимо этого в шаблонах повсеместно используются устаревшие теги
<b> и <i>
вместо семантически более правильных
<strong> и <em>
а стили прописаны не в CSS, а в коде HTML. Tоже самое и с Javascript.

До версии 2.8.5 файлы тем к UMI.CMS располагались в разных папках:
css в /css
js в /js
tpl в /tpl/content, /tpl/news, /tpl/catalog и т.д.
xslt в /xsltTpls

Т.е. структура была не удобной и большое количество времени в создании темы занимало постоянные переходы между папками. Перенос шаблонов между проектами также усложнялся. К счастью в версии 2.8.5 разработчики предложили новый вариант — помещение всех шаблонов в папку templates.

SEO


У UMI.CMS есть сертификаты «Оптимальная для SEO» и «UMI.CMS отвечает требованиям SEO» www.umi-cms.ru/product/system/seo.

В настройках SEO можно указать префикс для тега Title, хотя целесообразнее указывать суффикс, а не префикс. Автоматическое генерировании тегов description и keywords также не поддерживается. По умолчанию нельзя создавать ЧПУ с использованием адресов как у модулей системы (например news, catalog и т.д.), в результате на сайте появляются страницы с именами news1, catalog 1 (хотя возможность включить поддержку таких ЧПУ есть, но в документации настоятельно рекомендуют этого не делать). ЧПУ в UMI.CMS генерируется автоматически, но по умолчанию в качестве разделителей между словами используется знак подчеркивания "_", хотя рекомендованный знак это знак дефиса "-" (возможность включения использования дефиса есть, но она спрятана очень глубоко и настраивается в config.ini).

В последние версии UMI.CMS встроена поддержка сервиса MegaIndex и в настройках модуля SEO можно указать свои данные от аккаунта к этому сервису. По умолчанию там стоят данные от UMI — логин и пароль, скрытый за звездочками. Этот пароль можно легко подсмотреть (например через расширение Web Developer для Firefox). В результате можно попасть в аккаунт UMI на сайте MegaIndex, где находится список сайтов, воспользовавшихся этой функцией у себя на сайте. В данных отчетов видны ключевые слова, позиции сайтов и другая информация.

Безопасность


UMI.CMS имеет сертификат «безопасное веб-приложение» www.umi-cms.ru/product/system/safe, хотя, например, при использовании tpl шаблонов (которые все еще очень популярны и используются на многих сайтах) при вставке html кода (в том числе и iframe) в поля «Название», «Поле H1», «Поле meta DESCRIPTIONS», «Поле TITLE», «Поле meta KEYWORDS» он никак не обрабатывается и отображается на странице как есть, т.е. очень легко можно сломать весь сайт, имея доступ только к редактированию материалов. Помимо этого явакод также никак не обрабатывается, т.е.
<script>alert('XSS');</script>
прекрасно работает.

При использовании xslt шаблона яваскрипты работают только если их вставить в текстовый редактор (чего тоже достаточно, чтобы натворить бед).

Обновления


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

Разработка


Файлы системы находят в папке classes, большинство функций и классов в них никак не документированы (комментарии есть только в 82 файлах из 786), т.е. глубоко разобраться в UMI.CMS без затраты большого количества времени не удастся.

Все свои дополнительные функции в UMI.CMS следует писать в файлах custom.php, которые следует размещать в системных папках. Со временем файл custom.php разрастается своими функциями, соответственно возникают проблемы с включением/отключением отдельных функций, переносом их между проектами.

Дополнительного функционала (платного или бесплатного) для UMI.CMS доступно очень мало. Из дополнительных платных модулей есть только модуль «GeoIP», часть проектов есть на UMI HUB, весь недостающий функционал придется писать самостоятельно.

Ошибки


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

Одна из последних ошибок, с которой столкнулся сегодня. Устанавливаем UMI.CMS или используем демо версию, ставим в админке использованием одного любого шаблона (xslt или tpl), потом заходим в редактирование этого шаблона и удаляем всю информацию о нем (название, адрес файла и т.д.). В результате получаем ошибку:
Неперехваченное исключение
Ошибка (coreException): Undefined templater


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

Если вам хочется иметь данную систему в качестве «сердца вашего сайта», то напомню, что самая полная редакция UMI.CMS стоит 29 900 руб.

UPD Наибольшее обсуждение в комментариях вызвали вопросы безопасности, в частности отсутствие обработки вывода стандартных полей материалов в tpl шаблонах. Представитель UMI.CMS наотрез отказывается признавать это уязвимостью или потенциальной уязвимостью, называя это «недочетом». Также он недвусмысленно сваливает вину за подобные «недочеты» UMI.CMS на разработчиков сайта. Выводы каждый для себя сделает сам.
Tags:UMI.CMSкритиканедостаткиcmsсистема управления сайтами
Hubs: CMS
+97
76.6k 72
Comments 302
Popular right now
SEO-специалист
December 7, 202064,900 ₽Нетология
iOS-разработчик с нуля
December 7, 202070,740 ₽Нетология
UX-дизайнер
December 7, 202047,940 ₽Нетология