Source: projects/identity-management/oim-kb-update/sandbox-db/2026-04-27-ad-shop-itshop-publication.md

> Source: projects/identity-management/oim-kb-update/sandbox-db/2026-04-27-ad-shop-itshop-publication.md

AD Shop Seed - IT Shop Publication Result

Summary

The 97 fictional AD entitlement groups from ad-shop-catalog.json were already synchronized into ADSGroup.

They were published into the One Identity Manager IT Shop as requestable products on 2026-04-27.

Publication used the researched direct DB sequence because this sandbox task was a controlled bulk research update:

1. Create one AccProduct service item per synced ADSGroup.

2. Assign each service item to one of the four sandbox AccProductGroup service categories.

3. Set the AD membership approval policy on the service items, service categories, and BO shelves.

4. Link each ADSGroup to its service item through ADSGroup.UID_AccProduct.

5. Set ADSGroup.IsForITShop = 1 and ADSGroup.IsITShopOnly = 0.

6. Assign each group to the correct BO shelf through BaseTreeHasADSGroup using the ITShopOrgHasADSGroup object-key discriminator.

7. Let the DBQueue/product-node processing create the resulting ITShopOrg PR nodes.

Generated SQL

Approval Policy

The publication used the predefined AD policy:

UID_PWODecisionMethodIdent_PWODecisionMethod
ADS-625C7339178444AD9FBC0A8A7EC3901BApproval of AD group membership requests

This policy was written to:

Service Catalog Mapping

Catalog sliceCountService category / BO shelf
Application tier groups APP_*75Sandbox Applications
Business-role marker groups BR_*9Sandbox Business Roles
System-role placeholder groups SR_*10Sandbox System Role Bundles
Distribution-list-shaped groups DL_*3Sandbox Distribution Lists

Mutation Audit Snapshot

The mutation was executed through scripts/sandbox/Invoke-SandboxSql.ps1 with -DmlMode,

-IUnderstandDirectOimDml, -Reason, and -VerifyQuery, wrapped in the sandbox lock.

Pre/post snapshot:

CheckBeforeAfter
Catalog-backed AccProduct rows097
IT Shop enabled AD groups097
Groups with IsITShopOnly = 0097
Products with AD membership approval policy097
Sandbox categories with approval policy04
Sandbox shelves with approval policy04
Shelf assignments through BaseTreeHasADSGroup097
Product nodes inside transaction snapshot00

Follow-up verification after DBQueue/product-node processing:

ShelfProduct nodes
Sandbox Applications75
Sandbox Business Roles9
Sandbox Distribution Lists3
Sandbox System Role Bundles10

Total PR nodes: 97.

QBMDBQueueCurrent showed no pending rows for QER-K-OrgAutoChild or

QER-K-ShoppingRackProductNode after the product-node verification.

Object-Key Detail

For IT Shop AD-group shelf assignments, the physical row is in BaseTreeHasADSGroup, but the

object-layer/table discriminator should be the view-table assignment:

<Key><T>ITShopOrgHasADSGroup</T><P>{UID_ADSGroup}</P><P>{UID_ITShopOrg}</P></Key>

This differs from generic BaseTreeHasADSGroup examples and from non-IT-Shop view-table assignments

such as DepartmentHasADSGroup or OrgHasADSGroup.

Sample Verification Row

Example result after publication:

ShelfProduct nodeArticleCode / SAMAccountNameFlagsApproval policy
Sandbox ApplicationsAtlas Office - Read-onlyAPP_ATLAS_READERIsForITShop=1, IsITShopOnly=0Approval of AD group membership requests

Modeling Notes