<< Click to Display Table of Contents >> Администрирование (Windows) > Обновление системы > Обновление среды разработки Обновление с версии 4.6 на 4.9 |
![]() ![]() |
ВАЖНО. В версии 4.7 идентификаторы всех типов объектов переведены с типа int на long. Поэтому после обновления адаптируйте разработку под работу с большими ИД.
Чтобы обновить систему:
1.Откройте среду разработки и убедитесь, что все изменения отправлены на Git-сервер. Разработанные вами решения останутся на Git-сервере и не затрутся во время обновления среды разработки.
ВАЖНО. После проверки отправки изменений на Git-сервер закройте среду разработки. Если среду разработки оставить открытой, то при обновлении возникнут ошибки.
2.Остановите и удалите все сервисы. Для этого перейдите в папку с Directum Launcher, запустите командную строку и выполните команду:
do all down
3.В конфигурационном файле config.yml закомментируйте секции всех сервисов и утилит, кроме: IIS, ServiceRunner, SungeroWebServer, SungeroWebClient, IntegrationService, StorageService, DeploymentTool, RxCmd.
4.Архив с новой версией Directum Launcher скопируйте с заменой файла в корень папки с предыдущей версией Directum Launcher. Архив распаковывать не нужно. Также в корень папки скопируйте архивы:
•Platform.zip – платформа, включающая веб-сервер и сервисы Directum RX;
•WebHelp.zip – справка и слайдер;
•DevelopmentStudio.zip – среда разработки;
•Redist.zip – дополнительные компоненты, необходимые для установки серверной части и среды разработки;
•DeploymentTool.zip – утилита DeploymentTool, если планируете ее использовать для публикации решений. Утилита является устаревшей, оставлена для совместимости. Для новых публикаций используйте утилиту DeploymentToolCore, которая устанавливается вместе с платформой.
5.От имени администратора запустите файл DirectumLauncher.exe. Откроется командная строка, в ней запустится сервис развертывания, в браузере откроется страница с параметрами установки и обновления. До окончания установки не закрывайте окно командной строки.
Страницу можно открыть вручную по ссылке http://127.0.0.1:5000/, например, если случайно закрыли браузер или он не настроен по умолчанию.
6.Убедитесь, что установлен переключатель Обновление:
7.Проверьте, что поля заполнены верно. Подробнее см. инструкцию по установке среды разработки.
ПРИМЕЧАНИЕ. Если для соединения с базой данных используется Windows-аутентификация, то в конфигураторе в секции Агент управления сервисами Directum RX (ServiceRunner) проверьте, что параметры WINDOWS_USERNAME и WINDOWS_PASSWORD заполнены верно. Подробнее см. руководство администратора, раздел «Конфигурирование настроек».
8.Для обновления справки убедитесь, что установлен флажок WebHelp. Флажок можно снять, например, если система обновляется для тестирования и нужно сэкономить место на диске.
9.Ознакомьтесь с текстом лицензионного соглашения и установите флажок Я принимаю условия лицензионного соглашения.
10.Нажмите на кнопку Обновить. Неверно заполненные поля подсветятся красным цветом.
11.Дождитесь окончания обновления. На странице выводятся этапы обновления. В раскрывающейся области с названием этапа отображаются сообщения из лог-файла DirectumLauncher\log\current.log.
Если при выполнении этапа возникает ошибка, с помощью сообщения из лог-файла проанализируйте и устраните ее, затем нажмите на кнопку Повторить.
примечание. Ошибка с кодом 503 при проверке работоспособности сервисов означает, что они не успели запуститься. В этом случае нажмите на кнопку Повторить.
Если нужно изменить ранее заданные настройки, нажмите на кнопку Вернуться к настройкам. В результате откроется страница обновления. Укажите новые значения параметров и по кнопке Обновить повторите обновление.
Когда обновление завершится, на странице появится ссылка для входа в веб-клиент.
12.Запустите сервисы системы. Для этого перейдите в режим Настройка, измените положение переключателя Визуальный режим конфигурирования и во встроенном редакторе YAML раскомментируйте секции сервисов и утилит. Нажмите на кнопку Применить настройки.
13.После обновления настройте систему и адаптируйте свою разработку.
14.Выполните обновление системы с версии 4.9 на 4.11.
Настройка системы и адаптация разработки
1.Запустите среду разработки.
2.Откройте список изменений. Если в списке появились изменения, зафиксируйте их и отправьте на Git-сервер.
3.Импортируйте пакет разработки с базовым решением из архива с прикладной разработкой:
DirectumRX\DirectumRXbase.dat
4.Учтите в своей разработке изменения базового решения Directum RX.
5.С версии 4.7:
•расширен диапазон идентификаторов для объектов системы. Если используется заказная или модифицированная разработка, то адаптируйте ее для перехода на большие ИД объектов;
•из базового решения Directum RX удалены устаревшие элементы разработки. Адаптируйте код своей разработки, чтобы заменить устаревший код;
•переработана логика панели действий в карточках объектов. Если разработанные действия сущностей были добавлены на контекстную вкладку или на вкладку «Вложения», перенесите их на другие вкладки, иначе действия перестанут отображаться;
•настройка схем типов задач на исполнение поручения (ActionItemExecutionTask), на рассмотрение (DocumentReviewTask) и ознакомление с документом (AcquaintanceTask) выполняется в веб-клиенте с помощью подхода no-code. Если в организации эти типы задач были перекрыты, то после обновления обеспечьте их корректную работу одним из способов:
•в веб-клиенте создайте варианты процессов для перекрытых типов задач (рекомендуемый способ). Подробнее о вариантах процессов стандартных типов задач см. в разделах «Исполнение поручений», «Рассмотрение документа», «Ознакомление с документом». Подход no-code продолжит развитие в следующих версиях. Поэтому, чтобы упростить дальнейшую поддержку старых задач, варианты процессов рекомендуется настроить при переходе на Directum RX 4.7;
•в среде разработки в редакторе каждого перекрытия типа задачи снимите флажок Схема настраивается в проводнике. В этом случае ранее заданная логика сохраняется, доработки не требуются;
•простую задачу (SimpleTask) можно отправлять только от себя и от замещаемого сотрудника. Чтобы делать это от других пользователей, необходимо настроить для них права и замещения.
Также если в перекрытом типе задачи программно задана логика определения автора с помощью свойства Author (инициатор задачи), то после обновления при отправке задачи может возникнуть ошибка «Нельзя создать задачу от имени пользователя <Имя пользователя>».
Чтобы логика отработала корректно, в редакторе перекрытого типа задачи для свойства Author добавьте событие «Фильтрация выбора из списка» и снимите ограничение видимости пользователей. Для этого добавьте код:
public override IQueryable<T> AuthorFiltering(IQueryable<T> query, Sungero.Domain.PropertyFilteringEventArgs e)
{
e.DisableUiFiltering = true;
return query;
}
Если задача отправляется от системного пользователя, вносить изменения в программный код не нужно, поскольку на него ограничение не распространяется.
8.С версии 4.8 уменьшена частота вызова события Возможность выполнения (CanExecute) для действий, которые доступны в дочерней коллекции: Копирование строки (CopyChildEntity), Удаление строки (DeleteChildEntity) и Добавление строки (AddChildEntity). Событие вычисляется один раз для всей коллекции, а не по отдельности для каждой записи. Если у вас уже разработаны свои действия для дочерних коллекций, то в новой версии для них также можно оптимизировать вызов события, установив новый флажок Проверять возможность выполнения один раз для коллекции. Подробнее в руководстве разработчика раздел «Оптимизация вычисления возможности выполнения действий».
9.С версии 4.9:
•обложки модулей настраиваются в веб-клиенте. Если ранее вы изменяли обложки в среде разработки, то после обновления рекомендуется перенести их в веб-клиент. Подробнее см. раздел «Конвертация обложек».
ВАЖНО. В следующих версиях Directum RX новые возможности по настройке обложек будут появляться только в веб-клиенте. Чтобы упростить дальнейшую поддержку старых обложек, рекомендуется перенести их в веб-клиент при обновлении.
•в справочнике Представления форм в поле Описание можно указывать не более 512 символов. Если ранее было задано большее количество, то при обновлении системы описание автоматически уменьшается до 512 символов. Проверьте описания представлений форм и при необходимости скорректируйте значение поля;
•появилась возможность ускорить получение выборки данных из больших списков. Если в вашей прикладной разработке используются тяжелые запросы или индексы для панели фильтрации, то можно переписать код для оптимального выполнения запросов. Запрос выполняется в два этапа только на веб-сервере и для баз данных на основе PostgreSQL;
•оптимизировано получение прав доступа на объекты системы при формировании списков. Для этого в базу данных добавлены системные таблицы:
•Sungero_Content_EDocReadAccess – права на чтение электронных документов;
•Sungero_WF_MainTaskReadAccess – права на чтение ведущих задач для задач, заданий, уведомлений;
•Sungero_Core_DatabookReadAccess – права на чтение всех типов справочников;
•Sungero_Core_FolderReadAccess – права на чтение папок.
Если в прикладном коде используются SQL-запросы к списку прав доступа Sungero_System_Accessctrlent, то для ускорения получения выборки данных рекомендуется переписать запросы с учетом новых таблиц;
•в среде разработки для ускорения обработки связанных документов появились методы GetRelatedDocuments() и GetRelatedFromDocuments(). Рекомендуется использовать их вместо устаревших методов GetRelated() и GetRelatedFrom(). Кроме того, для оптимизации кода рекомендуется использовать новый метод GetRelatedAndRelatedFromDocuments() вместо совместного вызова GetRelatedDocuments() и GetRelatedFromDocuments(). Подробнее см. в руководстве разработчика, раздел «Получение связанных документов»;
•создать подключение к базе данных можно только с использованием оператора using для метода SQL.CreateConnection(). Он определяет область кода, в конце которой соединение автоматически закрывается. Также добавлена проверка программного кода. Если при создании подключения оператор using не используется, то при сборке решения появляется ошибка «Соединение, полученное через SQL.CreateConnection(), необходимо освободить с помощью оператора using».
Если при обновлении среды разработки появились такие ошибки, то для повышения стабильности работы системы необходимо доработать программный код;
Исходный код |
using (var command = SQL.CreateConnection().CreateCommand()) { command.CommandText = queryString; command.ExecuteScalar(); }; |
Доработанный код |
using (var connection = SQL.CreateConnection()) using (var command = connection.CreateCommand()) { command.CommandText = string.Format(format, args); command.ExecuteScalar(); }; |
•в настройках по умолчанию для бизнес-процессов нельзя использовать сущности системы, для которых не созданы внешние ссылки (external links). Подробнее см. руководство администратора, раздел «Вычисляемые выражения». Если у вас используется своя разработка с такими настройками по умолчанию, то при их применении в среде разработки может возникнуть ошибка. В этом случае донастройте их.
Пример ошибки:
{"t":"2023-11-29 10:30:18.018+04:00","pid":"8328+1","l":"Error","lg":"ExceptionPolicy","mt":"Ошибка обработки элемента. Тип сущности \"Параметр процесса\", имя сущности \"\". Не заполнено обязательное свойство \"Имя\".","ex":{"type":"System.Exception", "m":"Ошибка обработки элемента.\r\nТип сущности \"Параметр процесса\", имя сущности \"\".\r\nНе заполнено обязательное свойство \"Имя\".", "stack":"в Sungero.Development.Common.WebApiClient.WebApiRequestSender.InternalSendRequest(IRestRequest request"…}
Проверьте, что все варианты процесса сохраняются корректно. Для этого откройте в веб-клиенте локальной системы каждый вариант процесса, внесите незначительные правки, например измените расположение блока, и сохраните схему. При появлении ошибок валидации исправьте их и снова сохраните вариант процесса.
10.Если помимо стандартного решения Directum RX вы используете другие базовые решения, импортируйте пакеты с обновленными решениями, полученные от поставщика.
11.Выполните сборку решений.
12.Опубликуйте решения. Для этого в окне публикации для базовых и разработанных вами решений измените серое положение ползунка на синее и нажмите на кнопку Опубликовать:
После публикации элементы разработки и изменения выбранных решений появятся в клиентском приложении.
13.Запустите инициализацию в среде разработки. Подробнее об импорте пакета разработки, сборке, публикации и инициализации решений см. в руководстве разработчика в разделах «Импорт разработки», «Сборка решений», «Публикация решений», «Создание функций инициализации».
14.Примените настройки бизнес-процессов и интерфейса. Для этого на панели инструментов нажмите на кнопку Применить настройки на сервер. Подробнее см. в руководстве разработчика, раздел «Создание и публикация настроек по умолчанию».
© Компания Directum, 2024 |