Регламент работы. Служба поддержки umi cms
Переход с OpenSource CMS на коробочную UMI.CMS глазами разработчика
Холивар
Безусловно, каждый разработчик будет хвалить именно ту систему управления, тот язык программирования и ту операционную систему, к которой он привык. Я нисколько не претендую на то, чтобы мое мнение считалось единственным верным. У каждого есть своя точка зрения, но я хотел бы рассказать, почему в итоге я выбрал UMI.CMS в качестве основной системы для разработки сайтов.
Длительный путь
Я имею достаточно богатый опыт разработки бизнес-логики для всякого рода систем управления. Так уж получается, что в большинстве случаев веб-студии испытывают явный недостаток специалистов, которые могут разбираться в короткие сроки с тем, с чем они раньше не сталкивались. Всегда можно написать некоторый код напрямую в обход API и вообще архитектуры системы. Однако, лично я такой подход не приемлю, и, как показывает практика, время и трудоемкость, которые будут потрачены потом на обновление и доработку такого рода систем, возрастают в разы.
Отсюда мне пришлось поковыряться в совершенно разном коде разных CMS, начиная от OpenSource-решений, типа Joomla, Wordpress, и самописных движках. Безусловно, также в разработке мне пришлось столкнуться с UMI.CMS и 1С-Битрикс.
Отсутствие централизованного управления со стороны производителя. Проекты, не имеющие внутреннего стержня — сильной и волевой компании-разработчика — разрываются на части разными направлениями развития, разными стилями программирования и разными подходами к решению задач. По этой же причине технические проблемы и баги большинства полностью opensource-систем приходится устранять силами собственных разработчиков
И что бесплатно?!...
В самом начале своего пути в направлении создания сайтов и разработки функционала, я предлагал клиентам использовать бесплатные системы управления, причем я честно был уверен в том, что коробочные решения — это пустая трата денег клиента. И, естественно, доволен был и клиент, так как он реально экономил. Также важным аргументом был тот факт, что для Opensource-решений разрабатывается большое количество платных и бесплатных модулей, которые можно использовать в рамках своих проектов. Для меня лично и в дальнейшем для нашей компании это тоже было удобно, так как не нужно тратить время на разработку каких-то решений, практически уже все есть в сети.
Однако, спустя какое-то время начали возникать всяческого рода трудности (например, где-то посыпались эксепшены, которые ничем не ловятся, или стали наблюдаться явные проблемы производительности), о возникновении которых я даже не мог подозревать. В итоге силами разработчиков приходилось копаться в коде модулей и самой системы управления и устранять баги. Иногда проблемы решались обновлением, а иногда, наоборот, это приводило к возникновению новых багов.
Первое знакомство
И, возможно, так было бы и дальше, стали возникать мысли о написании своей системы управления, которая не будет многофункциональной, а будет направлена для решения конкретных задач. Но пришлось столкнуться с крупным проектом, для которого было разработано много уникального функционала, и работает он под управлением UMI.CMS. В рамках данного проекта требовалась разработка нового функционала и доработки по старому. Так я и познакомился с миром UMI.CMS.
Признаюсь честно, было потрачено достаточно времени, чтобы понять для себя, как писать код под UMI. Однако, я считаю, это время не было потрачено зря. Я остался доволен тем, как подошли к делу разработчики ЮМИ, и мне нравится то, что у них получилось.
Сейчас мы практически полностью отказались от использования OpenSource для разработки Интернет-проектов. И смещаем акцент с 1С-Битрикс в сторону UMI.
А теперь больше конкретики, почему именно UMI.CMS. Я хочу затронуть весь спектр преимуществ с точки зрения разработчика и с точки зрения заказчика.
Архитектура данных
При работе с API UMI.CMS мы абстрагируемся от понятия базы данных, ее структуры, нативных sql-запросов, хотя реально это все используется, но скрыто в глубинах API. Разработчик, в терминах UMI, работает с объектами. Вся модель построена на взаимодействии объектов. Для получения объектов из внешнего хранилища используется понятие фильтра-селектора, который строится добавлением вызовов методов фильтрации. Объекты могут быть связаны между собой иерархически.
Чтобы получить список красных машин, мы просто указываем селектору тип объектов — машины, а также его характеристику — красный цвет и все. Селектор внутри своей реализации в стороне от разработчика строит sql-запрос, исходя из своей модели, и не требует от него знаний в архитектуре хранения данных и обращения к ним.
Реальная сериализация всех UMI-объектов происходит в одних и тех же таблицах. Рефлексия, или отражение, атрибутов объектов и его типа происходит по служебным полям таблиц, соединяя все представление объекта по ключам строк таблиц.
Объектно-ориентированная архитектура базы данных позволяет решать задачи проще и быстрее и обеспечивает высокую преемственность проектов между разработчиками.
Достоинства модели объектов UMI.CMS
С одной стороны, такая физическая организация данных через единое разложение данных очень гибкая и удобная, так как позволяет динамически добавлять объекты без расширения физической структуры и добавления таблиц (не плодятся таблицы), все данные имеют единое представление, что позволяет применять и реализовывать одни и те же единые алгоритмы и процедуры обработки данных.
Большинство известных мне систем управления имеют упрощенную модель хранения данных, которая подразумевает отображение каждого типа объектов на свою таблицу в БД. Такое построение позволяет составлять более эффективные с точки зрения производительности и сложности нативные sql-запросы, но менее гибко и более трудоемко для разработчика для реализации, требуя от него знаний по созданию таблиц, их организации, оптимизации. Также для каждого объекта нужно писать свои алгоритмы и операции по сериализации и десериализации, что требует дополнительных усилий и времени для тестирования и отладки.
Возникает вопрос, почему же для меня не имеют значение эти столь серьезные недостатки в организации данных в хранилище. Отвечу так: для корпоративных сайтов, интернет-магазинов, информационных порталов и социальных сетей, угрозы производительности не будет. Большинство проектов имеют не гигантский масштаб по нагрузкам и объему данных, а поэтому вариант с UMI.CMS позволит решать при достаточном уровне производительности подобные задачи. А для разработки крупных систем под высокими нагрузками я вообще бы не стал использовать PHP и MySQL, в такой ситуации я бы выбрал связку Java + Oracle. Но зато для разработки сайтов это удобная модель, так как позволяет значительно упростить работу. Наверняка некоторым программистам такое представление данных покажется неудобным, однако сразу скажут, что это предельно просто и удобно. За счет этого даже пользователь имеет возможность создать любой объект прямо через админку. Для этого ему не придется лезть в БД и создавать там новую таблицу, и разбираться, как и что там делать.
В процессе разработки
Существует достаточно полная документация по API, на сегодняшний момент есть определенные недостатки примеров, но такая ситуация есть у всех. Могу в защиту сказать, что ребята из «Юмисофт» постоянно работают над улучшением документации, также развивают свои источники информации: блог, вики и вики-дев. Также наличие «Службы Заботы» позволяет разрешать затыки и сложности в процессе разработки.
Видно, что UMI заинтересованы в своих партнёрах и клиентах, всегда идут им на встречу и помогают всеми возможными путями. Могу сказать, что это здорово, так как, возвращаясь например к Joomla, спрашивать не с кого, необходимо самостоятельно разбираться с возникшими трудностями, а вся серьезная документация, в частности по API, на английском языке, причем она очень часто меняется, что крайне неудобно.
Поддержка и гарантии производителя: постоянное развитие источников информации, поддержка Службой Заботы, устранение багов.
Кодинг
Интеграция дизайна
UMI.CMS, в отличие от например той же Joomla, позволяет максимально просто внедрять дизайн, а также использовать на выбор два шаблонизатора tpl и xslt. В случае xslt вообще можно избежать написания кастомных макросов для сайта за счет того, что любой объект системы можно представить в виде xml.
Наиболее важная часть для клиента — это удобство управления своим сайтом.
Глазами клиента
Если провести аналогию, например, с Joomla и 1С-Битрикс, можно с уверенностью сказать, что UMI.CMS фаворит в плане управления сайтом. Видно, что UMI думает о юзабилити, так как все интуитивно удобно. Cейчас у меня есть отзывы клиентов, которые ушли от Joomla и перешли на UMI и довольны удобством ее интерфейса. OpenSource-решения, на мой взгляд, разрабатываются скорей для самих разработчиков и веб-мастеров, чем для потенциальных пользователей.
Для клиента в большинстве совершенно все равно, на чем будет работать его сайт, главное, что он хочет иметь возможность максимально просто им управлять. Я считаю, что UMI справилась с этим успешно.
«В итоге всего выше сказанного, лично я для себя сделал выбор. На основе применения UMI.CMS можно строить и развивать надежный бизнес с уверенностью в качестве и высокой скорости разработки. Я надеюсь, что Вы тоже сделаете для себя определенные выводы после прочтения этого материала
»Роман Синцов,
руководитель проектного отдела студии MainSource
www.umi-cms.ru
cms2-2382 | Добавлена поддержка php версии 7.2.10. |
bc-349 | Добавлена вкладка "Решения" в модуль "Конфигурация", в ней отображаются установленные решения, и есть возможность установить или удалить решение для каждого домена. |
cms2-2391 | Добавлена возможность редактирования title изображения для полей типа "Набор изображений". |
cms2-2393 | Добавлена возможность редактирования alt и title изображения для поля типа "Изображение". |
cms2-2351 | Обновлен файловый менеджер Elfinder, исправлены проблемы безопасности, улучшен интерфейс и добавлена возможность редактирования изображений. |
bc-487 | Обновлена интеграция с почтой РФ. |
bc-1508 | Обновлена внутренняя документация (справки) всех модулей системы. |
bc-1550 | Добавлена вкладка "phpinfo" в модуль "Конфигурация". |
cms2-2284 | Добавлена возможность принудительно обновить курс валют в модуле "Интернет-магазин" на вкладке "Валюты". |
bc-690 | Добавлена настройка "Переносить заказы незарегистрированного покупателя к заказам админа" в модуль "Интернет-магазин". |
bc-1609 | Добавлена настройка "Обновлять цены товаров в корзине" в модуль "Интернет-магазин". |
bc-504 | Добавлена поддержка мультисайтовости для настроек водяного знака в модуле "Конфигурация". |
umicmsru-614 | Добавлена новая редакция "UMI.CMS Интернет-магазин 1С:Франчайзи". |
bc-1538 | Добавлена возможность указывать идентификатор пустым для импорта новых объектов с помощью csv формата. |
bc-1536 | Добавлен экспорт и импорт csv списков в табличных контролах. |
bc-1535 | Добавлен полный csv экспорт без ограничений и пагинации в табличных контролах. |
bc-1500 | Добавлена возможность вывода приложения для социальной сети по дефолтному шаблону. |
cms2-2379 | Добавлена возможность переопределять в customMacros.php методы из handlers.php. |
bc-1439 | Добавлена возможность переноса страниц каталога в конец списка в окне выбора категории. |
cms2-2424 | Добавлена возможность передавать параметры языковой константы через метод php-шаблонизатора translate(). |
cms2-2253 | |
cms2-2269 | Добавлена возможность в классе xmlImporter принудительно указать домен, к которому нужно привязать все зависимые импортируемые сущности. |
bc-1214 | Добавлен fancybox для дополнительных изображений на странице товара шаблона Demomarket. |
bc-1465 | Добавлена загрузка кастомного config.ini решения при запросе протоколов системы (если передан template_id). |
bc-1549 | Добавлен вывод фильтра на мобильной версии шаблона Demomarket. |
cms2-2442 | Добавлен вывод alt и title изображений в шаблоне Demomarket. |
bc-1452 | Добавлена возможность шифрования значения кук. |
bc-1376 | Добавлен переход в отдельное окно при нажатии на "Редактировать элементы справочника" в административной панели. |
bc-1447 | Добавлено автозаполнение типа шаблона при создании шаблона с файлом расширения phtml. |
cms2-2271 | Добавлен класс репозитория установленных готовых решений. |
bc-1584 | Добавлена возможность указать id справочника для полей типа "relation" и "optioned" в узле field для формата UMIDump. |
bc-1449 | Добавлен учет текущего домена и языка в макрос umiSliders getSlideListBySliderCustomId(). |
cms2-2296 | Добавлена возможность принудительно указать используемый процессор изображений (gd|imagick) в config.ini [kernel] image-processor. |
cms2-2378 | Добавлен метод isAjax класс Request. |
cms2-2423 | Добавлен режим "after" для события systemKillElement. |
bs-4952 | Добавлена проверка доступности памяти для генерации миниатюр, если памяти недостаточно - будет показана заглушка из config.ini [includes] too-big-image-holder. |
bc-1657 | Добавлено удаление устаревших индексов при обновлении системы. |
bc-1654 | Добавлена возможность удалить основной шаблон дизайна. |
cms2-2439 | Снято ограничение на количество устанавливаемых бесплатных готовых решений Юмисофт на одну лицензию. |
cms2-2371 | Внедрена безопасная проверка хэшей. |
cms2-2422 | Инициализация модулей в конструкторе разбита на публичные методы initTabs(), includeAdminClasses() и includeCommonClasses(). |
cms2-2416 | Зафиксировано отображение модулей в левом меню административной панели. |
bc-1600 | Изменена видимость private методов и свойств класса FilterQueriesMaker на protected. |
bc-1452 | Хранение идентификатора незарегистрированного покупателя перенесено из сессии в куки. |
cms2-2266 | Строковые и числовые поля для хранения идентификаторов доменов с системных типах данных переведены на тип поля "Ссылка на домен". |
cms2-2392 | Значения полей типа "Изображение" перенесены в хранилище полей типа "Набор изображений" (cms3_object_content => cms3_object_images). |
cms2-2285 | Оптимизирована работа макроса system makeThumbnailFull() с уже существующими миниатюрами. |
cms2-2376 | Оптимизированы sql-запросы для вставки значений множественных полей. |
bc-1510 | Исправлено отображение слайдера на мобильных устройства в шаблоне Demomarket. |
bc-399 | Исправлена поддержка нижнего подчеркивания в именах доменов. |
cms2-2280 | Исправлен вывод цены доставки в шаблоне Demomarket. |
bc-1446 | Исправлен вид контрола активности страницы в модуле "Структура". |
bc-599 | Исправлено экранирование двойных кавычек в полях meta информации в панели быстрого редактирования. |
bc-1463 | Исправлен учет активности способов доставки при определении доступности способов доставки типа "Самовывоз". |
bc-1445 | Исправлены пути до шрифтов в контроле поля типа "Ссылка на дерево". |
bc-1395 | Исправлен учет активности при формировании верхнего меню шаблона Demomarket. |
bc-1515 | Исправлена ширина баннера на главной странице шаблона Demomarket. |
bc-1426 | Исправлено отображение редактируемого поля "Цена" в шаблоне Demomarket. |
bc-1460 | Исправлена работа TinyMCE при выделении справа налево. |
cms2-2212 | Исправлено отображение итоговой суммы (ранее отображалась без скидки) в корзине шаблона Demomarket. |
bc-1468 | Исправлено отображение выбора групп в форме редактирования пользователя административной панели. |
bc-1548 | Исправлен интерфейс редактирования домена при включенной старой реализации модулей. |
bc-1476 | Исправлено отображаемое имя модуля в модуле "Корзина". |
bc-235 | Исправлено изменение шаблона при перетаскивании страницы с домена на домен в модуле "Структура". |
bc-1381 | Исправлено отображение кнопок быстрого редактирования (удалить и добавить) в шаблоне Demomarket. |
bc-1454 | Исправлено отображение длинных значений фильтров в каталоге шаблона Demomarket. |
bc-1418 | Исправлено оформление заказа в один шаг с выбором самовывоза шаблона Demodizzy. |
cms2-2302 | Исправлены php уведомления на вкладке "Яндекс.Метрика" модуля "Статистика". |
bc-1553 | Исправлено отображение чекбоксов на странице редактирования слайда в административной панели. |
bc-1473 | Исправлена html-валидация float значений поле типа "Составное" на страницах редактирования страниц или объектов в административной панели. |
bc-1514 | Исправлено обновление пунктов меню модуля "Меню" при изменении активности страниц в модуле "Структура". |
bc-1541 | Исправлены php-уведомления на вкладке "Анализ ссылок" модуля "SEO". |
bc-1561 | Исправлено сохранение полей и групп полей при включенной старой реализации модулей. |
bc-1559 | Исправлено определение запроса по протоколу https на некоторых серверах. |
bc-1470 | Исправлен интерфейс редактирования поля типа "Дата", если поле является обязательным. |
bc-1409 | Исправлено различие шрифтов в диалоговых окнах модулей. |
bc-1554 | Исправлен выбор привязанного к домену типа данных при создании страницы. |
bc-1431 | Исправлена неправильная работа выборки select при использовании isnull на разных полях с одним строковым идентификатором. |
bc-1523 | Исправлено округление курса валюты при автоматическом обновлении курсов через cron. |
cms2-2261 | Исправлено различие высоты полей в формах редактирования объектов или страниц административной панели. |
bc-1579 | Исправлена работа поиска в модуле "Шаблоны данных". |
bc-1586 | Исправлена ссылка в сообщении об использовании старой реализации модулей. |
bc-1587 | Исправлен учет выбранного домена в табличных контролах, если домен был удален. |
bc-1588 | Исправлено открытие меню для добавления поля при повторном клике в табличном контроле. |
bc-1564 | Исправлен используемый шаблон системных страниц для шаблонов Demodizzy и Demoold. |
bc-1591 | Исправлено формирование ссылки на источник битой ссылки в модуле "SEO". |
bc-1575 | Исправлена работа макросов по протоколу udata, если аргументы вызова содержат скобки. |
bc-1500 | Исправлена работа страницы приложения модуля "Социальные сети" в шаблоне Demomarket. |
bc-1500 | Исправлено сохранение имени директории шаблона при его создании. |
bc-1590 | Исправлена проблема с переименованием изображений при импорте из 1С. |
bc-1599 | Исправлена ошибка при создании страниц на мультисайтовости в табличном контроле. |
cms2-2338 | Исправлена работа браузерного кеширования на php 7.2.6. |
cms2-2338 | Исправлено php уведомление на странице настроек модуля "Интернет-магазин". |
bc-1437 | Исправлена проблема с языковыми константами модуля "Интернет-магазин" при включенной старой реализации модулей. |
bc-1596 | Исправлено отображение нулевых значений числовой части полей типа "Составное" в административной панели. |
cms2-2359 | Исправлена опечатка в имени метода Order::erase(). |
bc-1533 | Исправлено сохранение кеша в бд со значением времени жизни большим текущей временной метки. |
bc-1581 | Исправлена проверка целостности при работе редакции Ultimate. |
bc-1603 | Исправлено отображение имени статуса оплаты в письме менеджеру о новом заказе. |
bc-1537 | Исправлена фильтрация по отсутствию изображений в табличных контролах с уровнями вложенности. |
bc-1607 | Исправлено экранирование имени группы полей при формировании json для контрола редактирования типа данных. |
bc-1439 | Исправлено расположение страницы в иерархии после переноса в другую категорию. |
bc-1469 | Исправлена установка шаблона Demomarket в localpack. |
bc-1619 | Исправлено отображение кнопки переключения слайдов на широких экранах в шаблоне Demomarket. |
cms2-2372 | Исправлена индикация срока работы триальной редакции в административной панели. |
cms2-2375 | Исправлено отображение ошибки системы при отсутствии подключения к базе данных. |
bc-1571 | Исправлен вывод extProps в макросе catalog getCategoryList(). |
bc-1412 | Исправлено добавление нового элемента справочника для не супервайзеров через формы редактирования страниц и объектов. |
bc-1618 | Исправлено php-уведомление в поисковой выдаче, если в ней присутствуют страницы с индексируемыми полями некоторых типов. |
bc-1615 | Исправлен выбор объектного типа создаваемой страницы, если для выбора доступно несколько объектных типов для нескольких иерархических типов во всплывающем окне e-i-p. |
bc-1516 | Исправлено сохранение атрибутов у тега "p" в TinyMCE. |
bc-984 | Исправлено увеличение размера png-файла при включенной директиве jpg-through-gd. |
cms2-2405 | Исправлено некорректное формирование sql-запроса в умных фильтрах при определенных условиях. |
bc-1629 | Исправлено скачивание файлов в файловом менеджере elFinder. |
bc-290 | Исправлена работа клавиатурных шорткатов в файловом менеджере elFinder. |
cms2-2434 | Исправлено сохранение абсолютных путей в качестве значений для полей типа "Набор изображений", "Изображение" и "Файл". |
cms2-2456 | Исправлено сохранение абсолютных путей до изображений в модулях "Cлайдеры" и "Онлайн-запись". |
cms2-2448 | Исправлено удаление домена, который указан у объектного типа данных. |
cms2-2280 | Удалена валидация не float значений для характеристик доставки, заказа и товарного наименования. |
bc-1482 | Удален автоматический запрос файла smu/installer.php на некоторых вкладках модуля "Конфигурация". |
bc-1608 | Удалена проверка системных требований при активации системы. |
bc-1391 | Удалено редактирование изображений внутри TinyMCE. |
cms2-2338 | Удалена поддержка сервиса определения геолокации "CDNService". |
www.umi-cms.ru
Регламент работы службы заботы и техподдержки UMI.CMS
Время работы и сроки ответа Службы Заботы о клиентах
Техническая поддержка оказывается пользователям UMI.CMS с актуальным статусом обновлений по будним дням с 09:00 до 20:00 по московскому времени. В расчет времени реакции выходные и праздничные дни не включаются.
Поддержка пользователей коммерческих версий UMI.CMS доступна в течение года после приобретения лицензии. Поддержка оказывается по электронной почте (через специальную форму) либо через административную панель сайта, пункт верхнего меню «Запрос в Службу Заботы» (доступно в версии системы 2.8.5.1 и выше). Максимальное время реакции на обращение составляет 14 рабочих часов (5 — для пользователей с активной «VIP.Заботой»). Поддержка по телефону оказывается владельцам VIP-заботы.
По каким вопросам мы оказываем поддержку пользователей UMI.CMS?
- Общие вопросыМы оказываем консультации по возможностям системы, системным требованиям.
- Установка и обновление системыПомощь в решении проблем при установке и обновлении системы.
- Консультации по функционалу Консультации по использованию UMI.CMS.
- Разработка сайтов на UMI.CMSКонсультации по использованию макросов и шаблонов UMI.CMS, доработке системы (в рамках документации по API).
- БыстродействиеМы оказываем консультации по выбору хостинг-провайдера и настройкам механизмов кеширования со стороны программного продукта.
- Ошибки программного продуктаКонсультации по ошибкам, возникающим в процессе использования программного продукта. Консультации по восстановлению работоспособности сайта клиента. Диагностика выявленных ошибок, их устранение в обновлениях или в процессе диагностики.
По каким вопросам мы не оказываем поддержку?
- Мы не устанавливаем программные продукты на сервера или компьютеры клиента.
- Мы не переносим систему с серве
zybang.loan