10.1 Understanding Report Editor Options

This section details all options and settings in the ACDI Report Editor.

To open the 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 NetIQ Users Report, the ACDI Report Editor will create a clone of the selected report and assign it a new Report ID, Display Name, and Description. You can modify these properties in the Report properties (The general report settings) section. For more information, see Report Properties (The general report settings).

10.1.1 Report Graph

A report graph is a part of the report definition. The graph illustrates the connection between an entity, the filters, and the result attributes displayed in the report results. A report definition can involve multiple entities, known as secondary entities. The report graph also depicts the relationships between secondary entities and the main entity, such as groups and their members, roles and users.

The following is a list of legends used in the report graph:

  • Yellow represents an entity. Also, includes secondary entities (if any) and the connection between them.

  • Blue represents filters and the links to an entity.

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

10.1.2 Report Properties (The general report settings)

The report properties allows you to configure the data source (entities) that generates the report, as well as display settings for a report card on the Reports page.

Table 10-1 Report properties and definition

Parameter

Description

The Report ID

A report name or ID that is automatically assigned by ACDI and cannot be modified. It is used when importing the report into OpenSearch.

Display Name

Specify a unique name to display on the report card.

Description

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

Icon

Provide the 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.

The Report version

Displays the ACDI reporting version. The latest version is 4, and this field cannot be modified.

Report Tags

Tags are used to organize and find reports. Add tags to the report to help organize reports with common tags into a custom Reports sub-menu.

The 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 eDirectory. For secondary data connectors like Active Directory, the suffix is -ad.

The Main entity name

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

To create an entity, refer to the Entities section.

Default sort attribute

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).

The Sort order

Based on the Default sort attribute, the Sort order determines whether the data is sorted in ascending or descending order by default.

The amount of result records

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

Show flat result

Displays an expanded/flat view of the nested entities in the report result.

The default time shift

The default value displayed in the date picker when filtering a report.

This field is based on the default time metrics. For example, when the default time shift is set to 7 and the default time metrics is set to days, it indicates the date time range considered for filtering report is last 7 days.

The default time metrics

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

Round date-time value

When enabled, rounds up the date-time value to a specific value.

The Slice load

Allows partial loading of records when displaying report result on a page. This can improve performance and prevent the reporting system from crashing, especially when dealing with reports that include many secondary entities and a large number of attributes with long strings. Additionally, it is helpful when there are many post-processing functions applied to the report.

The size of slice

The amount of records to fetch in one request. The maximum limit configurable is 100.

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

When running reports with many objects, it can consume a significant amount of memory, which may lead to an out-of-memory error in the browser. To prevent this, ACDI allows you to limit the displayed data on the front-end and to stop loading the report result once the set limit is reached. The maximum limit configurable is 300.

10.1.3 Entities

An entity is the root object in a report definition. When you create a report, you also create an entity, and the OpenSearch Index serves as the data source for that entity. A query filter, such as objectClass:inetOrgPerson, is used to retrieve data for this report.

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

Table 10-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 NetIQ Users Report, the query objectClass:inetOrgPerson provides information about users from a snapshot.

The DateTime field

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

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

  • 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 can use the alias main for The Entity Index field, you automatically set the index alias specified in the Main index name.

Entity primary key

The attribute name used as primary key for the entity. This value is used when defining relations between entities.

Mandatory Attribute (Mandatory attributes will be fetched from the OpenSearch)

Attribute

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

The relations (List of Relations between entities)

Source attribute

Specify the attribute of the source entity that links to the destination entity. To create a relation between two entities, for example, between user and role, role entity is linked to user entity via the nrfassignedroles attribute. “nrfassignedroles” is an attribute that 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 The Source Attribute value transformation function you selected.

Link by exact datetime

Enable this option to link entities by exact date/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.

10.1.4 Filters

Filters are conditions that you apply to data when creating a report. For example, the NetIQ 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 list parameters you need to define for each filter.

Table 10-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 NetIQ 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 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

This field is case-sensitive.

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 NetIQ Role Request Report are based on the nrfStartDate, nrfEndDate, and nrfRequestDate attributes respectively.

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.

10.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 10-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.

10.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 NetIQ Users Login Expire report. This report uses 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 NetIQ 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. This function is intended to make the date string more readable by adding a separator between the years, months, days, hours, and minutes. 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.