Опубликовано:
21 апреля 2020 в 08:57
26
4
В версии 3.3 документация разработчика пополнилась описанием новинок: асинхронные обработчики, возможности копирования отчетов, свойств, действий, добавлено описание нового события «Фильтрация выбора из списка при поиске» и т.д. О новинках традиционно написано в разделе «Новые возможности». Далее расскажем, что еще новенького появилось в справке.
Наследование и перекрытие
Основные механизмы разработки – это наследование и перекрытие. Чтобы помочь разобраться в этих процессах и выбрать нужный механизм, в справке появился раздел «Что использовать: наследование или перекрытие».
Дополнительно к этому:
-
добавлены рекомендации по разработке перекрытий. В них также перечислены особенности перекрытия задачи на согласование документа по регламенту;
- переработан и дополнен пример о том, как перекрыть тип документа и модуль. Кейс перекрытия: в карточку Договора нужно добавить флажок Резидент. А чтобы посмотреть список всех договоров, заключенных с резидентами, на обложку модуля «Договоры» нужно добавить соответствующее действие. В примере пошагово расписан порядок действий с примерами кода.
Объектная модель
Еще в версии 3.2 справка пополнилась большой главой с описанием модулей и типов сущностей базового решения Directum RX. Постепенно наполняем главу новыми описаниями.
-
-
В главу «Docflow – документооборот» добавлены разделы:
-
Право подписи
-
Автоматическое назначение прав на документы
-
Персональные настройки
-
Задача на свободное согласование
-
Задача на продление срока
-
Задача на контроль возврата
-
Очередь преобразования документов в PDF
-
-
В главу «RecordManagement – делопроизводственные документы» добавлены описания задач и заданий, связанных с процессом рассмотрения документов.
-
Добавлены новые главы: FinancialArchive – Финансовые документы и Projects – Проекты.
-
Описана новая порция объектов платформы:
Sungero.Core |
Sungero.CoreEntities |
|
|
Sungero.Content |
|
|
А еще справку доработали по пожеланиям, которые приходят от разработчиков:
-
-
В описание диалога CreateInputDialog добавлены примеры кода для его методов:
-
AddFileSelect(). С помощью примеров можно узнать, как сохранить файл в новую версию документа и получить полный путь до файла;
-
AddData(). Пример разработки диалога с запросом параметров отчета;
-
AddPasswordString(). Пример диалога с запросом пароля.
-
-
Добавлено описание метода GetAllCached() – получить все сущности из кэша.
-
Добавлено перечисление DateTimeFormat и описаны вычисляемые папки SpecialFolders.
-
В скором времени доработаем структуру объектной модели, чтобы удобнее ориентироваться по содержанию и расположению разделов. Опишем блоки схемы (Blocks) и что-нибудь еще. Ждите обновлений справки на Directum Club.
Примеры разработки
В прошлой версии мы писали, что появилась глава «Примеры разработки». Постепенно и ее наполняем новыми примерами. В этот раз добавили такие:
Рекомендации по разработке
Для удобства разработки панели фильтрации в папках и списках:
-
доработали рекомендации по настройке панели фильтрации;
-
добавили информацию, как с помощью проверки фильтров уменьшить количество обращений к серверу приложений и улучшить быстродействие системы;
-
обновили примеры настройки фильтрации записей в папке и в списке.
Кроме того, теперь в справке есть рекомендации, когда нужно применять валидацию свойств и действий: при заполнении данных, при сохранении данных, перед выполнением действия в карточках или диалогах, при открытии карточки сущности. Следуя рекомендациям, можно обеспечить целостность данных в системе, т.к. система не пропустит ни одной ошибки.
Структура данных
Также к документации часто приходили замечания, что нет описания структуры хранения данных, непонятно, как строятся названия таблиц. А в справке на эту тему был всего лишь маленький раздел.
Мы услышали все пожелания и добавили в руководство разработчика новую главу «Структура хранения данных», с помощью которой вы узнаете:
- как строятся названия таблиц и колонок в базе данных. Также рассматривается пример, как определить, в какой таблице базы данных хранится справочник и в какой колонке находится добавленное свойство.
-
как обеспечивается уникальность таблиц и колонок, а также уникальность и ограничения кодов компании, модуля, типа сущности, свойства;
-
приведены примеры системных таблиц и их краткое назначение.
Таким образом, разработчик сможет легко обратиться в коде к таблицам по их названиям. Это может понадобиться при разработке отчетов.
Поиск в справке
В результатах поиска теперь отображаются и термины. Можно ознакомиться с определением, не открывая его в перечне терминов.
Также напомню, что при поиске можно использовать символы * и ? в любом месте поискового запроса. Например, попробуйте ввести *employee*. В результаты поиска попадут все разделы справки, у которых в примерах кода встречается искомый фрагмент:
*********
Кроме того, справку по среде разработки теперь обновляем на Directum Club чаще. Об обновлениях будем писать в комментариях к данной статье. Это позволит, не дожидаясь выхода новой версии, ознакомиться с обновленными разделами. Подписывайтесь на обновления статьи, чтобы быть в курсе.
А если хотите ознакомиться с новинками документации Directum RX для пользователей и администраторов, то смотрите в справке новые возможности, подраздел «Документация». Там рассказано про изменения типовых требований и обновленную структуру с новыми разделами для администратора.
Спасибо за внимание!
0
0
Изучение интеллектуальной системы управления цифровыми процессами и документами.
Пройти урок
Разработка
Документооборот
Directum RX
Пройти онлайн урок ‘Разработка в Directum RX’ бесплатно без регистрации и без СМС
28.02.2021
6
0
Компонента Manage Applied Projects для управления прикладными проектами
Прикладной проект — набор, состоящий из конкретного набора исходного кода (два и более репозиториев), базы данных и хранилища документов.
В практической деятельности прикладному разработчику приходится работать в следующих условиях:
- в оперативном доступе нужны несколько разных версий Directum RX;
- если в тиражируемых решениях приходится разрабатывать SQL-запросы, то нужна возможность быстро переключаться между Microsoft SQL Server и PostgreeSQL;
- даже работая с одной версией Directum RX, нужна возможность оперативного переключения между разными прикладными проектами. Например, чтобы посмотреть/прорецензировать изменения из соседней ветке, которую не хотелось бы публиковать в БД текущего проекта;
- иногда возникает необходимость создать новый проект и хорошо бы это сделать без переустановки Directum RX;
- и т.д.
Типовой подход решения подобных ситуаций — создавать виртуальные машины под каждую версию Directum RX или даже под каждый прикладной проект. Такой подход не только требует существенных серверных ресурсов под виртуальные машины, но и довольно неудобен в практической работе (например, на каждой виртуальной машине приходится устанавливать и поддерживать в актуальном состоянии необходимый инструментарий).
Штатный инсталлятор Directum RX подходит для установки первого и единственного инстанса Directum RX. Начиная с версии 4.2 DirectumLauncher позволяет установить дополнительные инстансы, но при этом требуется знать некоторые недокументированные возможности DirectumLauncher.
Также DirectumLauncher позволяет создавать новые проекты и переключаться между проектами относительно небольшим количеством телодвижений. Но для этого необходимо знать еще больше особенностей работы DirectumLauncher (большинство которых не документированы), а также в правильной последовательности выполнять нужные команды. В результате сложность таких действий и вероятность ошибки достаточно велики.
Компонента Manage Applied Tools облегчает установку нескольких инстансов RX на одну машину, переключение установленных инстансов между разными прикладными проектами, а также упрощает ряд рутинных операций, с которыми сталкиваются прикладные разработчики.
Внимание! Компонента НЕ предназначена для управления продуктивными серверами.
Текущая версия совместима с DirectumLauncher 4.2, DirectumLauncher 4.3, DirectumLauncher 4.4, DirectumLauncher 4.5
Демонстрация установки Directum RX с использованием Manage Applied Projects — см. Rutube, Youtube.
Подготовка к установке инстансов Directum RX
Использование компоненты предполагает, что:
- Каждый инстанс Directum RX будет иметь своё имя
- Все инстансы Directum RX будут устанавливаться внутри одного корневого каталога всех инстансов
- Для всех инстансов будет использоваться один и тот же сертификат, который будет размещен в каком-то одном каталоге. Самое удобное место — корневой каталог инстансов.
- Каталоги логов инстансов будут располагаться внутри корневого каталога
- Базы данных проектов инстанса располагаются на одном сервере баз данных
- Домашние каталоги проектов инстанса лежат внутри корневого каталога домашних каталогов инстанса (для каждого инстанса — свой каталог)
- Репозитории с исходниками проектов инстанса лежат внутри корневого каталога исходников (для каждого инстанса — свой каталог )
- Для каждого проекта будет создан конфиг проекта (очень упрощенная версия config.yml) и все конфиги будут располагаться внутри корневого каталога конфигов всех проектов
Подготовка к установке инстансов выполняется один раз для каждого рабочего места:
- Установите Directum RX штатным инсталлятором. После установки скопируйте config.yml и папку с сертификатом, который используют сервисы для общения друг с другом. После этого Directum RX можно удалить — см. раздел «Удаление инстанса».
- Подготовьте структуру каталогов:
- создайте корневой каталог инстансов. Например,
c:rx_ver
; - создайте корневой каталог логов. Например,
c:rx_logs
; - создайте корневой каталог проектов. Например,
c:rx
;
- создайте корневой каталог инстансов. Например,
- В корневом каталоге инстансов создайте каталог для хранения сертификата сервисов. Например, c:rx_verdata_protection. Скопируйте в каталог pfx- и cer-файлы сертификата, сохраненные на шаге №1.
- Скопируйте файлы update_config_before_install.yml и update_config_after_install.yml в корневой каталог конфигов проектов (
c:rx
) - Отредактируйте файлы update_config_before_install.yml и update_config_after_install.yml. Эти файлы будут использоваться в дальнейшем для корректировки config.yml устанавливаемых инстансов. Что следует учесть:
- необходимо заполнить значения, отмеченные троеточием
...
- значения брать из config.yml, сохраненного на шаге №1.за исключением:
- в свойстве DATA_PROTECTION_CERTIFICATE_FILE в update_config_before_install.yml укажите путь к pfx-файл, скопированному в каталог хранения сертификата сервисов
- в параметре CONNECTION_STRING в update_config_before_install.yml параметр с именем базы данных (
initial catalog
для mssql иdatabase
для postgres) оставить пустым
- необходимо заполнить значения, отмеченные троеточием
Получится примерно так. Файл update_config_before_install.yml:
# Variables that you can use in this configuration file.
# The result configuration file is templated by the Jinja2 template engine.
variables:
host_fqdn: 'localhost'
protocol: 'http'
#protocol: 'https'
home_path: ''
common_config:
DATABASE_ENGINE: 'mssql'
CONNECTION_STRING: 'data source=SQLSERVER;initial catalog=;user id=sa;Password=sa_password'
QUEUE_CONNECTION_STRING: 'virtualhost=rx;hostname=localhost;port=5672;username=admin;password=admin_password;Exchange=exchange_install'
#DATABASE_ENGINE: 'postgres'
#CONNECTION_STRING: 'server=localhost;port=5432;database=;user id=dbadmin;Password=dbadmin_password'
DATA_PROTECTION_CERTIFICATE_FILE: 'C:rx_verdata_protectioncert.pfx'
DATA_PROTECTION_CERTIFICATE_FILE_PASSWORD: 'f4bc3790-11e4-45f2-b3de-1acca662b8f4'
MONGODB_CONNECTION_STRING: 'mongodb://admin:password@127.0.0.1:27017'
AUTHENTICATION_USERNAME: 'Service User'
AUTHENTICATION_PASSWORD: '11111'
services_config:
#IIS:
# ssl_cert_thumbprint: ''
DevelopmentStudio:
COMPANY_CODE: 'DirRX'
Файл update_config_after_install.yml:
# Variables that you can use in this configuration file.
# The result configuration file is templated by the Jinja2 template engine.
variables:
purpose: 'назначение проекта'
database: 'база данных'
home_path_src: 'корневой каталог исходников'
logs_path:
LOGS_PATH: 'c:rx_logs{{ instance_name }}'
common_config:
DATABASE_ENGINE: 'mssql'
CONNECTION_STRING: 'data source=SQLSERVER;initial catalog={{ database }};user id=sa;Password=sa_password'
QUEUE_CONNECTION_STRING: 'virtualhost=rx;hostname=localhost;port=5672;username=admin;password=admin_password;Exchange=Exchange_{{ instance_name }}'
#DATABASE_ENGINE: 'postgres'
#CONNECTION_STRING: 'server=localhost;port=5432;database={{ database }};user id=dbadmin;Password=dnadmin_password'
WIDGETS_ORLEANS_SILO_MONGO_GRAIN_STORAGE_DATABASE_NAME: 'GRAIN_{{ database }}'
WIDGETS_ORLEANS_SILO_MONGO_CLUSTERING_DATABASE_NAME: 'CLUSTERING_{{ database }}'
services_config:
DevelopmentStudio:
SERVICE_RUNNER_CONFIG_PATH: 'C:rx_ver{{ instance_name }}etc_{{ instance_name }}_services_configServiceRunner_ConfigSettings.xml'
GIT_ROOT_DIRECTORY: '{{ home_path_src }}'
manage_applied_projects:
postgresql_bin: 'C:Program FilesPostgreSQL14bin'
run_dds_after_set_project: 'True'
Установка инстанса Directum RX
Установка первого и последующих инстансов Directum RX выполняется одинаково. Последовательность шагов:
-
Выберите имя устанавливаемого инстанса. Как правило, в имени инстанса имеет смысл отразить версию Directum RX. Например, для установки Directum RX 4.5.30 имя инстанса можно сделать
4530
. -
Подберите свободный порт(ы) для будущего инстанса. Проверить свободен тот или иной порт можно командой
netstat -an | findstr /i :номер_порта
Если порт свободен, то команду ничего не выведет в консоль. Если занять, то в консоли будет примерно так:
TCP 0.0.0.0:2086 0.0.0.0:0 LISTENING TCP [::]:2086 [::]:0 LISTENING
-
В корневом каталоге инстансов создайте каталог с именем, равным имени будущего инстанса. Например,
c:rx_ver4530
. -
Скопируйте в этот каталог содержимое архива DirectumLauncher.zip.
-
Установите необходимые компоненты Directum RX. Не рекомендуется копировать архивы компонент из дистрибутива в папку инстанса — занимают слишком много места на диске. Также не рекомендуется устанавливать компоненте WebHelp.zip — она занимает очень много места на диске, а справка доступна на club.directum.ru.
Состав компонент зависит от версии RX:
- Для Directum RX 4.2
do components add_package путь_к_дистрибутивуDevelopmentStudio.zip do components add_package путь_к_дистрибутивуDeploymentTool.zip
- Для Directum RX 4.3
do components add_package путь_к_дистрибутивуDevelopmentStudio.zip do components add_package путь_к_дистрибутивуDeploymentTool.zip do components add_package путь_к_дистрибутивуDirectumRX.zip
- Для Directum RX 4.4
do components add_package путь_к_дистрибутивуDevelopmentStudio.zip do components add_package путь_к_дистрибутивуDeploymentTool.zip do components add_package путь_к_дистрибутивуDirectumRX.zip
- Для Directum RX 4.5
do components add_package путь_к_дистрибутивуPlatform.zip do components add_package путь_к_дистрибутивуDevelopmentStudio.zip do components add_package путь_к_дистрибутивуDeploymentTool.zip do components add_package путь_к_дистрибутивуDirectumRX.zip
Проверьте корректность установки .Net, выполнив команду:
Если все компоненты .Net установлены, то можно не добавлять в DirectumLauncher компоненту Redist.zip из дистрибутива.
Если каких-то компонент не хватает, то есть два варианта:
- вручную установить недостающие компоненты, взяв их из Redist.zip
- добавить в DirectumLauncher компоненту Redist
do components add_package путь_к_дистрибутивуRedist.zip
, которую можно будет после установки инстанса удалить, освободив 1Gb на диске.
-
Установить компоненту Manage Applied Project. См. раздел «Установка компоненты Manage Applied Projects». Рекомендуется устанавливать как plugin.
-
В каталоге
etc
скопируйте файлconfig.yml.example
вconfig.yml
. В созданномconfig.yml
в разделеvaliables
добавьте переменнуюinstance_name
, в значении которой укажите имя инстанса. Например, такvariables: instance_name: '4530'
-
Скорректируйте config.yml, выполнив команду:
do map update_config c:rxupdate_config_before_install.yml
-
Запустите DirectumLauncher. На открывшейся странице сайта:
- если установлен режим «Обновление», то переключите в режим «Установка»
- укажите порты, которые будет использовать устанавливаемый instance
- укажите имя БД, которая будет создана в ходе установки инстанса
- укажите путь к каталогу с данными
- нажмите кнопку запуска установки и дождитесь завершения установки
- проверьте, что веб-клиент Directum RX запускается
- Скорректируйте config.yml, выполнив команду:
do map update_config c:rxupdate_config_after_install.yml
- Создайте первый конфиг проекта. Рекомендации:
- в качестве префикса в имени конфига использовать имя инстанса — это позволит легко определять какие конфиги для какого инстанса созданы
- первый рекомендуется создать проект, в котором будет только стандартная версия Directum RX. После её настройки — создания оргструктуры, создания пользователей и т.п., этот проект можно будет использовать как основу для созданию новых проектов.
Создать конфиг можно командой
do map generate_empty_project_config c:rx4530_BoxOnly.yml
После чего его следует заполнить. Рекомендации:
- в корневом каталоге проектов создайте каталог с именем, равным именем инстанса. Например,
c:rx4530
. - внутри созданного каталога создайте два каталога:
d
— корневой каталог для домашних каталогов всех проектов инстансаs
— корневой каталог для репозиториев всех проектов инстанса
- в корневом каталоге для домашних проектов инстанса создайте каталог с именем проекта. Например,
c:rx4530BoxOnly
. - имя БД должно содержать как имя инстанса, так и имя проекта. Например,
rx4530_BoxOnly
.
Получится примерно так (имя конфига 4530_BoxOnly.yml
):
# ключевые параметры проекта
variables:
# Назначение проекта
purpose: 'Directum RX 4.5.30 (чистая коробка)'
# БД проекта
database: 'rx4530_BoxOnly'
# Домашняя директория, относительно которой хранятся все данные сервисов.
# Используется только в конфигурационном файле.
home_path: 'c:rx4530dBoxOnly'
# Корневой каталог c репозиториями проекта
home_path_src: 'c:rx4530s'
# репозитории
services_config:
DevelopmentStudio:
REPOSITORIES:
repository:
- '@folderName': 'BoxWork'
'@solutionType': 'Work'
'@url': ''
- '@folderName': 'Box'
'@solutionType': 'Base'
'@url': ''
- Создайте проект:
do map create_project c:rx4530_BoxOnly.yml --package_path=C:rx_ver4530etc_buildsDirectumRXDirectumRXbase.dat --need_import_src=True
В результате будет создан новый проект, в него будет принята стандартная прикладная разработка и приняты стандартные шаблоны документов.
- После проверки работоспособности можно будет удалить БД и каталог, которые были указаны на шаге 9.
Создание второго проекта в инстансе
Второй (третий, четвертый и так далее) проекты можно создавать также командой do map create_project
. Но удобнее наполнить проект BoxOnly минимально необходимыми данными — создать оргструктуру, пользователей, учетные записи, а потом новые проекты создавать командой do map clone_project
— см. соответствующий раздел.
При этом следует учитывать:
- рекомендуется в разных проектах переиспользовать каталоги с исходниками. В первую очередь это касается каталога Box с исходниками стандартной версии Directum RX. Это позволяет существенно экономить место на диске
- есть два подхода к подключению исходников к DevelopmentStudio — через подключение репозиториев и через импорт пакета разработки. По возможности стоит придерживаться варианта с подключением репозиториев. Если же требуется именно импортировать пакет разработки, то, в большинстве случаев, целесообразно создать отдельный каталог в корневом каталоге исходников, прописать его в конфиге проекта. При этом следует учитывать, что DevelopmentStudio импортирует пакет в первый по списку репозиторий подходящего типа.
Пример конфига проекта для изменения решения «Повторяющиеся поручения», при этом на базовом слое установлено не только стандартная прикладная разработка, но и решение «Прикладные константы». Имя конфига 4530_RecurringActionItems.yml
:
# ключевые параметры проекта
variables:
# Назначение проекта
purpose: 'Шаблон решения Повторяющиеся поручения'
# БД проекта
database: 'rx4530_RecurringActionItems'
# Домашняя директория, относительно которой хранятся все данные сервисов.
# Используется только в конфигурационном файле.
home_path: 'c:rx4530dRecurringActionItems'
# Корневой каталог c репозиториями проекта
home_path_src: 'c:rx4530s'
# репозитории
services_config:
DevelopmentStudio:
REPOSITORIES:
repository:
- '@folderName': 'rx-template-recurringactionitems'
'@solutionType': 'Work'
'@url': 'https://github.com/DirectumCompany/rx-template-recurringactionitems'
- '@folderName': 'rx-template-settings'
'@solutionType': 'Base'
'@url': 'https://github.com/DirectumCompany/rx-template-settings'
- '@folderName': 'Box'
'@solutionType': 'Base'
'@url': ''
Порядок создания нового проекта и переключения на него:
-
Клонируйте (или создайте) каталоги с репозиториями проекта
-
На основе ранее созданного конфига проекта создайте новый и заполните его.
-
Создайте копию проекта
do map clone_project c:rx4530_BoxOnly.yml c:rx4530_RecurringActionItems.yml
Будет создана копия проекта и предложено переключиться на него.
Вернуться на проект BoxOnly
можно будет командой:
do map set c:rx4530_BoxOnly.yml
Командой dds_wo_deploy
можно запустить DevelopmentStudio без фактического переключения на проект
`do map dds_wo_deploy c:rx4530_BoxOnly.yml`
Это позволяет открыть исходники другого проекта одновременно с текущим. При этом будет заблокирована возможность публикации разработки.
Установка компоненты Manage Applied Projects
Установить можно двумя способами:
- Как компоненту Directum Launcher
- Как plugin Directum Launcher
Вариант с plugin удобнее, при наличии нескольких инстансов RX — обновление компоненты будет подхватываться сразу во всех инстансах RX.
Установка как компоненты Directum Launcher
-
Скачайте ManageAppProjects.zip из https://github.com/DirectumCompany/rx-manage-applied-projects/releases.
-
Перейдите в папку Directum Launcher и выполните команду:
do.bat components add_package <путь к файлу>ManageAppProjects.zip
Чтобы обновить компоненту, установленную таким способом, её нужно будет сначала удалить:
do.bat components delete map
Установка как plugin Directum Launcher
-
Клонируйте репозиторий компоненты:
git clone https://github.com/DirectumCompany/rx-manage-applied-projects
-
Перейдите в папку Directum Launcher и выполните команду
do.bat install_plugin <путь к репозиторию>srcManageAppProjectsmap_plugin
Чтобы обновить компоненту, установленную таким образом достаточно вытянуть из репозитория обновления.
Удаление инстанса
Чтобы удалить инстанс, необходимо выполнить следующие действия:
- Остановите сервисы инстанса выполнив команду
do all down
- В Диспетчер IIS удалите веб-сервер инстанса и пул приложений
- Удалите папку инстанса в корневом каталоге инстансов
- Удалить данные инстанса:
- папку логов инстанса
- конфиги проектов
- базы данных
- папки с исходниками и домашними каталогами
Формирование дистрибутивов решений
Зачастую подготовка дистрибутивов решения выглядит несколько сложнее, чем просто выгрузка пакета разработки:
- пакетов разработки в дистрибутиве может быть несколько
- у решения может быть несколько вариантов дистрибутивов для разных целей и с разным набором пакетов разработки
- кроме пакетов разработки в дистрибутив нужно скопировать и другие файлы
Чтобы сделать этот процесс проще можно создать конфиг с описанием дистрибутивов и одной командой формировать все дистрибутивы.
Создать конфиг с описанием дистрибутивов
Создать конфиг с описанием дистрибутив можно командой
do map generate_empty_distributions_config путь_к_создаваемому_конфигу
В результате будет создан шаблон конфига
# Название проекта
project: ''
# mtd-файл, из которого берется номер текущей версии
mtd_for_version: '....Solution.SharedModule.mtd'
# XML-конфиги, которые используются для формирования пакета разработки в процессе увеличения версии решения
devpacks_for_increment_version:
- config: ''
# Файлы и каталоги, которые копируются в каждый дистрибутив
to_every_set:
- 'src': ''
'dst': ''
# Описание дистрибутивов
distributions:
# идентификатор дистритутива
- 'id': ''
# описание сути дистрибутива
'comment': ''
# папка дистрибутива, создается внутри папки версии решения
'folder_name': ''
# Значимая часть имени zip-архива с дистрибутивом. Если указать пустую строку - архив не создается
'zip_name': 'Образец '
# Пакеты разработки, которые нужно поместить в дистрибутив
'devpacks':
- 'config': '.xml'
'result': '.dat'
# Уникальные файлы, которые нужно поместить в конкретный дистрибутив
'files':
- 'src': ''
'dst': ''
Особенности заполнения конфига описания дистрибутивов:
mtd_for_version
— относительный (от корня репозитория) путь к mtd-файлу основного solution-решения. Из этого mtd-файла будет браться номер версии решенияdevpacks_for_increment_version
— xml-файл конфигурации пакета разработки (см. в справке про невизуальный режим экспорта разработки), который будет использоваться когда нужно будет увеличить номер версии решения. В этом конфиге должны содержаться все solution решения и параметрIncludeAssemblies
должен иметь значениеtrue
.to_every_set
— список файлов, которые будут скопированы в каждый дистрибутив.src
— относительный или абсолютный путь к файлу/каталогу, который нужно скорпировать.dst
— относительный (от папки дистрибутива) путь назначения
distributions
— список описаний дистрибутивов, которые нужно создатьfolder_name
— имя папки с конкретным дистрибутивомzip_name
— имя архива с дистрибутивом. К этому имени будет добавлен номер версии.devpacks
— список пакетов разработки, которые нужно добавить в дистрибутив.config
— относительный (от корня репозитория) или абсолютный путь к xml-файлу конфигурации пакета разработкиresult
— относительный (от папки дистрибутива) путь к файлу пакета разработки, который нужно создать
files
— список файлов, которые будут скопированы в конкретный дистрибутив.src
— относительный или абсолютный путь к файлу/каталогу, который нужно скорпировать.dst
— относительный (от папки дистрибутива) путь назначения
Пример заполнения файла
# Название проекта
project: 'Пример прикладного решения'
# mtd-файл, из которого берется номер текущей версии
mtd_for_version: 'DirRX.SampleSolutionDirRX.SampleSolution.SharedModule.mtd'
# XML-конфиги, которые используются для формирования пакета разработки в процессе увеличения версии решения
devpacks_for_increment_version:
- config: 'builddevpack_SampleSolution.xml'
# Файлы и каталоги, которые копируются в каждый дистрибутив
to_every_set:
- 'src': 'doc'
'dst': 'doc'
- 'src': 'dataTemplates'
'dst': 'Templates'
# Описание дистрибутивов
distributions:
# идентификатор дистритутива
- 'id': 'implementation'
# описание сути дистрибутива
'comment': 'Для использования на проектах внедрения'
# папка дистрибутива, создается внутри папки версии решения
'folder_name': 'SampleSolution_implementation'
# Значимая часть имени zip-архива с дистрибутивом. Если указать пустую строку - архив не создается
'zip_name': 'Образец решения (для проектов внедрения)'
# Пакеты разработки, которые нужно поместить в дистрибутив
'devpacks':
- 'config': 'builddevpack_SampleSolution.xml'
'result': 'SampleSolution.dat'
- 'config': 'builddevpack_SampleSolution_debug.xml'
'result': 'SampleSolution_debug.dat'
# Уникальные файлы, которые нужно поместить в конкретный дистрибутив
'files':
- 'src': 'builddistributionsSampleSolution_implementationreadme.md'
'dst': 'readme.md'
- 'src': 'builddistributionsSampleSolution_implementationdoc.md'
'dst': 'doc.md'
# идентификатор дистритутива
- 'id': 'evaluation'
# описание сути дистрибутива
'comment': 'Для передачи в ознакомительных целях - только бинарники, без исходников.
Текст комментария может занимать несколько строк'
# папка дистрибутива, создается внутри папки версии решения
'folder_name': 'SampleSolution_evaluation'
# Значимая часть имени zip-архива с дистрибутивом. Если указать пустую строку - архив не создается
'zip_name': 'Образец решения (ознакомительная версия)'
# Пакеты разработки, которые нужно поместить в дистрибутив
'devpacks':
- 'config': 'builddevpack_SampleSolution_binonly.xml'
'result': 'SampleSolution_evaluation.dat'
# Уникальные файлы, которые нужно поместить в конкретный дистрибутив
'files':
- 'src': 'builddistributionsSampleSolution_evaluationreadme.md'
'dst': 'readme.md'
Собрать дистрибутивы решения
Сборка дистрибутивов выполняется командой
do map build_distributions путь_к_файлу_описания_дистрибутивов путь_к_папке_назначения путь_к_репозиторию_решения --increment_version
где:
путь_к_файлу_описания_дистрибутивов
— путь к подготовленному файлу с описанием дистрибутивовпуть_к_папке_назначения
— путь к папке в которой будет создана папке с номером версии, внутри которой будут созданы папки с дистрибутивамипуть_к_репозиторию_решения
— путь к репозиторию решения--increment_version
— необязательный параметр, указывающий на то, нужно или нет увеличить номер версии решения
Экспортировать пакет разработки
Команда export_devpack
может использовать для выгрузки одиночного пакета разработки. Например, для установки на тестовый стенд
do map export_devpack имя_файла_конфига_пакета_разработки имя_пакета разработки
Особенности поведения команд
Полный список команд можно посмотреть командой do map help
У команд set
, clone_project
и create_project
есть общее в поведении:
- параметр
--confirm
, который определяет будет или нет выводиться запросы на подтверждение действий пользователя. При указании--confirm=False
запросы выводиться не будут. По умолчанию — true. - параметр
--rundds
, который определяет будет или нет предложено запустить DevelopmentStudio после выполнения команды. значение по умолчанию определяется параметромrun_dds_after_set_project
в config.yml. Если параметр в config.yml не указан, то будет false.
set — переключиться на проект
В результате будет скорректирован config.yml, обновлены конфиги сервисов и компонент и перезапущены сервисы RX.
do map set <имя файла с описанием проекта>
create_project — создание нового прикладного проекта
Чтобы создать новый прикладной проект необходимо:
- Подготовить файл описания проекта
- Выполнить команду
do map create_project <файл-описания-проекта>
В результате выполнения:
- будет создана новая БД
- будет создан новый домашний каталог проекта
- если в параметре
--package_path
указан пакет разработки- разработка из пакета будет принята в БД и выполнена инициализация
- будут импортированы стандартные шаблоны
- если указан параметр
--need_import_src
, то сразу будут импортированы исходные коды из того же пакета разработки.
clone_project — создание копии прикладного проекта
В некоторых случаях создать новый проект удобнее копирование существующего. Например, чтобы безопасно проверить изменения в ветке проекта.
Чтобы сделать копию проекта необходимо:
- Подготовить файл описания проекта
- Выполнить команду
do map clone_project <файл-описания-проекта-источника> <файл-описания-проекта-назначения>
В результате выполнения:
- будет создана копия БД
- будет создана копия домашнего каталога проекта
Особенности работы:
- при использовании Microsoft SQL Server:
- создается полная копия исходной БД с режимом COPY_ONLY, чтобы не нарушать политику резервного копирования
- копия БД создается в том же каталоге, где расположена сама БД и удаляется после восстановления из неё копии БД
- при использовании PostgreSQL:
- копия БД парой выполняется парой утилит
pg_dump | psql
и для корректной работы требует настройки файла паролей pgpass.conf
- копия БД парой выполняется парой утилит
dds_wo_deploy — запустить DevelopmentStudio для просмотра/редактирования исходников указанного проекта без возможности публикации
Запускает DevelopmentStudio для просмотра/редактирования исходников указанного проекта (параметр --project_config_path
) без возможности. Полезна для ситуаций, когда требуется открыть исходники сразу нескольких проектов.
Особенности работы:
- создает временный файл аналогичный config.yml с пустыми параметрами LOCAL_WEB_RELATIVE_PATH, LOCAL_SERVER_HTTP_PORT и SERVICE_RUNNER_CONFIG_PATH в секции DevelopmentStudio (это блокирует возможность публиковать разработку);
- на основе временного config.yml создает временный файл аналогичный _ConfigSettings.xml для DevelopmentStudio;
- запускает DevelopmentStudio передавая ему созданных аналог _ConfigSettings.xml;
- имена временных файлов выводятся в лог;
- после закрытия DevelopmentStudio временные файл удаляются.
generate_empty_project_config — создать заготовку для файла описания проекта
Создаст пустой шаблон файла описания проекта.
clear_log — удаление старых файлов логов
По умолчанию RX настроен так, что каждый день компоненты и сервисы RX создают новые файлы логов. На рабочем месте прикладного разработчика, как правило, важны текущие логи, а старые не имеют особого значения. Для удаления логов можно использовать команду
По умолчанию удаляются логи старее 3-х дней. Используя параметр --limit_day
можно изменить глубину удаляемых логов. Удаление всех логов, кроме сегодняшних:
do map clear_log --limit_day=1
current — информация о текущем проекта
Посмотреть ключевую информацию по текущему проекту:
url — получить url подключения к веб-доступу текущего проекта
Используя команду do map url | clip
ссылку можно сразу скопировать в буфер обмена.
check_config — посмотреть содержимое файла описания проекта
check_sdk — проверить наличие необходимых версий .Net
Проверить наличие и соответствие версий для git и dotnet.
Введение
Структура книги и рекомендации по
чтению
Книга Руководство
разработчика состоит из трех глав:
·
Модификация
прикладной системы – описание всех
действий, связанных с разработкой системы: порядок и особенности
создания справочников, карточек электронных документов, отчетов,
сценариев и т.п.
·
Язык
ISBL – программирование в
системе DIRECTUM: внутренний язык программирования ISBL и редактор,
в котором задаются вычисления на этом языке.
·
Системная
разработка, системные
данные – понятие и перечень
системной разработки и системных данных.
При разработке системы
рекомендуется использовать не только данное руководство, но и
другие источники, входящие в комплект документации:
·
Книгу
Компоненты системы DIRECTUM — описание компонент системы
DIRECTUM;
·
Справочную
систему по объектной модели (objModel.chm) – подробное
описание свойств и методов объектов IS-Builder;
·
Справочную
систему по физической структуре данных DIRECTUM
(DataStructure.chm) – наглядное описание структуры данных систем,
разработанных на платформе IS-Builder: общие сведения о данных,
структуры таблиц SQL-сервера и схемы связей между ними.
Коротко расскажем о возможностях DirectumRX, позволяющих легко начать работать в системе.
1. Видеоролики
Если вы новый сотрудник или к вам в компанию пришел новичок, то для знакомства с DirectumRX лучше всего использовать видеоролики и справку. Предложите ему выделить в первый день 40 минут на знакомство и дальше еще несколько дней по 15 минут на повторение и изучение разделов справки, с которыми будет работать сотрудник.
Опытному пользователю тоже полезно заглянуть в видео. Оно обновляется по возможностям новых версий и пополняется рекомендациями, например, «Приемы работы с заданиями» или «Задания замещаемого сотрудника».
2. Умная справка
Смело нажимайте F1 в любом месте системы (из списка или карточки и т.д.), и сразу откроется справка по нужной теме. Например, если вы находитесь в списке «Реестр договоров», то откроется раздел справки с его описанием и возможными действиями плюс полезные рекомендации по фильтрации.
3. Виджеты
Кликните на самый верхний уровень «Мой DIRECTUM» и вы увидите область виджетов, они кликабельны и наглядны — каждый сотрудник может настроить виджеты под себя. Совет: переходите с виджета «Мои задания» к списку заданий на сегодня.
4. Папки потоков
У пользователей преднастроены папки , в которые автоматически попадают входящие задания по определенным критериям, их удобно использовать при большом потоке заданий. У сотрудников чаще всего используются папки «На согласование», «На исполнение».
Если вам удобнее работать только с папкой «Входящие», снимите флажок «Скрывать» в области фильтраций. Все задания будут отображаться в одной папке «Входящие»
5. Недавние документы
Список предназначен для поиска документов, которые вы просматривали, изменяли или создавали в течение определенного периода времени. Например, с его помощью можно:
- найти документ, который вы создали несколько дней назад, но не поместили ссылку на него ни в одну из папок;
- получить перечень документов, просмотренных за сегодняшний день;
- посмотреть все документы, с которыми вы работали вчера.
6. Drag»n»Drop
Если к вам пришел документ по электронной почте или вы хотите загрузить документ с рабочего стола компьютера, достаточно открыть нужную папку и перетащить файл из письма или папки с компьютера. Система автоматически откроет карточку, занесет «тело» документа и заполнит поле *Содержание
, исходя из наименования документа, вам останется заполнить остальные поля.
7. Никаких дублей при создании входящих счетов
При заполнении полей *Номер счета, *Дата счета, *Сумма, *Валюта и *Контрагент
в карточке нового счета происходит проверка на наличие дублей. Если дубли найдены, то появится предупреждение. Для просмотра дублей в карточке входящего счета на вкладке Поиск
в группе Дубли
нажмите на кнопку «Показать дубли»
.
8. Списки — удобнейшая штука
Реестр договоров, входящие счета, документы к возврату — все это списки.
Настраивайте и группируйте столбцы, фильтруйте информацию в них по нужным параметрам так, как вам удобно.
Так, отфильтровав список «Реестр договоров»
по необходимым критериям, например, *Контрагент, *Состояние
или *Категория
, мы можем сформировать необходимый нам список договорных документов, а затем выгрузить его в Excel для печати или дальнейшей обработки.
9. Поиск
Не забывайте, что в системе доступен поиск по фрагменту текста для документов, задач, заданий, папок и объектов — используйте поле поиска над списком или закладку Поиск
в ленте.
Как говорится «На ошибках учатся». Чтобы не блуждать в поисках ответа, загляните для начала в список часто задаваемых вопросов и ответов, они собраны в и легко находятся в справке по кнопке F1.
Лайфхаки для продвинутых пользователей ждите в следующей публикации. Делитесь своими любимыми советами для новичков в комментариях.
Компания DIRECTUM объявляет о выпуске версии DIRECTUM 5.5. Новая версия нацелена на выстраивание взаимодействия разных ЕСМ-систем внутри одной организации, реализацию единого процесса от создания документа до согласования с контрагентами, повышение удобства работы в системе. Мы уделили внимание пользователям, разработчикам и администраторам: освежили интерфейс, упростили разработку веб-модулей за счет максимального ухода от.NET, разработали новое решение для межсистемного взаимодействия, а также новый коннектор к 1С.
Современный веб-клиент
В новой версии мы сделали работу в веб-клиенте максимально простой и удобной, обновив интерфейс:
Чтобы разгрузить рабочее пространство пользователя, основные действия, такие как создание, запуск и поиск объектов, перенесены в верхнюю часть проводника:
Кроме того, отказались от ленты. Теперь используется более компактная панель действий:
Как вы заметили, изменился и внешний вид карточек объектов, в частности, закладки перенесены в верхнюю часть экрана.
Подробнее о новинках версии для пользователей см. в видеоролике .
Легкий десктоп-клиент
Десктоп-клиент тоже не остался в стороне. Для более комфортной работы мы обновили цветовую гамму, обложки и иконки:
Чтобы часто используемые папки были в быстром доступе, на верхний уровень и располагайте в удобном порядке. После перехода на новую версию папки, ранее находившиеся на панели папок, автоматически закрепятся на верхнем уровне дерева:
Даже если вы выйдете из DIRECTUM, система запомнит, какие папки верхнего уровня были развернуты.
В каждой организации проводятся информационные рассылки, оповещения сотрудников, в результате чего накапливается множество уведомлений. Чтобы не перегружать папки проводника, уведомления лучше удалять после прочтения. С помощью новой кнопки Прочитать и удалить
вы легко с этим справитесь:
Если вы не пользуетесь предпросмотром, можно удалить ссылку на уведомление из его карточки по кнопке Удалить ссылку
. Ссылка удалится из папки, из которой уведомление было открыто.
Для комфортной работы на мониторах с высоким разрешением в проводнике.
Кроме этого, мы упростили иконки папок и панель навигации, обновили дизайн схем маршрутов для повышения наглядности: в режиме просмотра упростили состав действий на ленте и убрали сетку выравнивания.
А также изменили вид статусов и убрали занимающие полезное место секунды в колонках с датами. В окне связанных документов теперь можно включить область предпросмотра.
Простая разработка веб-модулей
В версии 5.5 мы сделали упор на упрощение модификации веб-модулей: теперь вы реже будете прибегать к.NET- и JS-разработке, поскольку большую часть доработок для веб-клиента сможете сделать с помощью привычного ISBL.
Вычисления в событиях
«Форма-карточка.Показ», «Запись.Открытие», «До выбора», «После выбора», «Набор данных.Открытие» подхватятся автоматически в веб-клиенте. Это значит, что не придется писать вычисления на.NET для скрытия и управления доступностью реквизитов, для фильтрации данных при выборе значения реквизита и открытии справочника.
Часто для выполнения каких-либо действий на стороне клиента с помощью клиентского API веб-доступа требовалось получить значение прикладной константы
. Сделать это можно было только с помощью специального веб-сервиса или сценария, отправляя при этом дополнительный запрос на сервер. Сейчас веб-разработчик сможет использовать значение константы в вычислениях, установив флажок Доступна в клиентском API веб-доступа
в десктоп-клиенте:
Развитие инструмента разработчика
В предыдущих версиях для выполнения в веб-клиенте ISBL-вычислений с параметрами и возвращаемым результатом требовалось использовать сценарии и функции, которые создавались отдельно от текущей компоненты. В DIRECTUM 5.5 все вычисления хранятся в одном объекте — прикладном методе
, у которого есть параметры и возвращаемый результат. обеспечивают простое повторное использование вычислений, упрощая тем самым десктоп- и веб-разработку.
Об остальных изменениях расскажем в следующей статье.
Единый механизм работы с документами
DIRECTUM 5.5 позволит вам организовать весь процесс по работе с документом: согласование внутри компании, отправка контрагентам через систему обмена, контроль возврата документа и хранение в СЭД:
После согласования документа внутри компании автоматически запустится типовой маршрут для отправки документов контрагенту. Функциональность электронного обмена с контрагентами теперь можно легко в любые типовые маршруты с помощью прикладных диалогов и блоков типовых маршрутов.
К тому же, с версии 5.5 техническое решение «Электронный архив финансовых документов» переведено в стандартную поставку DIRECTUM в качестве . В электронном архиве осуществляется хранение документов, согласование первичных учетных документов и подготовка к различным проверкам.
Таким образом, весь процесс по внутреннему и внешнему документообороту будет непрерывным, прозрачным для пользователя и удобным для настройки на каждом этапе.
Отправка и прием документов из систем обмена поддерживаются и в веб-клиенте.
Сам модуль «Интеграция с системами обмена» переименован в «Обмен с контрагентами». Кроме того, реализована работа с организациями, которые работают с несколькими системами обмена, через :
Межсистемное взаимодействие
В крупных компаниях используются бизнес-процессы, связывающие пользователей и объекты головной и дочерних организаций. Например, дочерние компании согласовывают договоры с головной организацией, а головной офис отправляет поручения дочерним компаниям. Чтобы обеспечить прозрачность подобных процессов на уровне всей корпорации, DIRECTUM предлагает новое решение для взаимодействия разных систем внутри одной группы компаний — DIRECTUM Cross-System Interchange
(DCI
), или Механизмы межсистемного взаимодействия
.
В DIRECTUM 5.5 механизмы DCI позволяют настроить процесс взаимодействия между разными экземплярами системы DIRECTUM, а также организовать не только сквозные бизнес-процессы, но и синхронизацию справочников. В следующих версиях планируется поддержка и других систем:
Новый коннектор к «1С:Предприятие 8»
В версии 5.5 разработан новый коннектор к учетной системе «1С:Предприятие». В отличие от прежнего коннектора, он использует Универсальный механизм обмена данными в формате XML
, а также позволяет синхронизировать большие объемы данных из 1С в DIRECTUM в виде XML-файлов, предоставляет разработчику удобный механизм изменения пакета данных с помощью вычислений на языке ISBL, поддерживает загрузку данных в DIRECTUM по ключевым реквизитам и многое другое.
Схема загрузки данных из 1С в DIRECTUM посредством нового коннектора может выглядеть так:
Если в вашей организации уже приобреталась лицензия на коннектор к 1С, лицензия на новый коннектор не потребуется. Поддержка прежнего коннектора продолжится, но развитие функциональности не планируется.
Стабильная связь клиента с сервером сеансов
Улучшена работа платформы IS-Builder в условиях пропадания или полного отсутствия связи между клиентом и сервером сеансов.
Так, при длительном разрыве связи между сервером сеансов и клиентом его сессия теперь не прекращается, а переходит в состояние Нет связи
. В этом случае сессия перестает занимать лицензию, по возможности сохраняются блокировки объектов. Пользователь может дождаться восстановления связи или принудительно закрыть клиентскую часть.
Ранее при переходе клиентского компьютера в спящий режим или гибернацию связь с сервером сеансом разрывалась, при возобновлении работы у пользователя возникали ошибки. Теперь сессия будет переходить в состояние Спящий режим
, при котором она продолжит занимать лицензию, блокировки объектов сохранятся.
Другие изменения
В истории папки можно увидеть, кто вставил и удалил ссылку на определенный объект.
Если в вашей организации активно ведется прикладная разработка, будет полезна История переноса разработки
. Компонента позволяет контролировать перенос разработки, в частности, можно посмотреть список элементов разработки, перенесенных в рамках пакета.
В предыдущих версиях документы по умолчанию открывались на редактирование. Это приводило к тому, что при открытии блокировались и те документы, которые в приложении-редакторе открываются только на чтение. Теперь для каждого формата документа в компоненте Приложения-редакторы
можно .
Для преобразования документа в формат PDF можно использовать новый тип преобразования документов — Native2, который обеспечивает высокую стабильность и скорость работы (более чем в два раза быстрее Native), а также не требует установки дополнительного ПО Microsoft Office. Native2 поддерживает популярные форматы Microsoft Office и LibreOffice, совмещает возможности типов преобразования Native и Printer. Кроме того, в DIRECTUM 5.5 используется обновленная версия виртуального принтера NovaPDF, который без ошибок устанавливается в современных ОС Windows.
Ранее было ограничение на уникальность первого символа кода наших организаций, о чем . Из-за этого можно было создать ограниченное число наших организаций. Теперь первый символ кода нашей организации не используется при формировании кода записи справочника. В DIRECTUM 5.5 используется сквозная нумерация.
Добавлена поддержка офисных приложений OpenOffice 4.1.3 и LibreOffice 5.3.4.
Для сервера веб-доступа прекращена поддержка Windows Server 2008, минимальная требуемая операционная система — Windows Server 2008R2.
Исключаем из поставки мобильный веб-доступ. Мобильные приложения DIRECTUM Solo
и Jazz
значительно развили свою функциональность, через них удобнее работать на мобильных устройствах.
Какая из новинок заинтересовала вас больше всего? Пишите в комментариях!
Впереди вас ждет цикл статей с подробным описанием новинок DIRECTUM 5.5. Ознакомьтесь уже сейчас с полным списком изменений — скачивайте документ «Изменения DIRECTUM 5.5» с сайта поддержки DIRECTUM.
Инструкции
администратора
Инструкция по установке и удалению системы
DIRECTUM
Установка
серверной части системы DIRECTUM
Установку серверной части
необходимо выполнять на компьютере, исполняющем роль сервера базы
данных. Сервером базы данных является компьютер, на котором
установлена серверная часть
Microsoft
©
SQL
Server
:
·
Шаг 1. Начните
установку серверной части системы DIRECTUM. Для этого запустите
утилиту развертывания системы DIRECTUM
H:SERVERSASystemActivator.exe;
·
Шаг 2. Окно
«Выбор режима работы»:
·
выбрать режим
работы Восстановление из резервной копии
;
·
нажать на кнопку
Далее >
;
·
Шаг 3. Окно
«Параметры соединения с развертываемой системой»:
·
в поле
*Сервер
указать имя SQL-сервера, на который осуществляется
установка серверной части системы DIRECTUM;
·
в поле *База
данных
указать имя базы данных. Если такой базы данных еще нет
на SQL-сервере, то она будет создана. Если указанная база данных
существует, то резервная копия будет восстановлена в существующую
базу данных, при этом предыдущее содержимое базы будет
утеряно;
·
в полях
*Пользователь
и Пароль
указать имя пользователя и его
пароль для подключения к SQL-серверу. Пользователь должен обладать
правами системного администратора SQL-сервера;
·
нажать на кнопку
Далее >
.
·
Шаг 4. Окно
«Восстановление из резервной копии»:
При
восстановлении на
Microsoft
SQL
Server
2000:
При
восстановлении на
Microsoft
SQL
Server
2005 и выше:
При
восстановлении на
Microsoft
SQL
Server
2005 и выше, если отключена
возможность выполнения хранимой процедуры
xp
_
cmdshell
:
·
в поле
*Файл резервной копии
указать полный путь до файла
эталонной резервной копии базы данных системы DIRECTUM. Эталонная
резервная копия базы данных системы DIRECTUM находится в одной
папке с утилитой развертывания системы DIRECTUM. Если
восстановление происходит на локальный
SQL
-сервер,
путь до файла резервной копии будет
H
:
Server
directum
.
dat
;
·
в полях *Файл
данных
и *Файл журнала транзакций
указать полные пути
соответствующих файлов базы данных системы DIRECTUM, по умолчанию
папка хранения файлов баз данных выбранного SQL-сервера;
·
в поле
*Полнотекстовый каталог
указать полный путь полнотекстового
каталога базы данных системы DIRECTUM, по умолчанию папка хранения
файлов баз данных выбранного SQL-сервера (данное поле будет
доступно только при восстановлении резервной копии на
Microsoft
SQL
Server
версии 2005 или
выше);
·
нажать на кнопку
Далее >
.
Примечание
.
Если папки, указанные для хранения файла данных и файла журнала
транзакций, не существуют, то утилита развертывания системы
DIRECTUM предложит создать эти папки. Папки будут созданы на
компьютере, на котором установлен выбранный SQL-сервер.
Примечание
.
При восстановлении резервной копии на
Microsoft
SQL
Server
версии 2005 или
выше, рекомендуется включить возможность выполнения хранимой
процедуры
xp
_
cmdshell
. Если эта возможность
отключена, не производятся проверки параметров восстановления базы
данных (файл данных, файл журнала транзакции и т.д.).
·
Шаг 5. Окно
«Администратор системы»:
·
установить
галочку Изменить пароль пользователя
Administrator
,
если требуется изменить пароль пользователя
Administrator
,
или этого пользователя еще нет на
SQL
-сервере;
·
в полях
*Пароль
и *Подтверждение
указать пароль
предопределенного пользователя Administrator системы DIRECTUM или
поставить галочку Пустой пароль для задания пользователю
Administrator пустого пароля. При восстановлении резервной копии на
Microsoft© SQL Server 2005 и выше пароль пользователя Administrator
должен отвечать политике безопасности компьютера;
·
нажать на кнопку
Далее >
.
Примечание
.
Во избежание несанкционированного доступа к данным, не
рекомендуется оставлять пустым пароль пользователя Administrator.
Такая возможность оставлена для удобства входа в систему DIRECTUM в
период ее начальной настройки. После окончания начальной настройки
для пользователя Administrator следует указать не пустой
пароль.
·
Шаг 6. Окно
«Настройки системы»:
·
в поле *Код
системы
указать код системы разворачиваемой базы данных
(например, DIRECTUM). Значения полей Служба Workflow
и
Сервер сеансов
оставить без изменений;
·
нажать на кнопку
Далее >
;
·
Шаг 7. Окно
«Параметры развертывания системы успешно заданы»:
·
ознакомиться со
списком изменений, которые будут произведены утилитой
развертывания;
Прежде чем начать пользоваться программным продуктом, его необходимо сначала установить. Именно процессу установки системы DIRECTUM и будет посвящена данная статья.
В некоторых случаях требуется удалить приложение и установить его «с чистого листа», например, при установке более новой версии. Поскольку такие ситуации возникают нередко, вопрос удаления информации о продукте я не мог обойти стороной, ему будет посвящен
соответствующий раздел.
Все рекомендации взяты из документации, входящей в поставку системы, и из базы знаний , ссылки на ее статьи буду приводить далее по тексту.
Итак, представим, что перед нами — дистрибутив системы. Если ранее опыта установки не было, то сразу может возникнуть много вопросов. В какой последовательности производить установку? С какими параметрами устанавливать? Потребуется ли дополнительно что-то
настраивать в операционной системе?
Действительно, необходимо соблюдать последовательность действий при установке, часто требуется настроить определенным образом права на NTFS-каталоги, включить в необходимые группы пользователей и т.п. По этой причине, как бы это ни звучало банально, установку
необходимо проводить в соответствии с инструкцией, в которой полностью описан порядок установки.
Итак, с чего же начать установку? Прежде всего, еще до начала собственно установки, необходимо убедиться, что компьютер соответствует предъявляемым требованиям к аппаратному и программному обеспечению. Может ли в принципе быть установлено приложение на данный
компьютер? Следует обратить внимание, что обновление общесистемного ПО в ряде случаев влечет за собой необходимость обновить и прикладное ПО. В частности, очень много вопросов поступает по совместимости DIRECTUM с новыми продуктами Microsoft, например, с Windows
8. Со всеми требованиями можно ознакомиться в документе «Типовые требования к аппаратному и программному обеспечению», который всегда входит в комплект поставки системы.
Зачастую дистрибутивы хранятся на сетевом ресурсе, с него же и производится установка. Действительно, это очень удобно по многим причинам — надежность хранения, доступ с любого компьютера по сети и пр. Клиентскую часть, интеграцию с офисными приложениями,
как правило, именно так и устанавливают — с сетевой «шары». При этом следует обратить внимание, что не любое приложение может быть установлено таким образом — может потребоваться установка с локального диска. В частности, этот нюанс касается установки серверной
части. При попытке установки с сетевого ресурса может возникнуть такая ошибка: «Ошибка пакета Windows Installer. Невозможно запустить сценарий завершения установки…» ().
Установку некоторых приложений необходимо производить с правами локального администратора, в инструкции всегда есть соответствующее примечание. В ОС Windows Vista и выше необходимо явно указывать это с помощью пункта контекстного меню «Запуск от имени».
В тех случаях, когда требуется производить действия в командной строке, командную строку также следует запускать от имени локального администратора.Если установку производить без прав локального администратора, то на выполнение некоторых действий может не
хватить прав доступа. Так, необходимые библиотеки или COM-сервера окажутся незарегистрированными в операционной системе. Также, при установке некоторых модулей происходит создание журнала Windows, что требует наличие прав локального администратора.
Частные случаи
В предыдущем разделе мы рассмотрели общие рекомендации по установке. Сейчас предлагаю разобрать несколько частных случаев, которые нередко встречаются на практике.
Рассмотрение начнем с установки русскоязычного Microsoft SQL Server 2008 R2 RUNTIME. Дистрибутив Microsoft SQL Server поставляется в рамках RUNTIME-соглашения и для работы только с системой DIRECTUM. Работоспособность системы в этом случае гарантируется
только при определенном наборе компонент. Что произойдет, если выбрать состав компонент не по инструкции, а, скажем, вообще все компоненты? В частности, русскоязычный дистрибутив SQL 2008 R2 RUNTIME не содержит компоненту Reporting Service, поэтому будет возникать
ошибка установки ().
Рекомендую с большой осторожностью использовать спецсимволы в паролях пользователей SQL. Не призываю совсем отказаться от спецсимволов, но лучше их не использовать, если на то нет специальной необходимости. Почему нужно стараться этого избегать? Если в параметрах
подключения к SQL-серверу указать пользователя, пароль которого содержит апостроф, то возникнет ошибка «There is a problem with this Windows Installer package…Format of the initialization strings does not conform to the OLE DB specification». Соответственно,
для устранения ошибки необходимо поменять пароль ().
Удаление информации о продукте
Иногда удаление продукта происходит не полностью и запись о продукте остается в системе. Например, в случае с клиентской частью системы DIRECTUM это может стать причиной неверной установки более поздних версий системы DIRECTUM на данный компьютер. Также,
были случаи, когда при установке приложения возникали сообщения о том, что приложение уже установлено.
Для корректного удаления информации о приложении, установленном с ошибками, написано немало программ. Мы рекомендуем в таких случаях воспользоваться утилитой MsiZap из пакета Windows Platform SDK. Утилита распространяется вместе с дистрибутивом DIRECTUM
и находится в папке UtilsMsiZap.
Для запуска утилиты и выполнения действий по удалению данных о приложении, установленном с ошибками необходимо выполнить следующую команду MsiZap.exe T {ProductCode} ().
Заключение
Поиск решения может не ограничиваться базой знаний на сайте поддержки DIRECTUM. Полезную информацию можно найти, например, на сайтах компании Microsoft. Часто статьи базы знаний ссылаются на ресурсы Microsoft (см. статьи
№ 4301 и № 4869).
Установка – очень обширная предметная область, мы охватили лишь малую часть. Если данная тема будет интересна посетителям сайта, возможно, в будущем будут написаны статьи, в которых разберем тонкости установки отдельно взятых модулей.
Напоследок остается всем пожелать быстрой установки и стабильной работы системы!
Управление деловыми процессами
— модуль системы DIRECTUM, позволяющий автоматизировать как движение документов, так и произвольные бизнес-процессы. Модуль обеспечивает:
определение заданий в электронном виде и четкий контроль выполнения (многоуровневая постановка задачи, выполнение которой контролируется на каждой стадии;
свободную и жесткую маршрутизацию (последовательность исполнения задач);
оперативную коммуникацию сотрудников в процессе рабочей деятельности;
поддержку процессов согласования и обработки документов на всех стадиях жизненного цикла (docflow).
Основные принципы работы
В терминах системы DIRECTUM в основе любого взаимодействия двух или более сотрудников всегда лежит какая-либо задача, т.е. некоторый объем работ, определяемый инициатором, который нужно выполнить.
Последовательность исполнения задачи определяется маршрутом, задаваемым инициатором. Маршрут задачи может задаваться вручную либо с использованием типового маршрута.
В процессе выполнения задачи на каждом этапе ее маршрута появляются задания или уведомления участникам процесса либо выполняется заданный сценарий. Сценарий позволяет автоматически совершать различные действия над объектами системы (переносить данные в ERP-систему, изменять состояние версий и стадий жизненного цикла документа, менять записи справочников, автоматически создавать документы и др.).
При «ручном» назначении исполнителей инициатор самостоятельно формирует список исполнителей из пользователей системы. Маршрутизация для выполнения задачи может быть параллельной, последовательной или сложной, когда можно задать последовательно-параллельный маршрут прохождения задачи.
Для управления бизнес-процессами, подлежащими жесткой регламентации или часто повторяемыми, могут быть настроены типовые маршруты. Механизм типовых маршрутов является мощным инструментом для автоматизированного создания задач в соответствии с заданными бизнес-правилами любой сложности. С помощью типового маршрута автоматически задается список исполнителей (в т.ч. на основе ролей), могут заполняться любые поля задачи (например, текст или тема), считывается информация из вложений и связанных объектов (задач, подзадач, электронных документов, справочников).
В системе DIRECTUM выделяется два вида типовых маршрутов — свободные и жесткие, каждый из них формируется определенным набором блоков.
Свободные типовые маршруты позволяют пользователю создавать задачи по определенному шаблону и могут использоваться, например, для часто повторяемых процессов (рассылка приказа по руководителям отделов, подготовка служебной записки и т.д.). Поля задачи, заполненные при выборе свободного типового маршрута, можно скорректировать вручную, изменив исполнителей, сроки, тему задачи и т.д.
Жесткие типовые маршруты используются для строго регламентированных процессов, отходить от которых сотрудники не имеют права. Основой жестких типовых маршрутов является описание логики бизнес-процессов, схема которых может динамически изменяться в зависимости от результатов выполнения предыдущих этапов маршрута. Для жестких маршрутов задается расширенный набор возможных этапов за счет использования базовых блоков: появляются условия переходов, сценарии на внутреннем языке, специальные блоки ожидания, мониторинга событий. Для формирования типовых маршрутов также могут использоваться специализированные прикладные блоки. Библиотека блоков содержит несколько десятков разработанных прикладных блоков и постоянно пополняется. За счет этого, в частности, возможна удобная интеграция с ERP-системами (например, создание договора в ERP-системе после согласования и подписания ЭЦП его текста в системе DIRECTUM).
Отправка задач по типовому маршруту возможна как вручную, так и в результате запуска Мастера действий, автоматизирующего определенный участок работы с договорами и организационно-распорядительными документами. Запрошенные мастером действий параметры автоматически подставятся не только в создаваемый документ, но и в параметры типового маршрута. Результатом работы мастера будет документ, созданный на базе документа, а также стартованная от имени пользователя задача.
Для хранения задач и заданий выделены личные папки пользователя.
Папка «Входящие» предназначена для заданий, которые приходят на исполнение пользователю. Папка «Исходящие» содержит задачи, которые создает пользователь. Внутри данных папок пользователь может создать собственные папки для того, чтобы упорядочить и проранжировать объем работ необходимых к исполнению. Также для структурирования задач и заданий могут использоваться сортировка и фильтрация по заданным реквизитам (Тема, Инициатор, Срок и т.д.).
Кроме того, пользователь может создать папки поиска для задач и заданий. Для таких папок определяются критерии поиска, по которым формируется содержимое папки. При этом содержимое папки актуализируется при каждом ее открытии.
Доступный и понятный интерфейс позволяет пользователю легко адаптироваться к работе в системе.
Создание задач и контроль исполнения
Каждый пользователь в системе может инициировать создание задачи, при этом состав участников задачи может быть назначен вручную или с использованием типовых маршрутов.
Кроме того, для задачи могут указываться наблюдатели – условно-пассивные участники задачи, которые не являются исполнителями, но, тем не менее, получают информационные сообщения по ходу выполнения задачи и по желанию могут вмешаться в процесс ее выполнения.
В задачу может быть добавлено любое количество произвольных вложений: электронных документов, папок, задач, заданий и записей справочников системы DIRECTUM. Это обеспечивает удобное открытие объектов системы, в частности, документов, связанных с выполнением работ по задаче, непосредственно из задания, полученного исполнителем.
В ходе работы с карточкой задачи пользователю доступен предпросмотр вложенных в задачу документов. С помощью облегченного представления в окне предпросмотра пользователь может быстро ознакомиться с текстом необходимых для выполнения задачи документов и принять решение о дальнейших действиях по этой задаче.
В тексте задачи и задания автоматически проверяется орфография. Также при проверке орфографии имеется возможность добавлять новые слова в пользовательский словарь.
В ходе следования задачи по маршруту исполнители получают задания, которые помещаются в их папку «Входящие», и выполняют их. Чтобы повысить оперативность выполнения типовых задач (например, рассмотрение договора) исполнитель может использовать в ответе на задачу автотекст (например, «рассмотреть возможность продления договора»). Автотекст настраивается администратором системы или лично пользователем.). Автотекст настраивается администратором системы или лично пользователем.
При необходимости исполнители могут создавать подзадачи, например, для передачи части работ другому исполнителю. При этом содержание подзадач включается в содержание самой задачи. Так образуется многоуровневая структура подзадач, которая по усмотрению пользователя может отображаться в виде цельного текста либо в виде «дерева» с возможностью сворачивания и разворачивания содержания подзадач. Кроме того, дерево задач доступно для любого объекта системы (документа, записи справочника); по дереву задач можно проследить все выполняемые по объекту работы.
Если в процессе выполнения задания сотрудник-исполнитель должен подготовить какой-либо документ, то этот документ вкладывается в задание, после чего любой следующий участник процесса может легко с ним ознакомиться, высказать замечания и т.д.
Каждое задание и каждый его этап могут иметь свой контрольный срок – дату и время, до которого они должны быть выполнены. Если задание не выполнено вовремя, оно автоматически помечается как просроченное (выделяется красным цветом). Кроме того, свой контрольный срок существует и для задачи; инициатор также может быстро найти просроченные задачи.
Возможность установки напоминаний о подходе срока задачи/задания позволяет пользователям запланировать время, когда необходимо вернуться к выполнению или контролю задачи/задания. Напоминание может быть установлено как на конкретные дату и время, так и на относительные (например, через 1 час).
Управление бизнес-процессами подразумевает не только выдачу заданий сотрудникам, но и контроль выполнения задачи. По итогам выполнения всех заданий, если это необходимо, задача возвращается инициатору, и он осуществляет ее приемку (контроль) и, при необходимости, может отправить задачу на доработку.
Инициатор задачи (или его замещающий) в любой момент времени может на закладке «Состояние» или на графической схеме посмотреть, на каком этапе выполнения находится задача, определить исполнителей, задерживающих выполнение работы, и принять соответствующее решение:
- изменить схему движения документов для ускорения процессов;
- назначить другого исполнителя;
- прервать выполнение задания в случае, когда работу необходимо приостановить или отложить (чтобы продолжить в нужный момент) и т.п.
Для удостоверения и гарантии подлинности задач и заданий, а также содержащейся в них информации, может использоваться электронная цифровая подпись.
Электронная цифровая подпись в задачах и заданиях
Инициатор задачи может подписать ее текст ЭЦП для обеспечения подлинности информации.
В процессе выполнения задачи исполнители также могут воспользоваться ЭЦП и подписать свой комментарий в тексте задания (если у исполнителя есть ЭЦП и такая возможность предусмотрена задачей). Более того, инициатор может потребовать от исполнителей обязательного подписания своих заданий при выполнении. В этом случае, если у исполнителя есть ЭЦП, он не сможет выполнить задание, не подтвердив своей подписью достоверность комментария в тексте задания.
Кроме того, пользователи могут настроить для себя автоматическое подписание всех выполняемых ими заданий.
При этом при подписании задачи или задания подписываются только те тексты, которые уже не будут меняться (т.е. не подписываются тексты задач на инициализации и тексты незавершенных заданий).
Подписанные тексты могут быть проверены на достоверность как вручную пользователем, так и автоматически (если это предусматривается настройками системы).
Настройка типовых маршрутов
Являясь реализацией бизнес-ориентированного workflow, механизм типовых маршрутов включает в себя все средства, необходимые для настройки процессов любой сложности. При этом настройку маршрутов может осуществлять непосредственно бизнес-аналитик без участия программиста.
Настройка типовых маршрутов осуществляется с помощью редактора схем типовых маршрутов. Для настройки свободных типовых маршрутов редактор схем максимально упрощен и позволяет в полностью графическом виде задать маршрут задачи: пользователю достаточно разместить на схеме блоки, определяющие задания и уведомления, соединить их стрелками, указать исполнителей и сроки, после чего свободный типовой маршрут может использоваться для создания задач.
Настройка жестких типовых маршрутов обладает более широкими возможностями. В процессе настройки жесткого типового маршрута возможно определение списка типизированных параметров (целое или дробное число, строка, дата, пользователь, роль и т.д.). С помощью этих параметров можно запросить данные у пользователя, обработать их на любом этапе прохождения маршрута, а также изменить ход выполнения маршрута в зависимости от их значения.
На схеме может быть использован широкий набор элементов, состоящий из базовых и прикладных блоков.
Базовые блоки
Набор базовых блоков включает в себя:
- Задание — инициирует отправку заданий или уведомлений исполнителям. Дальнейшее выполнение схемы может быть продолжено только после выполнения задания.
- Уведомление — инициирует отправку уведомлений условно-пассивным участникам задачи (наблюдателям).
- Сценарий — произвольные действия, запрограммированные на встроенном языке ISBL. С помощью этого элемента могут быть выполнены задачи интеграции, администрирования, автоматизации выполнения бизнес-логики системы (например, изменения данных в системе) и т.д.
- Условие — проверяет выполнение заданного условия. Проверка условия может быть задана визуально (структурированно) или с помощью языка ISBL. Условие обеспечивает ветвление процесса в зависимости как от пользовательских действий, так и от не зависящих от исполнителей факторов (например, сумма договора).
- Ожидание — приостанавливает ход процесса на заданное время. Дальнейшее выполнение схемы продолжится после истечения заданного времени ожидания.
- Мониторинг — выполняет с заданной периодичностью проверку на наступление некоторого события, например, появление или изменение объекта в системе (электронный документ, папка и т.д.) или за ее пределами (файл, электронное письмо). Дальнейшее выполнение схемы продолжится после истечения заданного интервала времени ожидания или при наступлении события.
- Подзадача — стартует подзадачу с указанным типовым маршрутом или без него. В зависимости от заданных параметров ожидает завершения подзадачи или нет.
Каждый блок имеет ряд специфичных параметров, настраиваемых особым образом, которые пользователь может задать при формировании схемы маршрута.
Например, в качестве исполнителя задания могут быть указаны не только конкретный пользователь или группа пользователей, но и роль, которая в процессе выполнения маршрута преобразуется в конкретного исполнителя или группу исполнителей. Роль может быть статической или динамической, вычисляемой на основе различных факторов (график дежурств, подчиненность сотрудника, трудоемкость и т.д.).
Срок исполнения указывается в одном из двух вариантов – абсолютный (конкретная дата и время) или относительный (трудоемкость). При указании относительного срока исполнитель увидит абсолютный срок, вычисленный по календарю рабочего времени.
При настройке для задачи могут быть указаны: тема, вложения, параметры, запрашиваемые у пользователя, произвольное количество вариантов результата выполнения задания (например, согласен /не согласен /требуется дополнительная информация) и т.д. Помимо этого, для каждого блока может быть прописана инструкция, которая будет доступна пользователю из карточки задания. В инструкции может быть прописан порядок действий, ссылки на регламентирующие это задание документы и т.д.
Прикладные блоки
С помощью инструмента разработки IS-Builder могут быть разработаны необходимые прикладные блоки типовых маршрутов. Так, разработаны блоки для управления жизненным циклом электронных документов, работы с файловой системой и электронной почтой, публикации документов на порталах, экспорта электронных документов, мониторинга, интеграции с Microsoft SharePoint и другими системами, а также блок извлечении штрих-кода из образа документа и блок преобразования документа в PDF-формат.
Состав прикладных блоков постоянно расширяется как компанией DIRECTUM, так и ее партнерами. Сегодня существует несколько десятков готовых библиотек блоков.
Дополнительные возможности
Удобный графический редактор и отладчик типовых маршрутов позволяют не только оперативно создать маршрут, но и пошагово проверить его, мгновенно скорректировать при необходимости.
Таким образом, настройка типовых маршрутов становится мощным инструментом бизнес-аналитика, который формализовано описывает процессы с помощью широкого набора готовых блоков, используя обычные пользовательские понятия. При необходимости задания специфической логики бизнес-аналитик обращается к программисту, который легко разрабатывает новые блоки. При этом итоговая схема процесса не загромождается программной логикой и остается бизнес-ориентированной.
Анализ бизнес-процессов организации
Механизмы DIRECTUM позволяют получать статистические данные о протекании бизнес-процессов, агрегировать и анализировать их. Результаты анализа используются для оптимизации управления бизнес-процессами. Это позволяет своевременно определить необходимость изменений, четко сформулировать цели и, в конечном счете, добиться максимальной продуктивности оптимизации.
При необходимости проанализировать бизнес-процесс для типового маршрута включается режим сбора статистики. Статистические данные собираются из блоков типового маршрута, благодаря встроенной в блоки функции-регистратора (настраивается администратором). Эти данные преобразуются в форму, удобную для анализа, и дополняются данными из задействованных в процессе документов и справочников, данными о пользователях.
Все собранные данные обрабатываются аналитиком. При этом аналитик может использовать как встроенные отчеты DIRECTUM, так и внешние системы моделирования и анализа бизнес-процессов (ARIS PPM, Business Studio и др.).
Анализ данных позволяет, к примеру, установить, какой этап согласования является самым длительным, в каких отделах нарушались сроки согласования, сколько итераций согласования прошел документ и т.д.
Возможности поиска
Система предоставляет широкие возможности поиска задач и заданий по различным атрибутам (в том числе по содержанию текста задачи).
Существует возможность быстро найти все задачи, связанные с тем или иным электронным документом или записью справочника, чтобы посмотреть, к примеру, маршрут согласования и переписку сотрудников по задаче. Также в системе предусмотрены специализированные папки поиска для задач, аналогичные папкам поиска документов. Администраторами могут быть настроены дополнительные поиски по необходимым критериям.