EdgeCore 4.3.3 Release Notes
Production date: December 18, 2020
What’s New?
The 4.3.3 release introduces the use of ag-Grid for table visualizations and admin tables.
Announcement
Breaking Change to HTML Template Widgets
ngx-datatable
has been replaced with ag-Grid
. As a result, any HTML template widget that used ngx-datatable
will have to be rewritten to use ag-Grid.
Tables
Table Visualizations & Admin Tables Switched to ag-Grid
As of this release, table visualizations and admin tables have been updated to use ag-Grid.
Now you can:
- Wrap text in column headers and cells
- Pin one or more columns to the left or to the right
- Resize columns by pushing adjacent columns to the left or right by holding Shift
- Resize columns by dragging the edge of the column header
- Sort a column by clicking the header
- Sort multiple columns by holding down Shift
- Have column width, sort, pinning and order preserved when persistence is enabled on the visualization
- Have virtual scrolling always on (for this reason, the option to turn on/off virtual scrolling has been removed)
APIs
Accessing Public APIs from the System Menu
Super admins can now access our public REST API endpoints directly from the system menu and use the interactive API documentation.
Enhancements
Clone Naming Conventions
When cloning entities, _Clone will be appended to the original/old name of the entity in question.
The naming convention is applied when cloning the following:
- pages
- constraints
- rule sets
- map layers
- client filters
- new pipeline nodes
- LDAP connections
Additionally, when cloning a page and its visualizations, you can choose whether the names of the cloned visualizations will have a prefix (Clone of) or a suffix (Clone) added to them.
JavaScript-referenced Feeds/Transforms & Server Actions Included in Partial Archives
If you have a JavaScript node that makes a reference to another feed/transform or server action via JavaScript, now those referenced nodes will be included in partial archives.
Additionally, a Server Actions drop-down has been added to the Script References tab for JavaScript actions.
License Expiration & Access to EdgeCore
If a license expires, the admin is able to log into EdgeCore but will only have the Manage License permission.
LDAP Connection Enhancements
The following configurations have been added to the Base Config tab to handle failover and referrals:
- Failover Host and Port
- Follow Referrals option (disabled by default)
Page Failure Counters Added
The page_status_total
counter is used for tracking errors on pages. Now, the page_failure_total
has been added to count failures since the last success.
The failure counter will reset after success is recorded, whereas the page status counter will remain as is.
Example:
# HELP page_failure_total # TYPE page_failure_total counter page_failure_total{application="edgeCore",cluster="standalone",pageId="s04kvr-n0j1djqq3ol7",pageName="indexPage",pagePath="/",producerId="9ih1jo-4sc1vvmmqu98",producerName="kpi10raw",} 0.0 page_failure_total{application="edgeCore",cluster="standalone",pageId="s04kvr-n0j1djqq3ol7",pageName="indexPage",pagePath="/",producerId="nmqsj6-qq6pdcq4sblo",producerName="kpi1000notIndexedFilter",} 0.0
# HELP page_status_total # TYPE page_status_total counter page_status_total{application="edgeCore",cluster="standalone",pageId="hepr41-hhrdirmfo22h",pageName="Topology",pagePath="/",producerId="hepr41-hhrdirmet8gr",producerName="TopoTransform",state="success",} 2.0
Failed Authentication Detection
If an error is due to an authentication exception, a FailedAuthException will be thrown.
Configuring the retry on failure, that is, the number of seconds to wait to retry on non-authentication error is done via:
data.errorRetryPeriod=1
And configuring the retry delay, that is, the number of seconds to wait before retrying credentials with a given database connection pool is done via:
data.db.authFailureRetryDelay=60
Resolved Issues
- The issue where the Unlicensed feature codes [server.base] error prevented the user from logging in and being authenticated when using the Oracle external database for authentication has been resolved.
- The issue that prevented the user from navigating to pages that have () in their name has been resolved.
- The issue where the setPageVar(s) actions in the HTML template visualization reset all other page vars to default values has been resolved.
- The issue where query parameter parsing affected the handling of multiple widgets in the URL has been resolved.
- The issue where database failover resulted in accounts being locked out has been resolved.
- The issue with resizing the Message column in the Message Center has been resolved.
- When saving a pipeline node, if the transform has just been run for preview and nothing has changed, the transform will not be run again.
- The issue that caused server jobs to disappear so you had to restart EdgeCore has been resolved.
- The issue that caused the error message Error while testing feed or transform edge.server.pipeline.exceptions.FailedAuthException: FailedAuthException: Bad credentials to be shown twice has been resolved.
- The issue with color rendering in the outline mode has been resolved. When editing icon layers, if the color rule or the static color for an icon set to the outline mode was selected to be transparent, the outline was rendered as black instead of transparent.
- The logging has been improved to record the server action failure details.
- The issue where the cluster name did not update until the client server re-registered with the Command Center server. If the cluster name is updated during the cluster initialization, the cluster name will also be updated in the summary table after the heartbeat occurs.
- The RPA issue where the Edit Script button did not update the script pane has been resolved.
- The issue that caused the Pie Chart visualization to sum up to slightly above or below 100% (99.9% or 100.1%) has been resolved.
Known Issues
- Cache Compatibility (MySql / H2 / Oracle / Microsoft SQL Server)
EdgeCore supports using H2 by default, but the system can be switched to use a MySQL Database, Oracle Database, or Microsoft SQL Server as the CacheDB. If an export is restored, any SQL Transforms should be reviewed, as H2 specific query syntax will need to be converted to MySQL, Oracle, or SQL Server syntax. There is a script utility that reports some of these issues, and the script itself can be extended to report which Transforms reference syntax that requires updates. - Custom Login Page Compatibility
Login pages built on versions prior to EdgeCore v4.1 are not compatible. An upgrade script is included to help stash custom login pages into ‘static-web/login-pre4.1’ and the customizations will require manual migration to the new default template. - HTML Template Visualizations
Based on the version you are upgrading from, the following issues could cause you to need a rewrite to your HTML Template Widgets:
– Due to the significant upgrade to Bootstrap 4, Glyphicons are no longer included. If you have custom HTML Templates that use them, in v3.11 they will all be empty.
– Due to the upgrade to Angular 9, HTML Templates that used AngularJS 1.x syntax will have to be rewritten. - Common Table Expression ‘WITH’ Clauses
EdgeCore uses the H2 database in support of the SQL Transforms. SQL that uses Common Table Expression (CTE) ‘WITH’ clauses have been identified as causing two issues.
– Lock Timeouts: Transforms fail to run as temporary tables fail to be cleaned up.
– Memory Leaks: The temporary table results are not being cleaned up properly in all instances, and it will trigger Out Of Memory on the JVM. - Errors connecting to 3rd party https webdata/webcontent sources
EdgeCore fails to connect over HTTPS to backend data sources. In this case, one likely solution is to enable SNI. This is a global configuration, so on some systems it might have the opposite effect.
# — SNI Options; may need to be enabled (ENABLE_SNI=true) when connecting to third-party https webdata/webcontent sources. - Issues with using Auth/Cache DB with MySQL 5.7 (MariaDB 10.1.x – 10.3.x)
- Cluster configuration fails to render LDAP domains on content instances after restore on primary admin instance.
- Cluster configuration restore may require existing nodes to be removed and re-registered after a full restore.