Report Forms
Report forms are used to display report-specific filters to the user in the Edit Report window. The form must be created as an independent Form object and referenced from the report definition in a <ReportForm>
element.
At runtime, the form is combined with the Report Form Skeleton, which defines the Standard Properties and Report Layout pages. Each section named in the form is created as its own Report Properties page, displayed between the Standard Properties and Report Layout pages. The page name, shown in the Sections list and at the top of the form, is specified as the Section's label attribute.
<Form name="Uncorrelated Accounts Report Custom Fields">
<Section label="Uncorrelated Accounts Parameters" name="customProperties">
<Field displayName="report_input_correlated_apps" filterString="logical==false &&
authoritative==false" helpKey="rept_input_uncorrelated_ident_report_correlated_apps"
name="correlatedApps" type="Application" value="ref:correlatedApps"/>
</Section>
</Form>
An example of a simple report form is shown below. It contains only one section, formatted in two columns with several datatypes represented (dates, objects, and Boolean). The displayName and helpKey values on this report are localizable message keys. The values are all pulled from the TaskDefinition's input arguments, if any are provided there, to set the fields' default values.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Form PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Form created="1346776069392" id="4028460239921ba40139921bf510019a" modified="1346776080142"
name="Application Owner Access Review Report Form">
<Section columns="2" label="rept_cert_custom_section_title" name="customProperties">
<Field displayName="rept_cert_field_create_start" helpKey="rept_cert_help_create_start"
name="createStartDate" type="date" value="ref:createStartDate"/>
<Field displayName="rept_cert_field_create_end" helpKey="rept_cert_help_create_end"
name="createEndDate" type="date" value="ref:createEndDate"/>
<Field displayName="rept_cert_field_signed_start" helpKey="rept_cert_help_signed_start"
name="signedStartDate" type="date" value="ref:signedStartDate"/>
<Field displayName="rept_cert_field_signed_end" helpKey="rept_cert_help_signed_end"
name="signedEndDate" type="date" value="ref:signedEndDate"/>
<Field displayName="rept_cert_field_due_start" helpKey="rept_cert_help_due_start" name="dueStartDate"
type="date" value="ref:dueStartDate"/>
<Field displayName="rept_cert_field_due_end" helpKey="rept_cert_help_due_end" name="dueEndDate"
type="date" value="ref:dueEndDate"/>
<Field displayName="rept_cert_field_apps" helpKey="rept_cert_help_apps" multi="true"
name="applications" type="Application" value="ref:applications"/>
<Field displayName="rept_cert_field_tags" helpKey="rept_cert_help_tags" multi="true" name="tags"
type="Tag" value="ref:tags"/>
<Field displayName="rept_cert_field_cert_group" helpKey="rept_cert_help_cert_group" multi="true"
name="certificationGroups" type="CertificationGroup" value="ref:certificationGroups"/>
<Field displayName="rept_cert_field_show_exclusions" helpKey="rept_cert_help_show_exclusions"
name="exclusions" type="boolean" value="ref:exclusions"/>
</Section>
</Form>
This form is rendered as shown in the Report Properties section of the Edit Report window.
In report forms, sections can be created without Field definitions, allowing the report's taskDefinition's initialization rule/script to create the form fields. Several of the standard reports, for example, use an initialization rule to generate a pages of Application and/or Identity attribute filters based on the installation's system data, the defined standard and extended attributes, so the report forms themselves are defined with empty sections. The Privileged Access Report form provides an example of a dynamically built form.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Form PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Form created="1346776069392" id="4028460239921ba40139921bf510019a" modified="1346776080142"
name="Application Owner Access Review Report Form">
<Section columns="2" label="rept_cert_custom_section_title" name="customProperties">
<Field displayName="rept_cert_field_create_start" helpKey="rept_cert_help_create_start"
name="createStartDate" type="date" value="ref:createStartDate"/>
<Field displayName="rept_cert_field_create_end" helpKey="rept_cert_help_create_end"
name="createEndDate" type="date" value="ref:createEndDate"/>
<Field displayName="rept_cert_field_signed_start" helpKey="rept_cert_help_signed_start"
name="signedStartDate" type="date" value="ref:signedStartDate"/>
<Field displayName="rept_cert_field_signed_end" helpKey="rept_cert_help_signed_end"
name="signedEndDate" type="date" value="ref:signedEndDate"/>
<Field displayName="rept_cert_field_due_start" helpKey="rept_cert_help_due_start" name="dueStartDate"
type="date" value="ref:dueStartDate"/>
<Field displayName="rept_cert_field_due_end" helpKey="rept_cert_help_due_end" name="dueEndDate"
type="date" value="ref:dueEndDate"/>
<Field displayName="rept_cert_field_apps" helpKey="rept_cert_help_apps" multi="true"
name="applications" type="Application" value="ref:applications"/>
<Field displayName="rept_cert_field_tags" helpKey="rept_cert_help_tags" multi="true" name="tags"
type="Tag" value="ref:tags"/>
<Field displayName="rept_cert_field_cert_group" helpKey="rept_cert_help_cert_group" multi="true"
name="certificationGroups" type="CertificationGroup" value="ref:certificationGroups"/>
<Field displayName="rept_cert_field_show_exclusions" helpKey="rept_cert_help_show_exclusions"
name="exclusions" type="boolean" value="ref:exclusions"/>
</Section>
</Form>