Vinyl 2.4 Release Notes¶
Important Upgrade Release Notes¶
Note
Vinyl 2.4 Requires at least .NET 4.6.1. You must check this before upgrading to Vinyl 2.4
PowerShell command:
Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | ForEach-Object { $_ -ge 394254 }
If that power shell command does not work, you might need to follow this procedure to check .NET version
If you are on a Zudy hosted server, you are likely not running .NET 4.6.1 and will need to coordinate shifting to a new machine image (and if using a local file data source you will need to point this out to the team so they can keep an data you need).
Note
When you login as an administrator with a default password, you will be asked to change the password.
Vinyl 2.4 adds a foreign key between column and logical data type. You may want to run this SQL statement before upgrading to check for issues:
SELECT * FROM Db_Column WHERE LogicalDataTypeId NOT IN (SELECT LogicalDataTypeId FROM Db_LogicalDataType)
Known issues¶
If you press enter while changing your password, you can get stuck on the change password page.
Releases¶
Hotfix: Version 2.4.17386 released on 5/30/2019 2:43:24 PM (build d8c2fdb1)
- Corrects issue with HttpRetriever plugin retrieving binary content
Hotfix: Version 2.4.17225 released on 5/24/2019 1:35:30 PM (build 6d0b5ca1)
- Corrects issue with "Load More Rows" being hidden and shown too much
- Don't hide loading panels when scrolling
- Reduce effect of selecting calnder day to the two styles exposed
Hotfix: Version 2.4.16831 released on 5/9/2019 5:41:14 PM (build 1f9da7ae)
- Corrects issue with "binding context is not ready" appearing in the browser
- Corrects issue with record count and filter when using Vinyl connector
- Catches issues annotating XML when using a REST XML API
Hotfix: Version 2.4.16541 released on 4/24/2019 1:03:43 PM (build 9f03dadc)
- Transmits column usage type via connector
- Adds support for cookie sending / receiving for REST and webhooks
- Adds second support to DateAdd and DatePart for MySQL
- Handles raw json values as REST api responses
- Run MRP save as a single plain save if only 1 row is dirty
Hotfix: Version 2.4.16444 released on 4/17/2019 3:15 PM (build a49ca83c)
- Corrects two issues with Vinyl Connector - union support and bindings with new expression in rule
Hotfix: Version 2.4.16361 released on 4/10/2019 8:35:52 PM (build a746497f)
- Corrects issue joining business objects through the local connector
- Corrects issue with default binding with local connector
- Upgrades JQuery to correct column alignment issues
- Additional OAuth refresh fixes
- Import improvements
Hotfix: Version 2.4.16132 released on 3/27/2019 11:21:58 AM (build 3cb51adc)
- Corrects issue when pressing Create on dynamic results page
- Updates SAP code
- Auto edit lists now open with a single click
- OAuth improvements
Hotfix: Version 2.4.16026 released on 3/19/2019 9:03:57 PM (build 4890502a)
- Improves code for running with A2B plugin
Hotfix: Version 2.4.16010 released on 3/19/2019 8:26:12 AM (build cf98f31e)
- Corrects issue with REST requests with no security provider introduce in the previous build
Hotfix: Version 2.4.15999 released on 3/18/2019 3:38:22 PM (build 0206a59d)
- Modifies code for improvements to the A2B plugin
- Adds support for custom HTTP headers and OAuth token endpoint parameters
Hotfix: Version 2.4.15921 released on 3/14/2019 2:37:36 PM (build cedca96c)
- Corrects issue adding a page from a .xlsx file
- Corrects issue importing an xls or xlsx file if the header is numeric
- Corrects issue with Salesforce default rules
- Corrects race condition in which rules may fail after installing an LP, flushing cache, or modifying a function
- Corrects issue with audit full not able to find the reference audit id on delete
Hotfix: Version 2.4.15867 released on 3/6/2019 12:06:22 PM (build 5aa2dcad)
- Corrects issue when using full audit, a column marked as a title column that is not a string, and make a change to an object with and FK relationship to that table
- Corrects issue when using full audit when running an update rule and not including Audit column (if there is a column marked with this usage type) that Vinyl will throw an error
Hotfix Release: Version 2.4.15828 released on 2/26/2019 7:41:51 PM (build d35301b3)
- Corrects running CRUD Update business rules against a data object that might not load cells correctly
- Corrects issue with permissions not being set when creating a table from csv
- Corrects issue with headings not lining up correctly on MRP with column selection service disabled
Hotfix Release: Version 2.4.15793 released on 2/21/2019 4:15:35 PM (build 8b861b94)
- Corrects issue when building a rule and adding a new table from clause, the index can be calculated incorrectly
- Will not audit delete for business objects if the pk columns are not targetted
- Corrects how Vinyl escapes negative numbers when downloading csv
- Prevents cutting off data on MRP when column selection service is disabled
Hotfix Release: Version 2.4.15711 released on 2/13/2019 8:36:49 PM (build 3e243fa7)
- Create tables, business objects and pages from add page menu
- Joins populated automatically when building rules when FKs are setup
- Improvements defaulting settings for list controls
- All lists within the Vinyl IDE are now full-search vs starts with search
- Resets default storage data type to integer for logical data type of Number
- Allow dev configuration of REST API GET limits
- Add support for re-executing changesets
- Correct issue with orphaned collection ids
- Charting will now use B vs G for billion
- Improves REST endpoint processing of some date formats
- Corrects issue with defaults in Salesforce data provider
- Corrects issue where deleting the default page for an application can make Vinyl inaccessible
- Corrects issue with some nightly scheduled events failing in Vinyl
- Corrects issue with count being out of sync from number of rows available
- Corrects alignment of link to page icon when using pinned columns
- Create changesets for data source when importing now defaults to true
- Display time as well as date for last login time on User page
- Refactor client-side viewmodels to lower memory usage
- Corrects memory leak in internal data structure
- Adds support for MRP paging
- Allows CRUD XP rules to show non-public tables when registration data source is the same as the target data source
- Pass back AppUserId with Username to site widgets
- Corrects issues with some checkboxes not being visible when unchecked on table column detail and rule column detail pages
- Corrects binding issue to data source detail from rule diagnostic page
- Removes regex from Email logical data type
- SFTP data source support
- Sharepoint data source support
Hotfix Release: Version 2.4.15482 released on 1/23/2019 1:38:10 PM (build 275cca5e)
- Corrects issue accessing Vinyl with a mobile device
- Enables CData Salesforce data provider
- Corrects private tables being available in table from list
- Improvements to translations pages
- Allows Vinyl to consume REST endpoints that return numbers in scientific notation
Hotfix Release: Version 2.4.15442 released on 1/17/2019 3:29:19 PM (build 70cdfe4a)
- Corrects issue with count on PK uuid field throwing a cast exception when viewing resutls
- Functionality for working with native application
- Introduces tab region for mobile device
- Default SAP peak connections to 99 from 10
- Introduces option to send password change notification emails, defaults to off
- Corrects binding when sending notification for password change
Hotfix Release: Version 2.4.15388 released on 1/13/2019 7:58:34 PM (build e8de30cb)
- Corrects issue with import pattern being ignored when used with Vinyl connector
- Corrects issue using Date as the id in a list
- Corrects issue picking State as a logical data type for a column
- Corrects issue picking percent data type for physical column
- Adjust default length for url to be 2000
- Corrects duplicate error message being displayed on calendar
- Corrects /none request being made via style
- Corrects issue where an error might not be displayed
- Clear passwords on validation failure
- Improves defaults for non-RDBMS data sources
- Fixes issue running defaults against Vinyl connector data sources, if there are no tables in the from clause
- Correct currency logical data type
Hotfix Release: Version 2.4.15338 released on 1/4/2019 10:29:44 PM (build 3b9fd3bd)
- Corrects looping bug when navigating to a new page with replace page in history from a pop-up
- Ensures that changes made to DeveloperSilo, XP CRUD Limit, Default Command Timeout, Minimum Panel Width/Height are not overwritten on an upgrade
- Corrects an issue that made the target type not visible on the column detail page
- Adds support to decode REST responses for subscribed REST interfaces
- Corrects mvSQL implementation of RIGHT for Sqlite
- Attempts to parse EndUserInfo endpoint whether the server has responded with a content type or not
- Fixes permission page showing bad status
- Corrects issue with scrolling grid wrapping when deleting rows
- Corrects issue with pivot table not expanding to use entire panel width
Initial Release: Version 2.4.15303 released on 12/27/2018 2:04:14 PM (build a174cdc0)
Feature Overview
IDE Toolkit
- Copy panel - copies the given panel and all controls within.
- Copy table
-
Auto build
- Session table
- Param table
- Home page
UI Improvements
- Floating headers, icons for Multi-Row Panels with column selection service disabled.
- Pinned columns for horizontal scrolling.
- Hide exceptions from end users in production.
mvSql
- Page function - returns page id as a string.
Reporting
-
New pages
- List all API keys and users.
-
External Connections - List of urls used to connect to external systems
- Notification endpoints
- REST endpoints
New reports
UI Layer Audit
Business logic layer Audit
Data storage layer Audit
- Show Tables, Fields, Relationships, and Default Rules
- Execution Audit
-
Published endpoints + details
- Includes endpoint specific parameters and documentation on common Vinyl headers/query parameters.
-
New feature to generate release document
- List all data sources, change management requests, translation bundles, table export configuration.
Logical Data Types
-
Additional logical data types that offer smarter validation and auto-fill options:
- Address
- Phone Number
-
User defined logical data types.
- Allows developers to create their own logical data types as well as validation and auto-fill rules.
Mobile
- Utilize native date & date/time controls via HTML5 on Android and iOS.
- Security persistence in native app.
- Roadmap for native app solution.
Security
-
Reach
- Row-level security
- Write reach rules to define what data a user can access
-
Password expiration policy
-
Application identity
- Write identifier string to public data object for a user.
-
Default application authentication provider.
- Override the default login screen and provider for an application.
Full Audit
-
Track business layer changes by row, column:
- Edits from pages.
- CRUD business rules.
-
View Audit Lite and Audit Full data in a single page from existing "Audit" button/icon.
- Enabled for most Vinyl tables.
Translations
- "Title Case" certain translations automatically.
- Refinements to translations pages.
Data Sources
- DB2z - Using IBM driver directly.
- SAP - Now possible to do joins in rules.
- Dynamics CRM
- Office 365
- Salesforce API version now configurable.
Detailed Changes
New Features
- VINYL-7492 - Support pinning columns in a MRP, locking them on the left when scrolling
- VINYL-7495 - Audit Full
- VINYL-7613 - Add support for Reach (a.k.a. Row-level Security)
- VINYL-7634 - Track session-level application-supplied user identifier
- VINYL-7693 - Add support for default application authentication provider
- VINYL-7757 - Custom Logout Page
- VINYL-7536 - Password Expiration Policy
Improvements
- VINYL-5911 - Move table default rule's explicit bindings to detail view
- VINYL-6865 - Create a shortcut from a scheduled event to the schedules area (or something of the sort)
- VINYL-6900 - Force logical data type to be set for expressions
- VINYL-7187 - Show runtime instance server times
- VINYL-7277 - "Page Edit" page allows modifications to sealed application pages
- VINYL-7494 - SQLite DATENAME() function should return strings
- VINYL-7500 - Warn when LP is greater than a certain size
- VINYL-7501 - Claim suggestions do not include global default claims
- VINYL-7504 - Simplify OWIN identity and Vinyl user synchronization
- VINYL-7563 - Update Salesforce version api to latest, and make it configurable
- VINYL-7588 - Redirect users to the login form on sign out
- VINYL-7602 - Title case all non-sentence translations.
- VINYL-7607 - Hide exceptions from end users in production
- VINYL-7626 - Use a better evalid status than 'not evalidated' for default language
- VINYL-7629 - Add filter panel to unapproved translations to select bundle, language
- VINYL-7633 - There is no way to delete a physical view from within Vinyl
- VINYL-7668 - Do not implicitly include 'Vinyl' data source in app bundle
- VINYL-7768 - Change Vinyl to target .NET Framework 4.6.2 and .NET Standard 2.0
Bugs
- VINYL-3388 - Event execution bypasses data object row-level security
- VINYL-3785 - Popup closes after a Delete event even if the event fails
- VINYL-3822 - menu icon in page create appear to be missing padding: left aligned
- VINYL-3972 - Navigating away from a page should clear event messages
- VINYL-4661 - Filter lists do not appear with the value selected if you re-open filter
- VINYL-5148 - Filter list selection disappears when navigating *back* to a filtered page
- VINYL-5744 - Advanced theme settings do not work on panels
- VINYL-5969 - Can't see exceptions on SRP delete
- VINYL-6184 - Error "invalid alteration of datatype" when converting to character blob column on Oracle
- VINYL-6371 - Toolbar buttons with an Event do not also take you to a Static New Page
- VINYL-6403 - Readonly Static Text Links are clickable when their panel is in edit mode
- VINYL-6453 - Non column selection service MRP should still fix headers
- VINYL-6553 - Event "Execute In Background" flag is not inherited
- VINYL-6679 - Import of text datatype in SQL Server imported as nvarchar(16) vs nvarchar(-1)
- VINYL-6690 - Table width occasionally gets set to 100px while resizing MRP
- VINYL-6716 - Add JobQueue Constants to our settings file
- VINYL-6775 - Can mark CRUD rule as direct when targeting a public data object
- VINYL-6782 - Ship Application A without error even if it has links to Application B
- VINYL-6789 - Rule without target column binding criteria executes but fails when bound to event
- VINYL-6838 - switching schedule frequency should reset schedule details
- VINYL-6875 - Handle One Time Execution Better for Scheduled Events
- VINYL-6880 - Can't theme login page without unsealing Vinyl
- VINYL-6894 - Improve errors when installing release management LP files
- VINYL-6938 - Link Criteria of type bind or shared is not passed along for an external link
- VINYL-6960 - UI - Inconsistencies for Scheduling
- VINYL-6978 - Crystal reports reported to not work using shared criteria
- 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-7053 - Can't reopen filter if filter is required
- VINYL-7075 - list of applications / datasources do not render in release create page
- VINYL-7101 - Function not found error when User Defined Function renamed (multi server env)
- VINYL-7110 - operation window ignored for scheduled event
- VINYL-7140 - MRP in scrolled group doesn't scroll all the way when inserting row
- VINYL-7157 - Chrome copy of Expressions results in some invalid text in clipboard
- VINYL-7168 - Always edit checkboxes won't toggle if text is selected somewhere on the page
- VINYL-7196 - Tasks starting 10 minutes before planned start
- VINYL-7210 - concatenate and left function not working with CData Active Directory connector
- VINYL-7226 - Filter criteria lost on page refresh
- VINYL-7248 - Binding column restriction shouldn't apply to insert
- VINYL-7262 - MRP panel data object not grouped the same as SRP
- VINYL-7282 - filter criteria area is showing up grey bar after going back
- VINYL-7283 - Pivot panel link is incorrect
- VINYL-7292 - Release Management does not include ancestors of a linked data source
- VINYL-7296 - Should create a validation to prevent session(), who() from being used in a migration rule
- VINYL-7302 - Panel titles are not center aligned
- VINYL-7358 - Prevent CRUD DB rules from targeting data objects
- 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-7446 - Currency logical type doesn't support field format strings
- VINYL-7448 - It is possible to bind a button to the Filter event
- VINYL-7450 - CRUD business insert rule does not honor auto-generated flag when targeting a data object
- VINYL-7456 - Page with special character (comma, dollar sign) in name fails to render
- VINYL-7459 - New row content doesn't scroll
- VINYL-7462 - Unsupported MySQL character encoding utf8mb4
- VINYL-7473 - Background Plugin jobs are causing scheduled jobs to delay completion of the schedule
- VINYL-7478 - Occasionally, data objects do not set translatable field correctly.
- VINYL-7485 - Unique key index on Db_TableFrom can break LP installs
- VINYL-7486 - Data sources with same name hose up release management
- VINYL-7487 - Make action bindings available on execution plan
- VINYL-7517 - Create constraint limited to 200 columns - needs higher limit
- VINYL-7518 - Text area shows validation error when you press enter to save
- VINYL-7524 - Changing join with conditions to a CROSS JOIN breaks rule
- VINYL-7525 - Copy page does not copy ui default binding type
- VINYL-7527 - Not setting cache-control header on our ajax responses
- VINYL-7528 - Completed Jobs in a Redis Backplane are causing delays
- VINYL-7538 - Setting Auto-generate on a non-PK column doesn't work.
- VINYL-7540 - Setting link to page to "No" should clear InsertLinkToPageId and UpdateLinkToPageId
- VINYL-7544 - With panel selection service off, PSS results still apply
- VINYL-7551 - Creating a list data object for a table with multiple primary key columns fails silently
- VINYL-7555 - Success/failure handlers are missing from the execution plan
- VINYL-7559 - CanUpdateCellsDirectly method does not check that the action is an update, resulting in unexpected behavior
- VINYL-7560 - unable to select File (s3) for file browser as Tables as Business Objects is false
- VINYL-7562 - Newly created schedules do not appear on the Realms page.
- VINYL-7571 - Can create a circular reference with page group feature that crashes Vinyl
- VINYL-7575 - Binding criteria ignored if column name starts with an underscore
- VINYL-7577 - Vinyl Connector Casting Error generating MVSQL Preview
- VINYL-7582 - Multi-row delete event fails silently
- VINYL-7583 - for dynamic view, when all primary keys are pinned, table rows are malformed
- VINYL-7585 - Cannot create XP Validation rules
- VINYL-7586 - XP validation / business objects show all tables in from clause - should be limited to public business objects (TableFrom, table from)
- VINYL-7590 - Translatable columns aren't updated in production environments
- VINYL-7591 - Can't hide panel toolbars using a page-level theme
- VINYL-7592 - REST import copies header and query values to sub tables
- VINYL-7593 - Remove EventId column from the Sh_Schedule table
- VINYL-7599 - Changing page data object does not update visibility columns
- VINYL-7601 - import pattern ignored when using vinyl connector as data storage
- VINYL-7604 - Crystal Reports Uses Page Level Object for Column Selection on Controls
- VINYL-7610 - Role access rendered as a range instead of a checkbox on filter form
- VINYL-7611 - Page title overlaps Vinyl logo (again)
- VINYL-7614 - Slow logs always shows '0' for process id.
- VINYL-7620 - Avoid translating sub-variants of the default (english) language.
- VINYL-7622 - Star functionality targeting new columns, even if the star is applied to a table that isn't the target
- VINYL-7623 - Changing panel source does not update binding columns to other panels
- VINYL-7624 - IE11 vertically scrolled MRP don't show all columns
- VINYL-7632 - Cannot use Date as id column in a list
- VINYL-7639 - Auto-pin of dynamic table pins too many when using aggregates
- VINYL-7640 - missing row count from file browser panel
- VINYL-7641 - Browser doesn't refresh after schema change warning
- VINYL-7644 - Rules used for web service endpoints are reported on "Unused rules" page
- VINYL-7645 - Public rules can be deleted - potentially breaking applications where the rule is used by a Vinyl connector
- VINYL-7661 - The * and PK buttons on the rule page do not seem to properly update caches in multi-app server environment
- VINYL-7670 - REST Endpoint Parameters panel shows 'output' parameters
- VINYL-7677 - Security exception table on return DataSourceId instead of TableId
- VINYL-7679 - Format where used functionality will take people to the design pages of Vinyl
- VINYL-7682 - Overlay with scrolled page loses close X