Vinyl 2.5 Release Notes¶
Important Upgrade Release Notes¶
-
Before performing the upgrade, you might want to consider cleaning the Vinyl log tables:
truncate table Sh_ScheduleHistory; truncate table Dg_Log; truncate table Sh_BgServiceLog; truncate table Dg_EventHistory;
-
Developer Silo has been done over to make it more secure. Developers that you want to have silo'ed access to Vinyl should be members of a group with the "Developer" role within Vinyl, and should not be given the "Administrator" role within Vinyl. You will need to check this after performing the update.
-
Servers with Azure Ws-Federation security provider, that provides group membership. After upgrading Vinyl, check that a claim-type has been added to the claim panel.
-
Links that link directly to the download service now require
$pageId=<pageId>
Releases¶
Hotfix: Version 2.5.19311 released on 11/13/2019 5:24:25 PM (build f26ea8b3)
- Allows multiple server-side pivots to be on the same page. The pivots must be backed by different server side pivot data objects.
Hotfix Version 2.5.18957 released on 10/3/2019 6:14:27 PM (build cd2c7934)
- Corrects finding tables in schema on PostgreSQL
- Support for JSON / JSONB in PostgreSQL
- Corrects url encoding of parameters in REST GET and POST requests
Hotfix Version 2.5.18650 released on 9/13/2019 9:47:53 AM (build f72448ef)
- Corrects issue with defaults not being applied to html controls
- Corrects issue with handling of database level default columns affecting the repair page
- Corrects issue where statements with reach were not being refreshed in cache when being changed
- Improves handling of Salesforce ado.net driver OAuth errors.
Hotfix: Version 2.5.18378 released on 8/26/2019 4:13:50 PM (build 522089a0)
- Salesforce ado.net driver now handles expired OAuth tokens better.
-
Allows behavior of failed scheduled events to continue processing events that follow failed events - set by new flag on schedule detail:
Hotfix: Version 2.5.18070 released on 8/8/2019 3:02:39 PM (build 03556ca9)
- Salesforce ado.net driver now retrieves ID when inserting a record.
- Corrects issue with control views modifying visibility and mandatory fields in a MRP, and incorrectly indicating that a field is mandatory when it is not.
- Updates Iron Mountain scripts
Hotfix: Version 2.5.17973 released on 7/31/2019 11:00:16 AM (build d95a4c3e)
- Hidden controls are now available to be used as HTML Template parameters
- Corrects issue where SRP appears to still be loading when no results are returned
Hotfix: Version Version 2.5.17832 released on 7/18/2019 12:03:15 PM (build 4d8d9aa2)
- Corrects issue modifying translations in production environements.
- Adds support for PATCH http method for REST
- Restores allowing to sort on inactive controls
- Upgrades highcharts library to 7.0.3 to correct a highchart animation issue
- Corrects Babel translation rules
Hotfix: Version 2.5.17801 released on 7/15/2019 9:15:22 PM (build ff08e017)
- Corrects logic around displaying the link criteria panel for a control.
- Corrects handling of CRUD insert when targeted primary keys are not specified first, and column source is named something different from column target
- Corrects issue when cramming value into MySQL database with auto-increment values and shortened physical names
- Corrects issue specifying column order by and direction, and errors reported when changing control set from stacked to side by side
Hotfix: Version 2.5.17758 released on 08/07/2019 10:17:37 AM (build 972dc81b)
- MySQL support for AutoIncrement
- Fix CRAM rule fails with "Keys are missing for insert or update rule" error.
- Improvement to usage of Silo Developer role vs group.
Hotfix: Version 2.5.17678 released on 6/25/2019 5:40:56 PM (build 9476a309)
- Corrects gzip support in REST calls
- Corrects issue with drilldown REST calls
- Corrects radio buttons with conditional state not loading
- SRP treated as ready too soon, frames fail when clicking the first button rendered
- MRPs stuck in loading state (pivots as well)
- Corrects issue with = in data source server setting
- Fix for CRUD business rules not logging old value in full audit
Hotfix: Version 2.5.17640 released on 6/20/2019 1:25:50 PM (build c86240b0)
- Fix for REST drill down structure
- Marking more Vinyl data sources as system so they do not show up as sealed data sources
- Controls with width=0 will have data structure created (for use with html templates and widgets)
- Only users in the developer group will be visible in the developer silo setup page
- Report - Display visibity rules not bound to underlying data object on panel correctly
- Updated logic for defaulting primary keys
- Copy button re-enabled for templates
- Salesforce support for user/password authentication or OAuth
- Fix gantt chart link binding
- Corrects nulling page data object
- Updates webhook fields on resource/endpoint page
- Removes hard-coding fo developer group id
- Adds webhook header tables
- Misc developer silo improvements
- Handles dashes in column names
- Revoke permission improvements
- FK constraint with Be_App and Be_AppCollection
- Trim ACE editor
- Added confirmation on Audit Lite event
- Pinned control validation
- Improvements to events page
Feature Overview
Scripting support
- Details coming soon
Support for running the Vinyl Engine in MySQL 8.0
- Support for hosting Vinyl in MySQL 8.0 (* under test until June 12th)
Background service
- Run an event when an event fails
- Allow passing who the scheduled job should run as, dynamically
Charting
- Gantt chart support
- Allows low-level control of HighCharts to allow for the customization of charts, including setting high / low values - via chart templates
Date / DateTime Timezone support
- Display times in client timezone
- Date migration
IDE
- "Where used" for columns
- Copy Panel
- Secure developer silo support
- View sealed data sources, allowing editing of specific information in downstream environments
Data Sources
- SFTP
- Teradata RDBMS
- HubSpot
- SharePoint
- SAP iDoc support
Misc
- Adds link to page post-action event (allows navigation to a new page even if the user presses enter to save data on a panel, for example)
- Support Link Replaces History option on panels
- Support Link Replaces History on external links (_self target only)
- Expanded Reach to other rule types - they can now be applied to most rule types, including subqueries
- Shared non-binding data between panels (like sharing between pages)
- Multi-row paging (next page / previous page vs load more rows)
Support bottom tab menu (mobile only)
- Allow Vinyl to be embedded in an iframe via URL canonicalization (able to force users to use /Vinyl with capital V for example)
- Server-side pivot business object
- Hide/show multi-row panel columns
- Frame panels - rendering a page within a page
- Client-side memory and performance improvements
Detailed Changes
New Features
- VINYL-5819 - Persist claims supplied by authentication providers to the database
- VINYL-6841 - Allow designers to provide their own JSON overriding charting JSON
- VINYL-7445 - HubSpot
- VINYL-7603 - Server-side pivot table data object
- VINYL-7906 - Restore Frame groups
- VINYL-7912 - Support bottom tab menu on mobile devices only
- VINYL-7944 - SFTP Data Source Type
- VINYL-7952 - Add widget to load custom css files
- VINYL-7969 - CData SharePoint
- VINYL-8003 - Teradata RDBMS Driver
- VINYL-8010 - Display times in client time zone
- VINYL-8017 - Scripting Framework
- VINYL-8037 - Add timezone table to Vinyl
- VINYL-8059 - Restore auto open lists
- VINYL-8071 - Add claim() mvSQL runtime function
- VINYL-8088 - Gantt chart panel type
- VINYL-8106 - Add Date Migration functionality to Vinyl
- VINYL-8175 - IDE: Shared non Binding Data Between Panels (Like Page Sharing)
- VINYL-8183 - Copy Panel
- VINYL-8184 - Host Vinyl in an iframe
- VINYL-8188 - Hide controls on MRP based on parent panel data
- VINYL-8190 - REST - Response Transformations (Pre and Post scripting for REST responses)
- VINYL-8221 - MySQL - DateTime - Support Milliseconds
- VINYL-8273 - Secure developer silo
Improvements
- VINYL-5801 - Redirect to canonical URL
- VINYL-5857 - Add data source name to page title for table and rule detail.
- VINYL-5911 - Move table default rule's explicit bindings to detail view
- VINYL-5953 - MRP control sets should group on the filter panel
- VINYL-6390 - Highlight events that 'skip parent'
- VINYL-6498 - Show column length in the table MRP
- VINYL-6865 - Create a shortcut from a scheduled event to the schedules area (or something of the sort)
- VINYL-6882 - Post event should hide
- VINYL-6941 - Default field widget list boxes
- VINYL-7064 - Hide "results" links for webhook rule
- VINYL-7372 - Indication that an action has success/failure handlers
- VINYL-7413 - Replace SAML security provider GroupsAttribute parameter with claims
- VINYL-7721 - Change Frame to be a panel type
- VINYL-7822 - Default label hidden for many control types
- VINYL-7966 - Add support for milliseconds to the DATEADD() function
- VINYL-7982 - Upgrade highcharts to 7.0.2
- VINYL-7985 - Expand Reach to other rule types
- VINYL-8011 - Include referenced data sources when creating a change management package
- VINYL-8018 - Support table names with underscores when generating table aliases
- VINYL-8023 - Modify polling interval for queuing jobs, it is currently to slow
- VINYL-8032 - Log when flush cache triggered
- VINYL-8033 - Make plugins internal/system. Mark some Vinyl plugins as internal
- VINYL-8063 - CRAM, allowing to define the binding columns
- VINYL-8072 - mvSQL function to convert from time offset to minutes
- VINYL-8085 - Custom HTTP headers and OAuth token endpoint parameters
- VINYL-8091 - Security projects should use "Async" suffix on Task-returning methods
- VINYL-8093 - Add Duration and Record Count when executing rule from IDE
- VINYL-8094 - Shortcut from Action or Rule Definition page to the target table or rule
- VINYL-8135 - Create TimeZone and Country public data objects.
- VINYL-8146 - Add a validation rule when pinned/unpinned fields are in the same control set
- VINYL-8147 - Include assemblies and plugins when creating LP files
- VINYL-8159 - REST endpoint - Add Raw Values and Guid/UUID expected response
- VINYL-8160 - REST endpoint - Write cookies to the request
- VINYL-8162 - Add support for dynamic substitution of chart labels
- VINYL-8164 - Report: Column Level Where Used
- VINYL-8170 - Make Site Menu page public so that other apps can link to it
- VINYL-8191 - Default time zone values for new data source servers
- VINYL-8199 - Indexes to increase over all database performance of Vinyl database
- VINYL-8223 - Point to production dataservices.zudy.com for Validations
- VINYL-8228 - Refactor IPluginDataType hierarchy
- VINYL-8307 - Merge control set header with column header when saving as csv
- VINYL-8316 - Updates to the "Execution Plan (DOC)" Page
- VINYL-8325 - Column Expression Field Label should be enclosed on Detail Page
- VINYL-8327 - You should pick source rule prior to naming panel based on Auto Default
- VINYL-8374 - Enforce valid format names
- VINYL-8376 - Remove 'app-centric' feature of developer silos.
Bugs
- VINYL-3785 - Popup closes after a Delete event even if the event fails
- VINYL-4676 - Columns can be made with beginning spaces, but can't be used on panels
- VINYL-4926 - Visibility rule warnings in Vinyl design environment
- VINYL-4952 - Icon badge with right aligned image control is wrapping incorrectly
- VINYL-5410 - Logo region is not used - confuses users during training.
- VINYL-5417 - Null reference exception when creating column and physical data type is null
- VINYL-5440 - Page data object run with "New" event when page is launched in insert state
- VINYL-5969 - Can't see exceptions on SRP delete
- VINYL-5982 - Creating tables with multi-part primary keys ends up creating non-cluster indexes on tables
- VINYL-5984 - Can make a column with a trailing space in Vinyl and then it breaks release management
- VINYL-6184 - Error "invalid alteration of datatype" when converting to character blob column on Oracle
- VINYL-6312 - UI Default not bound
- VINYL-6590 - Template Default Values - Changing the default value for a template requires 'Flush Cache'
- VINYL-6613 - 2.2 base theme not set on user profile page causing it to look like the underlying app its called from
- VINYL-6679 - Import of text datatype in SQL Server imported as varchar(16) vs varchar(-1)
- VINYL-6789 - Rule without target column binding criteria executes but fails when bound to event
- VINYL-6928 - Business object cannot target publicly writable table in other data source
- VINYL-6934 - scale in table column page should have width increases as its difficult to read double digit value
- VINYL-6938 - Link Criteria of type bind or shared is not passed along for an external link
- VINYL-6960 - UI - Inconsistencies for Scheduling
- VINYL-7017 - Update Method of Always Edit and Initial State or Edit are mutually exclusive
- VINYL-7044 - Picking the column name again in the repair page logical model results in a pretty messed up table
- VINYL-7101 - Function not found error when User Defined Function renamed (multi server env)
- VINYL-7196 - Tasks starting 10 minutes before planned start
- VINYL-7210 - concatenate and left function not working with CData Active Directory connector
- VINYL-7263 - Template and widget parameters should be list boxes
- VINYL-7292 - Release Management does not include ancestors of a linked data source
- VINYL-7369 - Prevent CRUD Business rules from targeting other CRUD Business rules
- VINYL-7419 - Db_DataSource constraint with Db_Table cascading delete should be on RegistrationDataSourceId, not DataSourceId
- VINYL-7421 - Delete Event on the Db_DataSource, Action Be_EventByDataSourceId should reference RegistrationDataSourceId
- VINYL-7462 - Unsupported MySQL character encoding utf8mb4
- VINYL-7473 - Background Plugin jobs are causing scheduled jobs to delay completion of the schedule
- VINYL-7474 - Copy Application fails if the application has an end point and a published data object
- VINYL-7485 - Unique key index on Db_TableFrom can break LP installs
- VINYL-7508 - Disallow illegal characters in application endpoint
- VINYL-7515 - overlay close icon is not responding and closing when same overlays are already open
- VINYL-7528 - Completed Jobs in a Redis Backplane are causing delays
- VINYL-7546 - Create validation error for multi category and multi value chart
- VINYL-7549 - Upgrade to Highstock 6.1.0 (latest)
- VINYL-7593 - Remove EventId column from the Sh_Schedule table
- VINYL-7594 - sorting mrp header in templates changes the font color in submenu unexpectedly
- VINYL-7601 - import pattern ignored when using vinyl connector as data storage
- VINYL-7618 - Confusing error if foreign key column data types don't match
- VINYL-7623 - Changing panel source does not update binding columns to other panels
- VINYL-7640 - missing row count from file browser panel
- VINYL-7653 - Can't filter Full Audit table by column using the Vinyl Filter UI
- VINYL-7682 - Overlay with scrolled page loses close X
- VINYL-7696 - Improve error message when no internet connectivity
- VINYL-7712 - Increase column size for REST 'header' web service parameter.
- VINYL-7719 - Cannot unbind a control from a column
- VINYL-7805 - Image fields can't apply conditional formats
- VINYL-7833 - Reduce performance issues on select2 destroy
- VINYL-7869 - Enter key leaves user stuck on Password Expired page
- VINYL-7878 - missing migration rules from crystal (DOC) report
- VINYL-7880 - A change set that adds a Ui_Control record without a RootControlId causes the upgrade to ignore that row
- VINYL-7884 - Column binding type not shown for Chart/Calendars
- VINYL-7892 - Setting application authentication active with invalid values renders Vinyl inaccesible
- VINYL-7915 - VinylConnector ImportPattern ignored
- VINYL-7923 - Editing SRP gets binding out of sync, causing JS errors clicking buttons
- VINYL-7924 - Reseting password results in duplicate emails
- VINYL-7928 - Alignment on radio shouldn't affect items inside
- VINYL-7932 - If an event is configured to run on authentication signal, a cancelledtask exception is always thrown and logged, even when event is successful
- VINYL-7936 - Controls used as HTML template bindings can be excluded if not used elsewhere
- VINYL-7943 - pingvinyl.ps1 not shipped with Vinyl
- VINYL-7958 - Upgrade SQLite
- VINYL-7981 - Remove foreign key on Db_DataSourceUpload table
- VINYL-7983 - AlwaysEdit blocked saves are not reset
- VINYL-7999 - Executing event against panel with a REST data source triggers the event against a different row if the panel endpoint doesn't support filtering
- VINYL-8001 - REST data objects do not return any data when run as source tables in an XP CRUD rule.
- VINYL-8008 - Can register SQL Configuration twice in an LP file
- VINYL-8012 - Issue creating list control if there is a multi-part key table with a list object that contains the multiple keys
- VINYL-8013 - no redirect after password expired page is updated correctly
- VINYL-8014 - when switching to decimal data type the precision and scale are no longer defaulted
- VINYL-8019 - on login and when apps default page is deleted, access denied error is displayed
- VINYL-8020 - Copy Table generates error if columns are bigger than X (32768 in screenshot - bigger than allowable nvarchar setting of destination rdbms)
- VINYL-8028 - Can register datasource twice when creating an LP file
- VINYL-8041 - Users see "Exception has been thrown by the target of an invocation" exceptions
- VINYL-8051 - Webhook registrations disappear from registration page
- VINYL-8052 - Column headers might not line up if browser is zoomed and column selection service disabled
- VINYL-8054 - rows per request available as an option for single-row panel
- VINYL-8056 - Overlay pages across applications fail to load
- VINYL-8064 - Properties not defaulted when using File Browser/AutoMap
- VINYL-8065 - Missing database function after moving LP file
- VINYL-8070 - Static Required Visibility being ignored
- VINYL-8082 - Changing Identity Security group does not clear Cache
- VINYL-8083 - Allow hiding of calendar headers
- VINYL-8086 - XP CRUDS not respecting Bind/Target settings
- VINYL-8089 - Web links from mvsql function documentation are broken
- VINYL-8092 - OAuth Refresh flow doesn't work with FitBit API
- VINYL-8098 - Error "binding context is not ready" when clicking button after typing simple search
- VINYL-8099 - The Web Sevice Request page is not filterable or searchanble
- VINYL-8101 - Unused rules page lists rules that are used in drilldowns
- VINYL-8102 - Increase REST endpoint length
- VINYL-8103 - Increase job binding criteria length
- VINYL-8105 - Increase size of Schedule History page
- VINYL-8107 - Schedule History page times out
- VINYL-8108 - Delete from Db_Table can timeout because of FK relationship to logging tables
- VINYL-8109 - Warning on import for changesets should only warn for RDBMS systems
- VINYL-8111 - Dynamic datagrid doesn't run the newRow sync
- VINYL-8112 - The binding context is in the edit state switching to edit quickly
- VINYL-8113 - Connector creates new data source with exact same name as other data source - confusing everyone and breaking package management
- VINYL-8117 - Audit icon hidden on MRP if using Excel edit
- VINYL-8123 - Global reload leaves buttons clickable, causing errors
- VINYL-8132 - Changing panel data source does not remap conditional format on inactive controls - leads to exception
- VINYL-8141 - Release management build fails if it encounters a table without any columns
- VINYL-8142 - Local connector - does not transmit usage type - cannot set usage type
- VINYL-8152 - Theme selection list is not searchable
- VINYL-8154 - Vinyl Connector - Panel Binding not defaulting columns
- VINYL-8155 - Navigation canceled after navigating to the User Profile page while on the User Profile page
- VINYL-8156 - Local connector - Can't join business objects created on the connected side
- VINYL-8176 - Google maps API changed, key now required
- VINYL-8178 - Dates in the filter panel use "language" setting not "locale"
- VINYL-8180 - Validation to warn against creating business objects with "." in the name
- VINYL-8181 - IDE - view sealed data sources, should allowing edit of specific information
- VINYL-8182 - Timeout on Service Instances page (when Sh_Jobs has large amounts of data)
- VINYL-8189 - Can't select rows in MRP
- VINYL-8192 - Label Position of NULL causes page to fail to render
- VINYL-8194 - Create table from file can result in exception creating change management step
- VINYL-8195 - Client(TimeZoneOffset) generates '00:00' which fails in FromTimeZone() on SQL Server.
- VINYL-8207 - Dropping an index fails silently if the table name has been shortened
- VINYL-8220 - Charting using min height per panel with scrolling group
- VINYL-8225 - Can't select images in your app's collections in app menus
- VINYL-8226 - Vinyl Connector - RecordCount and Filters
- VINYL-8227 - Altering a table reorders primary key columns
- VINYL-8229 - Buttons are called "Normal" in the Controls MRP
- VINYL-8231 - Duplicate Columns (Allow Nulls and Required) on Table Detail Page For Columns
- VINYL-8233 - unable to remove primary key index on column
- VINYL-8234 - Foreign key constrain FK_Ui_Template_ContentTypeId breaks upgrades
- VINYL-8238 - MySQL Drop Primary Key
- VINYL-8247 - Validation plugins are not displayed the same as action plugins
- VINYL-8271 - incompatible MySql query generated using distinct
- VINYL-8274 - External Connections page has wasted space.
- VINYL-8275 - Exclude from Group By Check Box should NOT be called Group By for User Defined Functions
- VINYL-8279 - Re-Importing Physical Views Clears Column Insert and Update Fields
- VINYL-8298 - SAP ABAP - Add Support For Distinct
- VINYL-8299 - SAP ABAP - Bug with Aliases in where clause
- VINYL-8308 - default template parameters do not flow through to template when bindings aren't set
- VINYL-8309 - Log an error when executing a visibility rule that doesn't target the panel's source
- VINYL-8319 - importing vinyl connector tables results in exception One of the identified items was in an invalid format.
- VINYL-8329 - MySQL - Can't create foreign key constraint if with long table names.
- VINYL-8332 - Disallow illegal characters in REST Resource Endpoint
- VINYL-8333 - Disallow illegal characters in Webhook Endpoint
- VINYL-8338 - Db_Column_StorageDataType_Capabilities_Update MySQL requires CAST
- VINYL-8339 - Cannot save binary data from httpretriever into Binary / Photo column
- VINYL-8345 - foreign keys are not imported for MySql 8.0
- VINYL-8346 - Invalid fields not showing validations on MRP
- VINYL-8350 - Generating page from data source not populating mandatory fields in MRP panel correctly
- VINYL-8352 - MySQL - Default Create Changeset On Import to True
- VINYL-8354 - SAP ABAP Invoke Actions
- VINYL-8367 - Azure WS-Federation with "Supplied Group Membership" checked does not get group membership without an explicit claim