Web Portal account Search

Hello!

I'm using Identity Manager 9.2.1.

I've created a custom page on the Web Designer Web Portal showing all accounts from UNSAccount (excluding orphans), but the default search function isn't working properly. For instance, if I type "user1" in the search field I expect 2 results (one from ADSAccount and one from UNSAccountB), but it only shows one account. I found this on the Appserver logs:

2025-07-07 18:52:09.3163 DEBUG (Indexing ) : Search query user1 -> query object UNSAccount Display en-US:*user1* UNSAccount AccountName :*user1* UNSAccount CanonicalName :*user1* UNSAccount Description :*user1* UNSAccount UID_Person en-US:*user1* UNSAccount cn :*user1*
2025-07-07 18:52:09.3163 INFO (Indexing ) : Search query user1; not filtered, startIndex: 0, maxsize: 5000, tables: UNSAccount, 2 results. Duration: 1038.7661 ms, Culture: en-US
2025-07-07 18:52:09.3163 DEBUG (AppServer 973b0def-1716-40bf-b13e-8a460d02e6c3) :   Duration: 1056ms
2025-07-07 18:52:09.3475 DEBUG (AppServer zQScGdSbZIVw2swfD8Xm) : Executing request: /appserver/agent
2025-07-07 18:52:09.3475 DEBUG (StopWatch SW) : Getting Schema/UNSAccountB from cache. done in 0ms.
2025-07-07 18:52:09.3475 DEBUG (AppServer zQScGdSbZIVw2swfD8Xm) :   Duration: 0ms
2025-07-07 18:52:09.3475 DEBUG (AppServer zQScGdSbZIVw2swfD8Xm) : Executing request: /appserver/agent
2025-07-07 18:52:09.3475 DEBUG (StopWatch SW) : Getting Schema/ADSAccount from cache. done in 0ms.
2025-07-07 18:52:09.3475 DEBUG (AppServer zQScGdSbZIVw2swfD8Xm) :   Duration: 0ms
2025-07-07 18:52:09.4257 DEBUG (AppServer b44feb9a-67ff-4afc-b76a-5aa399dd87e1) : Executing request: /appserver/EntitySource
2025-07-07 18:52:09.4257 TRACE (ObjectLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :   Classification risk: 0, fp: , hash: , trusted hash: , already checked: False, tries: 0, last try: - ago, where clause: (xobjectkey in ('<Key><T>UNSAccountB</T><P>627de19e-8512-603b-ad69-2c337784679e</P></Key>')) and (UID_Person is not null)
2025-07-07 18:52:09.4257 TRACE (ObjectLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :   User from trusted frontend -> ignore risk.
2025-07-07 18:52:09.4257 DEBUG (ObjectLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :   UNSAccount: Getting collection, load type: BulkReadOnly, ForeignDisplays, ForeignDisplaysForAllColumns
2025-07-07 18:52:09.4257 TRACE (SqlLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :      ClaimConnectionAsync - read write, _transaction == null
2025-07-07 18:52:09.4257 TRACE (SqlLog ) :  -- Connection 1 switched from Available to Working after comparison
2025-07-07 18:52:09.4257 TRACE (SqlLog ) : Read/Write Pool --> existing connection 1
2025-07-07 18:52:09.5507 DEBUG (SqlLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :      (124 ms) - select * from (select UNSAccount.AccountDisabled, UNSAccount.AccountName, UNSAccount.CanonicalName, UNSAccount.cn, UNSAccount.LastLogon, UNSAccount.UID_DPRNameSpace, UNSAccount.UID_Person, UNSAccount.UID_UNSRoot, UNSAccount.XObjectKey, UNSAccount.xdateupdated, UNSAccount.AccountExpires, UNSAccount.Description, UNSAccount.DistinguishedName, UNSAccount.FirstName, UNSAccount.IdentityType, UNSAccount.IsGroupAccount, UNSAccount.IsPrivilegedAccount, UNSAccount.LastName, UNSAccount.MatchPatternForMembership, UNSAccount.NeverConnectToPerson, UNSAccount.ObjectGUID, UNSAccount.PWDLastSet, UNSAccount.RiskIndexCalculated, UNSAccount.UID_TSBAccountDef, UNSAccount.UID_TSBBehavior, UNSAccount.UID_UNSAccount, UNSAccount.UID_UNSContainer, UNSAccount.XDateInserted, UNSAccount.XMarkedForDeletion, UNSAccount.XTouched, UNSAccount.XUserInserted, UNSAccount.XUserUpdated, d0.d0_DisplayName, d1.d1_InternalName, d1.d1_CentralAccount, d2.d2_DisplayName, d2.d2_Ident_UNSRoot, d3.d3_Ident_TSBAccountDef, d4.d4_Ident_TSBBehavior, d5.d5_cn from UNSAccount left outer join (select UID_DPRNameSpace as UID0, DisplayName as d0_DisplayName from DPRNameSpace) as d0 on UNSAccount.UID_DPRNameSpace = d0.UID0  left outer join (select UID_Person as UID0, InternalName as d1_InternalName, CentralAccount as d1_CentralAccount from Person) as d1 on UNSAccount.UID_Person = d1.UID0  left outer join (select UID_UNSRoot as UID0, DisplayName as d2_DisplayName, Ident_UNSRoot as d2_Ident_UNSRoot from UNSRoot) as d2 on UNSAccount.UID_UNSRoot = d2.UID0  left outer join (select UID_TSBAccountDef as UID0, Ident_TSBAccountDef as d3_Ident_TSBAccountDef from TSBAccountDef) as d3 on UNSAccount.UID_TSBAccountDef = d3.UID0  left outer join (select UID_TSBBehavior as UID0, Ident_TSBBehavior as d4_Ident_TSBBehavior from TSBBehavior) as d4 on UNSAccount.UID_TSBBehavior = d4.UID0  left outer join (select UID_UNSContainer as UID0, cn as d5_cn from UNSContainer) as d5 on UNSAccount.UID_UNSContainer = d5.UID0  where ((xobjectkey in ('<Key><T>UNSAccountB</T><P>627de19e-8512-603b-ad69-2c337784679e</P></Key>')) and (UID_Person is not null))) as x ORDER BY left(CanonicalName, 512) OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY
2025-07-07 18:52:09.5507 TRACE (SqlLog ) : -- Connection 1 switched from Working to Available
2025-07-07 18:52:09.5507 DEBUG (ObjectLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :       Collection: Run statement and fetch data done in 125ms.
2025-07-07 18:52:09.5507 DEBUG (ObjectLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :       Collection.Count: 1
2025-07-07 18:52:09.5507 DEBUG (ObjectLog b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :       Getting collection done in 126ms.
2025-07-07 18:52:09.5507 DEBUG (AppServer b44feb9a-67ff-4afc-b76a-5aa399dd87e1) :   Duration: 126ms
The first query correctly returns 2 results, so I don't understand why the second query filters by xobjectkey, including only one account.
Can you help me? Thank you in advance