Блог платформы Flexberry

Выпущена версия Flexbery Designer 2018-12-28

Версию можно скачать с сайта designer.flexberry.net.
Обратите внимание, что для генерации ember приложения необходимо в конфиге указывать нужную версию ember-flexberry аддона, по умолчанию указана ember-flexberry@2.0.0.

<appSettings>
  <add key="EmberPluginAddonName" value="ember-flexberry@2.0.0" />
</appSettings>

В данной версии обновлены плагины генерации для поддержки последних версий подсистем платформы Flexberry.

Выпущена версия Flexberry Service Bus 1.2.0

Опубликованны NuGet-пакеты и Docker-образы версий 1.2.0.

Основным направлением работ, в данной версии, была интеграция с брокером сообщений RabbitMQ. Цель этой интеграции заключается в увеличении производительности и пропускной способности обмена сообщениями, которую обеспечивает RabbitMQ, при этом, для управления маршрутизацией сообщений, используются привычные для пользователей понятия и инструменты.

В дополнении к основному направлению, были начаты работы по проектированию и реализации новых версий интерфейсов для клиентов Flexberry Service Bus. Перепроектирование этих интерфейсов, было начато, с целью четко разделить операции отправки и получения сообщений, и, операции управления маршрутизацией. Предыдущие версии интерфейсов помечены как устаревшие и не рекомендуются к использованию.

Что нового в версии Flexberry Service Bus 1.2.0

  • Для интеграции с RabbitMQ создан пакет NewPlatform.Flexberry.ServiceBus.RabbitMQ с реализацией следующих компонентов:
    • ReceivingManager - позволяет получать сообщения хранящиеся в RabbitMQ привычным для клиентов Flexberry Service Bus способом
    • SendingManager - позволяет отправлять сообщения в RabbitMQ привычным для клиентов Flexberry Service Bus способом
    • StatisticsService - собирает статистику сообщений RabbitMQ и преобразует ее в статистику Flexberry Service Bus
    • SubscriptionsManager - позволяет управлять маршрутизацией сообщений в RabbitMQ
    • SubscriptionsSynchronizer - актуализирует настройки маршрутизации сообщений в RabbitMQ
    • MessageConverter - преобразует сообщения в формат Flexberry Service Bus
    • MessageManager - позволяет управлять сообщениями хранящимися в RabbitMQ
  • Исправлена ошибка параллельного приема сообщений с группой
  • Обновлены зависимости до последних версий
  • Создан Docker-образ RabbitMQ настроенный для использования с Flexberry Service Bus

Интеграция Flexberry Service Bus и RabbitMQ

По умолчанию, Flexberry Service Bus, хранит получаемые сообщения, вместе с настройками маршрутизации, в базе данных. Использование RabbitMQ позволяет увеличить пропускную способность, когда поток сообщений велик, и скорости базы данных недостаточно. Обработка сообщений выполняется RabbitMQ, настройки маршрутизации, создаются и храняться, в базе данных, а Flexberry Service Bus переводит их в понятия RabbitMQ. При этом, для получения и отправки сообщений, можно использовать как интерфейсы Flexberry Service Bus так и интерфейсы RabbitMQ.

Для настройки интеграции Flexberry Service Bus и RabbitMQ необходимо:

Выпущена очередная стабильная версия Flexberry ASP.NET 3.0.0

Список изменений во Flexberry ASP.NET - 2.3.0

  • Изменения в зависимостях

    • Обновлен Flexberry ORM до 5.0.0. Внимание! Обновлен Unity до версии 5.x.
    • Интерфейс NewPlatform.Flexberry.Services.ICacheService заменен на NewPlatform.Flexberry.Caching.ICacheService
    • Изменены защищенные виртуальные модификаторы в NewPlatform.Flexberry.Web.Http.PlaceholderPageContentConnector
    • Обновлен Flexberry Security до версии 2.0.0, обновление по инструкции.
    • Удалены зависимости от старых классов Flexberry Security
    • Удалены кеш-декораторы для классов Flexberry Security
    • Удалена EnterpriseLibrary
    • Обновлены версии тем до 3.0.0
  • Общие изменения:

    • Исправлено исключение OutOfRangeException
    • Заменены модификаторы для методов AttachScripts, AttachStyles, AttachRawHtml на protected virtual
    • Добавлена валидация на технологические формы
    • Исправлено сохранение значений контролов во ViewState
    • Исправлено отображение кнопок сохранения в теме BlueSky в Linux
    • Обработчики lookup show и кнопки create перемещены в файл js.
    • Исправлен ArgumentOutOfRangeException при вызове метода Flush
    • Исправить обработчик window.onload в jquery.ics.js
    • Исправлен AddDynamicPageRoute на Mono
  • Изменения в генераторе ASP.NET-приложений

    • Исправлена генерация каталогов: перегенерация только для измененной части модели
  • Редактор ограничений:

    • Исправлено редактирование ограничение с детейлами
  • WOLV:

    • Исправлено удаление всех элементов после нажатия удалить в строке при всех выделенных строках
    • Исправлено открытие модального окна в строке
    • Исправлена обработка отмеченных строк на странице
    • Реализована возможность передавать на клиент ключ функции ограничения, выгруженной в сессию
    • Исправлен BaseResponseStreamFilter
    • Исправлена функция getSelectedItems для .Web.AjaxControls в flex.Wolv.CheckBoxModule.
  • LookUp:

    • Исправлено отображение кнопки просмотра в MasterEditorAjaxLookup в случае, когда в лукапе изначально выбрано значение при открытии формы
    • Исправлены параметры в URL в юникоде при открытии лукапа через ShowObjectUrl
    • Исправлено окно настройки столбцов
    • Исправлена передача title в юникоде при открытии лукапа на просмотр
    • Реализована кнопка добавления новой записи в лукапе
  • DatePicker

    • DatePicker теперь реализует IPostBackDataHandler
  • AjaxGroupEdit

    • Исправлено имя главного динамического представления

Выпущена очередная стабильная версия Flexberry Security 2.0.0

Обновление полномочий желательно проводить по инструкции.

Изменения в Security - 2.0.0

Зависимости

  1. Пакет Flexberry.ORM обновлен до 5.0.0 (см. подробности в новости о выпуске версии ORM 5.0.0).

Новое

  1. Добавлен внутренний кеш в менеджере полномочий.
  2. Добавлено кеширование пользователей и ролей.
  3. Наряду с менеджером безопасности добавлен менеджер агентов для работы с агентами, ролями и группами.
  4. Добавлены провайдеры членства, ролей и профилей, работающие на основе новых классов безопасности.
  5. Метод bool AccessCheck (string operationId) добавлен в интерфейс ISecurityManger. Р​реализация данного метода выполнена для классов SecurityManager и DefaultSecurityManager.

Исправлено

  1. Проект переведен на .NET Framework 4.5.
  2. Все объекты полномочий теперь сериализуемы.
  3. Исправлена ​​и улучшена логика добавления и удаления фильтров в разрешениях на объекты данных.
  4. Пароль пользователя теперь хэшируется в бизнес-сервере класса Агента.
  5. Кэши для менеджеров агентов и безопасности теперь очищаются в бизнес-серверах классов полномочий.
  6. Пользовательские логины, имена ролей и имена групп теперь обрезаются перед выполнением запросов к БД полномочий. То есть например, логины «pupkin» и «pupkin » считают одинаковыми. Перечисленные имена будут храниться без пробелов в БД полномочий.
  7. Устаревшие классы полномочий (RightManager, CheckingLibrary и пр.) перенесены в пакет NewPlatform.Flexberry.LegacySecurity.

Выпущена очередная стабильная версия Flexberry ORM 5.0.0

Изменения в ORM 5.0.0

Новое

  1. Add simply (Update/Insert style) order for write audit operation.
  2. Add interface IODataExportService.
  3. Add geometry type support.
  4. Add CheckLoadedProperty generic extension methods.
  5. Add delegate to check compatible property storage types.
  6. Add PersistUtcDates property to AuditService.
  7. Add PKHelper and FunctionBuilder utilities.

Исправлено

  1. Fix for Init Custom AuditService.
  2. Fix DataService init.
  3. Fix PostgresDataService wrong access to short names dictionary in multithreading app.
  4. Fix support multithreading in View.AddProperty method.
  5. Fix error for inherited aggregator type with same storage.
  6. Fix empty file saving in PostgresDataService.

Изменено

  1. [BREAKINGCHANGE] Upgrade Unity to 5.x version.
  2. Upgrade Npgsql to 3.x version.

Удалено

  1. [BREAKINGCHANGE] Support for .NET 3.5 and .NET 4.0 has been dropped - minimal version has been upgraded to .NET 4.5.

Изменения в ODataService 5.0.0

Новое

  1. Add exception handling in user functions.
  2. Add permissions for masters and details.
  3. Add export to excel with parameters.
  4. Add the ability to export to an excel function odata.

Исправлено

  1. Fix error when query contains same properties.

Изменено

  1. Update dependencies.
  2. Update ODataService package version to according ORM package version.

Переход на .NET 4.5

В связи с тем, что основной перечень создаваемых на платформе приложений уже давольно давно был переведён на .NET 4.5, было принято решение отказаться от использования .NET 3.5 в качестве основной версии при выпуске новых релизов. Напомним, что ранее Flexberry ORM поставлялся в виде NuGet-пакета, в котором присутствовали 3 версии: net35, net40, net45. Начиная с версии Flexberry ORM 5.0.0 в NuGet-пакете останется только net45.

В чём польза

Данное решение позволяет обновить зависимости, в частности Unity и npgsql, поскольку свежие версии этих пакетов также были лишены сборок для .NET ниже версии 4.5. Также технологам открываются возможности из .NET 4.5.

Что будет с проектами на .NET 3.5 и 4.0

Если проект не может по тем или иным причинам обновить версию .NET до 4.5, то остаётся возможность использования версии Flexberry ORM 4.1.0 включительно. В случае острой необходимости, по запросу будут выполняться работы по переносу исходного кода из текущей версии в ветки со старыми версиями и выпускаться обновления.

Про сломанную обратную совместимость и NuGet

Обновление ORM до версии 5.0 требует некоторого вмешательства в прикладной набор пакетов и, иногда, в исходный код - обратная совместимость нарушена из-за обновления пакетов Unity: потребуется перенастроить конфигурационные файлы и, возможно, using-и, поскольку у них сменились некоторые неймспейсы и названия сборок. Теперь используются следующие пакеты:

<dependency id="Unity.Abstractions" version="3.3.0" />
<dependency id="Unity.Configuration" version="5.2.2" />
<dependency id="Unity.Container" version="5.8.6" />

После обновления ORM до версии 5.* эти зависимости установятся автоматически, но обязательно нужно вручную удалить пакет (через NuGet Package Manager)

<dependency id="Unity" version="[2.1.505.2]" />

В конфигурационном файле нужно выполнить следующие изменения.
Было:

<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
<!-- ... -->
<alias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" />

Стало:

<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration" />
<!-- ... -->
<alias alias="singleton" type="Unity.Lifetime.ContainerControlledLifetimeManager, Unity.Abstractions" />

В C# коде там где использовался неймспейс:

using Microsoft.Practices.Unity;

Теперь будет:

using Unity;

Выпущена версия ember-flexberry-data 3.0.0 и ember-flexberry 3.0.0

Переход на Ember ~3.1.3

В дальнейшем доработки в версии Flexberry Ember, которая основана на ember-cli@3.х будут выполняться в версии 3.х. В данном релизе был совершен переход с EmberJS 2.4.3 на ~3.1.3. Подробная инструкция по обновлению EmberJS и Flexberry Ember на существующем проекте будет подготовлена позже (пока можно пользоваться данными из открытых источников).

В версию ember-flexberry-data 3.0.0 вошли следующие изменения:

  • breaking changes:
    • Из Projection.Model удален механизм валидации, предоставляемый аддоном ember-validations (для валидации теперь используется другой аддон)

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

В версию ember-flexberry 3.0.0 вошли следующие изменения:

  • добавлено:
    • блюпринты для генерации приложения:
      • слияние сгенерированных файлов локализации с уже существующими
      • для моделей генерируется локализация для всех атрибутов
    • зависимости от ember-cp-validations@~3.5.2 и ember-i18n-cp-validations@~3.1.0
    • компонент flexberry-sidebar
    • компонент flexberry-sitemap
  • изменено:
    • компонент flexberry-dropdown:
      • убрано использование компонента ui-dropdown из аддона semantic-ui-ember
    • компонент modal-dialog:
      • убрано использование компонента ui-modal из аддона semantic-ui-ember
    • функция run.after переименована в runAfter и перенесена из initializer в utils
    • компонент flexberry-validationsummary:
      • свойство headerText переименовано в header
      • в шаблоне для заголовка добавлен div с классом header
    • компонент flexberry-validationmessage:
      • у свойства pointing изменено значение по умолчанию на ‘pointing’
    • контроллер edit-form выполняет валидацию до попытки сохранить модель
    • миксин flexberry-objectlistview-on-edit-form-controller:
      • свойство customFolvContent не может иметь promise в качестве значения
  • исправлено:
    • блюпринты для генерации приложения:
      • исправлена генерация длинных строк для JSCS
    • миксин flexberry-objectlistview-route:
      • присваивание текущего контроллера при переходе на форму редактирования
    • получение контроллера для списковой формы
    • flexberry-toggler компонент:
      • вложенные друг в друга toogler’ы теперь работают корректно
    • компонент flexberry-lookup:
      • настройки иерархии для lookup-dialog
      • инициализация semantic dropdown для лукапа в режиме dropdown
    • компонент flexberry-objectlistview:
      • смена локализации в мобильном режиме
      • свойство recordsTotalCount в мобильном режиме
    • компонент modal-dialog:
      • инициализация настроек
    • компонент olv-toolbar:
      • стили кнопок экспорта и настройки столбцов
  • удалено:
    • шаблоны sitemap, sitemap-node, sitemap-node-content
    • контроллер sitemap-node
    • компонент flexberry-simpleolv
    • компонент flexberry-datepicker (вместо него рекомендуется использовать компонент flexberry-simpledatetime)
    • зависимость от аддона ember-validations@~2.0.0-alpha.4
  • breaking changes:
    • компонент flexberry-objectlistview:
      • query параметры из свойства customParameters передаются по отдельности (раньше они передавались одним объектом customParameters)
    • удалена зависимость от semantic-ui-ember
    • semantic-ui обновлен до 2.3.1
    • механизм валидации был изменен, желательно перегенерировать приложение
    • компонент flexberry-lookup:
      • в шаблоне свойство items должно идти до свойства value
      • в режиме dropdown множество настроек для semantic ui, заменены на свойство dropdownSettings
    • компонент flexberry-dropdown:
      • множество настроек для semantic ui, заменены на свойство settings

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Выпущена версия ember-flexberry-data 2.0.0 и ember-flexberry 2.0.0

На смену версии 0.12.1 приходит версия 2.0.0. В дальнейшем доработки в версии Flexberry Ember, которая основана на ember-cli@2.4.3 будут выполняться в версии 2.х.

В версию ember-flexberry-data 2.0.0 вошли следующие изменения:

  • добавлено:
    • в базовом сериализаторе (Serializer.Base) добавлен метод normalize для обновления typeClass в случае полиморфной связи
    • Query language: GeometryPredicate для геометрического типа данных
  • исправлено:
    • в OData сериализаторе (Serializer.OData) исправлен метод normalize для обновления typeClass в случае полиморфной связи

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

В версию ember-flexberry 2.0.0 вошли следующие изменения:

  • добавлено:
    • блюпринты для генерации приложения:
      • генерация componentName для лукапов
    • роуты формы редактирования:
      • возможность передавать имя модели в query параметрах. Пользовательские query параметры можно передать через свойство customParameters в options экшена objectListViewRowClick
    • компонент flexberry-simpledatetime:
      • свойства defaultHour и defaultMinute для установки времени по умолчанию
    • списковые компоненты:
      • свойство для пользовательских кнопок disabled для возможности контроллировать состояние пользовательских кнопок
    • компонент flexberry-file:
      • свойство headers для добавления заголовков в запрос скачивания файла
  • исправлено:
    • списковые роуты:
      • удаление блокировки при уходе с роута
    • списковые компоненты:
      • убрана возможность нажимать неактивные кнопки путем установки фокуса и нажатия Enter
      • фильтр по колонкам с типо дата
      • применение пользовательских настроек, если query параметры не менялись
    • компонент flexberry-file:
      • меню в мобильной версии компонента
      • превью в случае, когда компонент находится внутри flexberry-groupedit
      • открытие файла вместо загрузки, если файл был удален из компонента, но еще остался на сервере
    • компонент colsconfig-dialog-content:
      • сохранение имен колонок при экспорте в excel
    • компонент flexberry-tab-bar:
      • добавление класса active к текущей вкладке
    • компонент flexberry-simpledatetime
      • установка времени после сброса значения компонента

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Выпущена версия ember-flexberry 0.12.1

[UPDATE] После выпуска версии 0.12.1 были выпущены дополнительно версии 0.12.2 и 0.12.3. В них вошли следующие изменения:

  • исправлено:
    • отсутствующие вызовы _super-методов внутри ряда технологических методов. Это могло приводить к неправильному поведению в ряде мест технологии, например, к несрабатыванию технологического хука routeWillTransition в контроллерах форм редактирования
    • работа свойства inHierarchicalMode в настройках лукапа внутри метода getLookupFolvProperties. Пример на стенде можно посмотреть тут. Документацию можно посмотреть тут
    • переход на списковую форму при наличии кастомных параметров

В версию ember-flexberry 0.12.1 вошли следующие изменения:

  • добавлено:
    • блюпринты для генерации приложения:
      • аддитивное слияние содержимого файлов локализации при прегенерации приложения
    • сервисы:
      • управление визуальным отображением загрузки данных (“крутилки”) сделано глобальным и вынесено в сервис app-state Внимание! Использование свойства loadingState и метода setLoadingState сервиса objectlistview-events переведено в состояние Deprecated до выпуска версии ember-flexberry@1.0.0! Начиная с этой версии данное свойство и метод будут удалены из сервиса objectlistview-events! Для использования сервиса app-state необходимо во всех шаблонах приложения код добавления класса {{objectlistviewEventsService.loadingState}} в разметке заменить на {{appState.state}} (в том числе в шаблоне application.hbs), а в контроллеры соответствующих форм добавить инъекцию сервиса app-state.
  • исправлено:
    • блюпринты для генерации приложения:
      • длина строк при генерации моделей не соответствовала правилам JSCS
    • списковые роуты:
      • ошибки, связанные со сбросом параметров запроса в URL
      • неправильное обращение к контроллеру при загрузке модели
    • списковые компоненты:
      • некорректно отображается элемент для выбора количества строк в IE при небольшой ширине списка
    • компонент flexberry-objectlistview:
      • вычислимое свойство colsSettingsItems перезаписывало само себя
      • не отображается сообщение об успешном сохранении настроек при экспорте в Excel
    • компонент flexberry-toggler:
      • закрытие вложенного toggler закрывало родительский toggler
      • проблемы со стилями вложенных элементов после сворачивания и разворачивания toggler
    • компонент flexberry-lookup:
      • вывод сообщения об отсутствии подходящего значения при включенном автокомплите
    • компонент flexberry-textbox:
      • компонент неправильно отображается с классом input error
    • компонент flexberry-dropdown:
      • компонент переставал работать при наличии null-значений в перечне отображаемых элементов
    • сервис user-settings:
      • неправильное отображение страниц при выключении сервиса пользовательских настроек

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Выпущена версия ember-flexberry-data 0.12.0 и ember-flexberry 0.12.0

В версию ember-flexberry-data 0.12.0 вошли следующие изменения:

  • добавлено:
    • для базового стора (Offline.Store) добавлен оналйновый стор (Projection.OnlineStore) для возможности явного переопределения методов в нем
    • для базового стора и соответственно онлайнового/оффлайнового сторов, а также для Adapter.OData реализованы методы deleteAllRecords для удаления всех записей со всех страниц Внимание! Для поддержки этого функционала в OData-бакенде должен быть реализован экшн DeleteAllSelect.
  • изменено:
    • Query language: теперь невозможно создать Query.DatePredicate с недопустимым значением даты или значением null
    • Добавлена поддержка различных типов первичных ключей в запросах к OData-бакенду Внимание! Свойство idType, для определения типа первичного ключа на бакенде, перенесено из адаптера Adapter.OData в модель Projection.Model
  • исправлено:
    • сохранение полей аудита в случаях, когда текущее имя пользователя из свойства currentUserName модели возвращает промис
    • Query language:
      • возможность использования Query.DatePredicate для Query.JsAdapter без указания времени (в timeless-режиме)
      • создание запросов для моделей со строковым типом первичного ключа

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

В версию ember-flexberry 0.12.0 вошли следующие изменения:

  • добавлено:
    • компонент flexberry-toggler: теперь сохраняет статус в пользовательских настройках (имя компонента в параметре componentName шаблона должно быть указано!)
    • списковые компоненты:
      • возможность удаления всех записей, когда выделены все элементы на всех страницах (с учетом текущего фильтра) Внимание! В шаблонах форм для списковых компонентов должен быть добавлен параметр beforeDeleteAllRecords для передачи экшна, который будет срабатывать пере удалением всех элементов на всех страницах (в технологическом контроллере списковой формы добавлен одноименный экшн, который может передаваться по умолчанию). Все предупреждения при удалении записей по кнопке “все со всех страниц” должны быть добавлены на прикладном уровне в экшн beforeDeleteAllRecords в контроллере соответствующей списковой формы. При невыполнении указанных условий удаление всех записей со всех страниц будет осуществлятсья сразу без предупреждений, что чревато серьезными потерями данных у заказчиков!
    • компонент flexberry-objectlistview:
      • свойство customButtonsInRow для добавления кнопок в строки (по аналогии с свойством customButtons)
      • возможность передать функцию в свойстве buttonAction для свойств customButtons и customButtonsInRow
      • возможность переименования столбцов при экспорте в Excel
    • компонент flexberry-error и шаблон error теперь поддерживают перевод сообщений об ошибках, если в сообщении об ошибке указано свойство messageLocaleKey
  • изменено:
    • cортировка, применяемая при нажатии на заголовок столбца, сохраняется в пользовательских настройках
    • при установке или обновлении аддона с помощью команды ember install ember-flexberry версия аддона ember-data принудительно понижается до 2.4.3
  • исправлено:
    • мелкие исправления внешнего вида и поведения компонентов, в том числе в мобильном режиме
    • списковые компоненты:
      • отображение спиннера при применении пользовательских настроек из диалогового окна
    • компонент flexberry-objectlistview:
      • возможность отмечать все элементы на всех уровнях иерархии в иерархическом режиме
      • поведение кнопок из служебныйх столбцов в строках в иерархическом режиме
      • после отключения иерархического режима на мобильном устройстве кнопка для отображения/скрытия вложенных записей больше не остается
    • компонент flexberry-simpledatetime: невозможность выбора крайних значений диапазона дат, когда установлены минимальные или максимальные значения
    • компонент flexberry-lookup: при слишком “длинном” значении (когда значение больше области для его вывода) в мобильном режиме добавлен перенос слов

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Выпущена версия Flexberry Service Bus 1.1.0

Что нового в версии Flexberry Service Bus 1.1.0

  • Переведены на русский язык заголовки в представлених для объектов данных шины.
  • Исправлена логика работы свойства Description для объекта Subscription.
  • Обновлен пакет Npgsql до версии 3.0.8.

Автоматизация сборки Docker-образов

kpv
Разработка приложений уровня предприятия заканчивается успешной установкой информационной системы и её внедрением в бизнес-процессы. Для обеспечения успешной интеграции приложения в действующие бизнес-процессы, как правило, разрабатывают инструкции и проводят учебные курсы. Установка и внедрение приложений в корпоративную инфраструктуру может быть выполнена различными способами: ручная установка и настройка непосредственно на виртуальных или физических машинах, или более современный вариант - автоматизированное разворачивание кластера или стека сервисов, представляющих собой контейнеры. Промышленным стандартом для контейнеризации можно считать решение Docker, которое разрабатывается одноимённой компанией. Подробнее об использовании Docker для разворачивания решений можно прочитать в статье о базовых технологиях платформы Flexberry.
Платформа Flexberry предоставляет возможности по созданию сложных корпоративных приложений, каждое из которых может быть развёрнуто в виде некоторого количества отдельных сервисов. Каждый из таких сервисов может быть естественным образом представлен в виде Docker-контейнера. В самом простейшем варианте один сервис может содержать базу данных PostgreSQL, а второй сервис – веб-приложение.
Для удобного создания Docker-контейнеров, включающих в себя сервисы разрабатываемых решений в платформе Flexberry предусмотрен ряд базовых образов. В Docker реализован механизм наследования, который позволяет «добавлять» в базовый образ что-то новое. Docker-образы строятся на основе файлов специального вида – Dockerfile. Ввиду того, что платформа Flexberry соблюдает принцип свободного программного обеспечения, набор Dockerfile для всех базовых образов опубликован в открытом репозитории на GitHub.
Компания Docker предоставляет не только программное обеспечение для создания образов и запуска контейнеров, но и ряд интернет-сервисов, облегчающих работу с контейнерами. Так, для открытых проектов доступен репозиторий Docker-образов – Docker Hub. Этот репозиторий может использоваться для получения популярного ПО, которое уже кто-нибудь «научил» работать в Docker-контейнере. Базовые Docker-образы, которые разработаны для проектов на Flexberry расположены в разделе организации Flexberry.
Разработчикам образов Docker Hub предоставляет возможность автоматизации процесса сборки Docker-образов. Используя этот подход, все базовые Docker-образы Flexberry собираются и публикуются в репозитории в автоматическом режиме. Это позволяет быстро выполнять доработку образов, в том числе принимать Pull request от сообщества, если пользователям платформы потребуется внести что-нибудь нужное в базовые образы. В качестве ещё одного примера успешного использования контейнеризации можно рассказать о Flexberry Service Bus, которая может быть легко развёрнута и запущена на компьютере по краткой инструкции.

Выпущена очередная стабильная версия Flexberry Service Bus 1.0.1

Flexberry Service Bus это сервисная шина с открытим исходным кодом размещенным на GitHub. Подробнее со структурой проектов и списком репозиторием можно ознакомиться в статье Разработка Flexberry Service Bus на сайте документации платформы Flexberry.

Результатами работ над проектом Flexberry Service Bus являются следующие продукты:

Для начала работы можно воспользоваться статьями Установка и запуск шины в Docker, Пример WCF-адаптеров и Пример REST-адаптера шины.

Что нового в версии Flexberry Service Bus 1.0.1

  • В компоненте статистики исправлено использование излишнего представления, что приводило к большой нагрузке базы данных.
  • В административном приложении исправлена конфигурация сервиса данных и security-менеджера.

Выпущена очередная стабильная версия Flexberry ORM 4.1.0

Все коммиты теперь сопровождаются сборкой на Travis-CI под mono (без интеграционных, но с выполнением автономных модульных тестов).
С целью синхронизации версий NuGet-пакетов ORM и ODataService была поднята версия пакета ODataService до 4.1.0. В дальнейшем они будут выпускаться синхронно, чтобы избежать путаницы, поскольку между ними есть прямая зависимость.

Изменения в ORM 4.1.0

Added

  1. Add support Microsoft.Spatial.Geography for Net Framework 4.5.
  2. Add support string conversion to Microsoft.Spatial.Geography in Information.
  3. Add PostgresDataService method for comparing types.
  4. Add support Nullable<DateTime> and NullableDateTime for DateTime properties (Day, Month, Year, etc.).
  5. Add property for set connection string by name in DataService. Need confugure IConfigResolver in Unity config section
  6. Add ICSSoft.STORMNET.TuneStaticViewDelegate for tune static Views.

Fixed

  1. Fix LINQ to LCS when sorting with types convert.
  2. Fix error when use unsigned types in LINQ expression.
  3. Fix using UnityFactory.CreateContainer method instead of UnityFactory.GetContainer. It should increase performance.
  4. Fix update error Geography type.
  5. Fix converting LINQ expressions with sorting to custom nullable types.
  6. Fix sql query sequence for delete hasMany data objects with cyclic associations.

Changed

  1. Remove implicit dependency from ICSSoft.STORMNET.RightManager. Now implementation of ISecurityManager specified via Unity is used instead.
  2. Optimized requests to Postgres if LCS has a populated RowNumber property.

Изменения в ODataService 4.1.0

Added

  1. Add support user function geo.intersects.
  2. Add support LoadingCustomizationStruct in user functions.
  3. Add support actions.
  4. Add handler, called after exception appears.
  5. In user functions and actions add possibility to return collections of primitive types and enums. In actions add possibility to use primitive types and enums as parameters.

Fixed

  1. Fix reading properties of files.
  2. Fix error which occured in Mono in method DefaultODataPathHandler.Parse(IEdmModel model, string serviceRoot, string odataPath).
  3. Fix errors in work of user functions.
  4. Fix error in association object enumeration filtration.

Changed

  1. Update dependencies.
  2. Update ODataService package version to according ORM package version.

Выпущена версия ember-flexberry-data 0.11.0 и ember-flexberry 0.11.0

В версию ember-flexberry-data 0.11.0 вошли следующие изменения:

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

В версию ember-flexberry 0.11.0 вошли следующие изменения:

  • добавлены:
    • компонент flexberry-groupedit:
      • сохранение ширины столбцов в пользовательских настройках
      • кнопка для восстановления пользовательских настроек по умолчанию (флаг defaultSettingsButton)
      • кнопка сброса сортировки
    • компонент flexberry-lookup:
      • поддержка пользовательских настроек (для списков лукапа теперь можно задавать developerUserSettings, пример)
      • поддержка perPage
      • поддержка режима иерархии (пример)
    • компонент flexberry-objectlistview:
      • возможность использовать вычислимые свойства в getCellComponent (статья)
    • форма редактирования:
      • прокрутка формы редактирования вверх при возникновении ошибок сохранения
  • изменены:
    • для совместимости с Ember Inspector восстановлено свойство tagName у приложения
    • в логах поле processName теперь содержит имя приложения (ENV.modulePrefix из environment.js)
    • на форме редактирования в методе onSaveActionRejected теперь можно обработать ошибки сохранения для каждого детейла (в данный метод приходит массив с результатами промисов по всем детейлам, как успешным, так и неуспешным)
    • заголовок окна настройки экспорта в Excel
  • исправлено:
    • списковые компоненты:
      • свойство readonly из componentProperties для динамических компонентов (встроенных в ячейки)
      • отображение ошибки о недоступности сервера
    • тема blue-sky:
      • ширина компонента flexberry-checkbox
      • отображение placeholder’ов в IE
    • компонент flexberry-simpleolv:
      • диалоговое окно “Показать установки” из выпадающего меню пользовательских настроек
    • компонент flexberry-lookup:
      • обновление отображаемого свойства при изменении displayAttributeName
      • имя компонента для списка в окне выбора
    • компонент flexberry-groupedit:
      • ошибки валидации когда editOnSeparateRoute и saveOnRouteLeave равны true
      • возможность изменять ширину столбцов, если свойство allowColumnResize было изменено динамически
    • компонент flexberry-file:
      • внешний вид в мобильном режиме
      • отображение ошибок в мобильном режиме
      • отображение превью, если загруженный файл не изображение
    • компонент flexberry-modal:
      • скрытие затемнения при закрытии окна выбора с помощью кнопки “Закрыть”
    • blueprints:
      • генерация локализаций в аддон
    • компонент flexberry-objectlistview:
      • загрузка записей иерархии
      • отображение olv-toolbar в мобильном режиме
    • компонент colsconfig-dialog-content:
      • пропадающее содержимое некоторых ячеек при изменении размера окна браузера
    • компонент flexberry-simpledatetime:
      • блокировка кнопки очистки значения при readonly режиме в IE
    • зависание на списковых и формах редактирования когда сеть недоступна
    • настройки пользователя для форм создания новых записей
  • удалено:
    • компонент flexberry-objectlistview:
      • свойство columnsWidthAutoresize в мобильной версии компонента
    • компонент flexberry-lookup:
      • свойство orderBy (теперь сортировка задается через developerUserSettings)

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Инструкция по обновлению с версии 0.10.0:

  • controllers.application.js:
    • добавить метод updateWidth
    • привести методы toogleSidebar и toogleSidebarMobile в соответствие с application.js
  • templates/application.hbs:
    • в компонент ui-sidebar добавить параметры как в application.hbs
    • для мобильной версии: application.hbs
  • templates/error.hbs:
    • привести в соответствие с error.hbs
  • views/application.js:
    • если тут есть только переопределения свойства tagName: '' и нет дополнительной прикладной логики, то можно удалить этот файл, иначе удалить только tagName: ''
  • так как sidebar теперь не прямой потомок тега body, а в отдельном блоке с классом ember-view, который в свою очередь уже является первым прямым потомком body, то возможно придется поправить прикладные стили (если была привязка стилей к sidebar’у как к прямому потомку body)
  • если на какой-либо из форм используется фильтрация по датам без времени, то нужно формировать предикат для дат с флагом timeless равным true

Flexberry RFC

Что такое Flexberry RFC

Flexberry RFC - это так называемый процесс запросов на комментарии (RFC - Request For Comments), который обеспечивает возможность согласованного и контролируемого принятия более “существенных” изменений, касающихся платформы Flexberry.

Запуск процесса RFC для платформы Flexberry - это еще один шаг в направлении открытости платформы и возможности ее доработки силами сообщества.

Различные OpenSource-проекты имеют аналогичный процесс - например, RFC для фреймворка Ember.js, RFC для языка RUST.

Данный процесс обеспечивает возможность предварительного совместного обсуждения предлагаемых доработок платформы и как результат - фиксация соответствующего технического решения в виде документа в соответствующем репозитории платформы Flexberry на GitHub.

Кому и как это поможет

  1. Запуск данного процесса обеспечивает возможность фиксации всех пожеланий по доработке платформы Flexberry. Поэтому все прикладные проекты, желающие, чтобы какие-либо их доработки попали в технолигию, могут сформулировать соответствующий документ RFC и запустить процесс публичного обсуждения и согласования соответствующих идей. По результатам обсуждения будет сформулировано и зафиксировано решение, которое может быть добавлено в исходный код платформы либо технологами, либо прикладными разработчиками (в зависимости от наличия свободных ресурсов и срочности доработок).
  2. Данный процесс также позволит прикладным проектам участвовать в обсуждении более существенных доработок, которые будут внедряться в платформу технологами в плановом режиме.
  3. В перспективе данный процесс будет являться инструментом для включения в платформу функционала со стороны сообщества.

Куда смотреть и что делать

Более подробно с процессом Flexberry RFC можно ознакомиться здесь: https://github.com/Flexberry/rfcs

Выпущена версия ember-flexberry-data 0.10.0 и ember-flexberry 0.10.0

В версию ember-flexberry-data 0.10.0 вошли следующие изменения:

  • добавлено:
    • функция hasChangedBelongsTo для проверки изменений ‘belongsTo’
    • NotPredicate для выражений not
    • теперь адаптеры отвечают на ошибки, ожидаемые в формате OData JSON
  • изменено:
    • получение текущего имени пользователя для всего приложения теперь можно вызвать, вызвав метод getCurrentUserName
  • исправлено:
    • при расширении Projection.Model и использовании наследования вся иерархия моделей имеет общий объект проекций
    • отслеживание изменений для syncUp при изменении ‘belongsTo’
    • GeographyPredicate для flexberry-gis

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

В версию ember-flexberry 0.10.0 вошли следующие изменения:

  • добавлены:
    • контрол для отображения ошибок flexberry-error
    • кнопка удаления и отображения ошибок для flexberry-simpledatetime
    • выделение всех элементов списка и всех элементов списка на странице
    • очистка установленной сортировки
    • кнопки свернуть/развернуть для иерархического списка
    • локализация и сортировка для автокомплита в flexberry-lookup
    • свойство управления длиной текста для flexberry-field and flexberry-textbox
  • изменены:
    • отображение ошибок на списках и формах редактирования (через компонент flexberry-error)
    • работа фильтров (фильтрация по пустому значению, использование Enter)
    • метод beforeDeleteRecord теперь поддерживает асинхронный режим
    • получение текущего имени пользователя
    • режим readonly для flexberry-datepicker
  • исправлено:
    • функционирование иерархического списка
    • фильтрация элементов списка
    • функционирование flexberry-simpleolv с пользовательскими настройками по умолчанию
    • теперь журнал не пытается сохранить неопределенные ошибки
    • функционирование flexberry-simpledatetime для мобильных устройств, а также в режиме readonly и обработка введеного значения
    • тема blue-sky для мобильных устройств, стили для модальных диалогов, отображение боковой панели и высота содержимого страницы.
    • поддержка checked для IE
    • создание шаблона компонента flexberry-groupedit в формах редактирования

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Инструкция по обновлению:

  • Новость от 29.09.2017
  • При обновлении с ember-flexberry 0.9.2-beta.2 нужно перегенерировать приложение, либо внести изменения вручную:
    • В шаблоне application.hbs у блока с классом “full height”, удалить «style=”min-height: 90vh”» (если это не было изменено на прикладном уровне)
    • В шаблонах форм редактирования добавить {{flexberry-error error=error}} после тега «form» Пример
    • В шаблонах списковых форм добавить {{flexberry-error error=error}} в начало Пример
    • В папку с шаблонами добавить error.hbs

Выпущена версия ember-flexberry 0.9.1

В версию вошли следующие доработки:

  • Добавлены темы оформления.
  • Добавлена возможность экспорта списка в excel.
  • В аддон перенесены некоторые компоненты из ember-flexberry-gis.

Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:

Инструкция по обновлению с версии ember-flexberry без тем:

Если есть возможность, то желательно сгенерировать приложение в чистую папку, а затем перенести в него прикладную логику. Иначе нужно:

  • В packages.json добавить "ember-block-slots": "1.1.3" и "ember-cli-less": "^1.5.4". Удалить "ember-cli-sass". Изменить версии "ember-data": "~2.4.3" и "ember-flexberry": "0.9.1".
  • В bower.json добавить "js-beautify": "1.6.4", "jquery-minicolors": "2.2.6" и "seiyria-bootstrap-slider": "6.0.6". Изменить версии "semantic-ui": "git://github.com/Flexberry/Semantic-UI.git#fixed-abort" и "flatpickr-calendar": "2.3.4".
  • Выполнить npm install/bower install.
  • ember-cli-build.js привести в соответствие с ember-cli-build (если необходимо, добавить прикладную логику).
  • В app/index.html после content-for "body" добавить <script src="//cdn.polyfill.io/v1/polyfill.js?features=es6"></script>.
  • app/styles/app.scss переименовать в app/styles/app.less, добавить в начало @import "src/semantic"; и @import "node_modules/ember-flexberry/addon/styles/addon";. Также проверить нет ли в этом файле чего-нибудь несовместимого с less. Для аддона проделать то же самое для addon/styles/addon.scss.
  • Добавить theme.less в app/styles или в addon/styles (для приложения и аддона соответственно).
  • Добавить theme.config в папку спроектом. В конце файла указать путь к theme.less из предыдущего шага.
  • Добавить в vendor font-icon.css, папки fonts и serviceImages из ember-flexberry.
  • В locales/локализация/model для всех моделей в представлениях поменять caption на __caption__.
  • В шаблонах форм редактирования:
    • Удалить state из классов формы.
    • Удалить класс positive у кнопок Сохранить и Сохранить и закрыть, добавить классы save-button и save-close-button соответственно.
    • Удалить класс negative у кнопки удаления, добавить ей класс save-del-button.
    • Кнопке закрытия добавить класс close-button.
  • В приложении в app/controllers/application.js добавить objectlistviewEventsService и привести toggleSidebar/toggleSidebarMobile в соответствие с application.js.
  • В приложении в app/controllers/sitemap-node.js добавить subMenuEl в соответствие с sitemap-node.js.
  • В приложении app/templates/application.hbs привести в соответствие с application.hbs. Скорее всего этот шаблон нужно будет доверстать под проект. В мобильной версии этого шаблона нужно toogleSidebar заменить на toogleSidebarMobile.

Выпущена стабильная версия Flexbery Designer 2017-08-22

Обновить Flexberry Desinger можно, скачав с сайта flexberry.ru. Инструкция по установке находится в статье Установка Flexberry Designer, раздел Установка новой версии Flexberry Desinger (обновление).

Список изменений

  • Общее
    • Исправлена ошибка генерации, если в интрефейсе есть два метода с одинаковыми именами, но с разными сигнатурами.
    • Изменены имена генерируемых сборок, теперь по умолчанию они будут генерироваться без скобочек, и вместо - Namespace.ProjectName(Objects) - Namespace.ProjectName(BusinessServers) - Namespace.ProjectName(BusinessServersBF) - Namespace.ProjectName(ASP.NET Application)

      теперь по умолчанию будут генерироваться имена
      
      - `Namespace.ProjectName.Objects`
      - `Namespace.ProjectName.BusinessServers`
      - `Namespace.ProjectName.BusinessServersBF`
      - `Namespace.ProjectName.ASP.NET Application`
      
      чтобы это не мешало перегенерации уже существующих проектов, в свойствах стадии `ORM -> C# -> Свойства модели` была добавлена дополнительная настройка, позволяющая настроить шаблон для генерируемых имен.
      
      По умолчанию он выглядит так `{Name}.{Purpose}`, чтобы вернуть скобочки в имена сборок, потребуется изменить его на `{Name}({Purpose})` на вкладке `Дополнительно` на форме `Дополнительные настройки`.
      
  • Плагины
    • ORM
      • Добавлены пункты меню для генерации полномочий в плагин ORM -> SQL -> PostgreSQL
      • Пункты меню под плагины DocGen, HistoryPlugin, MoveCase перемещены в ORM -> Утилиты
      • Убран пункт меню ORM -> SQL -> ... -> Сгенерировать SQL, для генерации скриптов нужно использовать ORM -> SQL -> ... -> Привести БД в соответствие с моделью
    • Ember
      • Добавлена генерация бакенда
      • Добавлена генерация метаданных для фронтенда отдельно от всего остального
      • Добавлена обработка external-классов при генерации метаданных
      • Возможность генерации для фронтенда для каждого отдельного класса (доступно из контекстного меню класса)
    • ASP.NET
      • Генератор приведен в соответствие с версией Flexberry ASP.NET 2.3.0
      • Убрана установка пакетов со всеми темами при генерации нового приложения, теперь по умолчанию устанавливаются только темы Spring и BlueSky
      • Исправлена транслитерация при генерации форм с ь/ъ - теперь эти символы пропускаются.
      • Исправлена перегенерация базовых и технологических форм (не меняются существующие, не имеющие локальных изменений)

Обратная связь

Замечания и пожелания, касающиеся Flexberry Designer-a и его плагинов, можно направлять на электронную почту.

Выпущена очередная стабильная версия Flexberry Winforms 3.0.1

В версию вошли следующие доработки:

  • Исправлен поиск по пустому списку.
  • Добавлена возможность работы ExtendedLookUp c несколькими DataObjectTypes.

Выпущена очередная стабильная версия Flexberry ASP.NET 2.3.0

Список изменений во Flexberry ASP.NET - 2.3.0

  • Изменения в зависимостях
  • Общие изменения:
    • Исправлена ошибка порядка обновления агрегатора и детейла с циклической связью (если объект является необязательным мастером ассоциации для своего агрегатора).
    • CustomSiteMapProvider.dll был удален из-за конфликта версий и был изменен на CustomSiteMapProvider.cs, включенный в ICSSoft.STORMNET.Web.Tools.
    • Добавлены вкладки для страниц Администрирование: Группы и Операции.
    • Название темы Crimea изменено на BlueSky (пакет с темой оформления под старым названием Crimea по прежнему находится в nuget-галерее, но более не будет обновляться).
    • Добавлена возможность включения SupportsCredentials для CORS (в пакете Flexberry ASP.NET WebAPI CORS extensions 1.1.0).
    • Исправлена ошибка при построении ограничения для lcs по полю даты, когда имя поля совпадает со свойством DateTime.
  • Изменения в генераторе ASP.NET-приложений
    • Исправлена транслитерация для ьЬъЪ в ASPNETCasePlugin.
    • Исправлена перегенерация технологических файлов: при перегенерации технологические файлы исключены из изменений, если они не менялись локально.
    • Изменена генерация ключа для кеширования XML в WebBinder’е: сейчас он уйсточив к изменениям модели.
    • Исправлена ошибка генерации, если в интрефейсе есть два метода с одинаковыми именами, но с разными сигнатурами.
    • Добавлена обработка external-классов при генерации метаданных.
  • AiaxGroupEdit:
    • Исправлена сортировка по мастеровым полям.
    • При неправильном представлении теперь выводится ошибка, в которой есть информация о названии контрола на странице.
    • Исправлена проблема с фоном, закрывающим собой границы в Firefox и Internet Explorer.
    • В обработчик нажатия на кнопку редактирования в строке детейла добавлена проверка на новую строку.
  • Аудит:
    • Реализовано использование Caption из представления AuditView в объектно-ориентированной форме аудита.
    • Исправлена загрузка данных аудита из другой БД.
  • Редактор ограничений:
    • Изменена и дополнена логика редактирования выражения в редакторе ограничений:
      • Изменение выражения осуществляется только через дерево атрибутов при редактировании правого выражения реализована возможность изменить знак операции и левое выражение;
      • В правое выражение запрещено подставлять тот же атрибут что находится в левом выражении;
      • При попытке снять выделение с редактора правого выражения при невалидном значении, если возможно, возвращается последнее валидное значение (по аналогии с кнопкой ESC).
    • Доработана панель инструментов редактора ограничений:
      • На вкладке “Главная” блок “Применить ограничение” объеденен с блоком “Действия” и назван “Действия”;
      • За блоком назван “Действия” размещен блок “Свойства”;
      • При попытке сохранить ограничение без имени, фокус переходит на поле “Имя ограничения” и выводится подсказка.
    • Реализовано добавление пустому выражению кнопки для удаления в редакторе ограничений.
    • Добавлен запрос на подтверждение действий пользователя при замене группы выражений в редакторе ограничений.
    • Добавлена кнопка для создания пустой строки в выражении в редакторе ограничений.
    • Исправлено оформление редактора ограничений: скрыты лишние отступы, увеличен шрифт в дереве атрибутов.
    • Добавлена проверка существования неиспользуемых параметров перед сохранением ограничения.
    • Исправлено создание и использование ограничений с параметрами.
    • Исправлено открытие редактора ограничений в новом окне в chrome-е (после обновления chrome-а редактор открывался в новой вкладке вместо нового окна).
  • WOLV:
    • Добавлен переход к объекту в WOLV после закрытия модального окна при условии, что объект был сохранён.
    • Поправлена перемотка к объектам найденным модулем поиска WOLV-a.
    • Добавлена возможность переопределять URL-ы форм редактирования, прототипирования, просмотра и добавления в WOLV-е в клиентских обработчиках событий.
    • Исправленно отображение заголовков групп при использовании OverflowWordEllipsis.
    • Исправлена логика возвращения первичного ключа из формы редактирования в модальном окне или новой вкладке: теперь первичный ключ не возвращается для объектов, которые еще не были сохранёны в БД.
    • Поправлено хранение состаяния выделенных строк при переходе между страницами.
    • Во ViewColumnProvider исправлена ошибка загрузки данных из кэша, приводившая к тому, что списки иногда не открывались пока не почистишь кэш.
  • LookUp:
    • Сокращено количество запросов к БД из лукапов.
    • В интерфейсе IMasterEditorAjax добавилось опционально свйство “Object”, в которое WebBinder проставляет объект данных ассоциированный с мастеровым свойством, соответствующим lookup-у.
    • Поправлена работа autocomplete при вставке из буфера обмена через контекстное меню ПКМ.
  • Изменения в зависимых пакетах
    • В пакете Flexberry.Web.Reports также были обновлены все зависимости, включая зависимость от Flexberry.ASP.NET до выпущенной версии 2.3.0.
    • В пакете Flexberry.Web.VeloCache также были обновлены все зависимости, включая зависимость от Flexberry.ASP.NET до выпущенной версии 2.3.0.

Выпущена очередная стабильная версия Flexberry Security 1.7.0

Список изменений во Flexberry Security - 1.7.0

  • Изменения в зависимостях * Пакет Flexberry.ORM обновлен до 4.0.0 (см. подробности в новости о выпуске версии ORM 4.0.0).

  • Общие изменения:

    • Добавлена поддержка сериализуемости для объектов полномочий
    • Исправлены объединение и разность функций ограничения в классе LimitFunctionArithmetic.
    • Добавлены проверки добавляемой и вычитаемой функций на null в классе LimitFunctionArithmetic.
    • Добавлены методы полного удаления фильтра в полномочиях доступа к конкретному объекту данных для роли и пользователя.
    • Расширена логика добавления и удаления фильтров в полномочиях на объекты данных.
    • Исправлено чтение полномочий в операции удаления фильтра у SecurityManager.
    • Исправлена проверка типа доступа к классу данных при получении ограничения для текущего пользователя в SecurityManager.

Выпущена очередная стабильная версия Flexberry Winforms 3.0.0

В версию вошли следующие доработки:

  • Проект ICSSoft.STORMNET.Drawing перенесён из ORM в Winforms.
  • Реализована сериализация в json примитивов диаграммы классов.

Выпущена очередная стабильная версия Flexberry ORM 4.0.0

В версию вошли следующие доработки:

  • Проекты из пакетов UnityFactory и CurrentUserService вошли в пакет ORM. Отдельно теперь их не нужно устанавливать, если есть установленный пакет ORM. При обновлении до ORM 4.0 нужно будет предварительно удалить NuGet-пакеты UnityFactory и CurrentUserService из всех проектов с предыдущей версией ORM.
  • Из ExternalLangDef удалена зависимость от пакетов *DataService. Интерфейс IDataService поменялся (добавлен ещё один метод для интерпретации языка запросов).
  • Проект ICSSoft.STORMNET.Drawing перенесён из ORM в Winforms.
  • Удалён проект ICSSoft.STORMNET.Business.BF (если он кому-нибудь будет нужен, то отдадим в виде исходного кода).
  • Исправлена ошибка порядка обновления агрегатора и детейла с циклической связью (если объект является необязательным мастером ассоциации для своего агрегатора).
  • Реализована поддержка в OData кастомных имён для EDM-моделей (названий классов и свойств).
  • Для всех типов убрано наследование от MarshalByRefObject.
  • Из конструкторов типа ICSSoft.STROMNET.FunctionalLanguage.ObjectType убран параметр “objImagedView” типа “Image”.
  • В функции GetViewByAuditRecord заменено Enum на EnumCaption.
  • Исправлена ошибка при построении ограничения для lcs по полю даты, когда имя поля совпадает со свойством DateTime.
  • Исправлена ошибка при использовании атрибута PrimaryKeyStorageAttribute.
  • ORM опубликован на GitHub
  • LogService, также опубликован на GitHub

Выпущены очередные версии ember-flexberry 0.8.6 и ember-flexberry-data 0.8.4

В версии вошли следующие доработки:

  • Исправлен метод базовой модели, проверяющий изменения в hasMany-отношениях: ранее ошибка могла возникать в случаях, когда свойство canonicalState было неопределено. Первый вариант исправления был предложен в версии ember-flexberry-data@0.8.2, но этот вариант приводил впоследствии к неправильному значению свойства canonicalState у агрегатора при дальнейших изменениях списка связанных детейлов.

Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:

Выпущена очередная версия ember-flexberry 0.8.5

В версию вошли следующие доработки:

  • Исправлена ошибка при синхронизации данных на сервер: при вычитывании моделей аудита из оффлайна в некоторых случаях использовался онлайновый стор вместо оффлайнового.
  • Исправлено отображение пустого значения в компоненте flexberry-lookup в режиме выпадающего списка.

Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:

Выпущена очередная версия ember-flexberry-data 0.8.3

В версию вошли следующие доработки:

  • Исправлена ошибка при синхронизации данных на сервер: при вычитывании моделей аудита из оффлайна в некоторых случаях использовался онлайновый стор вместо оффлайнового.

Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:

Выпущены очередные версии ember-flexberry 0.8.4 и ember-flexberry-data 0.8.2

В версии вошли следующие доработки:

  • Исправлено отсутствие проверки изменений в детейловых моделях при переходе с роута агрегатора на роут детейла следующего уровня. В результате изменения, сделанные в детейлах до перехода на роут детейла следующего уровня, теперь не теряются.
  • В свойство canonicalState hasMany-отношений теперь записывается значение свойства currentState при сохранении модели агрегатора. Данное дополнение устраняет баг при проверке изменений в hasMany-отношениях после первичного сохранения модели агрегатора с детейлами.

Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:

Выпущена очередная версия ember-flexberry 0.8.3

В версию вошли следующие доработки:

  • Исправлено зацикливание вызова обработчика клика при выборе даты в flexberry-simpledatetime (в мобильном режиме).

Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:

Выпущена очередная версия ember-flexberry 0.8.2

В версию вошли следующие доработки:

  • Исправлено зависание приложения при смене количества отображаемых страниц на списке в IE.
  • Исправлена невозможность изменять ширину столбцов на списке при переопределении хука model в прикладном роуте.
  • Исправлена ошибка, из-за которой не сбрасывалось количество выделенных строк после перехода на форму редактирования и обратно.
  • Исправлено некорректное отображение пейджинга в оффлайн-режиме после ухода со списка и возврата обратно.
  • Исправлено зависание приложения в оффлайн-режиме при переходе на форму редактирования в том случае, когда в поле для хранения детейлов записано значение undefined.

Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:

Выпущена очередная версия ember-flexberry-data 0.8.1

В версию вошли следующие доработки:

  • Исправлена ошибка чтения детейлов в оффлайн-режиме в том случае, когда в поле для хранения детейлов записано значение undefined.
  • Исправлено некорректное вычисление значения свойства meta.count в оффлайн-режиме при чтении данных.

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

Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:

Выпущена очередная версия ember-flexberry 0.8.1

В версию вошли следующие доработки:

  • Поддержка иерархического flexberry-objectlistview на форме редактирования + возможность указывать отступы в иерархическом списке.
  • Исправление ошибки на списках (когда свойство modelProjection не определено).
  • Исправление ошибки flexberry-simpledatetime в мобильном варианте.

Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:

Выпущены очередные версии ember-flexberry и ember-flexberry-data 0.8.0

Со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:

Всем успехов и новых достижений в Новом году!

Попробуйте сами

На период ознакомления или для открытых проектов продукты платформы доступны бесплатно. Попробуйте, и решите, подходят ли они
для ваших задач.

Попробовать

Также вы можете ознакомиться с исходным кодом продуктов на GitHub.