Что нового в DVelum 1.x

  • Переход на новую версию  ExtJS6,  система переработана для поддержки новой версии фреймворка

  • Изменена файловая структура платформы теперь данные разработчика и дистрибутива разнесены в разные папки,  файлы вынесены во вне  wwwRoot

  • Переработан дизайнер интерфейсов. Работа с ним стала более простой и логичной, скрыта часть внутренних настроек и особенностей.

  • Переработана система хранения проектов дизайнера интерфейсов, теперь они раскладываются на файлы и собираются при редактирование, это позволяет хранить проекты в системе контроля версий. Для включения нового режима необходимо установить опцию 'vcs_support' => true  в настройках  designer.php

  • Новый принцип работы с файлами конфигураций и локализаций подробнее тут

  • Заложена основа для использования различных провайдеров аутентификации пользователей: LDAP, Kerberos, соц. сети и прочее

  • Переработан основной UI бэк-офиса

  • Улучшена производительность системы

  • Поддержка тем оформления панели бэк-офиса

  • Переработано основное меню бэк-офиса

  • В  ORM добавлен новый тип поля “encrypted”, позволяющий хранить данные в зашифрованном виде

  • В Related Grid добавлена возможность использования внешнего store

  • В дизайнер интерфейсов добавлен редактор рендереров ячейки грида, с несколькими режимами работы

        - написание кода рендерера в дизайнере

        - вызов JS  метода

        - использование адаптера PHP

        - рендерер словарных значений

  • Усилена безопасность хранения паролей

  • Словари в разных локализациях теперь синхронизируются

  • Добавлена возможность выбора локализации бэк-офиса при входе (ранее язык задавался глобально)

  • Доработано поведение Object Instance в дизайнере интерфейсов, теперь экземпляры компонент могут содержать собственные обработчики событий

  • Доработан компонент app.objectLink.Panel, больше опций для кастомизации (подробнее в документации) http://dvelum.ru/ide_app_objectlink_panel.html

  • Добавлен еще один режим нарезки превью картинок для медиатеки

  • Значительно улучшена производительнсть получения данных из БД методом fetchAll  для  mysqli  с  mysqlnd  драйвером

  • В Model  добавлен метод  setSearchFields  позволяющий  переопределить заданный в ORM список полей для поиска

  • Добавлена возможность ограничения доступа пользователя "доступ только к своим записям". (Для объектов с версионным контролем)

  • Множество мелких улучшений, упрощающих разработку

  • Логирование изменений вынесено из ядра на уровень триггеров

  • Добавлена возможность расширенного логирования изменений (на уровне полей), переработан интерфейс просмотра логов

  • Полностью переработан интерфейс управления модулями

  • Добавлена поддержка фильтров ExtJs Grid

  • Доработан компонент  дизайнера Store Filter, добавлена настройка showReset (boolean) - отображет кнопку сброса фильтра, заменяет устаревшую настройку  showAll.  Текст фильтра по умолчанию можно задать свойством emptyText

  • Добавлены события колонок Grid

  • Доработан системный контроллер  Backend_Controller_Crud, добавлено свойство $_listLinks, принимающее массив полей, представление которых нужно конвертировать. В это свойство можно указать поля типов: словарь /  ссылка на объект / ссылка на список объектов, в  интерфейс буду переданы:  значение словаря / заголовок объекта / список заголовков объектов. Таким образом упрощается работа со связанными сущностями, исключая необходимость дополнительной обработки результатов перед отправкой в пользовательский интерфейс.

  • Доработан механизм хранения и работы со ссылками на список объектов. Теперь таблицы БД не содержат одноименных колонок. Свойство Db_Object содержит массив ссылок ($myObject->get('link_field') === [1,2,3]). Данные о связях хранятся либо в отдельном линковочном объекте, либо объекте полиморфных связей, в зависимости от настройки конкретного объекта  ORM. Тип хранения и связующий объект можно узнать из  Db_Object_Config 

  • Доработан генератор модулей

  • Доработан интерфейс управления пользователями, добавлен фильтр,  исправлена сортировка (на  remote)

  • Добавлена экспериментальная тема оформления  Desktop, представляющая бэкофис в виде single page application (динамическая подгрузка модулей без преходов по страницам). Настраивается в  файле конфигурации backend.php

 

 

  • Преработан принцип работы сторонних модулей, создан официальный репозиторий дополнений, реализована возможность установки дополнений непосредственно из платформы. На данный момент репозиторий дополнений содержит 2 модуля, находящихся на стадии доработок и тестирования.
  • Доработан загручик файлов медиатеки, добавлена поддержка  formData
  • Переработана система шаблонов, теперь они могут быть переопределены пользователем. Пользовательские шаблоны отделены от системных
  • Доработан установщик
  • Добавлен  дефолтный адаптивный шаблон для публичной части сайта
  • Доработан механизм запуска консольных заданий, теперь нет необходимости переопределять контроллер, доступные "задачи" и "действия"  можно определить в файлах конфигурации  cronjob.php и  console.php
  • Доработан дизайнер интерфейсов, исправлены ошибки связанные с переходом на  ExtJs 6
  • Добавлена поддержка  fallback адаптера авторизации (при невозможности авторизации используя специфический адаптер, используется резервный)
  • Обновлен интерфейс управления файловым хранилищем, добавлен мультизагрузчик
  • Пути к файлам проектов дизайнера теперь относительные
  • Исправлен конфликт  itemId в  редакторе Grid
  • Из репозитория и дистрибутива удалены  JS файлы словарей и локализаций. Сборка происходит во время установки. Пересобрать файлы вручную можно при помощи консоли
    php ./console.php /console/buildJs (действие прописано в dvelum/application/configs/dist/console.php)
    или через веб, перейдя по ссылке: /<backoffice_path>/localization/compileLang, где 
    backoffice_path - путь к административной части, который вы выбрали при установке, например:
    http://mysite.com/backoffice/localization/compileLang


Удалены :

  • apikeys (позже будет заменена новым REST сервисом)

  • deploy

  • бэкапы  ORM

  • api

В связи с особенностями  ExtJS 6  рекомендуем создавать  Model  для каждого  Store в  дизайнере интерфейсов (idProperty  перемещен в  Model)

Платформа не является полностью совместимой с предыдущими версиями, но при желании старые модули можно перенести.

Новые минимальные требования к ПО:   PHP 5.5, MySQL 5.5 / MariaDb / Percona.  (Поддерживает PHP 7)

Изменена структура  GIT  репозитория, ветки  master и develop теперь отвечают за dvelum 1.x, ветка  master_09  за версию  0.9.x