ReleaseNotes

Release Notes
Release notes
All the latest MDriven Fixes and Updates

MDriven - April 2024

Designer

AutoDiagram:

  • Improved filter functionality: "Filter associations" renamed to "Filter members" for better clarity. This filter now effectively filters all elements on the screen.
  • Enhanced performance during rendering by addressing inefficiencies caused by drawing during measuring.

ViewModelEditor:

  • Fixed an issue where the ViewModelEditor combo box name wouldn't update correctly when switching to "No-Category."

Error Checking Optimization:

  • Implemented changes to significantly reduce the time taken for subsequent error checks in modlr. This optimization tracks locally changed elements, their potential effects, and only re-checks affected areas.

Code Generation:

  • Checksum based codegen. This speeds up code generation by incorporating a checksum written to code checks.
  • Enhanced CodeGenGoverningInfo to identify code generation diffs even in scenarios where code generation wasn't performed (by you or someone else).

CloudForm:

  • Improved the "Changes" button functionality within CloudForm. The process now begins with a quick checksum check, followed by an optional view of the checksum diff, and lastly, the optional view of upcoming database changes.

Other:

  • Fixed a deadlock issue in the Designer that occurred when error checking attempted to look up ViewModelNames for Class.ViewModels variables.
  • Resolved a long-standing WPF bug that prevented dragging elements from the debugger to the application. Unnecessary parameters were removed to address this issue.
  • Addressed a problem with a hardcoded backslash for Unix systems. The correct Path.DirectorySeparatorChar is now used.

Turnkey

SignalR:

  • Fixed an issue related to incorrect stopping of SignalR Core.
  • Implemented proper disconnect from SignalR upon page reload.
  • Added a client-side service shutdown to prevent communication with the server during page reload, avoiding potential interference with redirects.
  • Enhanced logging for SignalR events.

General Bug Fixes:

  • Resolved two separate null reference problems.
  • Improved logging helpers to ensure log files are available before logging attempts.
  • Addressed a hardcoded backslash issue for Unix systems, using Path.DirectorySeparatorChar for correct path handling.
  • Fixed a case-sensitivity problem within Turnkey paths for Linux.
  • Corrected two instances where MapPathService.MapPath was using the wrong slash type (forward slash needed for platform compatibility).
  • Adjusted advanced table inputs and navbar resizing.
  • Implemented a fix for image fallback behavior. A null image cannot be used directly, but a valid link is required for proper fallback image loading.
  • Improved navbar wrapping and styling for save bar buttons.
  • Adjusted navbar height to accommodate wrappable menu items.

Turnkey UI:

  • Turnkey Toolbar: Introduced initial work on the ActionRenderPositionEnum Toolbar feature. This feature aims to categorize actions in the Turnkey UI:
  • Actions that navigate without data changes remain on the left side menu.
  • Actions that modify data, navigate, or involve saving/canceling/editing will be placed in a new horizontal toolbar below the main menu.
  • Adjusted CSS to ensure proper height calculation for the #viewmodelSection element.
  • Removed complex logic for main menu overflow handling. This will be replaced with CSS-based solutions.
  • Implemented a new method to prevent JavaScript execution during page reloads.
  • Defined the StartUpView concept for Turnkey Core, introducing a special page displayed while the application warms up. More details available here: https://wiki.mdriven.net/index.php?title=StartupViewTemplate
  • Moved the StartupViewTemplate_AppOverride.htm file to the views\turnkey\ directory for better organization.

Server

Logging:

  • Updated logging helpers to ensure they wait for log files to appear before logging attempts. This improves the reliability of logging messages.

Server-Side Jobs:

  • MdrivenServer now automatically applies SSJobs (SQL Server Jobs?) on Evolve. This eliminates the need for the "Update Server-Side Jobs" button, streamlining the deployment process.

Framework

ViewModelEditor:

  • Introduced a significant change to how variables and validations are edited. They are now displayed in a tree structure for better organization and accessibility.

Turnkey App:

  • Resolved an issue with the "Toolbar mode" functionality (work in progress). More details and documentation are available here: https://wiki.mdriven.net/Documentation:MDriven_Framework
  • Fixed a problem within Turnkey, Modal DesignedButton with ExecuteFrameworkRuntimeActionRT.DoModalOk. The button's enable property now correctly reflects the enable expression of the designed action.

Checksum Enhancements:

  • Addressed a code generation (Checksum) issue related to Statemachines, ensuring they are fully included in the process.
  • Continued improvements to the Checksum functionality:
  • Method Checksum calculations now exclude namespaces, improving accuracy.
  • Checksums for Enum types are now consistently represented as "ENUM."

Other:

  • Resolved a deadlock issue involving SysMDrivenMiscSettingsSingleton locks.
  • Fixed a bug that prevented updating validations in WPF when data changed for multiple columns. Validations are now consolidated for better efficiency.
  • Addressed a situation where SysAsyncTicket objects might have a null rootid value. This is now prevented by ensuring the referenced object gets a persistent ID.
  • Improved image download functionality using GetVMImageUrl when the application resides in a subfolder.
  • Enhanced error handling for ViewModelActions connected to Buttons. The server now searches for the action across all ViewModelClasses if not found in the initially provided one.
  • Updated the MySQL driver to version 8.3.0 to address reported Linux issues.
  • Defined the StartUpView constant.