эффективность разработки
довольных заказчиков
инструментов в решении
Берем боль администраторов системы, добавляем по вкусу "интересные" возможности для разработчиков, а сверху щепотку функционала для пользователей, охапку дров и Service Kit готов.
А что этот Kit умеет:
Состоятельные парни, могут прочитать полное и детальное описание решения, в статье на 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);
Он есть, но о нем мы не расскажем и детали мы оставим в тайне.
Открывай, исследуй, доминируй, восхищайся.
Пусть это будет сюрпризом.
Она есть.
Утром была, мы проверяли.
А самое главное - стабильность и ни единого разрыва!
Опубликовано:
27 января 2023 в 18:01
Обсудите реализацию с экспертом Directum