Содержание

Функциональные характеристики ПО “OdgAssist”

Общая информация

Программное обеспечение OdgAssist (EQMS) предназначено для автоматизации и управления документацией в области качества. Под документацией понимаются:

Основная задача, которую решает odgAssist: контроль за правильной реализацией всех процессов, обеспечение актуальности информации и контроль за исполнением.

Минимальный системные требования для программного комплекса odgAssist

Требования к аппаратному обеспечению сервера:

Параметры сервера/количество пользователей50-100100 -200250-350500
Количество потоков 4 8 12 16
Тактовая частота процессора ( ГГц) От 2,2 От 2,1 От 2,4 От 2,6
Платформа 64x разрядная 64x разрядная 64x разрядная 64x разрядная
Оперативная память (ГБ) 12 16 24 32
Дисковое пространство 250Гб 500Гб 1Тб 1Тб

Рекомендовано использование RAID для обеспечения резервирования и повышения производительности базы данных.

Требования к программному обеспечению сервера:

Минимальные требования к программно-аппаратному обеспечению рабочей станции пользователя:

+ допустима версия ПО выше указанной

Для обслуживания сервера сотрудниками исполнителя к нему необходим прямой доступ по ssh. Сервер должен иметь доступ в интернет.

Установка odgassist 5.0

Установить приложение можно вручную или автоматически.

Ручная установка приложения на UBUNTU 20.04:

Для работы приложения odgassist необходимы следующие программы:
-Postgres 12
-Nginx
-Supervisor
-Open jdk 8

Команды для установки требуемого программного обеспечения:
Обновить и установить пакеты программного обеспечения:

sudo apt-get update &&  sudo apt-get -y upgrade;

Установить openjdk:

sudo apt-get -y install openjdk-11-jdk;

Проверить наличие русской локали:

 locale -a 

В случае если русской локали нет, то установить:

 sudo apt-get install language-pack-ru;

Сделать русскую по умолчанию:

 dpkg-reconfigure locales 

Выбрать: ru_RU.UTF-8 UTF-8

Скачать и установить Postgres :

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -;
RELEASE=$(lsb_release -cs) echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list;
sudo apt -y install postgresql-12;

Добавить базу данных для odgassist:

sudo -u postgres psql -U postgres -d postgres -c "CREATE DATABASE \"odgassist\" WITH OWNER \"postgres\" ENCODING 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' TEMPLATE template0;";
sudo -u postgres psql -U postgres -d postgres -c "ALTER USER postgres PASSWORD 'ваш_пароль'";

Установить nginx:

 apt-get -y install nginx; 

Установить supervisor:

sudo apt-get -y install supervisor;

Добавьте пользователя runner:

sudo useradd -m -p $(openssl rand -base64 12) runner 

Добавьте необходимые директории для работы приложения odgassist:

sudo mkdir /srv/templates && chmod 777 /srv/templates;
sudo mkdir /srv/assist && chmod 777 /srv/assist;
sudo mkdir /srv/assist/export && chmod 777 /srv/assist/export;
sudo mkdir /srv/assist/html && chmod 777 /srv/assist/html;
sudo mkdir /home/dumps && chmod 777 /home/dumps;
sudo mkdir /etc/ssl/cuba && mkdir /etc/ssl/odg;
sudo mkdir /home/runner/cuba && chown runner:runner /home/runner/cuba;

Скачайте необходимые файлы для работы приложения odgassist:

wget https://wiki.odgassist.ru/lib/exe/fetch.php/odg_assist_5.0:app.jar
;
mv odg_assist_5.0:app.jar /home/runner/cuba/app.jar && chown runner:runner /home/runner/cuba/app.jar && chmod +x /home/runner/cuba/app.jar;
 wget https://wiki.odgassist.ru/lib/exe/fetch.php/odg_assist_5.0:nofileonserver.docx && mv odg_assist_5.0:nofileonserver.docx /srv/assist/nofileonserver.docx && sudo chown runner:runner /srv/assist/nofileonserver.docx ;

chown runner:runner /srv/assist/nofileonserver.docx;

nofileonserver.docx

Добавьте в конфигурацию supervisor файл /etc/supervisor/conf.d/cubaodg.conf:

[program:cuba]
command=java -Xms5G -Xmx5G -jar app.jar -port 9090
directory=/home/runner/cuba
stdout_logfile=/var/log/supervisor/cuba.log
stderr_logfile=/var/log/supervisor/cuba.log
autostart=true
user=runner

Обновите конфигурацию supervisor:

sudo supervisorctl reread && sudo supervisorctl update;
sudo supervisorctl status;

Статус приложения cuba должно быть RUNNING

После запуска приложения подождите 5 минут пока производится настройка базы данных.

Затем переходите к следующему этапу.

Установка в автоматическом режиме.


Будут установлены следующие пакеты:
-Postgres 12 -Nginx -Supervisor -Open jdk 8

Скачайте файл автоматической установки через терминал сервера:

 wget https://wiki.odgassist.ru/lib/exe/fetch.php/odg_assist_5.0:install.sh.gz 


или по ссылке: install.sh.gz

Разархивируйте документ и запустите его в терминале сервера:

gunzip odg_assist_5.0\:install.sh.gz;
chmod +x odg_assist_5.0\:install.sh;
sudo ./odg_assist_5.0\:install.sh;

После выполнения скрипта подождите 5 минут пока производится настройка базы данных.
Затем переходите к следующему этапу.

Настройка приложения

После выполнения скрипта перейдите по ссылке:

http://ip_адрес_сервера:9090/app 

Отобразится форма авторизации:

Войдите в систему. Логин admin, пароль: admin.

Для работы приложения требуется добавить лицензионный ключ.
Нажмите пункт меню "Администрирование", подпункт "Свойства приложения".
В фильтре поиска вставьте имя ru.licen.

Щелкните дважды по записи и введите ключ в открывшуюся форму:

KEN9fFDUMzufuFgpI2EzCCyHkjdwT93wMC1LXu7MYRAX5JeyZL6J08fNXVtLdM+pqefODyp5tO7wYo40oI7Ovp9cZ8IAOSbXquJl0QNV5XphS0F1IaFNV/8NFBpK9xOAW/Aye04okELab+cqZXP7Gkrc3wiCQ7NnlOtx6tIDiYU=

Добавить ключ, кол-во конкурентных пользователей:

B8yA7lLZQCcmg9dhqChbKM6LDlzzEuZQ/yVhARRXtyIRJG6WAWULfOCFjbzKRi5Vf4Fm1qR/46+shOw1F8UPJ8cGbwlj/dA6AHzD1+9yHnWlMIuUgBj+7MYuMZcNegCK4tdvto7WC54yiwnPhGlP574Le9joq10mSZifo/kbOII=

После добавления ключа необходимо перезапустить приложение через терминал сервера:
sudo supervisorctl restart cuba

Ознакомится с интерфейсом приложения можно перейдя по ссылке: Описание приложения.

Ссылка на скачивание приложения и необходимых файлов:

odg5

empty file

cubaodg1.zip

install.sh.gz

Настройка после установки


После установки проверить время сохраняемых и изменяемых сущностей. Например добавить папку и проверить время ее создания или изменения.

Назначенные задания

Пункт меню "Администрирование", подпункт "Назначенные задания".
Подпункт меню позволяет настраивать автоматическое выполнение рутинных задач.
Например обработка документов, рассылка оповещений пользователям и т.д.

Отправка оповещений о новых задачах.

Описание:
После активации каждой задачи на нее назначается исполнитель. Исполнитель добавляется в список для рассылки оповещений о новых задачах. Рассылка осуществляется всем пользователям из списка каждые 60 секунд.

Настройка:

Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы:
Defined By: Bean
Bean Name: cuba_Emailer
Method Nmae: processQueuedEmails()
Sheduling Type: Period
Cron Expression: 60
Singleton: V

Пример содержимого письма:

Отправка оповещений назначенным по задачам

Описание:
Если у пользователя нет просроченных задач, то ему отправляется весь список задач каждый понедельник.
Если есть просроченные задачи или задачи близкие к крайнему сроку, то оповещения отправляются каждое утро в 9:00.

Настройка:
Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы:
Defined By: Bean
Bean Name: odgassist5_TasksReportService
Method Nmae: sendTaskStatesToAllUsers
Sheduling Type: Cron
Cron Expression: 0 0 9 * * *

Пример содержимого письма:

 отображение письма оповещения

Отправка оповещений по действиям

Описание:
В список на отправку попадают отчеты:

ru.od.notify_before_days - параметр, который хранит количество дней. (Уведомить за n дней).
Настройка производится через пункт меню "Администрирование", подпункт "Свойства приложения".
В поле "Поиск по имени свойства" ввести: ru.od.notify_before_days

Настройка:
Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы:
Bean Name: odgassist5_TaskReportService
Method Nmae: notifyUserAboutOverdueActions

Описание полей формы настройки "Назначенное задание":

0 0 * * * * - начало каждого часа каждого дня.
*/10 * * * * * - каждые 10 секунд.
0 0 8-10 * * * - в 8, 9 и 10 часов каждого дня.
0 0/30 8-10 * * * - 8:00, 8:30, 9:00, 9:30 и 10 часов каждого дня.
0 0 9-17 * * MON-FRI - каждый час с 9 до 17 по рабочим дням.
0 0 0 7 1 ? - каждое Рождество в полночь.

Start date имеет смысл указывать только для "нечастых" заданий - раз в 1 час, 1 сутки и т.п.

Для Singleton-задач в кластерном деплойменте рекомендуется всегда устанавливать таймаут в реалистичное значение. Если останавливается узел кластера, выполняющий задачу, то при стандартном значении другие узлы кластера будут ждать 3 часа перед тем, как запустить задачу снова.

Если Start date не указано, то Time frame не принимается во внимание, т.е. задание будет запущено в любое время после прохождения промежутка времени Period после предыдущего выполнения задания.

Для синглтон-заданий порядок перечисления серверов указывает их приоритет - первый имеет больший приоритет чем последний. Сервер с большим приоритетом перехватит выполнение синглтона следующим образом: если сервер с большим приоритетом обнаруживает, что предыдущий раз задание было выполнено сервером с меньшим приоритетом, то он запускает задание независимо от того, пройден ли Period или нет. Приоритет серверов работает только в случае Scheduling type равного Period и не указанного атрибута Start date. В противном случае, старт происходит в одно и то же время, и перехват невозможен.

Если задание является синглтоном, то в текущей реализации регистрация факта запуска производится в любом случае, независимо от данного признака.

Если задание является синглтоном, то в текущей реализации регистрация факта завершения производится в любом случае, независимо от данного признака.

Задание также имеет признак активности, который устанавливается в экране списка заданий. Неактивные задания не запускаются.