Can we have description field searchable for entitlements?

Which IIQ version are you inquiring about?

8.3p2

Please share any images or screenshots, if relevant.

Share all details about your problem, including any error messages you may have received.

Can the description field be made available to the entitlement search result?

Those are stored in the sysDescriptions entry in the xml attributes which is a CLOB in the database. While it’s probably technically possible to achieve what you want in Advanced Analytics, unless there’s a very good reason you need it that way, it’d probably be a lot easier to make a custom rule or report that just searches the sysDescriptions. Or maybe even something that periodically stores the text in a custom database table along with the ManagedAttribute id and searches that table instead. The sysDescriptions entry also contains a map with the language of the description, like en_US, and value of the description in that language, so that’d have to be accounted for in all of this as well. If for some reason, you have to do it this way, I imagine you’re going to have to modify a lot of built-in hibernate objects and replace a lot of IIQ code, and none of this will be supported by SailPoint if it breaks something.

I am interested in what it takes to make sysDescriptions searchable.

In which way? I described 3 ways to search for it, but I’ll throw in a 4th.

  1. Custom rule
  2. Custom report
  3. Custom plugin
  4. Modify core functionality

I prefer 3. Custom plugin and 4. Modify core functionality

Actually, there may be a halfway decent way to make it happen. I haven’t tested it, but in theory, you could maybe add something like this to your ManagedAttributeExtended.hbm.xml file and do all of the other necessary steps for making an extended attribute. This snippet is for Oracle db, but you can modify the formula to fit whichever db you’re working with. You’d probably want to add a function-based index to the table matching whatever the hibernate query looks like in the end to speed this up too.

<property name="searchableDescription" type="string" formula="XMLCAST(XMLQUERY('$attrs/Attributes/Map/entry[@key=&quot;sysDescriptions&quot;]/value/Map/entry[@key=&quot;en_US&quot;]/@value' PASSING XMLPARSE(DOCUMENT ATTRIBUTES WELLFORMED) AS &quot;attrs&quot; RETURNING CONTENT) AS VARCHAR2(128))" length="128"/>

Plugins are a bigger undertaking than a custom rule, so you’d really need to know how to generally make one first. Here’s the documentation for it: Plugin Developer Guide | SailPoint Developer Community

For modifying core code, that’s something where if you don’t know how to do it, you shouldn’t do it. And if you do know how, you’d still need an extremely good reason and usually wouldn’t have any other alternative unlike now.

1 Like

You can create additional attribute for Entitlement under Global Settings → Entitlement Catalog Attributes and make it searchable.

I don’t think you can mark sysDescriptions as searchable.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.