EdgeCore 4.3.0 Release Notes
Production date: September 30, 2020
What’s New?
The 4.3.0 release introduces new functionalities related to visualizations and security.
Visualizations
Custom Visualizations
Custom visualizations enable developers to design, build, and install their own custom visualizations outside of the HTML visualization to display pipeline data.
Custom visualizations:
- Are built into deployable and installable component packages
- Include custom support files that are packaged with the component
- Can be installed into any EdgeCore instance
- Have access to the data designated through the pipeline
- Have a definable configuration that connects the visual elements to the underlying supplied data
Security and Access Control
Security Permissions and Role-based Access Control
This release provides more flexibility and granularity with user management and EdgeCore access. EdgeCore provides a set of default user roles, whereas creating additional roles and granting security permissions to these roles is done via APIs.
The table below lists all available security permissions in EdgeCore. Permissions are hierarchical and correspond to the major components that are accessible within the UI. Moreover, every role can have one or more permission, and the same permission can be used by different roles.
Permissions |
Corresponding EdgeCore Components |
permission.browserAccess |
Browser Access |
permission.pipeline |
Edit Pipeline |
permission.content |
Content (Pages & Folders) |
permission.content.edit
|
Content Edit |
permission.content.view |
Content View |
permission.provisioning |
Provisioning |
permission.provisioning.accounts |
Modify Domains and Users |
permission.provisioning.content |
Assign Content |
permission.provisioning.defaults |
Manage Defaults (Secured Variables, Credentials, Preferences, Password Policy) |
permission.archives |
Archives |
permission.archives.restore |
Restore |
permission.archives.backup |
Backup |
permission.extensions |
Manage Extensions |
permission.clientFilters |
Manage Client Filters |
permission.colorPalettes |
Manage Color Palettes |
permission.constraints |
Manage Constraints |
permission.mapLayers |
Manage Map Layers |
permission.ruleSets |
Manage Rule Sets |
permission.rpa |
RPA |
permission.rpa.play |
RPA Play |
permission.rpa.record |
RPA Record |
permission.system |
System |
permission.system.viewAbout |
System View About |
permission.system.jobStatus |
View Job Status |
permission.system.license |
Manage License |
permission.system.sessions |
Manage Sessions |
permission.system.cluster |
Manage Cluster |
permission.system.viewSystemInfo |
View System Info |
Enhancements
Adapters Renamed to Extensions
The name change is implemented in the following areas:
- The option in the system menu is renamed to Extensions.
- The page name is now Extensions.
- Activated Adapters and Available Adapters tabs are renamed to Activated Extensions and Available Extensions.
Drop-down Filter on the Extensions Page
Filters on the Extensions page are now a drop-down list. The following filters are available: Show All, Web Adapters, Data Adapters, Visualizations, and Other.
Refresh Button Added
The Refresh button has been added to the bottom of the following pages:
- Message Center
- Backup & Restore
- Connections
- Extensions (previously known as Adapters)
- Manage Sessions
- Manage License
Enhanced Layout Dialog in Topology Visualization
The Perform Layout dialog has been enhanced to give the admin more power to tweak the layout. The admin is now able to save the settings as default without having to go into the Visualization Configuration Wizard. However, these defaults will not persist into the next session.
ES6 Javascript Support
ES6 Javascript is now provided in HTML Template Visualizations and Expressions.
Please note that ES6 has strict type-checking, and undeclared variables will cause a runtime exception, so you should check the Web Console.
Memory Improvements
The improvements include:
– Memory garbage collection tuning
– Reduced general memory usage
Resolved Issues
- The issue where the OracleKerberos cache connection triggered the NullPointerException error has been resolved.
- The issue that caused variable credentials in connections to change to the JSON format when restoring backup from 3.11.8 to 4.2.2 has been resolved.
- The issue that caused the error sql.SQLSyntaxErrorException: ORA-00972: identifier is too long is related to a syntax convention that concerns identifiers within Oracle. In Oracle 12.1, there is a 30-character limit on table, column, and index names. In Oracle 12.2, the maximum length of identifiers is 128 characters.
- The issue that caused the drop-down selection in Show Visualization not to display results if there are multiple stacked visualizations has been resolved.
- The issue where clicking on the company logo in the upper-left corner does not take you to the default page has been resolved.
- The issue that caused the migration from 4.1.1 to 4.2.1 to fail when using an external authentication database has been resolved.
- The issue where memory profile with caching was not showing savings on small hosts has been resolved.
- The issue with the hamburger menu visibility has been resolved. When logging in, the hamburger menu in the upper-right corner was black and almost invisible to the user. After clicking the first time, the menu would change to white and continue being white until logging out or restoring the archive.
- The issue that caused pie charts to have dark titles and be surrounded by aliased white lines when using the dark theme has been resolved.
- The appearance of the drop-down selector for stacked visualizations has been changed to resemble the older version of dropdowns.
- The issue with ProxyRequestProcessorImpl.sanitizeLog has been resolved. If a value had a regex special character in it (for example, *), the replacement did not happen.
- The issue that caused PageVars with a URL encodable character (for example, &) to get multiply encoded when other page vars are set has been resolved.
- The issue where selecting a Cluster in the Command Center resulted in TypeError: Cannot read property ‘clusterName’ of undefined has been resolved.
- The issue with the Cluster login function has been resolved.
- The issue where the user is not logged out and redirected to login after a successful password change in the Command Center has been resolved.
- The issue that caused the prefix and suffix not to be saved when editing a Gauge renderer has been resolved.
- The issue that caused numeric nodeVars not to properly handle null values has been resolved.
- The issue with how custom expression quick filters are displayed has been resolved.
- The issue that caused pipeline errors not to be reported via Status indicators in the Pipeline view has been resolved.
- The filter function on the selected Pipeline Node has been improved.
- The issue with LDAP user authentication has been resolved. The NullPointer exception occurred during group membership assignment.
- The issue that caused Topology not to redraw to fill the page when expanded has been resolved.
- Styling issues that occurred in the footer of the Provisioning pages (Domains, Roles, or Users) when pagination was enabled have been resolved.
- The issue where Javascript Transforms were building too much memory has been resolved.
- Pipeline status indicators now appear on affected downstream nodes.
- The issue that prevented role creation during LDAP Group Mapping configuration has been resolved.
- Spring Boot has been updated to version 2.2.10; Spring Framework has been updated to version 5.2.10; Spring Security has been updated to version 5.2.6;
- The issue that caused preferences not to be saved when changing the theme has been resolved.
- The issue that caused syntax highlighting to fail to initiate has been resolved. When opening either a JS or SQL xform in the Pipeline, especially the first one after logging in, syntax highlighting was not enabled consistently.
- The issue where reparenting transform resulted in upstream reference error has been resolved. Now upstream alias is used rather than the actual source name when building a query for Filter Transforms. As a result, evaluation works even after reparenting.
Known Issues
- Cache Compatibility (MySql / H2 / Oracle)
EdgeCore supports using H2 by default, but the system can be switched to use a MySQL Database or Oracle Database 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 or Oracle 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)