When updating Exago, consult this guide for potential breaking changes. Note that when updating from more than one version behind the current one, information from that section and all sections above it will apply.
NotePlease also review the Updating Recommendations article to ensure a smooth updating process.
If the version is not listed, then a direct update path to the latest version is not supported. Please file a support request for further assistance.
NoteTo ensure a smooth upgrade when overwriting a previous installation, ensure that the web server (IIS/Apache/NGINX), the Monitoring Service, and any Scheduling Services are turned off before running the installer.
Updating from v2021.1 or earlier
This section applies to any maintenance release version of v2021.1.
Updated Snowflake CDATA driver
The Snowflake CDATA driver has been updated from version 20.0.7768.0 to version 21.0.7887.0. Clients using the Snowflake CDATA driver need to contact their Customer Success Manager to have a new license key generated.
Updating from v2021.1.10 or earlier
RedShift CDATA Driver
The Redshift CDATA driver has been updated from version 20.0.7654.0 to version 21.0.7872.0. Clients using the Redshift CDATA driver need to contact their Customer Success Manager to have a new license key generated.
New Language File Element
Added new language file element DashboardVizChartTypeLbl
to translate the Chart Type label in the Dashboard Designer
JavaScript API ExecuteReport() Function
The ExecuteReport()
function in the JavaScript API now supports calling reports by the report ID. To accomplish this, an additional boolean argument has been added to the function call.
Updating from v2021.1.8 or earlier
New Licenses Directory
A new /Licenses
directory will be installed with the Web Application installer. This directory contains licenses for all third party components included with Exago.
Completed Scheduler Service Jobs Now Automatically Flush
Prior to this version, the Scheduler Service's <flush_time>
setting was set to -1. This disabled automatic flushing of completed jobs. With this version, this setting now defaults to 24, so completed jobs flush automatically every 24 hours.
Updating from v2021.1.7 or earlier
New Max Chained Report Collation Executions Configuration Setting
A new configuration setting, found in Admin Console > General > Other Settings > Max Chained Report Collection Executions places a limit on the number of individual report executions caused when executing a collated chained report. For more information how this setting works, review Chained Reports and Other Settings.
This new setting is available in the .NET API General object, the REST Web Service API /rest/settings endpoint and as an XML configuration file node.
Native Support for SQLite as a Reportable Data Source Type
SQLite Data Sources may now be added to the application just as any other supported data source can with an included ADO.NET driver.
Updating from v2021.1.6 or earlier
New maxRasterizationsBeforeReset Application Setting
The Web Application's appSettings.config
and the Scheduler Service's WebReportsScheduler.exe.config
files now include a new setting called maxRasterizationsBeforeReset
. This setting tells Exago when to dispose of Puppeteer chart rendering pages. After this number of execuations on the page, the process will be killed and a new one created for further rendering. See Application Settings for more information.
Updating from v2021.1.5 or earlier
Abended Scheduled Jobs now Flushed Automatically
Prior to this version, scheduled jobs that Abended would not be cleared when flushing the Scheduler Service job files. After updating, Abended jobs will be available for flushing after the Scheduler Service's <flush_time>
timeout lapses.
Schema Access Type Now Honored for Vertical Tables
Prior to this version, Exago always queries the Data Source for the schema of a Vertical Table, regardless of the setting of the Schema Access Type dropdown for the Data Object. After updating, if the Schema Access Type is Metadata, the schema will be read from the configuration file. This has the potential to break reports if they are referencing columns not included in the object's metadata.
After updating, verify that all column metadata exists for all columns of a vertical table.
Updating from v2021.1.4 or earlier
Report Viewer Interactive Dock Change
The interactive dock in the Report Viewer now defaults to the right side of the screen when opened. This setting can be reverted back to the previous left-hand position with the Admin Console > General > Feature/UI Settings > Interactive report viewer default dock placement setting.
Updating from v2021.1.1 or earlier
Scheduler Service Configuration File Change
The <default_job_timeout>
setting in the Scheduler Service Configuration File is now deprecated. Use <max_job_execution_minutes>
exclusively to limit schedule execution.
A new setting, <smtp_timeout>
is now available to set the SMTP server connection timeout in place of <default_job_timeout>
.
Updating from v2021.1.0 or earlier
This section applies when upgrading from any maintenance release version of v2021.1.
/rest/Schedules
Replaced
The /rest/Schedules
endpoints are now deprecated.
Clients using the REST Web Service API to create, modify or delete scheduled reports should upgrade to the new /rest/SchedulesV2
endpoints as soon as possible. The legacy /rest/schedules
endpoints will be removed in a future version of Exago.
Allow Editing ExpressView with Live Data now defaults to True
The default value for Admin Console > General > Feature/UI Settings > Allow Editing ExpressView with Live Data has been changed from False to True.
Updating from v2020.1 or earlier
This section applies when upgrading from any minor version of v2020.1 (e.g. v2020.1.0, v2020.1.5, etc...)
Storage Management Changes
New content.associated_reports Column
A new associated_reports column has been added to the Storage Management content table, containing a comma-separated list of content_ids for each report that is associated with a particular content record.
Reports become associated with others when they are components in a composite report such as Chained Report or Dashboard, or if an Advanced Report contains links to other reports (a.k.a. drilldowns).
The Update Reports function in the Admin Console reads the contents of a Storage Management database, parses the report file contents and generates the comma separated lists of associated_reports where applicable.
Clicking the Update Reports button in the Admin Console is a required part of the upgrade process for all clients when updating to v2021.1.
Access Flags Active
The access flags built in to the Storage Management system have been made active. In addition, the access flags themselves have been changed from their original definition in the v2020.1 release.
Review the Storage Management: Introduction and Storage Management: Database Schema articles for a definition of the new access flags and their locations in the bitmap.
New Default Access Permission controls in the Admin Console allow an administrator to set the default permissions when new content is created. This value can be changed with the .NET or REST Web Service API or by changing the configuration file.
As some of the access flags bits have changed meaning, some features in the application may inadvertently become unavailable or vice versa. The following SQL statement may be run to upgrade all reports in any existing database to keep full access prior to the upgrade:
UPDATE content_access SET access_flags = 2047 WHERE access_flags = 511
Review the table below for a comparison of the flag bit definitions:
v2020.1 | v2021.1 |
---|---|
reserved for future use | reserved for future use |
reserved for future use | reserved for future use |
reserved for future use | reserved for future use |
reserved for future use | reserved for future use |
reserved for future use | reserved for future use |
reserved for future use | CanMove |
reserved for future use | CanSchedule |
CanView | CanView |
CanDownload | removed — reserved for future use |
CanCopy | CanCopy |
CanExecute | removed — reserved for future use |
CanDelete | CanDelete |
CanShare | CanShare |
CanRename | CanRename |
CanSave | removed — reserved for future use |
CanEdit | CanEdit |
The ContentPermission enum type is also affected by this change.
-o
LoadReportsToDb Command Line Switch Added
A new -o
command line switch has been added to the LoadReportsToDb Storage Management transitioning utility. This allows a user to specify a value for the database driver's CommandTimeout
property. Review LoadReportsToDb in the Storage Management: Transitioning from Legacy Storage Methods article.
ExpressView Changes
ExpressView Themes
With the changes to the the ExpressView Designer, all new themes have been created. Legacy ExpressView themes are no longer supported.
The new ExpressView themes will need to be loaded into the Storage Management database. For existing installations, this can be done in the Admin Console > Storage Management by clicking on the Load Themes button. Skipping this step will result in there being no themes available in the ExpressView Designer, even if themes were available before updating.
Creating custom ExpressView themes is possible, by manually editing the JSON theme content. The schema has changed, but is documented in the Create a Custom ExpressView Theme article. It is not possible to create an ExpressView theme from the designer.
To remove the legacy themes from the Storage Management database (not required), execute the following SQL statements:
DELETE FROM content_access WHERE content_id IN (SELECT content_id FROM content WHERE content_attribute = ‘ExpressView’);
and then:
DELETE FROM content WHERE content_attribute = ‘ExpressView’
Formatting
In addition to the theme changes noted above, the content formatting controls (e.g. bold, italic, underline, alignment, etc...) have been re-worked.
Opening an ExpressView in the new designer will reset all formatting to the system defaults, where any customization can be reapplied as desired with the tools available. Some styling options have been changed to a report-wide setting (e.g. font type) or are no longer available (e.g. font size)
Tutorial Mode and Hints Removed
The Tutorial Mode and ExpressView Hints have been removed from the application, and their Admin Console and configuration file nodes have been eliminated.
Maximum of 7 ExpressView Groups
The ExpressView Designer will now enforce a limit of seven group columns on a single report for performance. The 7th group will need to be demoted to a detail field before it can be replaced with a new one.
ExpressViews created in previous versions with more than 7 groups will still be editable and executable in v2021.1, but no more groups may be added until the number of groups is less than 7.
Default Filter Execution Window Change
The default value for the Admin Console > General > Filter Settings > Default Filter Execution Window has changed from Standard to Simple Without Operator.
In environments where no value had been previously set for this setting, the Simple Without Operator filter execution window will be displayed for all Advanced Reports, Dashboards and Chained Reports with prompting filters after this update.
This setting can be overridden on the report-level (if Admin Console > General > Filter Settings > Allow User to change Filter Window is True) by changing the Filter Execution Window setting in the Report Designer's Advanced > Report Options dialog, or on an application-wide level by changing the aforementioned Admin Console setting.
Learn more in the Filter Settings article.
Advanced Report Changes
Advanced Report Wizard Removed
The Advanced Report Wizard has been removed from the application. Creating a new Advanced Report from the main menu or Getting Started page will directly start the Advanced Report Designer and prompt the user to add Data Objects (formerly Categories) to the report to begin report building.
The helpKeys related to the wizard for creating Custom Context-Sensitive Help have also been removed from the application.
Toolbar Changes
AutoSum Icon Now Hidden by Default
The AutoSum icon from the Advanced Report Designer's toolbar is now disabled by default. A new configuration setting, Admin Console > General > Feature/UI Settings > Show Auto Sum Button allows the button to be enabled on an application-level or session-level basis. The default value is False.
Users are encouraged to use aggregate functions in place of the AutoSum feature. For example, these two reports produce the same output:
The AutoSum icon will be deprecated in a future version.
Actionable User Interface Item Changes
Some of the Actionable User Interface Items on the toolbar have either been removed or replaced. Review the Actionable UI Elements article to see all of the changes. Action Events that use these items may break if they reference elements with new names or elements that are no longer available.
Default Theme Colors Changed
The colors of the Default theme have been changed. This new theme is WCAG AA Compliant and color blind accessible.
Single Series Chart Theme Change
New themes have been introduced for charts. In addition, theme color now corresponds with a series, instead of a value. Bar, Stacked Bar, Column, Stacked Column, Pareto, Spark Column, Scatter, Zoom Scatter and Bubble Charts are affected by this change.
ETL Removed
The ETL feature has been removed.
Review Configuration Changes at the bottom of this article for notes about Scheduler Service and Web Application configuration file nodes that have been removed.
The folder with the ETL Transforms may be safely removed. This code sample can be used to remove the ETL_TRANSFORMS folder and any transforms in it on a Microsoft SQL Server Storage Management database. Run the statements one at a time.
NoteChange both instances of ETL_TRANSFORMS in the
WHERE
causes below to the name of the actual ETL Transforms directory. This can be found in the Admin Console > General > ETL Settings > ETL Transforms Folder setting.Change the names of the content and content_access tables in the statements below to the actual names of those tables in the database, where applicable.
-- Add a flag column ALTER TABLE content ADD ETL_FLAG INT -- Set the flag for content in the specified folder UPDATE content SET ETL_FLAG=1 FROM content WHERE content.content_id IN (SELECT content_id FROM content_access WHERE parent_id = (SELECT content_id FROM content WHERE name = 'ETL_TRANSFORMS')) -- List the items we are going to delete SELECT * FROM content WHERE ETL_FLAG = 1 -- Delete all the content access records for content in the folder DELETE FROM content_access WHERE parent_id = (SELECT content_id FROM content WHERE name = 'ETL_TRANSFORMS') -- Delete the content records for those items flagged which don't have another access record DELETE FROM content FROM content INNER JOIN content_access ON content.content_id = content_access.content_id WHERE ETL_FLAG = 1 AND content_access.content_id IS NULL -- and report those items we did not delete SELECT * FROM content WHERE ETL_FLAG=1
The transform folder can now be removed from the database.
Updating from v2020.1.22 or earlier
New Language File Element
Added new language file element DashboardVizChartTypeLbl
to translate the Chart Type label in the Dashboard Designer
JavaScript API ExecuteReport() Function
The ExecuteReport()
function in the JavaScript API now supports calling reports by the report ID. To accomplish this, an additional boolean argument has been added to the function call.
Updating from v2020.1.15 or earlier
Schema Access Type Now Honored for Vertical Tables
Prior to this version, Exago always queries the Data Source for the schema of a Vertical Table, regardless of the setting of the Schema Access Type dropdown for the Data Object. After updating, if the Schema Access Type is Metadata, the schema will be read from the configuration file. This has the potential to break reports if they are referencing columns not included in the object's metadata.
After updating, verify that all column metadata exists for all columns of a vertical table.
Updating from v2020.1.13 or earlier
Scheduler Service Configuration File Change
The <default_job_timeout>
setting in the Scheduler Service Configuration File is now deprecated. Use <max_job_execution_minutes>
to limit schedule execution.
A new setting, <smtp_timeout>
is now available to set the SMTP server connection timeout in place of <default_job_timeout>
.
Updating from v2020.1.12 or earlier
/rest/Schedules
Replaced
The /rest/Schedules
endpoints are now deprecated.
Clients using the REST Web Service API to create, modify or delete scheduled reports should upgrade to the new /rest/SchedulesV2
endpoints as soon as possible. The legacy /rest/schedules
endpoints will be removed in a future version of Exago.
Updating from v2020.1.1 or earlier
- The MongoDB CDATA driver has been updated from version 19.0.7202.0 to version 20.0.7524.0. Clients using the MongoDB CDATA driver need to contact their Customer Success Manager to have a new license key generated.
- A bug fix to the
/rest/Schedules/
endpoint now includes the full report path when making standard and BATCH calls on Linux. This change only affects Linux, as the full report path was always returned on Windows. For example:
Updating from v2019.2 or earlier
This section applies when upgrading from any minor version of v2019.2 (e.g. v2019.2.0, v2019.2.11, etc...)
Storage Management
Exago's Storage Management system replaces the legacy file system, cloud storage, folder management and web service (SOAP) storage methods with a relational database. All reports, templates, folders and themes are stored in this database. Out-of-the-box, Exago provides a SQLite database. Microsoft SQL Server, MySQL, Oracle and PostgreSQL are also supported.
As of v2020.1, the legacy storage methods are deprecated and have been replaced with the Storage Management system. All clients upgrading to v2020.1 will need to change their content storage strategy to the Storage Management system. Exago has built-in several handy utilities for this transitioning process, as well as an interface for implementing a customized Storage Management system.
More information about Storage Management and transitioning a legacy storage system to it can be found in these articles:
- Storage Management: Introduction
- Storage Management: Getting Started
- Storage Management: Transitioning from Legacy Storage Methods
- Storage Management: Custom Implementation
User Identification and Permissions
When creating an Exago user session with one of the APIs, in addition to setting the @userId@ and @companyId@ system parameters, there are four new Storage Management Identity keys that should also be set.
Details about these keys and how to set them can be found in the Storage Management: Introduction and Navigating the Application articles.
When transitioning to Storage Management, a new permissions model is available. Learn more in Storage Management: Introduction and Storage Management: Getting Started.
User Interface Changes
The Storage Management system is virtually transparent to the end user, with two exceptions:
- A new Owner icon will appear in the Report Tree if a user owns that content. Content ownership is a new concept in the Storage Management system. More information can be found in the Storage Management: Introduction link above.
- If the Owner of content moves it to a different folder, a new dialog will appear asking the user to copy the permissions of the new folder to the content or to keep the permissions of the content.
More information can be found in the Navigating the Application article.
Caching Settings Moved
Several settings for caching in the applications have been moved in the Admin Console and configuration file.
- General > Other Settings > Enable Report List Caching has moved to Storage Management > Enable Report List Caching
- General > Other Settings > Enable Report XML Caching has moved to Storage Management > Enable Report XML Caching
- General > Other Settings > Report XML Caching Timeout (s) has moved to Storage Management > Enable Report XML Caching Timeout
New Caching Setting
The Theme List is now cached with the Storage Management system. A new Storage Management > Theme List Caching Timeout setting determines when the theme list cache expires.
Puppeteer Rendering Libraries Enabled by Default
The Puppeteer visualization rendering libraries were introduced into Exago v2019.1.5 but were not enabled by default. Now in v2020.1, they have been enabled for all installations by default in place of the legacy wkHtmltoImage libraries.
Clients using Docker containers or Azure App Services may need to flip the useWkHtmlToImage
flag back to True in the Application Settings for both the Web Application and the Scheduler Service as Puppeteer is not compatible with these types of environments yet.
Clients using the .NET API to integrate Exago need to add a reference to ExagoPuppeteerRasterizer.dll
located the Exago Web Application's \bin
directory to their application.
Linux Installer No Longer Includes MySQL ADO.NET Driver
The Exago Linux Installer will no longer install a MySQL ADO.NET driver at the time of installation. Instead, clients wishing to use a MySQL data source for either reporting or for Storage Management will need to provide their own.
Exago has provided wrappers around two popular MySQL data drivers that clients may choose to install on their own.
- Devart dotconnect free edition
- MySQL ADO.NET
Contact your Customer Success Manager or the Exago Support Team for assistance. Install the driver by extracting the contents of the download and then running either installMySql.sh
or installDevartMySql.sh
as root. Provide the Exago installation path to the installer script. For example:
sudo ./installDevartMySql.sh /opt/Exago
Once installed, update the Admin Console > General > Database Settings to reflect the new data provider.
System.Data.OracleClient Driver No Longer Supported on Linux
The System.Data.OracleClient driver, which also required the external Oracle Command Line Interface to be installed, is longer supported on Linux.
The Oracle.ManagedDataAccess.Client driver can be used instead. Exago has provided a wrapper that clients may use to install Oracle.ManagedDataAccess.Client on their own.
Contact your Customer Success Manager or the Exago Support Team for assistance. Install the driver by extracting the contents of the download and then running installOracle.sh
as root. Provide the Exago installation path to the installer script. For example:
sudo ./installOracle.sh /opt/Exago
Once installed, update the Admin Console > General > Database Settings to reflect the new data provider.
Several Action Events Now Support Promises
Synchronous calls to Utilities.AjaxRequest
are no longer supported. As a workaround, the Action Events below have been upgraded to allow returning Promises, allowing asynchronous calls instead:
- OnRightClickReport
- OnRenameReport
- OnEditReport
- OnDeleteReport
- OnDuplicateReport
- OnExecuteReport
- OnSelectReport
- OnDoubleClickReport
Action Event Code that makes synchronous calls to Utilities.AjaxRequest
such as this example:
// Do some stuff const value = Utilities.AjaxRequest(Utilities.AjaxRequest("web.method.name", data); // Do some other stuff
Will need to be changed to make the call asynchronous:
// Do some stuff Utilities.AjaxRequestAsync("web.method.name", data).then((value) => { /* Do some other stuff */ }); //Do some other stuff
or
// Do some stuff const value = await Utilities.AjaxRequestAsync("web.method.name", data); //Do some other stuff
NoteIf a success callback is passed to
Utilities.AjaxRequest
as in the example below, this already behaves asynchronously so no change is needed.Utilities.AjaxRequest(Utilities.AjaxRequest("web.method.name", data, () => console.log("It worked!"));
For more information, review the Global Action Events article.
Updating from v2019.2.40 or earlier
Added new language file element DashboardVizChartTypeLbl
to translate the Chart Type label in the Dashboard Designer
Updating from v2019.2.34 or earlier
Schema Access Type Now Honored for Vertical Tables
Prior to this version, Exago always queries the Data Source for the schema of a Vertical Table, regardless of the setting of the Schema Access Type dropdown for the Data Object. After updating, if the Schema Access Type is Metadata, the schema will be read from the configuration file. This has the potential to break reports if they are referencing columns not included in the object's metadata.
After updating, verify that all column metadata exists for all columns of a vertical table.
Updating from v2019.2.30 or earlier
Scheduler Service Configuration File Change
The <default_job_timeout>
setting in the Scheduler Service Configuration File is now deprecated. Use <max_job_execution_minutes>
to limit schedule execution.
A new setting, <smtp_timeout>
is now available to set the SMTP server connection timeout in place of <default_job_timeout>
.
Updating from v2019.2.28 or earlier
/rest/Schedules
Replaced
The /rest/Schedules
endpoints are now deprecated.
Clients using the REST Web Service API to create, modify or delete scheduled reports should upgrade to the new /rest/SchedulesV2
endpoints as soon as possible. The legacy /rest/schedules
endpoints will be removed in a future version of Exago.
Updating from v2019.2.17 or earlier
- Cloned data objects may now have their own folder and description fields. Accordingly, there are some minor changes to the Admin Console, XML configuration file, and .NET API handling of data object clones.
Updating from v2019.2.15 or earlier
- The MongoDB CDATA driver has been updated from version 19.0.7202.0 to version 20.0.7524.0. Clients using the MongoDB CDATA driver need to contact their Customer Success Manager to have a new license key generated.
- A bug fix to the
/rest/Schedules/
endpoint now includes the full report path when making standard and BATCH calls on Linux. This change only affects Linux, as the full report path was always returned on Windows. For example:
Updating from v2019.2.11 or earlier
The Admin Console > General > Culture Settings > Time Zone Name will now be used for all time related features, including DateTime functions such as Now(). Admin Console > General > Culture Settings > Server Time Zone Offset only applies if Time Zone Name is not set.
Updating from v2019.2.0 or earlier
Linux Installer Flags Added
The Linux Installer has had several new command line flags added. Any previous headless install scripts will start prompting for missing formation and will require editing to account for the new parameters.
In summary, the new parameters added are:
-N
will inhibit the installer from configuring systemd services for the Web Application and the Scheduler Service. Otherwise, they will be installed and configured by default. Replaces the -R parameter.-u
is used to specify an operating system user account under which the systemd services and FastCGI listeners (if applicable) will run.-D
is used to tell the installer to use default values when installing.-f
is used to specify names for the FastCGI listener services (NGINX only).-p
is used to specify the port number for the FastCGI listener services (NGINX only).
Read the Installing Exago on Linux article to review the changes made to the installer and the new options.
api.saveData() is deprecated
The .NET api.saveData()
method has been deprecated and replaced by two new methods, SaveConfigToApi()
and SaveConfigToFile()
.
SaveConfigToApi takes the place of a SaveData(false)
call and SaveConfigToFile takes the place of a SaveData(true)
call.
Review the .NET API General Reference article for more information.
Updating from v2019.1 or earlier
This section applies when upgrading from any minor version of v2019.1 (e.g. v2019.1.0, v2019.1.11, etc...)
Settings Removed From Admin Console
The following settings have been removed from the Admin Console, but do remain available in the XML Config Files in case they are needed.
Most of these settings effectively retire the legacy Express Report Designer. Advanced Reports should be used instead.
- General > Feature/UI Settings > Allow Creation/Editing of Express Reports
- General > Feature/UI Settings > Use Sample Data for Dashboard Visualization Design
- all of the General > Feature/UI Settings > Express Report Designer Settings
- Roles > Allow Creation/Editing of Express Reports
- Roles > Show Styling Toolbar
- Roles > Show Themes
- Roles > Show Grouping
- Roles > Show Formula Button
Record Level Aggregation Enabled by Default Changed to True
In v2019.1.8 of the application, the Record Level Aggregation Enabled by Default setting was added to the system configuration. This setting configures how Exago handles one-to-many relationships when an Aggregate Function is called without the recordLevel
argument. This flag has been changed to True by default in v2019.2.
Our documentation on Aggregate Functions describes how the recordLevel
argument works and how this change may impact your reports.
Dashboard Visualization Tile Update
Visualization tiles built directly on a Dashboard in previous versions are based on ExpressView. In v2019.2, they are based on Advanced Reports. The Dashboard Designer will update the visualizations when a legacy Dashboard is saved for the first time in the v2019.2+ Dashboard Designer, but this is a one-way update.
To retain the ExpressView appearance and functionality, export the tiles as a standalone ExpressView and replace the tile with an Existing Report tile containing the newly created standalone ExpressView. It is very highly recommended that all legacy Dashboards be backed up before upgrading to the v2019.2.
NoteIf General > Feature/UI Settings > Save on Report Execution in the configuration is True, clicking Run in the Dashboard Designer will also save the Dashboard and update the visualizations.
Updating from v2019.1.28 and earlier
The MongoDB CDATA driver has been updated.
Updating from v2019.1.25 and earlier
The Admin Console > General > Culture Settings > Time Zone Name will now be used for all time related features, including DateTime functions such as Now(). Admin Console > General > Culture Settings > Server Time Zone Offset only applies if Time Zone Name is not set.
Updating from v2019.1.14 and earlier
WebReports.Api.Reports.Report.GetExecute Methods Will Use Remote Execution by Default
The GetExecute() methods [GetExecuteHtml(), GetExecuteCsv(), GetExecuteData(), GetExecuteJson()] are now able to use Remote Execution. If a Remote Execution host is configured, calls to these methods will use the Remote Execution servers for report generation by default.
To run a report locally, disable Remote Execution for the session via the API.
Updating from v2019.1.4 and earlier
When updating from v2019.1.4 and earlier, the following topics may require your attention.
.NET Requirements
A minimum of .NET Framework version 4.6.1 is required, with version 4.7.2 recommended.
.NET Standard 2.0 is required.
Mono
Exago supports the following versions of Mono:
- 4.2.2.30
- 5.10.1.20
WarningThese are the only versions of Mono that are compatible with Exago. In addition, the Exago installer will install a patched version of
System.Web.dll
. This patch can also be installed manually.
Using Puppeteer with .NET API Integration
v2019.1.5 contains a new set of libraries for image rendering called Puppeteer. These are turned off by default, and can be enabled by setting the useWkHtmlToImage flag in Application Settings to false.
If you are using a .NET API integration, in order to use Puppeteer, the following files must be copied to the host application's bin directory:
js.es5.resource js.es6.resource bin\ExagoPuppeteerRasterizer.dll bin\Microsoft.AspNetCore.WebUtilities.dll bin\Microsoft.Extensions.DependencyInjection.Abstractions.dll bin\Microsoft.Extensions.Logging.Abstractions.dll bin\Microsoft.Extensions.Logging.dll bin\Microsoft.Extensions.Options.dll bin\Microsoft.Extensions.Primitives.dll bin\Microsoft.Net.Http.Headers.dll bin\PuppeteerSharp.dll
If your Exago web server is running Linux, the following X11 libraries are required to be installed in order to use Puppeteer:
gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
In a CentOS environment, the following libraries are required to be installed in order to use Puppeteer:
pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
Manual Extraction of chromium-win64.zip
Required with ZIP Scheduler Service Installation
When installing the Exago Scheduler Service using the Windows ZIP Archive the file chromium-win64.zip
must be manually extracted. Extract it to a \chromium
folder inside of the Scheduler Service's installation directory (e.g. C:\Exago\ExagoScheduler\chromium
). This extraction process happens automatically with the Windows Installer but needs to be done manually when installing from ZIP.
Updating from v2019.1.3 and earlier
When updating from v2019.1.3 and earlier, the following topics may require your attention.
.NET Framework Version Requirement Raised to 4.6.1
v2019.1.4 contains an upgraded version of the Syncfusion Excel exporter library that requires .NET Framework 4.6.1 or above.
In order to continue to export to Excel via the user interface or API Action, web servers running Exago must have .NET Framework 4.6.1 or above.
If you are using .NET API integration, in order to continue to export to Excel via GetExecute() API methods, web servers running the host application must have .NET Framework 4.6.1 or above. The host application does not need to target this version; it must simply be available on the server. Additionally, the System.ValueTuple.dll
binary must be present in the host application's bin directory.
Updating from v2019.1.1 and earlier
When updating from v2019.1.1 and earlier, the following topics may require your attention.
New method for managing the dbconfigs.json file
The dbconfigs.json file contains database specific syntax related to formulas, data types, primary and foreign key discovery, datetime casting, and row limiting and range selection. This file is overwritten after each new installation of Exago and, as such, any changes made to this file will be lost.
In order to prevent the loss of such information after each update, a dbconfigs.overrides.json file may be created and populated with these changes. For more information on the dbconfigs.json and dbconfigs.overrides.json files, please see the Managing the dbconfigs JSON file article.
Configuration Changes
The following section details the changes made to the configuration XML files.
v2021.1.8
Added to <webreports>
:
<general>
<chainedreportmaxcollationexecutions>
<sqliteprovider>
<sqliteprovidertableschema>
<sqliteproviderviewschema>
<sqliteproviderfunctionchema>
<sqliteproviderprocedurechema>
v2021.1.2
Added to the Scheduler Service Configuration file:
<smtp_timeout>
Deprecated from the Scheduler Service Configuration file:
<default_job_timeout>
v2021.1.0
Added to <webreports>:
<entity>
<canreexecuteindb>
— set to False to prevent the Dashboard Designer from executing filters in the data source. See Interactive Filtering in Database in Data Objects for more information.
<storagemgmt>
<default_access_flags>
— the definition of the<default_access_flags>
has changed in this version. Review the Storage Management section of the Config File XML Reference article for more information.
<general>
<dashboardautomaticallyrefreshtiles>
— set to True to allow tiles in the Dashboard Designer to refresh for all changes made to them. This also disables the Refresh Reminder feature. See Feature/UI Settings for more information.<showautosum>
— show (true) or hide (false) the AutoSum icon on the toolbar in the Advanced Report Designer.
Removed from <webreports>:
<etl>
<general>
<etlreportfolder>
<showtipsexpressview>
<showtutorialexpressview>
Removed from the Scheduler Service Configuration file:
-
<enable_etl_bulk_insert>
<etl_bulk_insert_local_path>
<etl_bulk_insert_database_path>
<use_etl_bulk_insert_csv_format>
<etl_bulk_insert_field_terminator>
<etl_bulk_insert_debug>
v2020.1.14
Added to the Scheduler Service Configuration file:
<smtp_timeout>
Deprecated from the Scheduler Service Configuration file:
<default_job_timeout>
v2020.1.2
Added to the Scheduler Service Configuration file:
<enable_etl_bulk_insert>
<etl_bulk_insert_local_path>
<etl_bulk_insert_database_path>
<use_etl_bulk_insert_csv_format>
<etl_bulk_insert_field_terminator>
<etl_bulk_insert_debug>
v2020.1.0
Added to <webreports>:
<general><sqlgenerationlevel></general>
— Set the level of in-database formula grouping used by Exago. This value should be 1 unless otherwise directed by Exago Support. More information can be found in the Hidden Flags article.<storagemgmt>
— defines a Storage Management configuration<assembly>
<class>
<table_prefix>
<report_list_cache_timeout>
<report_xml_cache_timeout>
<theme_list_cache_enabled>
<report_xml_cache_enabled>
<default_inherit_flag>
<default_party_type_id>
<default_access_flags>
<option>
<DbType>
<DbProvider>
<ConnectionString>
<ReportListCacheKey>
<identity>
userId
classId
companyId
ownerId
v2019.2.31
Added to the Scheduler Service Configuration file:
<smtp_timeout>
Deprecated from the Scheduler Service Configuration file:
<default_job_timeout>
v2019.2.18
Added to <webreports>:
<entity>
<inherit_category>
<inherit_description>
v2019.2.0
A number of Express Reports settings were removed from the Admin Console and now exist only as hidden flags.
v2019.1.0
Added to <webreports>
- <config> Specify directive information for different config types.
- <lifespan> How long, in seconds, the configuration should be retained.
- <type> Whether the configuration file is dynamic or static.
- <parent> The name of the parent configuration.
- <etl> ETL Job object information
- <name>
- <id>
- <datasource_id>
- <schema>
- <object_name>
- <report_name>
- <job_id>
- <schedule_info>
- <enabled>
Added to <general>
- <activeroleid> Set or view the currently active Role.
- <showsqlwindow> If True, users will be able to preview the SQL that will be sent to the database when executing Advacned Reports.
- <clienttimezonename> Set the client's default geopolitical time zone.
- <useexternaltimezoneconverter>
- <mintilewidth> Set the minimum tile width during automatic resizing.
- <mindesktopwidth> Set the minimum desktop width during automatic resizing.
- <reportxmlcacheenabled>
- <reportxmlcachetimeout>
- <etlreportpath> Report path where the ETL Reports Folder should be stored, defaulted to standard report path.
- <etlreportfolder> Folder within the specified report path where ETL reports will be stored.
- <licensekey> Licensing information to enable purchasable features.
Added to <column_metadata>
- <col_dateformat> Date field formatting (e.g., dd-MM-yyyy). For use with vertical table transformations only.
v2018.2.6
Added to <general>
- <evaluateformulasindatabase> If True, Exago will convert formula filters to SQL to be evaluated in the database.
Added to <function>
- <filter_return_type> Required field specifying the return type of a function. Can be set to String, Integer, Decimal, or Date.
Moved to <appsettings.config>
- <loadassemblyinexternaldomain>
Moved to <webreportsapi.dll>
- SQLUtils.dll
NoteSQLUtils.dll has been removed from the base install. To continue using its methods, it must now be referenced from WebReports.Api.SqlUtils
v2018.2.0
Added to <general>
- <schedulershowreplyto> Allows a user to specify a “Reply To” address when creating Scheduled Reports.
- <showtipsexpressview> Enable or Disable “Tips” in the ExpressView designer.
- <showtutorialexpressview> Enable or Disable the tutorial as a new user enters the ExpressView designer.
- <reportlistcacheenabled> If True, Exago will cache the report list returned by Folder Management’s method GetReportList() to reduce the number of calls being made.
- <filterdropdownobjecttenancy>
- <evaluateformulasindatabase> (HIDDEN FLAG) Currently hard coded to false pending future enhancement.
v2018.1.19
Moved to <appsettings.config>
- <loadassemblyinexternaldomain>
Moved to <webreportsapi.dll>
- SQLUtils.dll
NoteSQLUtils.dll has been removed from the base install. To continue using its methods, it must now be referenced from WebReports.Api.SqlUtils
v2018.1.0
Added to <general>
- <googlemapjsapikey> Specify the Google Maps API key for the JS API, for restricted or unrestricted keys, and optionally the Geocode API for unrestricted keys. Replaces <googlemapkey>.
- <googlemapgeocodeapikey> Specify the Google Maps Geocode API key for restricted keys.
- <expressviewjoinpathalgorithm> Specify the standard or legacy algorithm for finding join paths between fields on ExpressViews.
- <allowreportcustomsqlobjects> Allow Report-Level Custom SQL objects.
- <excludedatasourcesreportcustomsql> Exclude data sources from Report-Level Custom SQL.
- <dbrowlimitparamname> Programmable object parameter name for Database Row Limt.
- <dbrowrangestartparamname> Programmable object parameter name for Row Range Start Index.
- <dbrowrangeendparamname> Programmable object parameter name for Row Range End Index.
- <loadassemblyinexternaldomain> (HIDDEN FLAG) Load assemblies in external domain.
- <canjointransformobjectsindb> (HIDDEN FLAG) Use database to transform vertical tables.
- <cacheconfig> (HIDDEN FLAG) Cache the SetupData in the session.
Removed from <general>
- <googlemapkey> Replaced by <googlemapjsapikey>
Added to <entity>
- <affinity> For entities created in the API, whether they have affinity to the report or the configuration.
- <suppress_sort_filter> Suppress application sorting and filtering for programmable objects.
Added to <join>
- <affinity> For joins created in the API, whether they have affinity to the report or the configuraiton.
Added to <role> • <rolegeneral>
- <allowreportcustomsqlobjects> Allow this role to create, edit, and execute report-level SQL, if it is enabled in the configuration.
Added to <role> • <security>
- <includereportcustomsqlobjects> Allow this role to execute report-level SQL, if it is enabled in the configuration and if <allowreportcustomsqlobjects> is False.
v2017.3.1
Added to <general>
- <showcomplexjoins> Specify whether the report Joins window shows options for creating complex joins.
- <showcategoryalias> Specify whether the report Categories window allows for categories to be aliased.
v2017.3
Added to <general>
- <linkedreportdisplay> Specify the position which linked report drilldowns display when opened. Replaces <linkedreportsinnewtab>
- <restkey> Specify the REST web service authorization key. Supersedes <password> for this purpose (does not replace <password> for Admin Console authentication).
- <allowearlypagebreak> (HIDDEN FLAG) Allow page breaks to be inserted at the beginning of reports.
- <cachevisibilitylevel> Control what visibility permissions users can assign to execution caches. Supersedes <schedulemanagerviewlevel> for this purpose.
Removed from <general>
- <linkedreportsinnewtab> replaced by <linkedreportdisplay>
v2017.2
Added to <general>
- <formulafunctionsloaded> (HIDDEN FLAG) Whether the default functions are loaded in the config
- <aliasallentities> (HIDDEN FLAG) Use all entity IDs as SQL aliases (default: False)
- <safemode> (HIDDEN FLAG) Add additional entity verification at runtime; set True unless otherwise instructed
- <reporttreeshortcut> Default "Run" shortcut button for report tree (default: Run)
- <logginglevel> The severity level at which events are logged (default: INFO); replaces <writelog>
- <showdatafieldssearch> replaces <showdashboarddatafieldssearch> and <showexpressviewdatafieldssearch>
Removed from <general>
- <visualizationdbrowlimit>
- <writelog> replaced by <logginglevel>
- <showdashboarddatafieldssearch> replaced by <showdatafieldssearch>
- <showexpressviewdatafieldssearch> replaced by <showdatafieldssearch>
Added to <function>
- <arguments_json> details about the function arguments; replaces <min_args> and <max_args>
- <variable_arguments> whether the last argument is a list
Removed from <function>
- <min_args> replaced by <arguments_json>
- <max_args> replaced by <arguments_json>
v2017.1
Added to <general>
- <executioncache> Enable or disable execution caching (default: False)
- <showtopn> Enable or disable Top N filters (default: True)
- <showadvancedreports> 'Standard' reports were renamed to 'Advanced' reports. Replaces <showstandardreports>
Removed from <general>
- <showstandardreports> replaced by <showadvancedreports>
v2016.3
Added to <general>
- <showgooglemapwizard> Enable the new Google Maps Wizard.
- <googlemapcolors> Google maps default colors, as hex or html color names, separated by commas.
- <googlemapkey> Google Maps API key for new Google mapping.
- <geochartmapkey> Google Maps API key for Geochart (legacy) mapping.
- <currencydecimalplaces> Number of decimal places for currency-formatted data fields.
- <applygeneralcurrencyrightalignment> Automatically right-align currency-formatted data fields.
- <usesecureremotingchannel> Enable secure channel for scheduler remoting.
- <usesvgforappicons> Enable or disable SVG icons for application themes.
- <showexpressviews> Enable or disable the ExpressView designer.
- <allowexpressviewliveedit> Allow editing ExpressViews in live mode.
- <showexpressviewdatafieldssearch> Enable or disable the ExpressView data field search bar.
- <csstheme> Select application theme.
- <maxjobexecutionminutes> Max time to run an execution job before timing out.
- <aggregateandgroupindatabase> Enable calculating aggregates in the database.
- <allowmd5onfips> Allow a FIPS-compliant server to encrypt PDF files.
Added to Scheduler configuration file
- <secure_channel> Enable secure channel for scheduler remoting.
- <max_job_execution_minutes> Max time to run an execution job before timing out, works in conjunction with the existing <default_job_timeout> setting. Both should be set to the same time value. Note that <default_job_timeout> is in seconds and <max_job_execution_minutes> is in minutes.