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.
NoteFor the settings nodes within
<general></general>
, see Config File XML & API Setting Reference (General Nodes).
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. They are organized below in alphabetical order, not necessarily the order they appear in the configuration file.
How to Use This Document
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 below the table.
Description is the name of the field as it appears in the Admin Console. 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.
Action Events
The Introduction to Action Events article includes detailed descriptions of each of these settings.
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
The Custom Options article includes detailed descriptions of each of these settings.
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>
Data Sources
The Data Sources article includes detailed descriptions of each of these settings.
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, oracle, msolap, odbc, websvc, assembly, mysql, file, postgres, db2, informix, cdata
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
The Data Objects article includes detailed descriptions of each of these settings.
When a Data Object is a clone of another only the id, entity_name, cloned_from, inherit_category and inherit_description, category, object_description and db_name apply.
Outer node: <entity></entity>
Node | Description | Type | Required |
---|---|---|---|
id | Id | string | no |
entity_name | Alias | string | no |
cloned_from | v2019.1+ <id> of the parent data object that this one is a clone of. |
string | no |
inherit_category | v2019.2.18+ Inherit Folder For cloned data objects, true if the category/folder the object appears in should be copied from its parent. False if the clone should have its own category folder. If false, <category> must be provided. |
boolean | no |
inherit_description | v2019.2.18+ Inherit Description For cloned data objects, true if the description of the clone should be copied from its parent. False if the clone should have its own description. If false, <object_description> must be provided. |
boolean | no |
db_name | Name For cloned data objects, a value here overrides the object in the Data Source (i.e. table, view) this clone points to while continuing to use the same metadata as its cloned_from object. |
string | yes |
sql_stmt | Custom SQL Object | string | no |
object_description | Description | 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 |
affinity | v2018.1+ Report or config affinity | constant | no |
suppress_sort_filter | v2018.1+Suppress Sort and Filter | boolean | no |
canreexecuteindb | v2021.1 Interactive Filtering in Database | boolean | no |
Possible values for object_type: table, view, procedure, function, assembly, sqlstmt, websvc, file
Possible values for schema_access_type: Metadata, Datasource
Possible values for affinity: Global, Report
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>
Functions
The following articles include detailed descriptions of each of these settings
Outer node: <function></function>
NoteFunctions 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 | pre-v2017.2 Minimum Number of Arguments | int | no |
max_args | pre-v2017.2 Maximum Number of Arguments | int | no |
arguments_json | v2017.2+ Arguments information | json object | yes |
variable_arguments | v2017.2+ Variable Argument Count | bool | yes |
available_in | Formula, filter or custom aggregate | enum | yes |
filter_return_type | Filter Type | constant | no |
weight | List Order | int | yes |
language | Language | constant | yes |
program_code | Program Code | string | yes |
disable_database_grouping | v2019.1.5+ Prevent In-Database Grouping When Included in Detail Section | bool | 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:
- Unavailable
- Formula
- Filter
- Aggregate
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:
Node | 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>
Joins
The Join Configuration article includes detailed descriptions of each of these settings.
Outer node: <join></join>
NoteFor 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 | pre-v2017.2 Join Columns | object | yes (1+) |
clause | v2017.2+ Join Clause | object | yes (1+) |
affinity | v2018.1+ Join affinity | constant | yes |
Possible values for join_type: inner, leftouter, rightouter, fullouter
Possible values for relation_type: 11: one to one, 1M: one to many
Possible values for affinity: Global, Report
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_entity | From object (left) (v2017.3+) | string | no |
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 |
left_entity overrides the base (implicit) from object entity_from_name for the specific join clause; this is necessary for some uses of the IN operator
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
The Parameters article includes detailed descriptions of each of these settings.
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_text | Prompt Text | string | no |
parameter_dropdown | Parameter Dropdown Object | object | no |
Possible values for data_type: string, date, integer, decimal, boolean
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>
Quick Functions v2021.1+
Quick Functions are pre-defined calculations or operators that transform the fields in either detail fields or group columns in ExpressView. Learn more in the Quick Functions section of the ExpressView: Formula Columns article.
Outer node: <quickfunction></quickfunction>
Node | Description | Type | Required |
---|---|---|---|
id | A unique identifier used internally by the application | string | yes |
language_id | The element ID in the language file that will be displayed in the Designer for this Quick Function's name For more information, review the Multi-Language Support article. |
string | yes |
display_formula | An Exago formula, preceded with the equals sign, that will be applied to the output displayed to the user Use the placeholder {cell_text} to include the contents of the cell in the formulaExago functions, custom functions and parameters may be used in the formula. Do not use aggregate functions or data object fields. Special characters must be XML encoded (e.g. use & for the concatenation character &) |
string | yes |
sort_text | An Exago formula, preceded with the equals sign, that will be applied to the data to order it when the column is sorted or when it is a group Use the placeholder {cell_text} to include the contents of the cell in the formulaExago functions, custom functions and parameters may be used in the formula. Do not use aggregate functions or data object fields. Special characters must be XML encoded (e.g. use & for the concatenation character &) |
string | yes |
supported_data_types | The column data types that the Quick Function may be applied to Separate multiple values with this delimiter: |*{*}*| |
string from QuickFunctionDataType | yes |
return_data_type | The data type that this Quick Function returns A column will be transformed to this data type if different than the column's existing type |
int from Constants.DataType | yes |
Examples
year
The year Quick Function uses the Year()
function to transform a Date or DateTime column into an integer value of the year portion of the date.
WebReports.xml
<quickfunction> <id>year</id> <language_id>Year_wrQuickFunction</language_id> <display_formula>=Year({cell_text})</display_formula> <sort_text>=Year({cell_text})</sort_text> <return_data_type>2</return_data_type> <supported_data_types>Date</supported_data_types> </quickfunction>
en-us.xml
Below is an except from the English language file where the name of this Quick Function as it appears in the Designer is defined.
<DateFunctions> ... <element id="Year_wrQuickFunction">Year</element> ... </DateFunctions>
month-name
The month-name Quick Function uses the MonthName()
function to transform a Date or DateTime column into a string value representing the name of the month portion of the date (e.g. January, February, March, etc...). Note the use of the Month()
function in the <sort_text>
node to keep the list ordered chronologically instead of alphabetically.
WebReports.xml
<quickfunction> <id>month-name</id> <language_id>MonthName_wrQuickFunction</language_id> <display_formula>=MonthName({cell_text})</display_formula> <sort_text>=Month({cell_text})</sort_text> <return_data_type>0</return_data_type> <supported_data_types>Date</supported_data_types> </quickfunction>
en-us.xml
Below is an except from the English language file where the name of this Quick Function as it appears in the Designer is defined.
<DateFunctions> ... <element id="MonthName_wrQuickFunction">Month Name</element> ... </DateFunctions>
Roles
The Roles article includes detailed descriptions of each of these settings.
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
NoteSettings pertaining to Express Reports were removed from the Admin Console in v2019.2 but they remain available here in the config file. No other functionality was removed.
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 | decimal
Note |
no |
showdashboardnewvisualizationbutton | Allow Creation/Editing of Dashboard Visualizations | bool | no |
allowreportcustomsqlobjects | Allow Creation of Custom SQL Objects in Advanced Reports (v2018.1+) | 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 |
includereportcustomsqlobjects | v2018.1+ Allow User to View Report-Level Custom SQL Objects | bool | 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
NoteFor 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
NoteFor 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>
Server Events
The Introduction to Server Events article includes detailed descriptions of each of these settings.
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 refer to the 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>
Storage Management
The Storage Management article contains detailed descriptions of each of these settings.
Each of these settings may be accessed via the .NET API's WebReports.Api.Api.SetupData.StorageMgmtConfig
namespace. For example:
api.SetupData.StorageMgmtConfig.ClassName = "WebReports.ContentDatabase.StorageMgmtDatabase";
Outer node: <storagemgmt></storagemgmt>
Node | Description | Type | Required | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
assembly API key: Assembly |
Full path to the DLL implementing the IStorageManagement interface | string | yes | ||||||||||
class API key: ClassName |
Name of the class in the assembly that implements IStorageManagement | string | yes | ||||||||||
report_list_cache_timeout API key: ReportListCacheTimeout |
Number of seconds before the report list cache expires | integer | yes | ||||||||||
report_xml_cache_timeout API key: ReportXmlCacheTimeout |
Number of seconds before the report definition XML cache expires | integer | yes | ||||||||||
theme_list_cache_enabled API key: ThemeListCacheTimeout |
Whether or not theme list caching is turned on or off | boolean | yes | ||||||||||
report_xml_cache_enabled API key: ReportXmlCacheEnabled |
Whether or not report definition XML caching is enabled | boolean | yes | ||||||||||
default_inherit_flag API key: DefaultInheritFlag |
Determines if new content will inherit permissions of its parent. | boolean | yes | ||||||||||
default_party_type_id API key: DefaultPartyTypeId |
If default_inherit_flag is False, this is the party_type_id that new content will be assigned. | integer | no | ||||||||||
default_access_flags API key: DefaultAccessFlags |
If default_inherit_flag is False, this is the access_flags bitmap that new content will be assigned. v2021.1+If default_inherit_flag is False, this is a comma-seperated list of ContentPermission items that new content will be assigned. | integer v2020.1–v2021.1 ContentPermission v2021.1+ |
yes | ||||||||||
option option nodes are used to store Storage Management options and settings data in name-value pairs |
|
||||||||||||
table_prefix API key: TablePrefix |
Provide an optional prefix for all Storage Management database tables. Review the Storage Management: Database Schema article for information. This option can be used to add a schema if it exists. Examples:
|
string | no | ||||||||||
identity | <identity> nodes define Storage Management identity keys in name-value pairs. This facilitates adding identity nodes beyond the included ownerId, userId, classId and companyId or changing their names.Note |
Example
This example implements Exago's out-of-the-box implementation of the IStorageManagement interface and includes an additional custom identity key named location
.
<storagemgmt> <assembly>WebReports.ContentDatabase.dll</assembly> <class>WebReports.ContentDatabase.StorageMgmtDatabase</class> <report_list_cache_timeout>30</report_list_cache_timeout> <report_xml_cache_timeout>30</report_xml_cache_timeout> <theme_list_cache_timeout>600</theme_list_cache_timeout> <report_list_cache_enabled>False</report_list_cache_enabled> <report_xml_cache_enabled>False</report_xml_cache_enabled> <default_inherit_flag>False</default_inherit_flag> <default_party_type_id>0</default_party_type_id> <option name="DbType" value="SQLite" /> <option name="DbProvider" value="SQLite" /> <option name="ConnectionString" value="Data Source=D:\StorageMgmt.sqlite" /> <option name="ReportListCacheKey" value="" /> <table_prefix>sm_</table_prefix> <identity name="userId" value="Astro Boy" /> <identity name="classId" value="Exago, Inc." /> <identity name="location" value="Kingston" /> <identity name="companyId" value="Development" /> </storagemgmt>