Updating to the Latest Version

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.

Updating from v2016.3 and earlier

When updating from v2016.3 and earlier, the following topics may require your attention:

Standard Reports renamed to Advanced Reports

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.

Changes to home page

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.

ExpressView default theme with folder management assembly

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. 

Top N filters enabled by default

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.

Updating from v2016.2 and earlier

When updating from v2016.2 and earlier, the following topics may require your attention:

Move custom CSS and images

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

SVG icons enabled by default

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.

Setting column metadata for ExpressView

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.

Legacy Mapping (Geocharts)

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>

Obtain license and polygon file for new maps

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>

Properly identify One-to-Many Joins

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.

Interactive sorts no longer added by default

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.

Column Metadata API constructors changed

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.

Updating from v2016.1 and earlier

When updating from v2016.1 and earlier, the following topics may require your attention:

Deprecated Group Formulas

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:

sort.png

Then create a group header or footer on the sort formula:

group_header.png

To re-enable the Group Formula button, enable the admin console setting Feature/UI Settings > Allow Grouping on Non-Sorts.

Deprecated Sort API Fields

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

Increased Dashboard Refresh Speed

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

Updating from v2015.1 and earlier

When updating from v2015.1 and earlier, the following topics may require your attention:

API Execute no longer defaults to Html

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.

Microsoft .NET Framework 4.5+

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:

Enabling/Disabling New Features

The features below are enabled by default, though you can enable/disable many of them.

Run & Export Report Buttons

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.

Chart Compatibility

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.

New CSS Styling

As part of the upgrading process, any UI integration, including CSS overrides, icon replacements, and JavaScript integration should be tested to ensure proper behavior.

New Icons

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:

Custom Context-Sensitive-Help Keys

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.

Updating from v2014.1 and earlier

When updating from v2014.1 and earlier the following topics may require your attention. 

Dashboard Visualizations

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.

Performance Enhancement

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.

Chart and Map Changes

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.”

Folder Management Updates

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.

Modification to Section Logic

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;

New Features

v2016.3

v2016.2

v2016.1

v2015.1

v2014.1

Configuration Changes

The following section details the changes made to the configuration xml file.

v2017.1

Added to <General>:

v2016.3

Added to <General>:

Added to Scheduler configuration xml file:

v2016.2

Added to <General>:

v2016.1

Added to <General>:

Added to <parameter>:

v2015.1

Added to <General>:

v2014.1

Added to <General>:

Icon Changes

The following section details the changes made to icon names and types.

v2016.1

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