Разработка сайтов на UMI.CMS
Знать UMI.CMS в совершенстве невозможно.
Даже сами разработчики знают о ней не все...

UMi

Ursa Minor

Первые впечатления от версии UMI.CMS 2.8

2010-02-22

Что тестировалось:

Версия системы: UMI.CMS 2.8.0-dev
Номер сборки: 14446

Первое впечатление новой UMI.CMS 2.8 было разочарованием: при авторизации мне не дали возможность выбрать любимый скин «Лайт», предложив довольствоваться «Баттерфляй». Не радостная новость. Как заявили разработчики: «К сожалению, мы приняли решение отказаться от основного и лёгкого скинов» (http://blog.umi-cms.ru/neuymin1/beta28/) Правда, после непродолжительной дискусси, пообещали в будущем (видимо, неопределенно ближайшем ;)) разработать новый скин, специально для разработчиков веб-студий.

Теперь краткий обзор изменений.

Шаблоны данных

Изменен интерфейс в модуле шаблоны данных. Теперь добавление новых полей происходит без перезагрузки страницы. Одна из немногих ситуаций, когда использование аякса оправдано)

Файловая система

В UMI.CMS 2.8 полностью переписан файловый менеджер. Если раньше возможность выбрать директорию для загрузки была только у поля «Изображение», сейчас она есть и у поля «Файл», что не может не радовать). Окно файл-менеджера стало больше и удобнее, превью изображений, множественная загрузка файлов, копирование и вставка, создание/удаление директорий. Чтобы не растекаться мыслью по древу, приведу два скриншота:

Интернет-магазин в UMI.CMS 2.8

Интернет-магазин в UMI.CMS 2.8 расцвел, как маков цвет и стал похож на настоящий интернет-магазин)

Во-первых, теперь можно положить товар в корзину с уже выбранной опцией.

Во-вторых, заметно улучшилась интеграция с 1С

Теперь  UMI.CMS умеет производить как разовый, так и периодический обмен данными с сайтом, работающем на UMI.CMS. Для этого необходимо настроить обмен данными в 1C:Предприятие, указав адрес обмена, логин и пароль супервайзера. Никаких дополнительных настроек в административном интерфейсе UMI.CMS производить не требуется. Обмен данными возможен в обе стороны. После первой настройки в 1С «Обмен с интернет-магазином» в дальнейшем обмен инициируется только 1С, заходить на сайт не требуется вообще.

В списке способов оплаты появились PayOnline System, Yandex.Money и Платежная квитанция. Проверить их работу, правда, не удалось - в тестируемой  бета-верисии UMI.CMS 2.8 эти фукнции были отключены.

Экспорт / импорт

Реализован в новом модуле «Обмен данными».

Разработчики UMI.CMS представили новый внутренний формат обмена данными (umiDump 2.0), который теперь позволяет импотрировать не только страницы, но и объекты и типы данных.

Форматы экспорта:

  • Каталог в формате Яндекс-маркет (yml)
  • Каталог товаров в формате СommerceML 2.0
  • Список заказов в формате CommerceML 2.0
  • Список предложений в формате CommerceML 2.0

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

На данный момент (UMI.CMS 2.8 beta) экспортер умеет разбивать результрующий файл на множество мелких файлов по количеству элементов, но только через API. В UMI.CMS 2.8.1 ожидается появление пользовательских интерфейсов.

Импорт данных в UMI.CMS 2.8 уже умеет работать с xml-файлами очень большого размера на обычном хостинге.

Экспортировать можно любую (или несколько) ветвь дерева страниц. Также и импорт возможен в любую ветвь (ранее UMI.CMS умела импортировать umiDump только в корень)

Макросы и модули в UMI.CMS 2.8

Привычный нам по прошлым редакциям UMI.CMS модуль eshop исчез, и на его место пришел emarket

%emarket basket()% - Осуществляет взаимодействие с корзиной для текущего пользователя.
%emarket basketAddLink()% - Возвращает ссылку на добавление указанного товара в корзину.
%emarket cart()% - Выводит содержимое корзины для текущего пользователя.
%emarket price()% - Возвращает стоимость товара.
%emarket purchase()% - Осуществляет процесс оформления заказа для текущего пользователя.
%emarket stores()% - Возвращает список складов, где есть в наличии указанный товар.
%emarket order()% - Возвращает информацию о заказе.
%emarket ordersList()% - Возвращает список заказов текущего пользователя.

%emarket basket([mode = '', itemType ='', itemId =''])%
Макрос используется для добавления элеметов в корзину или удаления элеметов из корзины. Кроме описанных выше параметров, может принимать также параметры в URL, описывающие количество добавляемого товара и его опции:
?amount=число
Количество единиц товара, указанного в itemId.
?option[имя_опции_1]=значение_1&option[имя_опции_2]=значение_2 ...
Опции добавляемого товара. Опции для товара должны быть заранее созданы в шаблонах данных для объекта каталога.

Еще один интересный макрос:

%system alphabeticalIndex()% — Выводит алфавитный указатель элементов раздела.

Макрос выводит алфавитный указатель для имен вложенных (дочерних) элементов раздела сайта с идентификатором elementId. Если id раздела не указан, берется id текущей страницы.

Параметр pattern по умолчанию задает вывод русского, английского алфавита и цифры. Для изменения набора выводимых символов указателя задайте самостоятельно интервалы в паттерне — например 'a-z' выведет только латинский алфавит, тогда как 'а-д1-9' — русский алфавит до 'д' и цифры от 1 до 9.

Разработчикам

Разработчикам веб-студий UMI.CMS 2.8 преподнесла несколько сюрпризов:

Полностью изменена структура папок в группе classes. Вроде, все стало логичнее, но я так привык к прежней структуре...

Часть настроек UMI.CMS перемещена в специальный файл: config.ini. Этот файл расположен в корне сайта. Тоже, на мой взгляд, здравое решение - нет смысла перегружать пользовательский интерфейс настройками, интересными только программистам. А мне, например, проще поправить руками один конфиг, чем кочевать по вкладкам и страницам.

UMI.CMS больше не использует prototype и заменила ее query. Самое неприятное в этой ситуации то, что на этом же фрйемворке постоен и расхваленный Edit-in-place. Не думаю, что это хорошо. На внутренних страницах админки разработчики вольны использовать любую удобную им технологию, но в клиентской части скрипты должны быть платформонезависимы. Тем более, что совместимость с иными фреймворками не оговаривается. Впрочем, справедливости ради, оговорюсь, что и раньше совместимости не было...

Еще одним побочным эффектом от смены js-фреймворка будут проблемы у разработчиков собственных модулей UMI.CMS - xslt-шаблоны админки в очередной раз изменились.

Общие впечатления

Субъективно скорость работы админки UMI.CMS заметно повысилась.

В контекстном меню наконец-то появились иконки операций, да и само меню стало больше. Однако, очень странно стало оно вести себя в опере – вспыхивает на секунду и тут же гаснет. Если за эту секунду не успеешь перескочить на него мышью. Будем надеется, что это особенность беты.

 

Благодарности 

Спасибо Надежде за предоставленную для опытов UMI.CMS. Мне, конечно, было лень устанавливать ее самому... ;)
Спасибо Антону Солончуку - за любезно предоставленый дистрибутив.
Спасибо разработчикам UMI.CMS за ударный труд. UMI.CMS стала заметно лучше)


Новости

30.10.2016

Обновлено описание макроса для вывода всех элементов справочника UMI.CMS с учетом версии 14.

 

21.07.2015

Памятка по обновлению до debian 8.1. Приятно вкусить все плюшки PHP 5.6

11.11.2014

Как выполнить SQL-запрос из bash-скрипта. Памятка

11.11.2014

Как отследить нагрузку сайта на сервер.

06.11.2014

Заготовка для галереи изображений с прокруткой. Не знаю, когда дойдут руки довести ее до вида плагина, поэтому открываю как есть. Можно доработать.

05.11.2014

Выкладываю как заготовку свой слайдер изображений на mootools

Все обновления