Scroll

Config File XML Reference

This reference guide describes the structure of the config file XML elements. Use this guide if you build or edit your config XML directly, without using the Admin Console.

Note: For the "settings" nodes within <general></general>, see Config File and API Setting Reference.

The config file's outer nodes are as follows:

<?xml version="1.0" standalone="yes"?>
<webreports></webreports>

All following nodes are within the <webreports> element.

About this guide

XML objects are represented in tables with the following format:

Node Description Type Required

Node is the XML node name. Nodes in bold font are objects, which are represented in a below table.

Description is the Admin Console field. If there is no mapped field, or the field is implicit, the description is in italic font.

Type is the value type. If the type is a constant or enum, the possible values are listed below the table. Constants are case sensitive.

Required indicates whether the node requires a value. (1+) indicates that there can be multiple nodes.

Data Sources

Outer node: <datasource></datasource>

Node Description Type Required
id Unique Id int yes
name Name string yes
dbtype Type constant yes
dataconnstr Connection String string yes
schema Schema/Owner Name string no
odbcdelim Column Delimiter(s) string no

Possible values for dbtype: mssql, mysql, oracle, postgres, db2, informix, websvc, assembly, file, msolap, odbc

Example

<datasource>
  <id>0</id>
  <name>Northwind</name>
  <dbtype>odbc</dbtype>
  <schema>dbo</dbtype>
  <dataconnstr>DRIVER=SQLite3 ODBC Driver;Database=C:\Northwind.sqlite;</dataconnstr>
  <odbcdelim>`</odbcdelim>
</datasource>

Data Objects

Outer node: <entity></entity>

Node Description Type Required
id Id string no
entity_name Alias string no
db_name Name string yes
sql_stmt Custom SQL Object string no
category Category string no
datasource_id Id of data source int yes
object_type Object type constant yes
schema_access_type Schema Access Type constant no
key Unique Key Fields object yes (1+)
param Parameters object no (1+)
tenant Tenant Columns object no (1+)
filter_dropdown Filter Dropdown Object object no
column_metadata Column Metadata object no (1+)
transform Vertical table transform object no

Possible values for object_type: table, view, procedure, function, assembly, sqlstmt, websvc, file

Possible values for schema_access_type: Metadata, Datasource

key

Node Description Type Required
col_name Column name string yes

param

Node Description Type Required
id Parameter name string yes

tenant

Node Description Type Required
col_name Column name string yes
parameter_id Parameter name string yes

filter_dropdown

Node Description Type Required
db_name Data object name string yes
sql_stmt SQL statement string no
datasource_id Id of data source int yes
object_type Object type constant yes

Possible values for object_type: table, view, procedure, function, assembly, sqlstmt, websvc, file

column_metadata

Node Description Type Required
col_source Specify as custom col constant no
col_name Column name string yes
col_description Column Description string no
col_type Data Type constant no
col_alias Column Alias string no
visible Visible bool no
filterable Filterable constant no
sortable Sortable bool no
col_sortandgroupbyvalue Sort and Group-By Value string no
col_value Column Value string no

Possible values for col_source: ExagoFormula

Possible values for col_type: string, date, datetime, time, int, decimal, image, float, boolean, guid, currency

Possible values for filterable: All, Dynamic, Static, None

transform

Node Description Type Required
col_name Data field names column string yes
val_name Data values column string yes
datatype_name Data types column string no
non_transform_col Fields exempt from transform object no

non_transform_col

Node Description Type Required
col_name Data field name string yes
data_type Data type enum no

Possible values for data_type: 0: string, 1: date, 2: datetime, 3: time, 4: integer, 5: decimal, 6: float, 7: bit, 8: guid, 9: image, 10: currency

Example

<entity>
  <id>ODE</id>
  <entity_name>OrderDetails</entity_name>
  <db_name>OrderDetail</db_name>
  <sql_stmt>SELECT *</sql_stmt>
  <category>Order Information</category>
  <datasource_id>1</datasource_id>
  <object_type>table</object_type>
  <key>
    <col_name>OrderId</col_name>
  </key>
  <key>
    <col_name>ProductId</col_name>
  </key>
  <param>
    <id>count</id>
  </param>
  <tenant>
    <col_name>CategoryName</col_name>
    <parameter_id>count</parameter_id>
  </tenant>
  <filter_dropdown>
    <db_name>Category</db_name>
    <sql_stmt>SELECT *</sql_stmt>
    <datasource_id>-1</datasource_id>
    <object_type>table</object_type>
  </filter_dropdown>
  <column_metadata>
    <col_source>ExagoFormula</col_source>
    <col_name>Total</col_name>
    <col_type>currency</col_type>
    <col_alias>Total</col_alias>
    <filterable>false</filterable>
    <col_value>{ODE.Quantity}*({ODE.UnitPrice}-{ODE.Discount})</col_value>
  </column_metadata>
  <column_metadata>
    <col_name>UnitPrice</col_name>
    <col_type>currency</col_type>
  </column_metadata>
</entity>

Joins

Outer node: <join></join>

Note: For entity names, use Id if set, otherwise use db_name.

Node Description Type Required
entity_from_name From object (left) string yes
entity_to_name To object (right) string yes
join_type Join Type constant yes
relation_type Relation Type constant yes
weight Weight int yes
joincol Join Columns (deprecated in v2017.2) object yes (1+)
clause Join Clause (v2017.2+) object yes (1+)

Possible values for join_type: inner, leftouter, rightouter, fullouter

Possible values for relation_type: 11: one to one, 1M: one to many

joincol (deprecated in v2017.2)

Node Description Type Required
col_from_name From column (left) string yes
col_to_name To column (right) string yes

clause (v2017.2+)

Node Description Type Required
left_side From expression (left) string yes
right_side To expression (right) string yes
conjunction Joining conjunction constant yes
comparison Comparison operator constant yes
left_side_type From expression type constant yes
right_side_type To expression type constant yes
level Parenthesis nesting level int yes

Possible values for conjunction: AND, OR

Possible values for comparison: EQ (=), NE (<>), LT (<), GT (>), LE (<=), GE (>=), IN

Possible values for left_side_type, right_side_type: Column, Constant, SubQuery, Expression

Example

<join>
  <entity_from_name>PRO</entity_from_name>
  <entity_to_name>CAT</entity_to_name>
  <clause>
    <left_side>ProductId</left_side>
<right_side>CategoryId</right_side>
<conjunction>AND</conjunction>
<comparison>EQ</comparison>
<right_side_type>Column</right_side_type>
<left_side_type>Column</left_side_type>
<level>0</level> </clause> </join>

Parameters

Outer node: <parameter></parameter>

Node Description Type Required
id Name string yes
data_type Type constant yes
value Value string no
hidden Hidden bool yes
prompt_test Prompt Text string no
parameter_dropdown Parameter Dropdown Object object no

Possible values for data_type: string, date, integer, decimal

parameter_dropdown

Node Description Type Required
db_name Database object name string yes
sql_stmt SQL statement string no
datasource_id Unique Id of data source int yes
object_type Object type constant yes
value_field Value Field string yes
display_value_field Display Value Field string no
display_data_type Display Type constant yes
sp_params Stored proc parameters string no

Possible values for object_type: table, view, procedure, function, assembly, sqlstmt, websvc, file

Possible values for display_data_type: string, date, integer, decimal

Example

<parameter>
  <id>count</id>
  <data_type>integer</data_type>
  <hidden>False</hidden>
  <prompt_text />
  <parameter_dropdown>
    <db_name>Category</db_name>
    <sql_stmt />
    <datasource_id>1</datasource_id>
    <object_type>view</object_type>
    <value_field>Category_View</value_field>
    <display_value_field />
    <display_data_type>string</display_data_type>
    <sp_params />
  </parameter_dropdown>
</parameter>

Roles

Outer node: <role></role>

Node Description Type Required
id ID string yes
active Active bool yes
rolegeneral General settings object yes
security Security settings object yes

rolegeneral

Node Description Type Required
reportpath Report Path string no
dateformat Date Format string no
timeformat Time Format string no
datetimeformat DateTime Format string no
separatorsymbol Numeric Separator Symbol string no
currencysymbol Numeric Currency Symbol string no
readfiltervalues Read Database for Filter Values bool no
dbtimeout Database Timeout int yes
showgrid Show Grid Lines in Report Viewer bool no
showcrosstabreports Allow Creation/Editing of Crosstab Reports bool no
showdashboardreports Allow Creation/Editing of Dashboard Reports bool no
showchainedreports Allow Creation/Editing of Chained Reports bool no
showexpressviews Allow Creation/Editing of ExpressViews bool no
allowexpressviewliveedit Allow Editing ExpressView with Live Data bool no
showexpressreports Allow Creation/Editing of Express Reports bool no
showexpressreportsgrouping Show Grouping bool no
showexpressreportsformulabutton Show Formula Button bool no
showexpressreportsstylingtoolbar Show Styling Toolbar bool no
showexpressreportsthemes Show Themes bool no
showadvancedreports Allow Creation/Editing of Advanced Reports bool no
showschedulereports Show Report Scheduling Option bool no
showschedulereportsmanager Show Schedule Reports Manager bool no
schedulemanagerviewlevel Scheduler Manager User View Level constant no
showschedulereportsemail Show Email Report Options bool no
decimalsymbol Numeric Decimal Symbol string no
languagefile Language File string no
servertimezoneoffset Server Time Zone Offset int no
showdashboardnewvisualizationbutton Allow Creation/Editing of Dashboard Visualizations bool no

Possible values for schedulemanagerviewlevel: user, company, all

security

Node Description Type Required
folders Folder Security object yes
dataobjects Data Object Security object yes
dataobjectrows Data Row Security object no

folders

Node Description Type Required
include_all Include All Folders bool yes
read_only All Folders Read Only bool yes
allow_management Allow Folder Management bool yes
folder Folders object no (1+)

folder

Node Description Type Required
name Folder Name string yes
read_only Read Only bool yes
propagate Propagate status to sub-folders bool yes

dataobjects

Node Description Type Required
include_all Include All Data Objects bool yes
dataobject Objects object no (1+)

dataobject

Note: For name, use Id if set, otherwise use db_name.

Node Description Type Required
name Data Object Name string yes

dataobjectrows

Node Description Type Required
dataobjectrow Filters object no (1+)

dataobjectrow

Note: For name, use Id if set, otherwise use db_name.

Node Description Type Required
name Data Object Name string yes
filter Filter String string yes

Example

<role>
  <id>Test</id>
  <active>False</active>
  <rolegeneral>
    <reportpath>asraaweweweasd</reportpath>
    <dateformat />
    <timeformat />
    <datetimeformat />
    <separatorsymbol>,</separatorsymbol>
    <currencysymbol>$</currencysymbol>
    <readfiltervalues />
    <dbtimeout>0</dbtimeout>
    <showgrid />
    <showcrosstabreports />
    <showdashboardreports />
    <showchainedreports />
    <showexpressviews />
    <allowexpressviewliveedit />
    <showexpressreports />
    <showexpressreportsgrouping />
    <showexpressreportsformulabutton />
    <showexpressreportsstylingtoolbar />
    <showexpressreportsthemes />
    <showadvancedreports />
    <showschedulereports />
    <showschedulereportsmanager />
    <schedulemanagerviewlevel />
    <showschedulereportsemail />
    <decimalsymbol>.</decimalsymbol>
    <languagefile />
    <servertimezoneoffset>1</servertimezoneoffset>
    <showdashboardnewvisualizationbutton />
  </rolegeneral>
  <security>
    <folders>
      <include_all>True</include_all>
      <read_only>False</read_only>
      <allow_management>True</allow_management>
      <folder>
        <name>Examples</name>
        <read_only>False</read_only>
        <propagate>True</propagate>
      </folder>
    </folders>
    <dataobjects>
      <include_all>False</include_all>
      <dataobject>
        <name>CAT</name>
      </dataobject>
    </dataobjects>
    <dataobjectrows>
      <dataobjectrow>
        <name>CAT</name>
        <filter>heyho</filter>
      </dataobjectrow>
    </dataobjectrows>
  </security>
</role>

Functions

Outer node: <function></function>

Note: Functions and Filter Functions use the same xml syntax. Filter functions have weight > 0 (which indicates its order in the filter list).

Node Description Type Required
name Name string yes
description Description string no
category Category constant no
min_args Minimum Number of Arguments
(deprecated in v2017.2)
int no
max_args Maximum Number of Arguments
(deprecated in v2017.2)
int no
arguments_json (v2017.2+) Arguments information json object yes
variable_arguments (v2017.2+) Variable Argument Count bool yes
available_in Formula or filter function enum yes
filter_return_type Filter Type constant no
weight List Order int yes
language Language constant yes
program_code Program Code string yes
reference References object no (1+)
namespace Namespaces object no (1+)

Possible values for category: Aggregate, Operators, Logical, Date, Financial, Database, Arithmetic, String, Formatting, Other

Possible values for available_in: 0: Unavailable, 1: Formula, 2: Filter

Possible values for filter_return_type: date, string, integer, decimal

Possible values for language: CSharp, JavaScript, VB

reference

Node Description Type Required
name Reference name string yes

namespace

Node Description Type Required
name Namespace name string yes

arguments_json

(v2017.2+) A JSON-formatted array of objects with the following format:

Property Description Type Required
Name Name string yes
Required Required bool yes
Description Description string yes

Example

<function>
  <name>IncrementBy</name>
  <description>Count up by value steps.</description>
  <category>Other</category>
  <arguments_json>[{"Name":"counter","Required":false,"Description":"Number to increment by. Default: 1."}]</arguments_json>
<variable_arguments>false</variable_arguments> <available_in>1</available_in> <filter_return_type>String</filter_return_type> <weight>0</weight> <language>CSharp</language> <program_code>return Extensions.CustomFunctions.IncrementBy(sessionInfo, args);</program_code> <reference> <name>Extensions.dll</name> </reference> </function>

Server Events

Outer node: <serverevent></serverevent>

Node Description Type Required
name Name string yes
id Unique Id int yes
event_type Global Event constant yes
datasource_id Id of assembly data source int no
func_name Assembly function name string no
language Language constant no
program_code Program code string no
reference References object no (1+)
namespace Namespaces object no (1+)

Possible values for event_type: None, or see List of Server Events.

Possible values for language: CSharp, JavaScript, VB

reference

Node Description Type Required
name Reference name string yes

namespace

Node Description Type Required
name Namespace name string yes

Example

<serverevent>
  <name>ExpandAllFolders</name>
  <id>0</id>
  <event_type>OnAfterLoadReportsList</event_type>
  <language>CSharp</language>
  <program_code>Extensions.ServerEvents.ExpandAllFolders(sessionInfo, (TreeNodeCollection)args[0]);
return null;</program_code>
  <reference>
    <name>Extensions.dll</name>
  </reference>
  <reference>
    <name>WebReports.dll</name>
  </reference>
  <namespace>
    <name>WebReports.UI.Controls</name>
  </namespace>
</serverevent>

Action Events

Outer node: <actionevent></actionevent>

Node Description Type Required
name Name string yes
id Unique Id int yes
event_type Global Event Type constant yes
datasource_id Id of assembly data source int no
func_name Assembly function name string no
user_action Event Type constant yes
language Language constant no
program_code Program code string no
uiaction Assigned UI Item(s) object no (1+)
reference References object no (1+)
namespace Namespaces object no (1+)

Possible values for event_type: None, or see Global Action Events.

Possible values for user_action: None, Load, Click

Possible values for language: CSharp, JavaScript, VB

uiaction

Node Description Type Required
element_id Element Id constant yes

Possible values for element_id: See Identifying Actionable UI Elements.

reference

Node Description Type Required
name Reference name string yes

namespace

Node Description Type Required
name Namespace name string yes

Example

<actionevent>
  <name>DoubleClick</name>
  <id>0</id>
  <event_type>OnDoubleClickReport</event_type>
  <user_action>Click</user_action>
  <language>CSharp</language>
  <program_code>return Extensions.ActionEvents.DoubleClick(sessionInfo);</program_code>
  <uiaction>
    <element_id>RunReportBtn</element_id>
  </uiaction>
  <reference>
    <name>Extensions.dll</name>
  </reference>
</actionevent>

Custom Options

Outer node: <customoption></customoption>

Node Description Type Required
option_id Id string yes
option_type Type constant yes
option_list_item Option list item object no (1+)

Possible values for option_type: Int, Decimal, Bool, Text, List

option_list_item

Node Description Type Required
option_list_item_id List item Id string yes

Example

<customoption>
  <option_id>Hello</option_id>
  <option_type>List</option_type>
  <option_list_item>
    <option_list_item_id>World</option_list_item>
  </option_list_item>
</customoption>

Hidden Article Information

Article Author
Exago Development
created 2017-07-17 19:58:05 UTC
updated 2017-11-14 20:14:48 UTC

Labels
configuration, config, object, element, node, property, reference, guide, setting, XML,
Have more questions? Submit a request