Решение "Service Kit"

146%

эффективность разработки

5

довольных заказчиков

7

инструментов в решении

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

А что этот Kit умеет:

  • Рассылать напоминания о старте или приближении сроков исполнения заданий;
  • Формировать отчет "Матрица доступа", в разрезе ролей или пользователей;
  • Возобновлять задачи, о которых позабыл Workflow;
  • Создавать оповещения для пользователей системы;
  • Отслеживать сроки действия сертификатов и предоставляет пользователям функционал для самостоятельного обновления личных сертификатов;
  • Записывать в журнал все изменения свойств и коллекций в документах;
  • Конкурентно выполнять задания с множественными вариантами исполнения;
  • Запускать отложенное выполнение асинхронных обработчиков;
  • Записывать логи в отдельные файлы, с использованием настроек Directum RX.

Состоятельные парни, могут прочитать полное и детальное описание решения, в статье на Directum Club, ну а мы тут вообще-то все за лайками собрались, так что коротенько пробежимся по основному функционалу и посмотрим, с чем едят этих наших Service Kit-ов.



Обложка решения

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


Рис. Пример обложки модуля "Вспомогательные инструменты"

** Мнение ведущего разработчика "СТАРКОВ ГРУПП" является личной точкой зрения и может не отражать общую позицию компании.


Инструмент "Напоминания"

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


Рис. Пример настройки напоминания

У тебя в папках 100500 заданий, которые еще и длятся месяцами?
Как не упустить что-то важное!?
Нет повода грустить, вытри сопли и попроси тех бородатых парней из подвала настроить тебе напоминания, чтобы получать уведомления о приближении срока выполнения задания, о котором ты и знать не знал.
Хочешь, получай уведомление за пару дней до срока, хочешь - получай за неделю, за пару часов!
Не хочешь? Хочешь получать уведомления после старта задания!?
Настраивай и получай, хоть каждый час по уведомлению.
Поддержка всех маршрутов и регламентов в комплекте. Не благодари.



Рис. Пример рассылки уведомления


Отчет "Матрица доступа"

Устал слушать жалобы о том, что какой-то сотрудник Вашей компании любит подглядывать за чужими документами!?
Хочешь настроить права доступа по красоте, но не можешь понять, почему трудовик Петрович спит в финансовых документах с откатами!?
Сформируй отчет "Матрица доступа"!
Без регистрации и смс, он поможет тебе, разобраться в этой мешанине прав и выйти победителем.
Пользователи или роли?
Отчет поддерживает оба варианта, не стоит соглашаться на меньшее.


Рис. Пример отчета "Матрица доступа"

*Маркетинговое описание отчета не является публичной офертой, функционал конечной версии может изменяться на усмотрение разработчика.


Инструмент "Возобновление задач"

Если Ваш Workflow, как золотая рыбка, забывает обрабатывать некоторые задачи.
Все текущие задания выполнены, а новые так и не приходят?
Боитесь, что после рестарта задачи Ваши коллеги будут благодарить Вас после работы ночью в переулке.
Не отчаивайтесь, запустите диалог "Возобновления обработки задач", нажми одну кнопку и он покажет этому Workflow кто здесь главный!
Используя магию RabbitMQ и каких-то там операций, он возвращает задачу обратно в очередь.


Рис. Пример диалога "Возобновить обработку задачи"

И да, диалог умеет угрожать успехом операции.


Рис. Пример всплывающего оповещения о возобновлении задачи

Но и это еще не все!
Допустим Ваш сильно внимательный коллега, отправил задачу, а документ закрыть забыл.
Исполнители уже изнывают от безделья, они хотят работать, задач им подавай, да побольше, побольше.
Ждать, час или около того!
Скажите Вы и будете не правы, т.к. у этого диалога есть скрытая amaizing функция, результат которой Вас приятно удивит...
Просто вбейте ИД, нажмите кнопку "Обработать сейчас" и диалог, как главврач, пропустит Вашу задачу без ожидания, очередей и талонов.


Рис. Пример диалога "Возобновить обработку задачи"

Если договориться с Workflow удалось, вы обязательно узнаете об этом первым.


Рис. Пример всплывающего оповещения об обработке задачи

Админ сидит, работа идет.

 

Инструмент "Оповещения"

Стесняетесь писать в корпоративном чате, о своих чувствах? 
Нам это было знакомо, пока мы не стали использовать оповещения!
Изливайте душу и признавайтесь в своих чувствах на всю компанию или только избранной сотруднице отдела маркетинга, а может хотите "отблагодарить" руководителей проектов.
Система оповещений может все.
Абсолютно анонимно.


Рис. Пример оповещения

* Функционал настройки оповещений доступен только администраторам системы. Заявления об анонимности являются маркетинговым описанием и не соответствуют действительности.
 

Инструмент мониторинга и обновления сертификатов

В Вашей компании 100500 сотрудников и все от Вас что-то хотят!?
А еще эти сертификаты...


 

Настрой мониторинг сроков действия сертификатов и играй в танки спокойно.


Рис. Пример настройки мониторинга

Зачем работать, когда можно не работать!?
Переложи свои задачи на других и в Counter Strike тебе не будет равных!


Рис. Пример уведомления об окончании срока действия сертификата

Витую пару он за тебя не прокинет, да и Docker контейнеры не перезапустит, но снять одну нудную задачу может.
Ставь лайк, если тоже считаешь, что обновление сертификатов - это скука.


Рис. Пример диалога загрузки сертификата

 

Инструмент "Журнал изменений документа"

Кто-то хитрый пишет ругательства в примечании к документам и меняет подразделения!?
Не можете докопаться до истины!
Поиск виновных выглядит так!?


 

Не играй в Шерлока, включи в справочнике "Виды документов" запись истории изменений.
Большой брат будет строго следить за изменениями всех свойств и коллекций документов.
Железный ум нельзя обмануть и договориться.
Искореняй безобразие, не вставая с дивана!


Рис. Пример коллекции "Журнал изменений" в документе

 

Инструмент "Логирование" 

Думали для разработчиков у нас ничего нет!?
А вот и не правда.
Представляем Вам логирование в отдельные файлы с использованием настроек Directum RX!

Если настройка системы мониторинга для Вас слишком


 

Устали копаться в сотнях мегабайт логов в поисках нужной информации!?
Пните разработчика, чтобы он сделал логирование процессов в отдельные файлы!
Все сделано для максимально неопытных, справится даже бабуля.
Наведите красоту в логах и заметите, как прохожие начнут улыбаться Вам в ответ.

Вызов функций логирования на примере уровня Debug:

//Имя папки
string folderName;
//Имя файла
string fileName;
//Сообщение
string message;

//Если isWriteToFolderProcess равен False, то в корневом каталоге "Logs" будет создана папка DrxCustomLogs
//ВНИМАНИЕ: Создание КОРНЕВОЙ папки DrxCustomLogs работает только в Windows.
bool isWriteToFolderProcess;

//Доступные перегрузки
starkov.LogManager.PublicFunctions.Module.Remote.Debug(fileName, message);
starkov.LogManager.PublicFunctions.Module.Remote.Debug(folderName, fileName, message);
starkov.LogManager.PublicFunctions.Module.Remote.Debug(fileName, message, isWriteToFolderProcess);

 

Функция "Конкурентное выполнение заданий"

Вы или Ваши заказчики хотите конкурентное выполнение заданий!?
Разработчики лепят костыли, а задания все равно блокируют друг друга?
Дайте ему функцию ChangeStopResult().
Зачем изобретать велосипед, если есть базовый функционал который вроде как работает!
Никаких блокировок и костылей, но это не точно, Perfect, Bellissimo, Идеально.

Пример вызова функции ChangeStopResult() из обработчика "Результаты выполнения" задания:

//ИД задачи
int taskID = _obj.Task.Id;
//ИД блока в схеме задачи
string blockID = "3"; 
//Новое значение StopResult
string stopResult = e.Action.Name;

// Изменить значение StopResult для конкурентного выполнения задания
starkov.Common.PublicFunctions.Module.ChangeStopResult(taskID, blockID, stopResult);

 

Функция "Отложенный старт асинхронных обработчиков"

Хочешь вызвать асинхронный обработчик не сейчас, а скажем через 3 часа?
Вижу что хочешь, вижу.
Усердно преобразуешь строки в даты и молишься, чтобы ничего не сломалось?
Не паникуй, выход есть!
Магия DelayExecuteAsync() сделает все что ты ей скажешь, в рамках входных параметров конечно, шалун.

Это просто, как раз, два, три:

//Дата и время выполнения обработчика
DateTime executeTime = Calendar.Now.AddWorkingHours(4);

//Аргументы обработчика SendReminder расположенного в модуле Notifications
var args = new starkov.Notifications.Server.AsyncHandlerInvokeArgs.SendReminderInvokeArgs();
args.NextRetryTime = executeTime;

//Заполнение параметров, добавленных при создании обработчика SendReminder
//args.Xxx = xxx;
//args.Yyy = yyy;
          
//Guid (Идентификатор) обработчика SendReminder
Guid sendReminderGuid = Constants.Module.SendReminderGuid;

//Выполнить отложенный старт асинхронного обработчика 
starkov.Common.PublicFunctions.Module.DelayExecuteAsync(sendReminderGuid, args, executeTime);


Сопутствующий функционал

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


Эффективность

Она есть.
Утром была, мы проверяли.
А самое главное - стабильность и ни единого разрыва!
 

Они уже пользуются нашим решением, а чего добился ты!?

  • МАУ "Центр муниципальных информационных ресурсов и технологий" (г. Череповец);
  • Территориальный фонд обязательного медицинского страхования Свердловской области;
  • Газпром трансгаз Екатеринбург;
  • Правительство Вологодской области;
  • Правительство Курганской области.

 

Команда проекта


 

Пока комментариев нет.
Авторизуйтесь, чтобы написать комментарий

У вас похожая задача?

Обсудите реализацию с экспертом Directum

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле

Благодарим за интерес! Мы свяжемся с вами.

Directum Awards 2024
Какой проект лучше?
Авторизуйтесь, чтобы оценить материал.
Авторизуйтесь, чтобы оценить материал.
Directum Awards 2024
Спасибо за активность!
Ваш голос принят