Перейти к содержанию

Версия 3.0 (12.11.2018)

Переход на новую сборку

  1. Изменены рабочие места: Administrator.
  2. Изменены представления (добавлены): ActiveWorkflows, BusinessProcessTemplates, ErrorWorkflows, WeTaskControlTypes, WeTaskGroupActionOptionTypes, WorkflowEngineCompiledBaseTypes, WorkflowEngineErrors, WorkflowEngineLogLevels, WorkflowEngineLogs, WorkflowEngineTaskActions, WorkflowEngineTileManagerExtensions, WorkflowLinkModes, WorkflowNodeInstanceSubprocesses, WorkflowNodeInstanceTasks, WorkflowSignalTypes.
  3. Добавлена библиотека схемы WorkflowEngine (папка Partitions\Workflow и всё её содержимое). Библиотека обязательна для установки даже в случае, если в проекте не используется визуальный конструктор.
  4. Изменены таблицы: ActionTypes, FileVersions, LicenseTypes, LicenseVirtual, LoginTypes, KrChangeStateAction (добавлена), KrCheckStateTileExtension (добавлена), KrCreateCardAction (добавлена), MobileClientLicenses (удалена), MobileLicenses (добавлена), OperationTypes, PersonalClientLicenses (удалена), PersonalLicenses (добавлена), PersonalWebLicenses (удалена), ServerInstances.
  5. Изменены типы карточек: ActionHistoryRecord, License, ServerInstance.
  6. Изменены типы карточек (добавлены): BusinessProcessTemplate, KrChangeStateAction, KrCheckStateWorkflowTileExtension, WorkflowActionEditor, WorkflowActionInstanceEditor, WorkflowAddFileFromTemplateAction, WorkflowAndAction, WorkflowCheckContextRoleTileExtension, WorkflowCommandAction, WorkflowConditionAction, WorkflowCreateCardAction, WorkflowEndAction, WorkflowEngineSettings, WorkflowHistoryManagementAction, WorkflowLinkEditor, WorkflowNewItemEditor, WorkflowNodeEditor, WorkflowNodeInstanceEditor, WorkflowNotificationAction, WorkflowProcess, WorkflowProcessEditor, WorkflowProcessInstanceEditor, WorkflowScenarioAction, WorkflowStartAction, WorkflowSubprocessAction, WorkflowSubprocessControlAction, WorkflowTaskAction, WorkflowTaskControlAction, WorkflowTaskGroupAction, WorkflowTimerAction, WorkflowTimerControlAction.
  7. Изменены карточки: Business process designer (settings) (добавлена).
  8. Изменены карточки (необязательные изменения): Server settings (settings).
  9. Изменены библиотеки локализации.
  10. Перед обновлением схемы выполните скрипт Fixes/Migration-3.0-pre.*.sql.
  11. После обновления схемы выполните скрипт Fixes/Migration-3.0.*.sql.
  12. Для Windows-приложений (клиент и сервер) изменены требования к .NET Framework. Теперь требуется версия 4.7.2 или старше. Требования к ОС и оборудованию не изменились.
  13. Обновите все компоненты системы и их конфигурационные файлы, в т.ч. Chronos и веб-сервис web (теперь это единственый веб-сервис, требуемый для desktop-клиента и web-клиента). По изменениям в настройке конфигурационных файлов обратитесь к руководству по установке.
  14. Настройки отправки и получения почты теперь указываются в файле app.json в папке Chronos (вместо файла app.config в папке с плагинами). За описанием настроек обратитесь к руководству по установке.
  15. Включите Windows-аутентификацию для веб-сервиса web при установке на Windows. Также потребуется установить IIS Hosting Bundle для последней версии .NET Core 2.1 (версия 2.1.5 на момент выхода сборки). Пул приложений, в который добавлен веб-сервис web, должен быть указан как “No managed code” (как раньше указывалось для web-клиента). За подробностями обратитесь к руководству по установке.
  16. Для подключения к web-клиенту теперь не указывайте адрес экземпляра приложений. Например, вместо https://сервер/tessa/web/tessa правильно использовать ссылку вида https://сервер/tessa/web. Для почтовых уведомлений измените ссылку на web-клиент в карточке “Настройки сервера”, если она там указана.
  17. На компьютеры, подключаемые к серверам Tessa 3.x с использованием desktop-клиента, требуется установить актуальную версию Tessa Applications через msi-инсталлятор. Его установка и настройка выполняются, как и прежде: устанавливаемая версия заменит предыдущую и перезапишет список серверов, к которым выполняется подключение. Установка также доступна через доменные политики, а список серверов указывается в mst-трансформации, используемой вместе с msi-пакетом инсталлятора. Новые версии опубликованных приложений TessaClient и TessaAdmin автоматически установятся на компьютеры пользователей, для этого не требуется дополнительных действий (кроме их публикации на сервере).
  18. Приложение Tessa Applications версий 3.x может подключаться к серверам Tessa 2.x, если это не основной сервер (не отмечен звёздочкой в списке серверов). Это полезно при развёртывании версии 3.x на тестовом сервере при одновременной работе с production-сервером, на котором ещё установлена версия Tessa 2.x.
  19. Обновите solution с расширениями из папки Extensions (включая файл .sln и файлы проектов .csproj). Обратите внимание на изменённый формат файлов .csproj. Файлы с исходным кодом и ресурсами автоматически добавляются в проект, их не следует перечислять в файле .csproj. Скорее всего вам подойдут файлы .csproj в том виде, в каком они есть в сборке.
  20. В проектах расширений ссылки на сторонние библиотеки .dll должны выполняться через ссылки на NuGet-пакеты. Исключением являются клиентские расширения desktop-клиента, для которых по-прежнему возможны ссылки на файлы .dll. Если у библиотеки отсутствует NuGet-пакет (что бывает очень редко), то вы можете самостоятельно создать NuGet-пакет и положить его в папку Bin\packages, за подробностями обратитесь к MSDN.
  21. Если у вас есть серверные плагины Chronos, задействующие серверное API (есть вызов метода RegisterServerForPlugin), то добавьте строку TessaPlatform.InitializeFromConfiguration() в самое начало метода EntryPoint() вашего плагина.
  22. Прочтите файл readme.txt в папке с расширениями Extensions. Он описывает изменённые требования к ПО для разработки расширений сервера и desktop-клиента.
  23. Обновлена библиотека Unity до версии 5.8.11. Также вместо форка библиотеки в Tessa.dll теперь используется оригинальные NuGet-пакеты Unity.Container и Unity.Abstractions. В связи с этим замените пространство имён Tessa.Unity на одно из пространств имён: Unity, Unity.Attributes, Unity.Extension, Unity.Injection, Unity.Lifetime, Unity.Resolution. Метод-расширение unityContainer.TryResolve<T>() был перенесён в пространство имён Tessa.Platform. Также учитывайте, что новая версия Unity не разрешает при регистрации указывать одновременно интерфейс вместе с классом и InjectionFactory. Вместо RegisterType<IMyType, MyType>(new InjectionFactory(…))) правильно указывать RegisterType<IMyType>(new InjectionFactory(…)).
  24. API расширений web-клиента полностью изменён, теперь он задействует библиотеку MOBX вместо библиотеки Redux. Все расширения web-клиента необходимо переписать с использованием нового API. Обратитесь к руководству разработчика web-клиента. В папке WebClient SDK доступны обновлённые примеры расширений для часто решаемых задач. Также в составе сборки теперь поставляются расширения типового решения для web-клиента в папке WebClient SDK\src\default.
  25. Интеграция с внешними системами теперь выполняется с использованием контроллеров ASP.NET Core вместо WCF-сервисов. Обращение к контроллеру выполняется посредством REST API. Пример контроллера доступен в проекте расширений Tessa.Extensions.Server.Web, который можно произвольно изменять в рамках проекта. Клиентская функциональность контроллера, как и раньше, располагается в сборках Tessa.Extensions.Client и Tessa.Extensions.Shared в папке Services. В соответствии с правилами ASP.NET Core контроллерами являются любые классы, заканчивающиеся на ***Controller и наследуемые от базового класса контроллеров; по вопросам написания таких классов обратитесь к MSDN. Классы контроллеров могут быть добавлены в сборки, перечисленные в файле app.json веб-сервисов в настройке Settings->WebControllers; мы рекомендуем добавлять такие классы в сборку Tessa.Extensions.Server.Web.
  26. При условии корректного обновления веб-сервисов и конфигурационных файлов, возможно автоматизированное сквозное обновление конфигурации в базе данных с любой из предыдущих сборок 2.x посредством скрипта Upgrade.bat. Также обновление возможно для сервера, развёрнутого на Linux, посредством скрипта upgrade.sh.
  27. При использовании Linux-версии консольной утилиты tadmin ключи командной строки указывайте, начиная с символа “-” вместо “/”. Пример: ./tadmin CheckService -a:https://localhost/tessa -u:admin -p:admin
  28. После обновления системы проверьте настройки персональных лицензий и лицензий мобильного согласования в карточке настроек “Лицензия”.
  29. В связи с изменениями лицензионной политики, начиная с этой сборки для использования более одного файлового хранилища для базы данных и/или более одного хранилища в файловых папках теперь требуется модуль лицензии “Несколько файловых хранилищ”. Для использования параметра #view(ConnectionAlias) для выполнения представлений на других базах данных теперь требуется модуль лицензии “Кластеризация”. Если вы являетесь владельцем лицензии от предыдущих версий системы, то обратитесь к вендору для получения лицензии со включёнными модулями. Для новых выписываемых лицензий перечисленные модули включены в Enterprise-редакцию системы, но не включены в обычную редакцию.

Добавление и изменение функциональности

  1. Добавлена поддержка сервера приложений на ОС Linux. По вопросам установки на Linux обратитесь к инструкции “Руководство по установке на Linux”. Также в инструкции описаны ограничения, существующие в Linux-версии. Приложения TessaClient, TessaAdmin, Tessa Applications и SchemeEditor не поддерживают работу в среде Linux, для этого используется web-клиент. Для разработки конфигурации используйте приложения TessaAdmin и SchemeEditor на Windows. Импорт конфигурации может быть выполнен консольной утилитой tadmin, которая доступна на Linux. Также при установке на Linux вместо приложения TokenEditor используйте консольную утилиту tadmin (команды GetToken и SetToken).
  2. В карточке сотрудника добавлен тип входа “Пользователь LDAP”, который позволяет связать сотрудников Tessa с пользователями службы каталогов LDAP. Используя такие настройки, можно связаться с доменом Active Directory (или другим сервером LDAP) от сервера приложений Tessa, который не принадлежит домену, например, от сервера приложений на Linux. Настройки LDAP описаны в файле app.json веб-сервиса.
  3. Модуль Workflow Engine с графическим конструктором бизнес-процессов добавлен в состав платформы. Для функционирования требуется соответствующий модуль лицензии. По разработке процессов обратитесь к инструкции “Tessa. Руководство разработчика бизнес-процессов”.
  4. При импорте любых объектов конфигурации теперь выполняется запись в историю действий с информацией о выполненных изменениях.
  5. В web-клиенте расположение плиток на боковых панелях приближено к тому, как они выглядят в desktop-клиенте. Также для всех плиток доступны горячие клавиши, если они были доступны в desktop-клиенте.
  6. В web-клиенте доступно редактирование карточек в шаблонах аналогично desktop-клиенту, используя плитки “Редактировать” и “Назад к шаблону”.
  7. В web-клиенте доступен просмотр удалённых карточек аналогично desktop-клиенту в том виде, в котором они были на момент удаления, используя плитку “Просмотр” в удалённых карточках.
  8. В web-клиенте доступны дополнительные действия с файлами, содержимое которых изменено, но которые ещё не сохранены (аналогично возможностям desktop-клиента).
  9. Система поддерживает изменения в лицензионной политике с новыми модулями лицензии, редакцией Enterprise и универсальными клиентскими лицензиями, которые задействуются и для desktop-клиента, и для web-клиента. Уже выписанные файлы лицензий продолжат работу.
  10. В карточке “Настройки сервера” добавлена настройка “Максимальный размер файла для загрузки в систему”. По умолчанию размер не ограничен. Если указанный размер превышен, то будет выведена ошибка при добавлении файла с desktop- или web-клиента.
  11. В карточке “Настройки сервера” добавлена настройка “Начальный размер большого файла”. По умолчанию указывается 500 Мб. Файлы, содержимое которых занимает указанный размер или больше, будут считаться большими файлами, и для них выполняется особая обработка на клиенте, в т.ч. запрет на копирование во временную папку, и связанные с этим невозможность выполнить предпросмотр, подписать файл или отредактировать файл в приложении.
  12. Доступна работа с файлами, приложенными к карточке, размером более 2 Гб. Для desktop-клиента ограничения размера одного файла отсутствуют. Для web-клиента они зависят от настроек браузера и веб-сервера (IIS / Nginx / Apache), обычно это составляет около 2 Гб на загрузку файла на сервер и около 4 Гб на скачивание файла с сервера.
  13. Отключена возможность административного удаления истории действий через плитку “Удалить для карточки” или через соответствующий запрос к серверу.
  14. Доступен режим локальной (временной) установки сервера приложений без использования IIS, см. раздел “Локальная установка без настройки IIS” в руководстве по установке.
  15. Файлы логов, настроенные в NLog.config, теперь записываются в кодировке UTF-8 + BOM. При необходимости вы можете изменить эти настройки в файлах NLog.config.
  16. Визуализатор процессов маршрутов и типовых задач получил такие же улучшения, которые используются в визуальном конструкторе процессов: сетка с привязкой к ней узлов, возможность изменения размеров узлов, улучшенная расстановка стрелок, сохранение в картинку (в контекстном меню).
  17. В файлах app.json добавлена шаблонизация, используя конструкцию “.if”. По умолчанию определены символы: “windows” (для запуска на Windows), “linux” (для запуска на Linux), “x64” (для запуска в 64-битном процессе), “x86” (для запуска в 32-битном процессе). Также символы можно добавлять или удалять через конструкцию “.define” (для удаления в начале символа укажите восклицательный знак).
  18. API: Доступно новое API для web-клиента, максимально приближенное по внешнему виду и функциональности к клиентским расширениям desktop-клиента. В папке WebClient SDK\src\default предоставляются исходные коды для клиентских расширений типового решения, которые можно изучать, а также изменять в рамках проекта. Типовые расширения собираются в единый bundle (файлы .js и .map) вместе с проектными расширениями по аналогии с тем, как если бы сборки desktop-клиента Tessa.Extensions.Client и Tessa.Extensions.Default.Client были объединены. Для этого bundle выполняется оптимизация и минификация JS, после чего он копируется с заменой в папку веб-сервиса wwwroot\extensions. Обратитесь к руководству разработчика web-клиента.
  19. API: Во всех скриптах, используемых в маршрутах и других частях системы, теперь доступна последняя версия языка C# 7.3. Все существующие скрипты продолжат работу, если они используют актуальные методы и свойства API скриптов (все без исключения при обновлении с предыдущей сборки).
  20. API: В API файлов добавлены теги для версий файла IFileVersion.Tags, которые позволяют отметить версию некоторыми признаками, обычно связанными с её содержимым. В настоящий момент системой поддерживается тег FileTag.Large для файлов, содержимое которых отмечено как большой файл. Такие файлы также можно идентифицировать, вызвав метод version.IsLarge() или file.IsLarge() (соответствует признаку для последней версии файла). При добавлении или изменении файла теги создаваемой версии файла можно установить через свойство file.NewVersionTags, после чего вызвать file.Notify(FileNotificationType.NewVersionTagsModified), если файл связан с карточкой. Теги для уже созданных версий не изменяются. Также вы можете использовать собственные произвольные теги (в виде текстовых строк), чтобы отмечать файлы.
  21. API: В клиентском API файлов для элемента управления IFileControl или контейнера файлов IFileContainer можно установить обработчик SetNewPhysicalFileAction, который для каждого файла, добавляемого физически по заданному пути FilePath, может переопределить теги такого файла и любые другие параметры, а также отменить добавление файла. Пример в расширении Tessa.Extensions.Default.Client.UI.CarUIExtension.
  22. API: Опции файла, устанавливаемые расширениями в свойствах IFile.Options и CardFile.Options, теперь сохраняются в базу данных. При изменении опций через IFile укажите file.Notify(FileNotificationType.OptionsModified). При изменении опций через CardFile укажите cardFile.Flags |= CardFileFlags.UpdateOptions. При добавлении версии её опции копируются из опций файла на момент сохранения на сервере.

Исправления и оптимизации

  1. При закрытии вкладки или при обновлении карточки все файлы в этой карточке, скачиваемые или выгружаемые функцией “Сохранить как” в настоящий момент, отменяют свою загрузку. Их содержимое удаляется из временной папки пользователя или из папки, в которую файл сохраняется функцией “Сохранить как”.
Back to top