23. OneIM Course
11 февраля 2020 г.
15:41
<[redacted-email]>


Postgres

Чтобы транзакция создания записи в Postgres прошла - надо открыть и закрыть Sync Editor
AD Hoc - запуск синхронизации для определенного объекта
Надо создать процесс - который запустит процесс синхронизации для конкретного объекта
Provisioning - когда создается
Загрузка из XML
c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\010_Target System Integration\PowerShell\ThingyXMLFile\
Файл ThingyXML_v1.psm1 правим в нем
\$_XMLPath = "C:\Users\Administrator.DEMOLAB\Desktop\ThingyXMLFile\users.xml" (надо закомментить эту строку когда настраиваешь Sync проект чтобы он этот параметр брал из строки настройки)
Если проект не активирован - выполняется синхронизация на локальном компьютере!
Когда проект активируется - используется JobServer
Потом импортируем этот модуль и запускаем
\$ret = Get-ThingyXMLUser -Identity "01"
Или для создания нового пользователя
New-ThingyXMLUser -thingyName "fred" -thingyStatus "active" -thingyDescription "consultant" - thingyFax "123"
Ошибка при создании пользователя
В psm модуле в 848 строке
Когда в sync Editor создаем Scope , надо в фильтре писать
Ident_UNSRoot = 'XMLUser'

AdHoc

Копируем процесс ADS_Ads_Account_Insert в другое имя.
И настраиваем на событие INSERT

Pre-script



Thing.xml
Секция Listing
Перечисление объектов в браузере когда просматриваем пользователей
Логи OneIdentity
Логи процессора Powershell (в папке пользователя от которого запущен jobserver)

Конфиг логов можно найти в

И там путь к логам указан
API


Используется Postman и Fiddler для траблшутинга

Отчеты
StimulSoft.com
Добавить процесс
Из процесса передать параметры в форму отчета
Report компонент
MA - сотрудник
SingleTransaction (во вкладке параметры в Дизайнере у таблицы - для поля у таблицы) - если решили изменить одно поле у всех - то при ошибке у одного - будет откат всех
Есть скрипты на таблице - для событий - ВАЖНО! Например чтобы оставлять полномочия при переводе в другой отдел
Дебагер можно запускать из Object Browser
При компиляции CTRL+F чтобы не ждать DBQueue
Troubleshooting
c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\001_Availability Distribution Performance\SQL-for-tuning\
Фикс очереди
В Материалах
SQL-for-Tuning папка
DBQueue recreate
Перед очисткой очереди - остановить Schwduler
Update DialogDatabase set IsDBSchedulerDisabled=1
Отличие Truncate от Delete
При удалении возможно переполнение диска - лучше использовать Truncate (не будет заботиться о целостности)
update DialogDatabase set IsDBSchedulerDisabled=1
DBqueue состоит из агента и Service Broker
ConfigureSQLServer
Ускорение базы

TimeDelayAcctDefToProvision_LDP.sql
Измерение времени Provisiong при назначении AccDefinition
Тест производительности
JobsPerQueue.sql
Как много задач в очереди
DBQueue.Feeding.sql
При огромном кол-ве тасков
Создает доп таблийцу CCC_DialogDBQueueFeeding и копирует туда все задачи
И потом порционно отправляет их в очередь что ускоряет работу
Таблица DialogDbQueue - храние процессов, которые ещё не выполняются
QBMDBQueueCurrent - которые текущие таски
QBMDBQueueOwerview - параметры
Для работы с объектами базы данных - лучше использовать сессию
В менеджере DB – CheckDataConsistensely
Делать перед обновлением - есть информация в Installation Guide
Можно находить проблемы
Может помочь
В файле C:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\150_SDK\SQL\DB-examples.txt
== TRIGGERS ====
Check for disabled triggers:
SELECT DISTINCT o.NAME,CASE o.type WHEN 'U' THEN 'Table' ELSE '' END
AS TableType,CASE '%' WHEN '%' THEN 'all' ELSE '"' + t.NAME +'"' END
AS Triggername,t.is_disabled FROM sys.objects o JOIN sys.triggers t ON o.object_id=t.parent_id
WHERE o.type IN('U') AND o.NAME LIKE '%' AND t.is_disabled =1 AND
(0 =0 AND t.NAME LIKE '%' OR 0 =1 AND t.NAME NOT LIKE '%') ORDER BY 1
Enable OneIM Triggers:
Exec QBM_PtriggerEnable '%','%'
Тестирование
c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\000_Install_DataImport-demolabv8\OneIM-FlightCheck.ps1
Разработка
c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\005_Tooling\Dev-GoodPractice-UnitTests.docx
Лучше темплайт не держать большим и выновить все в скрипты
Танспорт
Фиксить на деве и переносить фиксы на продакт
На транспорте добиваться того, чтобы было без ошибок