Выпуск версии 0.9.5

05.05.2015

Рады представить вашему вниманию очередную версию платформы DVelum 0.9.5.

Изначально планировалось выпустить патч исправлений 0.9.4.1, но скопилось достаточно много изменений и нововведений, поэтому было принято решение о выпуске версии.

Список изменений в платформе версии DVelum 0.9.5

Новые возможности:

  • Поддержка multiSelect для StoreFilter в проектах дизайнера интерфейсов (необходима доработка контроллера).
  • Добавлены шаблоны отображения объектов в списках и ссылках. Теперь в object link field можно описать шаблон вида: {code} / {title}, в этом случае в качестве заголовка отобразятся одноименные свойства объекта, оформленные как {field_name} в шаблоне. Этот функционал поможет более наглядно оформить заголовки объектов в интерфейсе выбора.
  • Добавлена возможность вставки конструкции FOR UPDATE в запросы, конструируемые при помощи Db_Select.
  • В системные интерфейсные компоненты, такие как app.editWindow, app.contentWindow, app.objectLink.Field, app.objectLink.SelectWindow, добавлены дополнительные параметры для запросов extraParams и методы их установки setExtraParam.
  • В интерфейсный компонент выбора ссылки на объект app.objectLink.Field добавлена поддержка состояния readOnly.
  • Модуль «Пользователи» переведен на проект дизайнера интерфейсов.

  • Улучшено логирование ошибок уровня хранилища данных ORM.
  • В ORM добавлено поле с шифрованием AES 256 бит, которое позволяет хранить чувствительные к потере данные в шифрованном виде, (требует наличие mcrypt). Теперь для поля можно установить тип «шифрованное» и данные этого поля будут шифроваться при сохранении. Шифрование обеспечит защиту информации на случай кражи базы данных. Данные можно зашифровать/расшивровать пакетно при помощи интерфейса управления ORM.
  • Добавлен интерфейс просмотра файлового хранилища (на основе ORM).

  • Добавлены новые компоненты дизайнера интерфейсов Button Group и Split Button.

  • Доработан генератор кода модулей, добавлена колонка с действием «удалить запись». Окно редактирования объекта без версионного контроля теперь закрывается при сохранении.

  • В дистрибутив включен генератор и редактор документации. Теперь в любое время вы можете сгенерировать документацию к коду своего проекта. Генератор проанализирует структуру проекта и создаст новую версию документации, перенесет описания неизменившихся сущностей и методов в новую версию, добавит недостающие и новые классы/методы/свойства/параметры. Более того, документацию можно вести на нескольких языках. Для просмотра, редактирования и поиска документации создан интерфейс отдаленно напоминающий интерфейс JSDoc.

Как обновить и сгенерировать новую версию документации:

1. указать новую версию генерируемой документации в файле
system/config/sysdocs.php, опция  gen_version 
2. добавить новую версию в список доступных к просмотру в файле system/config/sysdocs.php, опция versions

Пример:
для генерирования следующей версии (0.9.5.1) можно указать следующие значения:
'gen_version'=>4,
'versions'=>array(
    '0.9.5'=>3,
    '0.9.5.1'=>4,
 ),

3. перевести систему в режим работы роутинга по путям (path)
system/config/main.php, опция frontend_router_type

4. запустить действие через консоль из папки с файлом console.php
php ./console.php /console/gendoc

5. вернуть настройку frontend_router_type

При этом будет сгенерирована новая версия документации, новые классы и 

методы будут добавлены в список, старые и неизменившиеся методы и их описания 
будут мигрированы из прошлой версии документации для каждого языка отдельно.
  • В дистрибутив включена свежая база данных документации с возможностью автоматической установки в linux-окружении. При проблемах установки, а так же на платформе windows, документацию можно установить вручную, восстановив из дампа /install/sql/docs.sql в базу данных установленного проекта. Внимание! Установка базы данных документации занимает продолжительное время.

Исправления:

  • исправлена вероятность коллизии при сохранении файла в filestorage;
  • исправлена ошибка метода нарезки картинок при загрузке;
  • исправлена ошибка удаления методов объектов вместе с объектами в Дизайнере интерфейсов;
  • доработано поведение Db_Object, теперь при сохранении или добавлении новой версии вызывается $object->commitChanges(), при этом список updates очищается;
  • исправлена ошибка обновления даты последнего изменения для опубликованного объекта, находящегося под версионным контролем;
  • исправлены и доработаны комментарии к коду;
  • произведена чистка проекта, удалены неиспользуемые переменные и части кода.
  • доработан установщик
  • доработано поведение ACL

Скачать DVelum 0.9.5