Hi @dustin_cody ,
I did some digging into this and this is what I found.
A ManagedAttribute description stored in two different places:
- Object Properties — basically a general free-text property.
- Standard Properties — the actual locale-aware description field, such as
en_US.
IIQ’s Explanator, which is what actually resolves descriptions everywhere, only reads Standard Properties. So a description can look totally fine in Object Properties and still never show up anywhere in IIQ. Worth ruling that out first.
Separately: IdentityEntitlement doesn’t store a description at all. It just stores application/name/value/type. IIQ has to resolve the description from the matching ManagedAttribute at runtime.
Here’s the actual bug: the server does correctly resolve the description via Explanator.getDescription(...), but it never makes it into the JSON response the grid uses — it gets computed, then dropped before serialization. Confirmed this by checking the network response directly; the value just isn’t there. That means no UIConfig or renderer change can fix it, as long as I could find. the data’s gone before the UI ever sees it.
Workaround: there’s a separate endpoint that already returns the description correctly:
GET /rest/identities/{identityId}/identityEntitlements/{entitlementId}/details
Unhide the existing description column, then hook the grid’s load event to call this endpoint per row and patch the description in:
entStore.on('load', function(store, records) {
Ext.each(records, function(r) {
Ext.Ajax.request({
url: '/rest/identities/' + identityId + '/identityEntitlements/' + r.get('id') + '/details',
success: function(resp) {
var d = Ext.JSON.decode(resp.responseText);
if (d.description) { r.set('description', d.description); r.commit(); }
}
});
});
});
(entStore/identityId will need to match whatever they’re actually called in your version.)
One thing to keep in mind: the JavaScript would be modifying a shipped core file, so applying this would require access to the IIQ application server/filesystem