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.