UMI.CMS 14: поддержка PHP 7 и другие особенности новой версии

В версии UMI.CMS 14 мы сделали упор на технологичность: UMI.CMS 14 работает на всех версиях PHP от 5.4 до 7.0.10, введена альтернативная реализация каждого модуля, их кастомизация упрощена, а производительность и устойчивость системы к нагрузкам выросла. Кроме того, мы обновили некоторые модули и добавили несколько новых.

Новый модуль «Редиректы»

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

Мы написали новый модуль «Редиректы», который позволяет настраивать редиректы вручную и администрировать автоматические редиректы, что пригодится при SEO-оптимизации сайта, где настройка перенаправлений — постоянное занятие.

 

Модуль Редиректы

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

Обновление модуля «Поиск»

В модуль «Поиск» добавлен функционал замены. Изменение позволяет автоматически найти вхождение ключевой фразы в текстовые поля всех страниц и произвести замену сразу всех значений. Это заметно экономит время контент-менеджера, когда нужно заменить, например, название продукта или услуги сразу на всём сайте.

Модуль Поиск и замена

Обновление формы редактирования заказа

Добавлена возможность редактирования абсолютного значения скидки на отдельный заказ или товар в заказе, при этом изменения не затрагивают общую скидочную систему интернет-магазина.

Форма редактирования заказа

Это позволяют более гибко работать с заказами и моментально вносить изменения, если с клиентом оговариваются дополнительные условия.

Работа на PHP 7

Ядро системы было изменено таким образом, что теперь оно корректно работает на всех версиях PHP от 5.4 и до 7.0.10. UMI.CMS 14 стала первой системой управления сайтами Рунета, которая поддерживает PHP 7! PHP 7 позволяет системе работать быстрее и соответствовать постоянно развивающейся ИТ-сфере. А разработчики получили больше свободы в реализации своих идей, имея возможность выбирать подходящую версию PHP и подходящий хостинг для своих проектов.

Рост производительности

Мы провели нагрузочное тестирование двух идентичных UMI.CMS на двух одинаковых серверах с разными версиями PHP. Была произведена типовая установка UMI.CMS без подключения и настройки кеширующих механизмов. На систему установили типичный новостной сайт с блогом. Тестировалось велось в 100 параллельных потоков и длилось 2 минуты. Вот что получилось в результате:

Среднее время обработки запроса системой (скорость генерации страниц) уменьшилось примерно на треть:

Сравнительный график времени обработки запросаКоличество корректно обработанных обращений за 2 минуты увеличилось почти в 2 раза — система стала устойчивее к нагрузкам:

Сравнительный график обработки обращений

Как следствие, система стала корректно обрабатывать больше обращений в секунду, тоже примерно в 2 раза:

Сравнительный график обращений в секундуПереезд на PHP 7 принёс примерно столько же пользы, сколько обычно приносит длительная настройка кеширования и оптимизация шаблонов.

Также мы добавили интеграцию ещё с одним кеширующим механизмом — популярным NoSQL-решением для хранения данных Redis.

Альтернативная реализация каждого модуля

Теперь в системе для каждого модуля есть два варианта его исполнения в коде: старый — для обратной совместимости с кастомными решениями — и новый — для работы системы на PHP 7. Переключение между режимами модулей реализуются через конфигурации системы. Все модули снабжены внутренней документаций, удалены deprecated-методы и произведён рефакторинг.

Упрощенная кастомизация модулей

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

Это далеко не все изменения в UMI.CMS. Обязательно посмотрите полный список обновлений версии 14.

Удачной миграции на PHP 7!