If you are updating your version of Exago, please consult this guide to be notified of any potential breaking changes. Note that if you are updating from more than one version behind the current one, then the information from that section and all sections above it will apply to you. If your version is not listed, then we do not support a direct update path to the latest version. Please file a support ticket.
When updating from v2016.3 and earlier, the following topics may require your attention:
Standard Reports have been renamed to Advanced Reports throughout the application. 'Standard' has been changed to 'Advanced' in the following areas:
The config file keys under General and Roles/General have changed from "showstandardreports" to "showadvancedreports." Existing configs with showstandardreports will load just fine.
New API enumerations are available: wrApiAction.NewAdvancedReport supersedes wrApiAction.NewReport. wrReportType.Advanced supersedes wrReportType.Standard. Please adjust your code accordingly.
The 'Main Menu' section of the home page has been redesigned. Several icons have undergone changes, and there is now no logo in the upper left corner. If you are using a custom application theme, you may have to make some changes to your css and images.
The 'Browse Reports' menu is more easily collapsible. Additionally, its expanded or collapsed state is preserved per user, via a new user preference.
ExpressViews now support custom theme files, which have the extension .wrtev. These are JSON files, unlike previous themes. To create a custom theme, style an ExpressView, then hold Alt-Ctrl-Shift and press the Save icon. The theme is saved to the Reports folder, but you can move it to the Themes folder if you wish; it is accessible from either location. The theme type "ExpressView" has been added to the relevant folder management methods.
If you are using a folder management assembly to store report and theme data, you need to manually add the file {Exago}\Themes\Legacy.wrtev to your theme storage. This is the default ExpressView theme. Otherwise users will encounter errors with ExpressViews.
A new way to filter reports, called Top N or Top/Bottom, has been added and is enabled by default. If you want to disable this feature, change the admin setting Filter Settings > Show Top N Filters to False.
When updating from v2016.2 and earlier, the following topics may require your attention:
A new feature in this version is the ability for Admins to add downloadable Application Themes, which change the overall look of Exago for all users. A side effect of this feature is that the file paths for CSS and images has changed. After updating to this version, any custom CSS or images will still be in the old locations, and will have to be moved.
The Css and Images folders are now located in separate theme folders in the file path "Exago root"\ApplicationThemes\. The default Exago theme is called Basic. Move your custom Css and Images folders into the Basic sub-folder within the ApplicationThemes file path. You may need to re-check your CSS to ensure you're using relative paths, not absolute. Then check the following setting to ensure that the Basic theme is selected:
( Feature/UI Settings Application Theme Selection ) <csstheme>
You may still not be able to see your custom images. If so, please see the next section.
Additional note: If you are using custom CSS to hide the default Exago logo, please note that the element type has changed from an img to a div. In your stylesheet, you'll now need to use this selector: div.wrMainCompanyLogo
When you update to this version, Exago will default to the new SVG icon set. There are several considerations of note.
SVG icons may not be compatible with all browsers or operating systems. Compatible browsers include Google Chrome, Firefox 3.0+, Internet Explorer 9.0+, Edge, Safari, and most mobile browsers. If your users cannot see the new icons, you can switch back to the PNG icons by toggling this setting to False:
( Feature/UI Settings Use SVG for Application Icons ) <usesvgforappicons>
If you were using custom icons, then Exago will no longer be looking in their location, and you will see the default icons instead. Either create SVG versions of your custom icons and place them in the default theme path below, or switch back to the PNG icons using the setting above.
"Exago root"\ApplicationThemes\Basic\Images\svg
If you decide to use the new SVG icons, you should not have to alter any custom CSS or Action Events, since the images are identified by html element tags, not filenames.
The new ExpressView designer features a data field search bar by default. If you leave this enabled, it is highly recommended to set the column metadata for available data objects in order to reduce the frequency of database queries.
To set object metadata using the Admin Console, expand Data > Objects, and then double-click on an Object, or select the Object and press (Edit). This will open the Objects tab.
Press the Column Metadata button to open the Column Metadata editor. Then press the Read Schema button. This will automatically add metadata for every column in the data object. Press OK to close the editor.
Next, set the Schema Access Type to Metadata. Alternately, you can use the following setting to enable this option for every data object (this will cause errors if a data object is missing metadata):
( Other Settings Global Schema Access Type ) <schemaaccesstype>
Press Apply or OK to save your changes. Do this for every data object.
The Geocharts feature which was present since v2013.2 has an additional requirement if you are implementing your application under a new domain name.
Our mapping features use the Google Maps API. Historically, this was a free solution. However, in June 2016, Google began to require paid licenses for commercial usage. If you had mapping enabled prior to June 2016, and you are not planning on implementing your application under a new domain name, this section does not affect you because you have been grandfathered in.
If you intend to implement legacy maps under a new domain name, then you must acquire a Google Maps API License in order to use this feature. See this page for details. Your license must include the Google Maps Javascript API.
To install your license file, place your license key in the following setting in the Admin Console:
( Feature/UI Settings Geochart Map Key ) <geochartmapkey>
There are additional steps needed in order to enable the new Google Maps wizard.
First, you need to download and install a polygon file. This is a free download located on our support site. The file is named 'MapPolygonDataBase.sqlite'. Once you've obtained this file, place it in the following location in your install path (if the folder does not exist, create it):
"Exago root"\Mapcache
This file may receive periodic updates to support additional regions. Please check back occasionally to see if an update has been posted. To install an update, simply overwrite the file with the new version.
Next, the new wizard uses the Google Maps API, which requires a paid license for commercial use. You must acquire a Google Maps API License in order to enable this feature. See this page for details. Your license must include the Google Maps Javascript API and the Google Maps Geocoding API.
To install your license file, first toggle the following setting to True:
( Feature/UI Settings Show Google Maps Wizard ) <showgooglemapwizard>
Then place your license key in the following setting in the Admin Console:
( Feature/UI Settings Google Map Key ) <googlemapkey>
Database aggregation is a new feature which aims to improve report performance by performing some aggregate calculations in the database, rather than in the application.
In order to use this feature, you must ensure that all One-to-Many joins in your configuration are properly identified. One-to-Many joins are incompatible with database aggregation. If Exago does not recognize the joins as such, you will see incorrect values without any warning.
The Data Source Metadata Discovery tool cannot identify whether joins are One-to-Many. By default it sets all joins as One-to-One. If you used this tool to autofill your Objects and Joins, you must take the following precautions before enabling Database Aggregation.
To set your joins using the Admin console, expand Data > Joins, and then double-click on the Join, or select the Join and press (Edit). This will open the Joins tab.
In the Relation Type drop-down menu, select One To Many. Then press Apply or OK to save your changes. Do this for every One-to-Many join.
New reports added using any New Report Wizard will no longer automatically add interactive column sorts for each data field in the layout. Previously created reports will be unaffected. This change was made to better support database aggregation out of the box. Due to technical limitations, reports with interactive sorts or filters will not see any performance improvement from database aggregation.
The .NET API constructors for EntityColumnMetadata were changed to support the additions to column metadata. The following overloads are now available (new params are highlighted):
public EntityColumnMetadata(string columnName)
public EntityColumnMetadata(string columnName, string columnType, string mnemonicName, string columnDescription, string filterColumnName, string sortAndGroupByFormula, ConditionalBoolean isVisible, ConditionalBoolean isFilterable, ConditionalBoolean isSortable)
public EntityColumnMetadata(string columnName, string columnType, string mnemonicName, string columnDescription, string filterColumnName, string sortAndGroupByFormula, ConditionalBoolean isVisible, ConditionalBoolean isFilterable, ConditionalBoolean isSortable, EntityColumnSource columnSource, string columnValue)
Old constructor overloads are no longer valid. If you are implementing this class, please update your code. For more information about the added features, please see the Column Metadata Enhancements article on our support site.
When updating from v2016.1 and earlier, the following topics may require your attention:
Grouping on a formula from the Group Header or Group Footer menu is now deprecated and the group formula button is removed.
To group on formulas, you must now create a sort formula in the Sorts menu, by using the formula button:
Then create a group header or footer on the sort formula:
To re-enable the Group Formula button, enable the admin console setting Feature/UI Settings > Allow Grouping on Non-Sorts.
With the addition of sort formulas, several fields in the Sort API object are deprecated. Apps which use sort objects should be updated to the newer syntax.
Sort.Name – Use Sort.SortText
Sort.EntityName – Use Sort.EntityNames
Sort.Entity – Use Sort.Entities
Sort.ColumnName – Use Sort.ColumnNames
Sort.DataSetFilterName – Deprecated, no alternative
Sort.DataType – Deprecated, no alternative
Sort.SaveName – Deprecated, no alternative
Sort.DbName – Deprecated, no alternative
The speed at which Dashboards refresh their data has been significantly increased. Embedded reports and visualizations will now reload much more rapidly. Additionally, the refresh indicator has been reduced in size to a small hourglass on each embedded item.
For automatic timed reloads, the hourglass can be disabled by toggling the following Admin Console setting to True:
Feature/UI Settings > Refresh Reports/Visualizations on Dashboards Silently
When updating from v2015.1 and earlier, the following topics may require your attention:
When executing reports via the API, if the Report.ExportType property is not set, reports will execute to the default type specified in the Admin Console (Main Settings > Default Output Type).
The default output type can no longer be set to HTML. To execute reports as HTML, set the Report.ExportType property to wrExportType.Html.
All application hosts must be running .NET Framework version 4.5 or greater. If you've been running an older version, please upgrade .NET before installing the new version of Exago. We recommend upgrading all remote execution hosts and scheduler hosts as well.
If you also intend to upgrade IIS, keep in mind that IIS should be installed prior to the .NET Framework. If IIS is installed after the .NET Framework, you may have to reinstall or repair the .NET Framework afterwards:
Add/Remove Programs >.NET Framework 4.5 > Change/Remove, then choose the Repair option.
Additional notes:
The features below are enabled by default, though you can enable/disable many of them.
There is includes a small change to how reports are run in the Exago UI. The old Execute Report button and dropdown has been removed and replaced with two new buttons: Run and Export.
The redesigned chart wizard preserves backwards compatibility for charts created using an older version of Exago. When an older version of a report is viewed in this version, charts created in that report will automatically be using the data Layout Three format, and their data will be preserved. However, these charts cannot be automatically converted to Layout One or Two, without having to recreate the data fields. Additionally, since defaults have been altered, some customizations to chart appearance may be lost and need to be recreated.
As part of the upgrading process, any UI integration, including CSS overrides, icon replacements, and JavaScript integration should be tested to ensure proper behavior.
Icons have been updated as part of the interface overhaul. All previous versions of the icons, css and styling of the application can be changed on a per-company or per-user basis. Please see the Styling section of the Technical Guide for more information. See Icon Changes for a full list of icon changes.
Miscellaneous changes:
If you are providing custom context-sensitive-help you will need to update the context keys that are passed in the URL. For an updated list of keys please see the Custom Context Sensitive Help section of the Technical Guide.
When updating from v2014.1 and earlier the following topics may require your attention.
Creating Dashboard Visualizations provides a great interactive way for users to create reports directly on a dashboard. However some features of Data Visualizations, when enabled, can have performance considerations. These items are detailed below.
Because the search checks the Data Fields of all Data Categories, it requires Schema Access Type to be set to Column Metadata to avoid making a large number of queries to the Data Source for schema information.
Exago has improved the execution algorithm to increase performance when executing reports. You should see a noticeable decrease on how long it takes to run large reports.
There was an update to how charts, maps and gauges read data from reports. These items will now be able to do forward references (ex. a chart in the Report Header Section using cells from the Detail or Group Footer Section below). However, items that reference cells from different group sections may provide an unequal number of data points and labels and may create nonsensical data sets. In that case the following error message will display:
“The chart could not be rendered because of non-uniform data input. This can be caused by the chart referencing cells from different sections.”
Prior to this version, the methods for storing/retrieving themes were optional in Report/Folder Management. If they did not exist, Exago would instead read the ‘./Themes’ folder to provide the available themes.
Now the methods GetThemeList and GetThemeXml must be instantiated to use Report/Folder Management. To maintain use of the themes installed in the ‘./Themes’ folder, include them in GetThemeList and make their content accessible to your GetThemeXml method.
For more information on Report/Folder Management please see the Technical Guide.
There was a minor change to the way sections choose when to render their rows. This change resolved an issue where subsections did not render the correct number of rows if the breaking field had matching consecutive values. Sections will now account for the sort fields above them when calculating how to break.
There may exist a case where you want sections to use the unique keys of the Data Object in higher sorts instead of the sort field itself. In such a case this behavior can be enabled by creating the following Server Event.
Event: OnReportExecuteStart
Language: C#
References: None
Namespaces: WebReports.Api.Reports
Code:
foreach (Entity entity in sessionInfo.Report.Entities)
{ entity.BreakOnSortKeyFields = true; }
return null;
The following section details the changes made to the configuration xml file.
Added to <General>:
Added to <General>:
Added to Scheduler configuration xml file:
Added to <General>:
Added to <General>:
Added to <parameter>:
Added to <General>:
Added to <General>:
The following section details the changes made to icon names and types.
The following icons have been removed |
The following icons have been added |
ArrowMenu.gif CloseButtonBlack.png CloseButtonDark.png CloseButtonWhite.png Csv.gif CustomCode.gif DropDownArrow3.gif DropDownArrow4.gif excel.gif ExecuteHtml.png ExecuteHtml_Small.png ExecuteHtmlDisabled.png Find.gif Find.png FindClear.gif FindHover.png GridBackground.png head_eweb.png hourglass_alt1_small.gif HtmlOptions.png IE9ButtonGradient.svg IE9SelectedTabGradient.svg IE9TooltipGradient.svg KeywordInputSearchIcon.png MainBackground.png MapPlaceholder.png Move.png NewKeywordSearch.png NewVisualizationItem.png NewVisualizationMenu.png NewVisualizationReport.png pdf.gif Report.png rtf.gif SaveReport.gif ScheduleFunctions.gif SearchReport.png TabHtml.gif Template.gif TreeCulture.gif TreeFeature.gif TreeFieldPanelItemFormula.gif TreeFieldPanelItemImage.gif TreeFieldPanelItemText.gif TreeFolder.png TreeNetwork.gif TreeOther.gif TreeReport.gif TreeRow.gif VisualizationEditCreateChartSuggestion.png VisualizationEditCreateTabularReportSuggestion.png VisualizationSizeFitButton.png VisualizationSizeMediumButton.png VisualizationSizeSmallButton.png |
AdminAddHover.png AdminDeleteHover.png AdminDiscoveryLargeHover.png AdminOpenHover.png ChartDataFormatLegacy.png ChartDataFormatLegacySmall.png ChartDataFormatPointsInCells.png ChartDataFormatPointsInCellsSmall.png ChartDataFormatSeriesInColumns.png ChartDataFormatSeriesInColumnsSmall.png ChartTypeSparkColumn.png ChartTypeSparkLine.png CustomOptions.png DeleteReportHover.png DuplicateReportHover.png ExecuteCsv_SmallHover.png ExecuteCsvHover.png ExecuteExcel_SmallHover.png ExecuteExcelHover.png ExecuteInteractive.png ExecuteInteractiveHover.png ExecuteInteractiveMain.png ExecuteInteractiveMainHover.png ExecutePdf_SmallHover.png ExecutePdfHover.png ExecuteRtf_SmallHover.png ExecuteRtfHover.png ExportMenu.png ExportMenuDisabled.png ExportMenuHover.png ExportMenuSmall.png ExportMenuSmallHover.png MainCompanyLogo.png MainCompanyLogoAdmin.png ManageFoldersHover.png NewReportMenuHover.png OpenReportHover.png RenameFolder.png ReportViewerOptions.png ScheduleAddHover.png ScheduleEmailHover.png ScheduleManageHover.png ScheduleReportHover.png TabInteractive.png TabPrint.png |
The following icons have been changed from .gif to .png. Some have been renamed. |
|
calendar.gif to Calendar.png calendarDisabled.gif to CalendarDisabled.png Checkmark.gif - png CheckmarkAdmin.gif - png ClearBtn.gif - png Clock.gif - png ClockDisabled.gif - png CloseButtonSmall.gif - png CloseButtonSmallH.gif to CloseButtomSmallHover.png ConvertReport.gif - png DialogCloseButton.gif - png DiscoveryObjectInfoNeeded.gif - png DiscoverySelectAll.gif - png DiscoveryUnselectAll.gif - png DropDownArrow.gif - png DropDownArrow2.gif - png EditArrowDown1.gif - png EditArrowDown1Disabled.gif - png EditArrowDown2.gif - png EditArrowDown2Disabled.gif - png EditArrowUp1.gif - png EditArrowUp1Disabled - png EditArrowUp2.gif - png EditArrowUp2Disabled.gif - png EditFilter.gif - png EditParameter.gif - png FinishBtn.gif - png ForeignKey,gif - png Formula_Disabled.gif to FormatDisabled.png Function.gif - png InputDrowndown.gif - png MenuArrow.gif - png MenuArrowDisabled.gif - png MenuChecked.gif - png MenuUnChecked.gif - png MetaData.gif - png NoPreview.gif - png PrimaryKey.gif - png |
ReadSchema.gif - png SaveAndCloseBtn.gif - png SaveBtn.gif - png SQL.gif - png TabCsv.gif - png TabExcel.gif - png TabHelp.gif - png TabPdf.gif - png TabRtf.gif - png TabVisualization.gif - png TreeAssembly.gif - png TreeChainedReport.gif - png TreeCSharpCustomFunction.gif - png TreeCustomOptionBool.gif - png TreeCustomOptionItem.gif - png TreeCustomOptionList.gif - png TreeCustomOptionText.gif - png TreeDB2.gif - png TreeEmailGroup.gif - png TreeEmailPerson.gif - png TreeExcel.gif - png TreeFilter.gif - png TreeInformix.gif - png TreeJsCustomFunction.gif - png TreeMSSQL.gif - png TreeMySQL.gif - png TreeODBC.gif - png TreeOracle.gif - png TreePostgres.gif - png TreeSQL.gif - png TreeStoredProc.gif - png TreeTable.gif - png TreeVBCustomFunction.gif - png TreeView.gif - png TreeWebService.gif - png TreeXML.gif - png WrapText.gif - png |