Список изменений в системе версии 4.0.0 RC2

Внимание!

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

Критичные изменения

Техническая оптимизация

1. Прекращение поддержки провайдеров внешней аутентификации. Вместо них следует использовать модули внешней аутентификации. Подробности перехода описаны в статье. В связи с этим удалены интерфейсы EleWise.ELMA.Security.IExternalMembershipService и EleWise.ELMA.Security.IDomainExternalMembershipService.

2. Изменен интерфейс методов импорта/экспорта. В методах ConfigImport.RunImport(), ConfigImport.RunTest(), ConfigExport.RunExport() тип параметра вызова изменен с object(object[]) на RunImportParameters, RunTestParameters и RunExportParameters соответственно.

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

4. Изменены классы сущностей:

Сущности наследуются от интерфейса EleWise.ELMA.Model.Entities.IInheritable независимо от наличия наследников или настройки возможности создания наследников. Проверка типа сущности на реализацию указанного интерфейса больше не может быть признаком поддержки наследования и наличия поля TypeUid в базе данных.

Удалены сущности:

  • ShellDescriptorEntity
  • ShellFeatureStateEntity
  • ShellFetureEntity
  • ShellParameterEntity
  • ShellStateEntity

Удалены разделы в PublicApi:

  • PublicAPI.Objects.Web со всеми подразделами

5. Изменено значение по умолчанию для коллекций простых типов. Для наследников IEntity, IFilter, IDataClass свойства – коллекции простых типов инициализируются пустым списком (раньше значением по умолчанию был null). Это может отразиться на логике обработки таких свойств: кроме проверки на null может потребоваться проверка наличия элементов в коллекции. Простыми типами считаются типы из списка, кроме object, а так же типы значения (перечисления и структуры).

6. Изменена логика построения запроса для некоторых свойств фильтров. В связи с изменением, описанным в п. 22, устарела логика обработки некоторых свойств в фильтрах. Ранее значение null для свойства не влияло на запрос, а пустой список добавлял условие "... IN (-1)", теперь пустой список и null обрабатываются одинаково и не влияют на запрос. Список фильтров и свойств, которые это затронуло:

  • Ids
  • NotIds
  • ProjectIds
  • Ids
  • NotIds
  • NotIds
  • NotIds
  • NotIds
  • NotIds

7. Изменения в ComponentManager. Метод GetComponents устарел и больше не используется. Попытка вызова метода приведет к возникновению исключения NotImplementedException.

Изменения интерфейсов

Изменен внешний вид чек-боксов.

Остальное

1. Изменения в справке. Упаковка пакетов справки командой пакетного менеджера packSln теперь не применяется. Не следует создавать новые nuspec-манифесты для справки в проектах решения. Упаковка справки полностью передана в скрипты сборки MSBuild (с упаковкой через nuget.exe).