Input Forms

Download this manual as a PDF file

This section describes how to create and manage input forms to use in custom reports in SL1.

Use the following menu options to navigate the SL1 user interface:

  • To view a pop-out list of menu options, click the menu icon ().
  • To view a page containing all of the menu options, click the Advanced menu icon ().

What is an Input Form?

An input form defines the user interface for a report. The user interface for a report allows the user to select options and data to include in the report. The Report Input Forms page (Reports > Management > Report Input Forms) displays a list of the input forms in your SL1 system. You can edit these input forms for your business needs, or you can create your own input forms for your reports.

An input form includes one or more components. You can include the following types of input components in an input form:

  • Static Layout Component. Provides containers for laying out the user interface, labels, and text boxes. For example, you can use these components to keep fields together in a horizontal group.

  • Form Input Component. Allows the user to specify inputs when generating an instance of the report. For example, checkboxes and drop-down fields.
  • Data Component. Allows you to include dynamic elements in the user interface for a report. These dynamic elements can retrieve data from the database and alter input items based on criteria, including formulas and switch statements. For example, if you select the checkbox Select individual devices, the Devices by Organization field displays a list of devices. This behavior is defined with Data Components.
  • Custom Report Components. Allows you to define a common combination of input elements and then use that combination of input elements in multiple report input forms, without having to construct each combination of input elements in each input form. For example, the Organization Selector (a default Custom Report Component included with SL1) provides options to select either the All Organization checkbox or to select from the list of Organizations.

Creating an Input Form

To create an input form:

  1. On the Report Input Forms page (Reports > Management > Report Input Forms), click the Create button. The Report Form Editor page appears:
  2. Complete the following fields:
  • Form Name. Type a name for the input form.
  • Form Type. Your choices are:
  • Report. Select this option if this input form is a complete user interface for a report. If you select this option, the input form will appear in the Input Form drop-down list in the Report Template Editor page.
  • Component. Select this option if this input form is a set of components that you want to re-use on multiple reports. If you select this option, the input form will appear in the Available Components pane in the Report Form Editor page.
  • Version. Enter a version number for the input form. ScienceLogic recommends changing the version number every time you edit a report form.
  • Author. Enter the name of the person or company that developed the report form. This field is automatically populated with the first and last name from your user account.
  1. Click Save. You can now add components to the input form.

Adding and Configuring Input Form Components

An input form includes one or more components. You can include the following types of input components in an input form:

  • Static Layout Components . Provide containers for laying out the user interface, labels, and text boxes.
  • Form Input Components. Provide typical HTTP input-form functionality and allows the user to specify inputs when generating an instance of the report. You must define report gluecode to process the values passed by Form Input Components.
  • Data Components. Allow you to include dynamic elements in report interfaces. Data Components can retrieve data from the database, alter input items based on various criteria, include formulas, switch statements, and other flexible tools.
  • Custom Report Components. Allow you to define a common combination of input elements and then use that combination of input elements in multiple reports (without having to define the combination of input elements each time you use it).

The following panes and buttons appear in the Report Form Editor page:

  • Form Structure. This pane displays a hierarchical list view of the components that have been added to the input form. In this pane, you can edit, remove, and rearrange the components that have been added to the input form.
  • Form Preview. This pane displays the components that have been added to the input form as they will display in the report's user interface. If you have configured components to interact with each other, e.g. a checkbox that controls the enabled/disabled state of a multi-select, you can test the behavior of the components by interacting with them in this pane. For an example of how to use the Form Preview pane, see the Simple Tabular Report example.
  • Available Components. This pane displays a list of all available component types.

The following buttons appear in the Report Form Editor page:

  • Data. By default, the Report Form Editor page does not display data source components in the Form Structure or the Available Components. Select the Data button to toggle the display of data source components.
  • Wrench icon (). Select this icon to edit a component.
  • Bomb icon (). Select this icon to remove a component from the input form.
  • Save. Select this button to save your changes to the input form.
  • Save As. Select this button to save your changes to the input form as a new input form.

The Report Form Editor does not automatically save when you add, remove, or edit a component. You must select the Save button in the Report Form Editor to save your changes.

To add or edit a component to an input form:

  1. To add a new component, either double click on the component name in the Available Components pane or Click and drag the component from the Available Components pane to the Form Structure pane.
  2. To edit an existing component, select the wrench icon () for that component in the Form Structure pane. The Edit Component modal page is displayed.
  3. To remove a component from an input form, select the bomb icon () for the component in the Form Structure pane.
  4. Enter a value in each field in the Edit Component modal page. The fields in this page are different for each type of component. The following sections describe each type of input component:
  5. Select the Save button in the Edit Component modal page.The Edit Component modal page closes.
  6. Select the Save button in the Report Form Editor page.

The components in an input form can be arranged hierarchically in the Form Structure pane. The order of the components in the Form Structure pane determines the order the components will be displayed on the input form. To move a component, click and drag the component in the Form Structure pane. When you start dragging a component, a set of dashed lines indicate where the component will be placed if you release the mouse button.

Some components can be arranged as children of other components. The following components can be "parents":

The child components will be arranged inside the parent in the input form. To add a child component to a layout component, click and drag the child component to the Drag components here section below the parent in the Form Structure pane.

  • Form input components and data source components that can reference data source components.

Arranging data source components as children of other components does not affect the configuration or function of either component; however, arranging data source components in a logical hierarchy improves the legibility of the Form Structure pane. To make a data source component a child of a form input component or data source component, click and drag the child component to the Drag sources here section below the parent in the Form Structure pane.

Editing an Input Form

To edit an input form:

  1. Go to the Report Input Forms page (Reports > Management > Report Input Forms).

  1. Click the wrench icon () for the input form you want to edit. The Report Form Editor page appears:
  2. Make changes to the input form. For a description of the fields in the Report Form Editor page, see the Creating an Input Form section. For a description of how to add, remove, and edit components on an input form, see the Configuring Input Form Components section.
  3. To save your changes, click Save. To save your changes as a new input form, click Save As.

Deleting an Input Form

To delete an input form, perform the following steps:

You cannot delete an input form that is associated with a report template.

  1. Go to the Report Input Forms page (Reports > Management > Report Input Forms).
  2. Select the checkbox for each input form you want to delete.
  3. In the Select Action drop-down list, select Delete Input Forms.
  4. Select the Go button.

Static Layout Components

Static Layout Components provide containers for laying out the user interface, labels, and text boxes.

Text

Displays static text on the input form. Text has the following options:

  • Text. The text to display on the input form.
  • Font Style. The style to apply to the displayed text. The options are normal, bold, italic, or bold italic.

Paragraph

An invisible container of other elements. Child elements are displayed on one line of text, appearing from left to right in the order they appear in the Form Structure hierarchy. Paragraph has the following options:

  • Width. The width of Paragraph in pixels. If you do not supply a value in this field, SL1 will automatically calculate the width of the Paragraph based on the size of the Paragraph child components.
  • Height. The height of Paragraph in pixels. If you do not supply a value in this field, SL1 will automatically calculate the height of the Paragraph component based on the size of the Paragraph child components.

Vertical Box

An invisible container of other elements. Child elements are arranged vertically in the order they appear in the Form Structure hierarchy. Vertical Box has the following options:

  • Width. The width of the Vertical Box in pixels. If you do not supply a value in this field, SL1 will automatically calculate the width of the Vertical Box based on the size of the Vertical Box child components.
  • Height. The height of the Vertical Box in pixels. If you do not supply a value in this field, , SL1 will automatically calculate the height of the Vertical Box based on the size of the Vertical Box child components.

Horizontal Box

An invisible container of other elements. Child elements are arranged horizontally in the order they appear in the Form Structure hierarchy. Horizontal Box has the following options:

  • Width. The width of the Horizontal Box in pixels. If you do not supply a value in this field, SL1 will automatically calculate the width of the Horizontal Box based on the size of the Horizontal Box child components.
  • Height. The height of the Horizontal Box in pixels. If you do not supply a value in this field, , SL1 will automatically calculate the height of the Horizontal Box based on the size of the Horizontal Box child components.

Field Set

A container of other elements. The child elements are surrounded by a border with optional legend text displayed at the top of the Field Set. By default, child elements are arranged vertically. To display child elements horizontally, a Horizontal Box can be nested inside a Field Set. Field Set has the following options:

  • Legend Text. The text to display at the top of the Field Set.
  • Width. The width of the Field Set in pixels. If you do not supply a value in this field, SL1 will automatically calculate the width of the Field Set based on the size of the Field Set child components.
  • Height. The height of the Field Set in pixels. If you do not supply a value in this field, SL1 will automatically calculate the height of the Field Set based on the size of the Field Set child components.

Form Input Components

Form Input Components provide typical HTTP input form functionality. All of the Form Input Components allow the user to specify inputs when generating an instance of the report. The report gluecode should be written to process the values passed by Form Input Components.

Checkbox

Allows the user to enable or disable an option. Checkbox passes a boolean value to the gluecode. If the Checkbox is checked, the input value is "1" (one). If the Checkbox is unchecked, the input value is "0" (zero). Checkbox has the following options:

  • Input Name. The key in the $input array that points to the input value from the Checkbox.
  • Label Text. The identifying text that will be displayed with the Checkbox on the Report Input Form and in double quotes in the Form Structure pane.
  • Width. The width of the Checkbox, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Checkbox based on the size of the Checkbox and Label Text.
  • Height. The height of the Checkbox, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Checkbox on the size of the Checkbox and Label Text.
  • Default State. Defines whether the Checkbox will be checked or unchecked by default. Default State can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Checkbox will be checked by default. If the value of the bind is "0" (zero), the Checkbox will be unchecked by default.
  • Input Disabled. Defines when the Checkbox will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Checkbox will be disabled. If the value of the bind is "0" (zero), the Checkbox will be active. If Input Disabled is bound to a form input or custom report component, the Checkbox can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Dropdown Select

Allows the user to select an option from a list. The value associated with a selected option is passed to the gluecode. Each option in a Dropdown Select has a label, which is displayed to the user, and a value, which is passed to the gluecode. Dropdown Select has the following options:

  • Input name. The key in the $input array that points to the input value from the Dropdown Select.
  • Label text. The identifying text that will be displayed with the Dropdown Select on the Report Input Form, and in double quotes in the Form Structure pane.
  • Width. The width of the Dropdown Select, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Dropdown Select based on the size of the Dropdown Select, Label Text, and Option Labels.
  • Height. The height of the Dropdown Select, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Dropdown Selectbased on the size of the Dropdown Select and Label Text.
  • Option Values. Defines a list of values to associate with the Option Labels in the Dropdown Select. The value for the selected option will be passed to the gluecode. Option Values can be bound to a static value or a data component, form input component, or custom report component.
  • Option Labels. Defines a list of labels that will be displayed to the user in the Dropdown Select.These labels map to the list of values from the Option Values field. Option Labels can be bound to a static value or a data component, form input component, or custom report component.
  • Default Selected Value. Defines the option in the Dropdown Select that will be selected by default. Default Selected Value can be bound to a static value or a data component, form input component, or custom report component.
  • Input Disabled. Defines whether the Dropdown Select will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Dropdown Select will be disabled. If the value of the bind is "0" (zero) , the Dropdown Select will be active. If Input Disabled is bound to a form input component or custom report component, the Dropdown Select can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Hidden

Passes a value to the gluecode. The value is defined by the Value option and cannot be changed by the user who generates the report. Hidden has the following options:

  • Input name. The key in the $input array that points to the Hidden value.
  • Label text. The identifying text that will be displayed in double quotes in the Form Structure pane.
  • Width. A deprecated field. Values entered into this field have no effect.
  • Height. A deprecated field. Values entered into this field have no effect.
  • Value. Defines the value that will be passed to the gluecode. Value can be bound to a static value or a data component, form input component, or custom report component.

Multiple Checkboxes

Presents a list of labeled checkboxes to the user, and allows the user to select multiple checkboxes. The values associated with the selected checkboxes are passed as an array to the gluecode. Each option in a Multiple Checkboxes has a label, which is displayed to the user, and a value, which is passed to the gluecode. Multiple Checkboxes has the following options:

  • Input name. The key in the $input array that points to the input values from the Multiple Checkboxes.
  • Label text. The identifying text that will be displayed with the Multiple Checkboxes on the Report Input Form and in double quotes in the Form Structure pane.
  • Width. The width of the Multiple Checkboxes, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Multiple Checkboxes based on the size of the Multiple Checkboxes, Label Text, and Option Labels.
  • Height. The height of the Multiple Checkboxes, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Multiple Checkboxes based on the size of the Multiple Checkboxes and Label Text.
  • Checkbox Values. Defines a list of values to associated with the Checkbox Labels in the Multiple Checkboxes. These values map to the labels in the Checkbox Labels field.The values for the selected checkboxes will be passed to the gluecode. Checkbox Values can be bound to a static value or a data component, form input component, or custom report component.
  • Checkbox Labels. Defines a list of labels that will be displayed to the user in Multiple Checkboxes. These labels map to the values in the Checkbox Values field. Checkbox Labels can be bound to a static value or a data component, form input component, or custom report component.
  • Default Checked Values. Defines the checkboxes in the Multiple Checkboxes that will be selected by default. Default Checked Values can be bound to a static value or a data component, form input component, or custom report component.
  • Input Disabled. Defines whether the Multiple Checkboxes will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Multiple Checkboxes will be disabled. If the value of the bind is "0" (zero), the Multiple Checkboxes will be active. If Input Disabled is bound to a form input or custom report component, the Multiple Checkboxes can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Multiple Select

Allows the user to select multiple options from a list. The values associated with the selected options are passed as an array to the gluecode. Each option in a Multiple Select has a label, which is displayed to the user, and a value, which is passed to the gluecode. Multiple Select has the following options:

  • Input name. The key in the $input array that points to the input values from the Multiple Select.
  • Label text. The identifying text that will be displayed with the Multiple Select on the Report Input Form, and in double quotes in the Form Structure pane.
  • Width. The width of the Multiple Select, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Multiple Select based on the size of the Multiple Select, Label Text, and Option Labels.
  • Height. The height of the Multiple Select, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Multiple Select based on the size of the Multiple Select and Label Text.
  • Option Values. Defines a list of values associated with the options in the Multiple Select. These values map to the labels in the Option Labels field. The values for the selected options will be passed to the gluecode. Option Values can be bound to a static value or a data component, form input component, or custom report component.
  • Option Labels. Defines a list of labels that will be displayed to the user in the Multiple Select. These labels map the values in the Option Values field. Option Labels can be bound to a static value or a data component, form input component, or custom report component.
  • Default Selected Values. Defines the options in the Multiple Select that will be selected by default. Default Selected Values can be bound to a static value or a data component, form input component, or custom report component.
  • Input Disabled. Defines whether the Multiple Select will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Multiple Select will be disabled. If the value of the bind is "0" (zero), the Multiple Select will be active. If Input Disabled is bound to a form input component or custom report component, the Multiple Select can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Multiple Select with Category

Presents the user with a list of options divided into categories. The user can select multiple items from the list, and can select whole categories of items by selecting the category name. The values associated with the selected options are passed in an array to the gluecode. Each option in a Multiple Select with Category has a label, which is displayed to the user, and a value, which is passed to the gluecode. Multiple Select with Category has the following options:

  • Input name. The key in the $input array that points to the input values from the Multiple Select with Category.
  • Label text. The identifying text that will be displayed with the Multiple Select with Category on the Report Input Form and in double quotes in the Form Structure pane.
  • Width. The width of the Multiple Select with Category, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Multiple Select with Category based on the size of the Multiple Select with Category, Label Text, and Option Labels.
  • Height. The height of the Multiple Select with Category, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Multiple Select with Category based on the size of the Multiple Select with Category and Label Text.
  • Option Values. Defines a list of values to include in the Multiple Select with Category. These values map to the labels in the Option Labels field. The values for the selected options will be passed to the gluecode. Option Values can be bound to a static value or a data component, form input component, or custom report component.
  • Option Labels. Defines a list of labels that will be displayed to the user in the Multiple Select with Category. These labels map to the values in the Option Values field. Option Labels can be bound to a static value or a data component, form input component, or custom report component.
  • Option Categories. Defines a list of categories for the Option Labels. Option Categories can be bound to a static value or a data component, form input component, or custom report component.
  • Default Selected Values. Defines the options in the Multiple Select with Category that will be selected by default. Default Selected Values can be bound to a static value or a data component, form input component, or custom report component.
  • Input Disabled. Defines whether the Multiple Select with Category will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Multiple Select with Category will be disabled. If the value of the bind is "0" (zero), the Multiple Select with Category will be active. If Input Disabled is bound to a form input component or custom report component, the Multiple Select with Category can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Radio Buttons

Presents a list of labeled buttons to the user, and allows the user to select only one. The value associated with the selected option is passed to the gluecode. Each option in a Radio Buttons has a label, which is displayed to the user, and a value, which is passed to the gluecode. Radio Buttons has the following options:

  • Input name. The key in the $input array that points to the input value from the Radio Buttons.
  • Label text. The identifying text that will be displayed with the Radio Buttons on the Report Input Form, and in double quotes in the Form Structure pane.
  • Width. The width of the Radio Buttons, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Radio Buttons based on the size of the Radio Buttons, Label Text, and Radio Button Labels.
  • Height. The height of the Radio Buttons, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Radio Buttons based on the size of the Radio Buttons and Label Text.
  • Radio Button Values. Defines a list of values associated the buttons in the group of Radio Buttons. The values map to the labels in the Radio Button Labels field. The value for the selected option will be passed to the gluecode. Radio Button Values can be bound to a static value or a data component, form input component, or custom report component.
  • Radio Button Labels. Defines a list of labels that will be displayed to the user in the group of Radio Buttons. These labels map to the values in the Radio Button Values field. Radio Button Labels can be bound to a static value or a data component, form input component, or custom report component.
  • Default Checked Value. Defines the button that will be checked by default. Default Checked Value can be bound to a static value or a data component, form input component, or custom report component.
  • Input Disabled. Defines whether the Radio Buttons will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Radio Buttons will be disabled. If the value of the bind is "0" (zero), the Radio Buttons will be active. If Input Disabled is bound to a form input component or custom report component, the Radio Buttons can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Text Area

Allows the user to input text into a multiple-line field. Text Area passes the entered text as an input to the gluecode.

  • Input Name. The key in the $input array that points to the input value from the Text Area.
  • Label text. The identifying text that will be displayed with the Text Area on the Report Input Form and in double quotes in the Form Structure pane.
  • Width. The width of the Text Area, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Text Area.
  • Height. The height of the Text Area, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Text Area.
  • Default Value. The default text that populates the Text Area when the Input Form is loaded.
  • Input Validation. Defines whether the text entered in the Text Area is valid. Input Validation can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the text entered in the Text Area will be used as the input value. If the value of the bind is "0" (zero), the Default Value will be used as the input value. If the value of the bind becomes "0" (zero) while a user is filling out the Report Input Form, SL1 displays a pop-up window that tells the user that they have entered an invalid value. A Formula data component is commonly used as the bind for Input Validation. For example, the Formula might perform a regular expression match against the value entered in the Text Area to limit the user to a certain format, such as a string of numbers.
  • Input Disabled. Defines whether the Text Area will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Text Area will be disabled. If the value of the bind is "0" (zero), the Text Area will be active. If Input Disabled is bound to a form input component or custom report component, the Text Area can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Text Field

Allows the user to input text in a one-line field. Text Field passes the entered text as an input to the gluecode.

  • Input name. The key in the $input array that points to the input value from the Text Field.
  • Label text. The identifying text that will be displayed with the Text Field on the Report Input Form and in double quotes in the Form Structure pane.
  • Width. The width of the Text Field, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Text Field.
  • Height. The height of the Text Field, including the Label Text, in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Text Field.
  • Default Value. The default text that populates the Text Field when the Input Form is loaded.
  • Input Validation. Defines whether the text entered in the Text Field is valid. Input Validation can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the text entered in the Text Field will be used as the input value. If the value of the bind is "0" (zero), the Default Value will be used as the input value. If the value of the bind becomes "0" (zero) while a user is filling out the Report Input Form, SL1 displays a pop-up window that tells the user that they have entered an invalid value. A Formula data component is commonly used as the bind for Input Validation. For example, the Formula might perform a regular expression match against the value entered in the Text Field to limit the user to a certain format, such as a string of numbers.
  • Input Disabled. Defines whether the Text Field will be active or disabled on the Input Form. Input Disabled can be bound to a static value or a data component, form input component, or custom report component. If the value of the bind is "1" (one), the Text Field will be disabled. If the value of the bind is "0" (zero), the Text Field will be active. If Input Disabled is bound to a form input component or custom report component, the Text Field can dynamically change (between active and disabled) as the Input Form is filled out and the value of the bind changes.

Data Components

Data Components allow you to include dynamic elements in report interfaces. Data Components can retrieve data from the database, alter other input items based on various selections, and can include formulas, switch statements, and other flexible tools. These components are hidden on the Report Form Editor page until the [Data] button is selected.

Concatenate

Allows multiple data sources to be concatenated into a single data source.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Input Sources. The data sources that will be concatenated into the Concatenate source. Each Input Source is a drop down list that allows you to select the bind source. Input Sources can be bound to a static value, or to a value from a data component, form input component, or custom report component.

Correlate Lists

A combination of the Find In List and Select From List components. Correlate Lists compares two reference lists using the same logic as the Find In List component, creating a list of indices that represents items that appear in both lists. Correlate Lists then uses the list of indices to retrieve values from a third correlated list. Correlate Lists outputs a list of values from the third correlated list that are located at the indices returned by the comparison of the two reference lists.

For example, suppose you have a Reference List containing the list "open, working, pending, resolved", and a Reference List Members containing the list "working, pending". The list of indices used to return values from the Correlated List would be "1, 2". If the Correlated List contained the values "support, development, qa, customer", the output of the Correlate Lists component would be "development, qa".

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Reference List. The initial list of values to be filtered. Reference List can be bound to a static value, or to a value from a data component, form input component, or custom report component.
  • Reference List Members. The list of members to retrieve indices for from the Reference List. The list of indices is then used to return a list of values from the Correlated List. Reference List Members can be bound to a static value, or to a value from a data component, form input component, or custom report component.
  • Correlated List. The list of values to correlate the list of indices against. The Correlate Lists component returns the values in the Correlated List located at the indices in the list of indices. Correlated List can be bound to a static value, or to a value from a data component, form input component, or custom report component.

Filter List

Filters a list of values based on a comparison with a list of filters. The list of filters contains a list of "0"(zeros) and "1" (ones), that allows you to turn on and off entries in the list of values. Filter List returns only the values that have the same list position as a non-zero value in the list of filters.

For example, suppose you have a list of five values, "one, two, three, four, and five" and you want to display only values "two" and "four." You could create a filter list that contains the following: "0, 1, 0, 1, 0". Only those values in the value list that match a value of "1" (ones) in the filter list will be displayed.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Value List. The list of values to be filtered. Value List can be bound to a static value, or to a value from a data component, form input component, or custom report component.
  • Filter List The list of "0" (zeros) and "1" (ones) that turn on and off the values in the value list. The number of entries in the Filter List must be equal to the number of entries in the Value List. Filter List can be bound to a static value, or to a value from a data component, form input component, or custom report component.

Find In List

Filters a list of values based on a comparison with a list of members. Find In List returns a list of indices from the list of values for the values that also appear in the list of members. The indices for the list of values start at zero.

For example, suppose you have a list of four values, "open, working, pending, resolved", which has the indices "0, 1, 2, 3". If the list of members contained the values "open, resolved", Find In List would return the list of indices "0, 3".

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Value List. The list of values to be filtered. Value List can be bound to a static value, or to a value from a data component, form input component, or custom report component.
  • List Members. The list of members to return indexes for. List Members can be bound to a static value, or to a value from a data component, form input component, or custom report component.

Formula

Returns the result of a calculated formula.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Formula expression. The expression that will be use to calculate the value(s) returned by the Formula. The following values, operators and functions can be used in a Formula expression:
  • Scalar Values

    List Values

    • References to List Constants. see List Constants.
    • Literal lists. Must be entered in the format "[1,2,3,...]", where 1, 2, 3, etc. are the list values.

    Operators

    • ( ) (order of operation parentheses)
    • ! (logical not)
    • ~ (bitwise not)
    • - (arithmetic negative)
    • + (arithmetic add)
    • - (arithmetic subtract)
    • * (arithmetic multiply)
    • / (arithmetic divide)
    • % (arithmetic modulo)
    • & (bitwise and)
    • | (bitwise or)
    • ^ (bitwise exclusive or)
    • == (boolean equality comparison)
    • != (boolean not equals comparison)
    • >= (boolean greater than or equal to comparison)
    • <= (boolean less than or equal to comparison)
    • > (boolean greater than comparison)
    • < (boolean less than comparison)
    • && (boolean and)
    • || (boolean or)
    • <condition> ? <true value> : <false value> (ternary if-then)

    Functions

    • <scalar> in <list>. Returns 1 if the value of <scalar> appears in <list>, otherwise returns 0.
    • <string 1> contains <string 2>. Returns 1 if <string 2> is a substring of <string 1>, otherwise returns 0.
    • <string> matches <regex>. Returns 1 if <string> matches the regular expression <regex>, otherwise returns 0. <regex> must be a perl-compatible regular expression.
  • Iterating Variables. Bound values that are substituted as scalar values into the Formula expression. If the Iterating Variables are lists, the Formula expression will be evaluated once for each list position in the Iterating Variables, and the return value of Formula will be a list of all the results from the Formula expression. If the Iterating Variables are lists, each Iterating Variables list must be of the same length. Each Iterating Variables includes a name field, where you can define a name for the variable; this name is referenced by the Formula expression. Iterating Variables can be bound to static values, or to values from a data component, form input component, or custom report component. Each time you define an Iterating Variable, additional fields appear that allow you to optionally add another Iterating Variable.
  • Scalar Constants. Bound values that are substituted as a scalar value into the Formula expression. Each Scalar Constant includes a name field, where you can define a name for the constant; this name is referenced by the Formula expression. Scalar Constants can be bound to static values, or to values from a data component, form input component, or custom report component. Each time you define a Scalar Constant, additional fields appear that allow you to optionally add another Scalar Constant.
  • List Constants. Bound values that are substituted as a list value into the Formula expression. Each List Constant includes a name field, where you can define a name for the constant; this name is referenced by the Formula expression. List Constants can be bound to static values, or to values from a data component, form input component, or custom report component. Each time you define a List Constant, additional fields appear that allow you to optionally add another List Constant.

Predefined List

Provides a static list of data. The values in the static list are predefined by the report developer and do not change dynamically.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.

  • List values. Defines the values for the predefined list. Each value in the list should be entered into a separate text field. Each time you define a List value, additional fields appear that allow you to optionally add another List value.

Select From List

Filters a list of values based on a comparison with a list of indices. Select From List returns a new list of values from the original list of values. The new list includes values from the original list that are located at indices specified in the list of indices. The indices for the list of values start at zero.

For example, suppose you have a list of four values "open, working, pending, resolved", which have the indices "0,1,2,3". If the list of indices contained the values "0, 3", Select From List would return the list of values "open, resolved".

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Value List. The list of values to be filtered. Value List can be bound to a static value, or to a value from a data component, form input component, or custom report component.
  • List Indices. The list of indexes to return values for. List Indices can be bound to a static value, or to a value from a data component, form input component, or custom report component.

Server Function

Provides data based on the results of a selected function.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Function. The function to execute to generate the report data. The following functions are available:
    • date(format, timestamp). Identical to the PHP date function, which returns a formatted date string.
    • mktime(hour, minute, second, month, day, year). Identical to the PHP mktime function, which returns a UNIX timestamp.
    • range(min, max, step). Identical to the PHP range function, which returns an array of elements from min to max.
    • gmdate(format, timestamp). Identical to the PHP date function, which returns a formatted date string in GMT.
    • gmmktime(hour, minute, second, month, day, year). Identical to the PHP mktime function, which returns a UNIX timestamp in GMT.
    • report_user_account_type(). Returns the account type of the user who is currently generating the report. report_user_account_type() returns "0" (zero) if the user is an administrator, and returns "1" (one) if the user is a user (not an administrator).
    • report_user_organizations(). Returns a list of organization IDs for all organizations associated with the user who is currently generating the report.
    • For details on the referenced PHP functions, see http://us.php.net/manual/en/funcref.php

  • Function Arguments. Defines that values that will be used as parameters for the selected function. The number of arguments you define should match the number of arguments allowed by the selected Function. Function Arguments can be bound to static values, or to values from a data component, form input component, or custom report component.

SQL Query

Provides data based on the results of an SQL query executed on the main ScienceLogic database.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • SQL Query. The SQL query to execute.
  • Scalar Binds. Allows multiple, single, bind values to be substituted into the SQL query. Each Scalar Bind includes:
    • A name field, in which you define a name for the bind. You will then use this name to reference the bind in the SQL statement.
    • A drop down list from which you can select the bind source. Scalar Binds can be bound to a static value, or to a value from a data component, form input component, or custom report component.
    • Each time you define a Scalar Bind, additional form fields appear that allow you to optionally add another Scalar Bind.
  • List Binds. Allows multiple lists of bind values to be substituted into the SQL query. Each List Bind includes the following:
    • A name field, in which you define a name for the bind. You will then use this name to reference the bind in the SQL statement.
    • A drop down list from which you can select the bind source. List Binds can be bound to a static value, or to a value from a data component, form input component, or custom report component.
    • Each time you define a List Bind, additional form fields appear that allow you to optionally add another List Bind.

String Format

Provides a list of data strings that have been formatted using the PHP sprintf function.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Format string. The first argument passed to the sprintf function. Format string is a string of ordinary characters that include conversion specifications (denoted by %) for each of the Format Arguments. The conversion specifications in the Format string must match the data type of the values in the Format Argument. For more information on the sprintf function and a list of conversion specifications, see the PHP manual at php.net/sprintf.
  • Format Arguments. The second and subsequent arguments passed to the sprintf function. Format Arguments can be bound to static values, or to values from a data component, form input component, or custom report components. If the bind values for Format Arguments are lists, each Format Arguments must be a list of the same size as its bind value.

Switch Source

Allows you to include switch-statement functionality in your report, to dynamically select between multiple data sources.

  • Source name. The name of the data source. This name is displayed in the Form Structure pane and binding drop down menus.
  • Switch Value. A bind value that determines which of the Switched Inputs to use as the data source. Switch Value can be bound to a static value, or to values from a data component, form input component, or custom report components. The possible bind values must match the names given to the Switched Inputs.
  • Switched Inputs. The possible data sources that can be selected by the Switch Source. Each Switched Input includes:
    • A value field in which you specify the value that must occur in the Switch Value field before SL1 will select the current Switched Input to use.
    • A drop down list from which you can select the bind source for the Switched Inputs. Switched Inputs can be bound to a static value, or to a value from a data component, form input component, or custom report component.
    • Each time you define a Switched Input, additional form fields appear that allow you to optionally add another Switched Input.

Custom Report Components

The Custom Report Components section in the Report Form Editor page contains a list of Report Input Forms that have a Form Type of Component.

Generally, a Report Input Form defines the user interface for a report. Report Input Forms of type Component cannot be associated with a report. Instead, a Report Input Form of type Component allows you to define a common combination of input elements. You can then use that combination of input elements in multiple Report Input Forms, without having to construct that combination of input elements in each report.

Several Custom Report Components are installed by default. All default Custom Report Components include the following options:

  • Input name. The key in the $input array that points to the input data for the Custom Report Component.
  • Width. Width of the Custom Report Component in pixels. If you do not supply a value in this field, SL1 automatically calculates the width of the Custom Report Component based on the size of the Custom Report Component child components.
  • Height. Height of the Custom Report Component in pixels. If you do not supply a value in this field, SL1 automatically calculates the height of the Custom Report Component based on the size of the Custom Report Component child components.

When a Report Input Form includes a Custom Report Component, the $input array for the Report Input Form will reference the Input name of the Custom Report Component as a key. The Input name of the Custom Report Component will point to an array. That array will contain an item for each child input element. Each item in the array will use the Input name of the child input element as its key. To view the configuration of the child elements in a custom report component, select the wrench icon () for the custom report component in the Report Input Forms page (Reports > Management > Report Input Forms).