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

Установка и обновление

Внимание!

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

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

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

  1. Поддержка СУБД FireBird прекращена:
  • удалены модули и проекты, связанные с СУБД FireBird;
  • из мастера установки убрана опция установки с использованием СУБД FireBird;
  • удалены пакеты сервера FireBird;
  • оболочка ELMA.WebServer.Shell больше не использует сервер FireBird;
  • автоматическое создание файла конфигурации configuration.config задает PostgreSQL в качестве шаблона подключения к базе данных;
  • из класса `TransformationProvider` выделен базовый класс `TransformationProviderBase`;
  • из интерфейса `ITransformationProvider` выделен базовый интерфейс `ITransformationProviderBase`;
  • работа отчетов с внешними источниками данных FireBird остановлена. В качестве провайдера вместо удаленного `EleWise.ELMA.Extensions.Firebird.FirebirdTransformationProvider` используется `EleWise.ELMA.Extensions.FirebirdExternal.FirebirdExternalTransformationProvider`;
  • конструктор класса `EleWise.ELMA.Reports.Processors.DataBaseReportExternalDataSourceProcessor` в качестве параметра принимает `ITransformationProviderBase` вместо `ITransformationProvider`;
  • тэг "firebird" пакетов экспорта-импорта (*.elma3) больше не поддерживается.
  1. Поддержка внутреннего сервера ELMA прекращена.
  • удалены модули и проекты, связанные с ней;
  • удалены проекты:
    • веб-сервер ELMA `ELMA.WebServer`
    • сервис веб-сервер ELMA `EleWise.ELMA.WebServer.Service`
    • оболочка веб-сервера ELMA `EleWise.ELMA.WebServer.Shell`
    • внутренний сервер ELMA Cassini `Cassini`
  • из мастера установки ELMA убрана опция установки внутреннего сервера;
  • удален пакет 3.8.2.
  1. Прекращена поддержка AppFabric. Удален модуль AppFabric. Проверка лицензионности Redis, а также тест на Enterprise редакцию ELMA перенесены на модуль с провайдером Oracle (ранее в этом участвовал модуль `EleWise.ELMA.Cache.AppFabric`).
  2. Из реализаций точки расширений преобразования базы данных `EleWise.ELMA.ExtensionPoints.IDbStructureExtension` исключены устаревшие методы. Использование любых публичных методов реализаций больше не допускается. Оставшиеся публичные методы будут удалены или помечены как устаревшие в ближайших релизах. Для написания собственных методов следует использовать модификатор internal.
  3. Протокол экспорта-импорта обновлен до версии 4:
  • новые файлы конфигурации имеют расширение *.elma4;
  • ELMA4 допускает импорт файлов конфигурации и версии 3, и версии 4;
  • ELMA3 может импортировать только файлы конфигурации версии 3, версия 4 ей не поддерживается.
  1. Обновлен компонент .NET Framework до версии 4.8. Подробнее прочитать об изменениях в платформе .NET можно здесь. Если у Вас не установлен данный компонент или его версия ниже требуемой, то компонент будет установлен/обновлен в процессе установки системы ELMA.
  2. Обновленные пакеты:

- Autofac.4.4.0
- Autofac.Configuration.4.0.1
- Autofac.Extras.DynamicProxy.4.1.0
- Autofac.Mef.4.0.0
- Autofac.Mvc5.4.0.1
- Autofac.Wcf.4.0.0
- AutoMapper.7.0.1
- BitMiracle.LibTiff.NET.2.4.560
- Castle.Core-log4net.4.4.0
- Castle.Core.4.4.0
- EleWise.ELMA.XmlSerializers.1.0.0.1
- FirebirdSql.Data.FirebirdClient.5.8.0
- Glimpse.AspNet.1.9.2
- Glimpse.Mvc5.1.5.3
- HtmlAgilityPack.1.4.9.5
- Iesi.Collections.4.1.0
- log4net.2.0.8
- lz4net.1.0.15.93
- Microsoft.AnalysisServices.11.0.2100.60
- Microsoft.ApplicationServer.Caching.Client.1.0.4657.2
- Microsoft.AspNet.Mvc.5.2.3
- Microsoft.AspNet.Razor.3.2.3
- Microsoft.AspNet.WebPages.3.2.3
- Microsoft.AspNet.WebPages.Data.3.2.3
- Microsoft.AspNet.WebPages.WebData.3.2.3
- Mono.Cecil.0.9.6.4
- Newtonsoft.Json.11.0.2
- NHibernate.ByteCode.Castle-v4.4.0.3.4000-rc3
- NHibernate.ByteCode.Castle.2.1.2.4000
- NHibernate.Caches.SysCache2.5.5.1
- Nuget.Core.2.14.0.1001
- NUnit.3.12.0
- Oracle.ManagedDataAccess.12.1.24160719
- PushSharp.4.0.10
- RavenDB.Database.3.5.3
- Remotion.Linq.2.2.0
- RouteMagic.1.3
- WebSocket4Net.0.14.1
- ZXing.Net.0.15.0

  1. Удаленные пакеты:

Castle.Core-log4net1211.3.2.0.1
- ClaySharp.1.0.0
- DDay.iCal.1.0.2.575
- DevExpress.Web.Asp.10.1.6
- EleWise.ELMA.Compiler.1.0.0
- Fluent.IO.1.0.0
- FluentNHibernate.2.0.3.5
- Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0
- Microsoft.Bcl.1.1.10
- Microsoft.Bcl.Async.1.0.168
- Microsoft.Bcl.Build.1.0.21
- Microsoft.Data.Edm.5.2.0
- Microsoft.Data.OData.5.2.0
- Microsoft.Data.Services.5.2.0
- Microsoft.Data.Services.Client.5.2.0
- Mvc4Futures.4.0.20710.1
- NHibernate.Linq.2.1.2
- Pipelines.Sockets.Unofficial.1.0.7
- StudioDonder.MvcContrib.Mvc4.3.0.0.99
- System.Data.SqlServerCe.4.0.8482.1
- System.Spatial.5.2.0
- UpgradeMvc3ToMvc4.1.0.2
- Microsoft.ApplicationServer.Caching.Client.1.0.4657.2

  1. Неоднозначное соответствие EnumHelper. В связи с обновлением FrameWork может возникнуть ошибка компиляции. Для предотвращения такой ситуации необходимо указать полное имя типа `EleWise.ELMA.Helpers.EnumHelper`.
  2. В ELMA4 убрано пространство имен "FluentNHibernate". В связи с этим необходимо убрать из списка ссылок FluentNHibernate.
  3. Системная рефлексия не будет работать для опубликованных свойств.

Для доступа к ним реализованы специальные методы: `type.GetReflectionProperty`, `type.GetReflectionProperties` и т.п.

  1. Метод ContextVars.Clear() отмечен устаревшим и запрещено его использование (попытка вызова приведет к исключению). При необходимости использования контекстного кэша с возможностью очистки данных нужно воспользоваться атрибутом `[ContextCache("region")]` с указанием региона хранения и методами расширения для `IContextBoundVariableService` для чистки:
  • `ClearRegion` для очистки региона полностью;
  • `ClearFor` для очистки значения кэша определенного метода.
  1. Таблица `DB_ActiveConnections` больше не используется и в новых базах данных не создается. В конфигурации по умолчанию создается таблица `Orleans_MembershipTable` со схожей структурой.
  2. В ELMA4 больше не используется FluentNHibernate для построения маппингов класов для базы данных. Вместо него используется нативная реализация NHibernate для построения маппингов кодом.
  3. C `EleWise.ELMA.Notifications.INotificationManager` снят атрибут `ExtensionPoint`. Реализация `EleWise.ELMA.Notifications.Impl.NotificationManager` преобразована в сервис.
  4. Если в контроллере предполагается использование асинхронных методов, то при построении `Route` следует использовать `AsyncRouteHandler`. При этом следует учитывать, что все асинхронные методы должны в качестве одного из параметров в обязательном порядке принимать `CancellationToken` и прокидывать его по асинхронным вызовам. В противном случае, прерывание асинхронного метода по таймауту Web-запроса работать не будет.
  5. Добавлены методы:
  • `object GetCurrentUserId()` — получение идентификатора текущего авторизованного пользователя;
  • `void SetAuthenticatedUserIdForRequest(object userId)` — установка идентификатора текущего авторизованного пользователя для текущей сессии.
  1. Атрибуты свойств метаданных `EleWise.ELMA.Model.Attributes.RestartRequiredAttribute`, указывающие на необходимость перезагрузки при публикации, устарели. Вместо него следует использовать `EleWise.ELMA.Model.Attributes.PublicationBehaviourAttribute`, позволяющий указывать вариативные условия проверки на необходимость перезагрузки.
  2. Удалены классы OnceStepSchedulerSweep и StepSchedulerSweep.

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

Изменен внешний вид следующих элементов интерфейса:

  • панели инструментов;
  • быстрый поиск;
  • карточка и профиль пользователя;
  • карточки задач;
  • элемент истории;
  • лента сообщений;
  • раздел "Администрирование";
  • навигация между разделами;
  • главное меню;
  • поля для ввода даты и времени.
  • удалены деревья из левого меню
  • удалены или переименованы подпункты левого меню.

Остальное

  1. Изменения в поставке справки.

Справка теперь классифицируется на 2 категории: онлайн и оффлайн (автономную) справку.

Онлайн справка выводит пользователя на внешний сайт со справкой:

  • https://www.elma-bpm.ru/KB/help/RU/ — для русского языка;
  • https://kb.elma-bpm.com/help/EN/ — для английского.

Автономная справка

В инсталлятор ELMA4 включаются только пакеты с онлайн справкой. Они содержат только файлы индекса и за счёт этого общий размер установщика уменьшился примерно на 380 Мб. Пакеты с автономной справкой теперь с помощью метапакета группируются в один файл по языковому признаку и поставляются в виде компонента elma store.