11.1 Understanding Report Editor Options

To open Report Editor, navigate to Manage > Report Editor and choose a report template from the Search for Report Template drop-down list. When you select a report, such as Users Report, Report Editor creates a clone of the selected report and assigns it a new Report ID, Display Name, and Description. You can modify these properties in the Report properties section. For more information, see Report Properties.

11.1.1 Report Graph

A report graph is a visual representation of the connections among entities, filters, and result attributes in a report definition. In a report definition, there can be multiple entities, also known as secondary entities. The report graph also depicts relationships between secondary and primary entities, such as groups and their members, and user and their roles.

The report graph uses the following legends:

  • Yellow: Represents an entity, secondary entities (if any), and connections between them.

  • Blue: Represents filters and links to an entity.

  • Green: Represents attributes shown in the result table. The attributes are linked to an entity, and the link is shown in green dashed lines.

11.1.2 Report Properties

Using this option, you can configure the data source (entities) that generates the report and display settings for a report card on the Reports page.

Table 11-1 Report properties and definition

Parameter

Description

Report ID

A report name or ID assigned by ACDI. You cannot modify this value. It is used while importing a report into OpenSearch.

Display Name

Specify a unique name to display on the report card.

Description

Specify a description for the report to display on the report card.

Icon

Provide a base64 encoded PNG icon to display on the report card.

Color

Specify a hex color code or use the color picker for your report card background.

Report version

Displays the ACDI reporting version. This is a read-only field.

Report Tags

Add tags to help organize reports with common tags into a custom Reports sub-menu. Tags are also useful for searching reports.

Main index name

Specify the name of the OpenSearch index alias used for fetching the data. This alias serves as the data source for the report definition you want to create.

ACDI stores data in OpenSearch as indices grouped into special aliases. An alias starting with workflow (for example, workflow-default) contains events from the Workflow Monitoring package. Similarly, an alias starting with report (for example, report-default) contains data received from the snapshot services. The default suffix represents the LDAP connection to the data connector, the default data connector being OpenText eDirectory. For secondary data connectors such as Active Directory, the suffix is -ad.

Main entity name

Specify a root entity that connects objects from the same types of indices or different indices, such as OpenText eDirectory snapshots and event service. A report can include more than one entity. For example, the root entity for the Audit Users report is Audit, whereas the root entities for the Audit Objects report are audit, snapshot, and modifier.

For information about creating an entity, refer to the Entities section.

Default sort attribute

Specify the attribute name used for sorting the data in the report result table. For example, the Group Membership Report result is sorted by the Group’s dn (Distinguished Name).

Sort order

Specify the order for sorting attributes by default: in ascending or descending order.

The amount of result records

Specify the maximum number of records (rows per page) to display in the report result.

Show flat result

Enable to display an expanded/flat view of the nested entities in the report result.

The default time shift

Specify the default value to display in the date picker when filtering a report.

This field works in tandem with the default time metric. For example, when the default time shift is set to 7 and the default time metric is set to days, the date time range considered for filtering reports is the last 7 days.

The default time metrics

Specify the time metric to use with the default time shift field. The value includes seconds, minutes, days, weeks, months, and years.

Round date-time value

Enabled to round up the date-time value to a specific value.

The Slice load

Enable to load partial records while displaying report results on a page. Partial loading improves performance and prevents reporting system crashes, especially when reports include many secondary entities and attributes with long strings. Additionally, it is helpful when many post-processing functions are applied to the report.

The size of slice

Specify the number of records to fetch in one request. The maximum limit configurable is 100.

Limit of data to show on the front-end (Mb)

Specify the limit of the data displayed on the front end. ACDI stops loading the report result after the set limit is reached. This prevents the out-of-memory error in the browser. The maximum limit is 300.

11.1.3 Entities

When you create a report definition, you also create an entity with OpenSearch Index as its data source and, the query filter as a specific attribute used to retrieve data for the report.

A report can contain more than one entity. For example, the root entity for the Audit Users report is Audit, whereas the root entities for the Audit Objects report are audit, snapshot, and modifier. Filters and result table attributes are associated with each entity.

Table 11-2 Entities and description

Parameter

Description

Name of the entity

Specify a name for the entity.

Query to filter

Click the icon to specify the OpenSearch query for filtering entity data. For example, in the Users Report, the query objectClass:inetOrgPerson provides information about users from a snapshot.

The DateTime field

Specify the date and time of the snapshot or audit events used for the entity.

For entities based on the snapshot services, select one of the following options:

  • initDateStamp: The date and time when the snapshot was initiated.

  • DateStamp: The date and time when the snapshot was taken.

For entities based on audit events, select audittime or eventtime.

The Entity Index

Specify the OpenSearch index alias used for fetching the data. The Entity Index field is same as the Main index name defined in the Report Properties tab. Therefore, if you use the alias main for The Entity Index field, you automatically set the index alias specified in the Main index name.

Entity primary key

Specify an attribute name to use as the primary key for the entity. This value is used when defining relations between entities.

Mandatory Attribute

Click the plus icon and add an attribute name of the entity to retrieve from OpenSearch in Attribute. You can add multiple attributes.

Attribute

Specify an attribute name of the entity to retrieve from OpenSearch. You can add multiple attributes.

The relations

Click the plus icon and specify the following details.

Source attribute

To create a relation between two entities, specify which attribute of the source entity links to the destination entity. For example, between user and role, the role entity is linked to user entity via the nrfassignedroles attribute. The nrfassignedroles attribute shows direct role assignments.

The relationship type

  • one:

  • many: Select when the source entity has many values. For example, one user may have many roles.

The link query type

  • term:

  • regex:

The Source Attribute value transformation function

Select the post-processing function to parse the value you need.

Enable transformation

Enable this option if you want to apply post processing for The Source Attribute value transformation function you selected.

Link by exact datetime

Enable this option to link entities by exact date and time value in the result.

The Destination Entity Name

Select the destination entity you want the destinatio

Destination Attribute

 

The relationship type

  • one:

  • many: Select when the source entity has many values. For example, one user may have many roles.

11.1.4 Filters

Filters are conditions that you apply to data when creating a report. For example, the Group Membership Report has predefined filters for the Group and Person entities. You can use these filters to narrow down the results and generate a report that includes only the relevant data you want in your report.

The following table lists the parameter you need to define for each filter.

Table 11-3 Filter parameters and description

Parameter

Description

Name of the Filter

Specify a display name for the filter. This value is displayed in the Report Graph and the Filters tab of the report.

ID of the Filter

Provide a unique ID for the filter. This value is displayed as the filter label in the list of filters in the Report Editor.

The entity name

Specify the entity to which the filter applies. For example, the Container filter applies to the Group entity in the Group Membership Report.

Data source name

Specify the source of the data. It is either opensearch or predefined.

If you select predefined, you must define a JSON array in The JSON array for predefined filter values (text) field. The JSON array will serve as the source for the predefined data.

The Attribute Name filter based on

Specify the attribute name used for filtering. For example, a group filter is based on the group’s cn. Filters based on date/time, such as Start Date, End Date, and Request Date in the Role Request Report are based on the nrfStartDate, nrfEndDate, and nrfRequestDate attributes respectively.

This field is case-sensitive.

The Attribute field type

Specify the type of search used for filtering. This applies to attributes with string field types. The default value is keyword. When you select keyword, only exact, case-sensitive matches are allowed. Alternatively, the field option can be used for full-text search and allows partial matches.

The Sort Attribute

Specify the attribute name used for sorting the values in the filter window. For example, a group filter based on the cn attribute of a group will be sorted based on its cn attribute.

The Sort order

Based on The Sort Attribute, the Sort order determines whether the data is sorted in ascending or descending order by default.

Additional Attributes

Attribute used for postprocessing function. <TBD>

The Filter type

Choose the filter type from the following options:

  • autocomplete_search: Displays matching options while the user types a keyword.

  • date_time: Select this option for filter attributes that are based on date/time. For example, Start Date filter based on the nrfStartDate attribute.

    After selection, specify the values for the DateTime Format Pattern, Type of dateTime field, Direction of dateTime shift, and Default time shift from now (in days) fields.

Filter multiple selection

Defines how the search keyword will be processed

Determines how the search keyword will be processed. To use regular expression to match the characters you type into the search field, select regexp.

Case sensitive search

This option enables case sensitivity for the autocomplete_search filter type.

Delay to start autocomplete search (ms)

Specify the time after which the suggestion will be displayed to the user. The time between starting to type and performing a search. The value 0 indicates the field is disabled.

Collapse result

Collapse search results based on field values.

Filter-out all identical values

Enable this option to show only unique values.

Filter-out all empty values

Enable this option for the filter to display only values with data.

Filter-out all values which have no Entity mandatory Attributes

Enable this option for the filter to display only records for entity with mandatory attributes.

The Multiple values query logic

The query logic to apply for multiple values.

Size of records to fetch

Specify how many records will be requested to fill the filter.

The Postprocess function name

Select the post-processing function name that the filter will use.

Enable/Disable filter postprocess

Enables or disables postprocessing on the filter.

The DateTime Format Pattern

Specify the date and time pattern to display in the report result. For example, you can use the pattern yyyyMMDDHHmmss[Z].

Type of dateTime field

Specifies whether the dateTime field is a date or date_string.

Direction of dateTime shift

Depending on the value selected for the Default time shift from now (in days) field, specify whether it applies to the last or next date/time. For example, if the Default time shift from now (in days) field is set to 30 days, then next implies the next 30 days whereas last implies the last 30 days.

Default time shift from now (in days)

Specify the number of days that will apply to the date-time based filter by default.

The JSON array for predefined filter values (text)

If you select predefined in the Data source name field, you must define a JSON array that will serve as the source for the predefined data.

11.1.5 Result Table Attributes

The attributes listed in the Result Table Attributes are displayed in the report results when you run a report. You can add or remove attributes, customize their display, and apply JavaScript functions for post-processing.

Table 11-4 Result table attributes and description

Parameter

Description

Name of the Attribute

Specify the attribute name used to retrieve the data.

The Entity Name

Specify the entity to which the attribute belongs.

Alias name for the attribute

Provide a label for the attribute to be displayed in the report result.

Use attribute for entity object

If you want to add a secondary entity to your report definition, enable this option and assign the attribute to this entity in the report. To obtain additional attributes for the secondary entity, you must create more attributes with this option disabled.

Data source name

Specifies the source of your data, which is opensearch by default.

Hide from the result

Enable this option to hide the attribute value from the result table. This is also used in post-processing, if the value of this attribute is required for calculations and displaying the result.

Postprocess Function name

Select the post-processing function that you want to apply to the attribute.

Enable/Disable postprocess

Enable this option if want to apply post-processing function to the attribute.

Pass full record object to the postprocess function

Enable this option to pass full record object as a function argument to the post-process function.

Field width

Specify the width of the attribute column in the report result.

Achieve left side fixed columns by setting fixed property

Enable this option if you want the attribute to be displayed in a fixed-width column on the left side of the report result.

11.1.6 Postprocessing

The Post-processing functions are written in JavaScript. Postprocessing allows you to include JavaScript functions that apply to filter values or data in the final report. You can also change attribute values in CSV format to meaningful descriptions.

Let us explore some post-processing scenarios using the Users Login Expire report. This report uses OpenText eDirectory snapshots to display user login expiration times based on the loginexpirationtime attribute of users. You can enhance the report by applying post-processing functions to display additional meaningful data, such as the number of days until login expiration or whether the login has already expired.

To understand post-processing functions, perform the following steps:

  1. On the ACDI’s Home page, click Manage > Report Editor.

  2. Select Users Login Expire report from the Search for Report Template drop-down list.

    The ACDI Report Editor creates a clone of the selected report and assign it a new Report ID, Display Name, and Description.

  3. Click Save As and specify a new Template Name for this custom report. For example, Custom Users Login Expire report.

  4. Click Postprocessing.

  5. Click Function [1] formatDateString to add a separator between the years, months, days, hours, and minutes.

  6. To apply this function to the Login Expiration Time column in the final report, perform the following steps:

    1. Click Result Table Attributes > Attribute (loginExpirationTime).

    2. Enable the Enable/Disable postprocess option.

    3. Set the Postprocess Function name to formatDateString.

    4. Click the Save icon.