Что нового в 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