Changelog-Framework

Release Notes
MDRIVEN: CHANGELOG - FRAMEWORK
All the latest MDriven Fixes and Updates
ChangeLog - MDriven Framework

June 2024

  • Revision 15703 (Modified on 2024-06-04): Introducing protected virtual IDbTransaction StartTransactionNoChecks() on AbstractIDatabaseImpl to facilitate ability to do your own StartTransaction - thus allowing Firebird specific options
  • Revision 15700 (Modified on 2024-06-04): Convert.ChangeType fails for string to Guid - will do safeval=TypeDescriptor.GetConverter(t).ConvertFromInvariantString(safeval as string); for all string values . This broke resolve of Posted data conversion to Guid at FI
  • Revision 15698 (Modified on 2024-06-04): selfVM.Download - removing the FileType param Extending SysDocBatch pattern with method OnSysDocBatchViewClose Dropping Convert attributes from SysDoc pattern since it does not play with Zip function that use fixed attributes Bug in MDrivenServerAutoForm when converting nullable DateTime
  • Revision 15697 (Modified on 2024-06-03): Introducing LibraOffice PDF/DocX/XLSX conversions support
  • Revision 15696 (Modified on 2024-06-03):
  • Revision 15695 (Modified on 2024-06-03): Pulling apart IExternalLateBind implementation of Turnkey to better support pattern based methods from MDrivenServer

May 2024

  • Revision 15692 (Modified on 2024-05-31): IOpenDocumentService has a new OnInitiateUserDownloadOfData - that is backing a new selfVM.Download operator - that will download any data
  • Revision 15690 (Modified on 2024-05-29): SysDocBatch work
  • Revision 15689 (Modified on 2024-05-29): Missed nuget
  • Revision 15688 (Modified on 2024-05-29): x
  • Revision 15687 (Modified on 2024-05-29): SysDocBatch pattern support - a way to print manage downloads and prints in batch New selfVM operators: IObject SysDocBatchEnsured(ViewModelReferenceType vmref); byte[] SysDocBatchZip(ViewModelReferenceType vmref);
  • Revision 15685 (Modified on 2024-05-27): Easy access to GetDecodedAccessAndRefreshTokenOnClient for GraphAPISupport
  • Revision 15684 (Modified on 2024-05-23): SoapCall webRequest.AutomaticDecompression=DecompressionMethods.GZip | DecompressionMethods.Deflate
  • Revision 15683 (Modified on 2024-05-23): SoapCall did not correctly add the encoding header to xml sent
  • Revision 15682 (Modified on 2024-05-23): x
  • Revision 15681 (Modified on 2024-05-23): In AngularJS with Edit controls - StringFormat broke the databind - so we solved it by removing the StringFormat, but that caused problems and the stringformat for numbers was really missed. So we now render 2 editcontrols - both input elements - one with readonly databind that has stringformat, and one with 2 way databind without string format - and we use onfocus/onblur to make the right one show on edit
  • Revision 15680 (Modified on 2024-05-23): Adding check for vSoapResult and vSoapError to make SoapCall debugging easier
  • Revision 15679 (Modified on 2024-05-22): Last row of CSSGrid rendering height autofit for tables only
  • Revision 15677 (Modified on 2024-05-22): GraphAPISupport adding User and Groups access from AzureAD
  • Revision 15676 (Modified on 2024-05-22): Last row of CSSGrid rendering height autofit
  • Revision 15674 (Modified on 2024-05-20): Issue with combobox picking enum value and initial value is first enum - a comparison with equality == failed - changed to Object.Equals instead to fix issue of initiating
  • Revision 15673 (Modified on 2024-05-19): Score calculation now seperates between PSExpression and ocl expressions
  • Revision 15671 (Modified on 2024-05-17): Issue in AutoForm whan handling combos of Enums - when enum is badly initiated or null - handled Turn off autoform showing when clicking combos with enums
  • Revision 15666 (Modified on 2024-05-17): Now MDrivenServer stats per class and per associationEnd is shown in OCLEditor tree when listing classes and associationends
  • Revision 15665 (Modified on 2024-05-17): Attribut Change of type did not give clear warning on evolve-skipping Issue with ColumnConsistencycheck fixed.
  • Revision 15664 (Modified on 2024-05-17): Extended new ColumnFieldConsistencyCheck; added check for: null in db not in model, null in model not in db, string length shorter in db than in model
  • Revision 15662 (Modified on 2024-05-16): New Function in MDrivenServer/Admin/ColumnFieldConsistncyCheck that loop through and compare db-type with model type - this is good to catch any unhandled "will not evolve" warnings
  • Revision 15661 (Modified on 2024-05-16): New Function in MDrivenServer/Admin/ColumnFieldConsistncyCheck that loop through and compare db-type with model type - this is good to catch any unhandled "will not evolve" warnings DatabaseSnapshot was not working in MDrivenServerCore - Fixed issue
  • Revision 15656 (Modified on 2024-05-15): --table-min-height-span variable added to adjust the minimum height of the table
  • Revision 15654 (Modified on 2024-05-14): Row+ColumnVirtualization turned on for WPF DataGrids... Especially column seemed to slow everything to a halt almost if column count >70
  • Revision 15651 (Modified on 2024-05-12): Doublets of constraints error messages shown due to non uniqueness check of objects - fixed
  • Revision 15649 (Modified on 2024-05-10): Changed so the a Framework hack for header on GET requests is not executed in .Net Core
  • Revision 15648 (Modified on 2024-05-10): DefaultEcoSPace /// Normally singletons are created/ensured if the typesystem.checksum has not been seen since start of process /// But for testing purposes one may want the Singletons to be ensured on each ecospace creation - then set this property to true public bool EnsureSingletonInstancesOnEachEcoSpace { get; set; }
  • Revision 15646 (Modified on 2024-05-09): Really mind boggling issue with PlacingContainers sub containers switching context due to singlelink nestings; this tripped QueryPlanner to check Visible and Style expression of PC with wrong context - fixed
  • Revision 15637 (Modified on 2024-05-07): Issue in TagExpander when having columns without types - null check
  • Revision 15627 (Modified on 2024-05-03): GlobalHideActionOnDisable added to SysMDrivenMiscSettings Render of Toolbar menu now skips MenuGroups that are empty
  • Revision 15624 (Modified on 2024-05-03): Toolbar actions and AlwaysShowActions issue
  • Revision 15623 (Modified on 2024-05-02): Issue with WillEffectPersistentData flag in class action that were proxyActions (ActAsExpression set)
  • Revision 15621 (Modified on 2024-05-02): WPF debugger - chose copy with or without headers

April 2024

  • Revision 15620 (Modified on 2024-04-30): Issue with comparison between numbers and string , this is generally allowed in sql and so it was allowed in OCL-PS, and so we made it allowed in OCL - but it turned out that it was not accepted for > and < in runtime -> Fixed We now remove context menu on Comboboxes in WPF in order to stay consistent with Turnkey - a function that was not maintained and not used CrossRef has ref to self for admin reasons - this is now removed from UsedBy menu to avoid confusion If a DisplayLoop issue occurs - stemming from OCL issue - we now show the Ocl/OclSymbolImplementations.cs
  • Revision 15618 (Modified on 2024-04-29): Major change to how variables and validations are edited in the ViewModelEditor - moved into tree to give better access and overview
  • Revision 15614 (Modified on 2024-04-26): Locks with SysMDrivenMiscSettingsSingleton solved
  • Revision 15612 (Modified on 2024-04-26): Toolbar mode in Turnkey app - this is work in progress - documented here : https://wiki.mdriven.net/index.php?title=Toolbarmode
  • Revision 15611 (Modified on 2024-04-26): Toolbar mode in Turnkey app - this is work in progress - documented here : https://wiki.mdriven.net/index.php?title=Toolbarmode
  • Revision 15609 (Modified on 2024-04-25): Issue with Turnkey, Modal, DesignedButton with ExecuteFrameworkRuntimeActionRT.DoModalOk did always end up with enable false. Now it takes the enable expression of the designed action
  • Revision 15605 (Modified on 2024-04-25): Blazor work in progress
  • Revision 15598 (Modified on 2024-04-23): Codegen/Checksum issue. Statemachines where not fully included. Fixed.
  • Revision 15596 (Modified on 2024-04-23): Handles - avoid multiple DisplayQueue registrations ViewModelValidations issue. In WPF only the control having a change got validation update - even if data changed for multiple columns. Validations consolidated into the ValidationsHandle and reducing the need for multiple re-evaluations.
  • Revision 15589 (Modified on 2024-04-19): SysAsyncTicket Mystery solved - if a situation arise where the newly created sysasyncticket is saved - but the (also new) object it points to is not included in the same save context - we woould end up with SysAsyncTickets with null in their rootid. We now include the non included new object - and force it to get a persistent id in pass1 , and update the sysasyncticket.rootid in pass2
  • Revision 15588 (Modified on 2024-04-19): Null checks
  • Revision 15584 (Modified on 2024-04-18): Checksum issues - cannot use all TV's and must include derivation OCL
  • Revision 15583 (Modified on 2024-04-18): Checksum issue with Methods; skipping types since it proved to hard to be consistent with collection, nullability,enums,modeltypes,systemtypes in permutations
  • Revision 15582 (Modified on 2024-04-18): Checksum issue with Enum types - they will either be DynamicStringEnum or real codegen type - will put ENUM for all
  • Revision 15581 (Modified on 2024-04-18): Checksum issue with Enum types - they will either be DynamicStringEnum or real codegen type - will put ENUM for all
  • Revision 15580 (Modified on 2024-04-18): Method Checksum issues
  • Revision 15578 (Modified on 2024-04-18): Method checksum , types sometimes included namespace. fixed
  • Revision 15577 (Modified on 2024-04-18): Null check in turnkey type check
  • Revision 15576 (Modified on 2024-04-18): Checksum for methods was off - making the codegen based on checksum a bit sketchy - fixed
  • Revision 15565 (Modified on 2024-04-11): Problem with hardcoded backslash for unix - Path.DirectorySeparatorChar
  • Revision 15564 (Modified on 2024-04-11): WPF issue of dragging from debugger to app had stopped working. Turned out to be a Yearlong issue that I now cleaned up by removing unnecessary parameters
  • Revision 15562 (Modified on 2024-04-10): ChecksumAttribute attribute added to eco.Interfaces - this is to speed up Codegen with checksum written to code checks Better CodeGenGoverningInfo that now can find codegen diffs regardless if you or someone else forgot to codgen
  • Revision 15561 (Modified on 2024-04-10): Fix for errors introduced in rev 15499.
  • Revision 15560 (Modified on 2024-04-10): Better comment
  • Revision 15543 (Modified on 2024-04-03): Still issues with download of images with GetVMImageUrl when app is under subfolder. Fixed now I hope
  • Revision 15541 (Modified on 2024-04-03): Problem when executing ViewModelAction connected to Button: The turnkey client sends the ViewModelClassName where the Button is placed - but there is no limitation to not place the viewmodel action on any level, and the button on any other level The server first looks in the send ViewModelClass, but now looks in other ViewModelClasses if not found before giving up
  • Revision 15540 (Modified on 2024-04-03): Updating the MySQL driver to 8.3.0 due to reported linux issues
  • Revision 15539 (Modified on 2024-04-03): Issue that if operator returned state attribute - the state attribute seemed to be editable in UI due to StateAttributes not being marked readonly at correct level
  • Revision 15536 (Modified on 2024-04-03): StartUpView constant

March 2024

  • Revision 15530 (Modified on 2024-03-28): null checks
  • Revision 15525 (Modified on 2024-03-27): ReadOnlyMode advanced: when an action that brings up a modal in itself does not change persistent data it would be enabled during ReadOnlyMode - but if the ExpressionAfterModelOK will change persistent data one could argue that the bringing-up of the modal is in vain - since the user will not be able to say ok. ReadOnlyMode now tries to deduce if ExpressionAfterModelOK effects persistent data and if so the bringing up action will also be disabled during readonlymode
  • Revision 15520 (Modified on 2024-03-26): Changing "Excel clip to M1" to "Text clip to M1"
  • Revision 15519 (Modified on 2024-03-26): Now CreateTuple allows for values of parts to be given in array Updates to Debugger "Excel clip to M1" now can take multiple columns and will create tuple, also allows copy from from SQLServer-manager or any text source
  • Revision 15518 (Modified on 2024-03-25): in angular binding you cannot have stringformat - and we applied it and thus broke the binding
  • Revision 15514 (Modified on 2024-03-24): Fix of previous check-in: Changed new feature of min-height/width so that setting the ViewModel's column width or row height of <= 1 signals that no min-height/width style tag should be generated.
  • Revision 15513 (Modified on 2024-03-24): Changed new feature of min-height/width so that col or row -width of 0 signals that no min-height/width should be set.
  • Revision 15511 (Modified on 2024-03-22): Fixed bug that suppressing incorrect unzipping CRC errors left unzipped files open. Prevented local core servers from running.
  • Revision 15504 (Modified on 2024-03-22): Work in progress AutoBlazor
  • Revision 15500 (Modified on 2024-03-21): Important Placingcontainer min-height/min-width change: ViewModelColumn column Span and Row span now is shown even when column is in Placingcontainer If the PC Min-size is NOT set we will use the corresponding column/row-span * viewmodel.ColumWidth/RowHeight and use this as the min-size in the direction (width when PC is row, height when PC is column) Reasons: #1 column span did have effect in Turnkey already (grids max height was controlled by this), #2 span > 1 on textfields also turned textfields into multiline - it was hard to control this AFTER you turned the View to PC #3 The min-size is very pixel focused and using the column/row-span * viewmodel.ColumWidth/RowHeight will quantify the used min-size values in a better way Remaining issues: In WPF even textfields, combos, datepickers etc adhere to min-size, but in web the min-size is controlling the controls outer div - but css does not resize the native control the way one would expect
  • Revision 15499 (Modified on 2024-03-20): _Label subcolumn was not implemented for buttons in grids - fixed
  • Revision 15492 (Modified on 2024-03-17): Webassembly work in progress
  • Revision 15490 (Modified on 2024-03-14): Issue with ReadOnlyMode - ReverseDerived where reported as non persistent and thus made writable - this is now fixed and also the TV WillEffectPersistedDataOverrideValue is checked for Reversederived
  • Revision 15489 (Modified on 2024-03-13): New settings in MDrivenServerOverride ExternalAssetsTK helps with EXT_component dev Check that we dont init ReadOnlyMode while in sync
  • Revision 15486 (Modified on 2024-03-11): Adding IProperty TryGetName(string name) to IPropertyCollection to make checking if property exists easier. Extending turnkey SysOpenAI support : adding Temperature so that it can be controlled via model
  • Revision 15485 (Modified on 2024-03-08): Better focusing of correct thing when clicking error in Model-errors, specially when you have conversion errors that makes further eval impossible
  • Revision 15481 (Modified on 2024-03-08): HideOnDisable introduced on AbstractAction - this will be set automatically on trigger actions when added from statediagram - but is now also available on all actions When abstract action has error and shows in ViewModel error list - it now opens action editor when double clicked When error check has an error on a State it now opens the correct state diagram on click
  • Revision 15479 (Modified on 2024-03-08): Improved error message if there is an exception in class method
  • Revision 15478 (Modified on 2024-03-07): Changed so that virtual path in .net core return empty string, making URLs relative and using basepath in web page
  • Revision 15475 (Modified on 2024-03-06): Improving table rows selection.
  • Revision 15472 (Modified on 2024-03-05): REVERTED non-working feature: Complex issue with vSelected in Turnkey - when you have not checked the SelectedBox - you still want the vCurrent to be part of the vSelected - but then you want it removed from vSelected if the only reason for being in vSelected was that it was vCurrent
  • Revision 15471 (Modified on 2024-03-05): Model upload rewritten to become async to avoid UI lock for large models
  • Revision 15467 (Modified on 2024-03-04): null check, adding Nesting.RendersAsList:bool method
  • Revision 15464 (Modified on 2024-03-03): Fixed bug: External login provider name change caused user creation failure. Two different ways to look up external login records in database, made login middleware fail.
  • Revision 15463 (Modified on 2024-03-01): Complex issue with vSelected in Turnkey - when you have not checked the SelectedBox - you still want the vCurrent to be part of the vSelected - but then you want it removed from vSelected if the only reason for being in vSelected was that it was vCurrent
  • Revision 15461 (Modified on 2024-03-01): To increase the rename-ease and copy-easy of view models we now suggest you use the new vCurrent_Root variable instead of vCurrent_<ViewModelName> This will make a copied/renamed ViewModel stay correct without any changes

February 2024

  • Revision 15456 (Modified on 2024-02-29): Better error message on failed report
  • Revision 15448 (Modified on 2024-02-27): OclEditor did not correctly provide help on selfVM members due to confusion with ordinary simple types
  • Revision 15446 (Modified on 2024-02-27): Inconsistency in linkobjects: when one inner link was null we used to throw and fail on assert - but we should treat it as any normal inconsistency that can be discovered and cleaned by MDrivenServer
  • Revision 15444 (Modified on 2024-02-26): Fixed problem with deep direct links lacking full redirection URL. Added URL encoding to redirect URL.
  • Revision 15442 (Modified on 2024-02-26): selfVM variable lost in debugger after reload model; Fixed issue MDrivenServer/Admin/Data validation now creates correct EAL scripts for fixing key issues with ocl debugger - so that history db integrity is maintained
  • Revision 15441 (Modified on 2024-02-26): Auto-Inconsistency-Cleaning, Extending Cache mechanism: Dealing with data inconsistencies that arise when 2 systems act simultaneously - one system linking A-B together (embedded link in B) and other system not yet knowing of B deletes A, first system saves without knowing about deletion of A 1. This is discovered when third system reads the B that now links to an nu-existing A, we ghost create an empty A but add it to the Ghost-list. 2. When this third system does a db-update for any reason we also check the Ghostlist and if it holds Ghost objects these are unlinked 3. The effect is that inconsistencies found are auto cleaned when other save operations occur - This strategy is not perfect (since inconsistencies may happen) but good since inconsistencies will eventually get cleaned. There is no active cleaning - but an active cleaning service will be added to MDrivenServer. - The alternative ; to trust referential integrity abilities of DB-brand is complex due to issues with ordering of updates and differences between brands, and will make evolve scripts more complex When load discovered foreign keys that does not have an object it is marked as ExistenceState Deleted, and added to this list On next save (if it happens) we can unlink this from everywhere void RememberGhostFKCreatedUntilNextSave(Locator locator); Used internally in Update - to unlink ghosts so that we get self cleaning of ghost keys List<Locator> GetAllGhostFKCreatedAndClearList();