Changelog-Framework
(Updating changelog)
(Updating changelog)
(154 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<message>Write the content here to display this box</message>
__NOTOC__
__NOTOC__
<html>
<html>
Line 79: Line 80:
</html>
</html>
<div class="changelogs">
<div class="changelogs">
=== May 2024 ===
=== May 2025 ===
* '''Revision 15679''' (Modified on 2024-05-22): Last row of CSSGrid rendering height autofit for tables only
* '''Revision 16667''' (Modified on 2025-05-16): ElementHandle did not correctly create columns when switching types if new type was IEnumerationType - effected debugger output that showed last result type if the result type was IEnumerationType
* '''Revision 15677''' (Modified on 2024-05-22): GraphAPISupport adding User and Groups access from AzureAD
* '''Revision 16666''' (Modified on 2025-05-16): Ocl_includes did not handle enum compare - fixed
* '''Revision 15676''' (Modified on 2024-05-22): Last row of CSSGrid rendering height autofit
* '''Revision 16663''' (Modified on 2025-05-14): --text-on-primary text on buttons was set to white - but several issues made it not reach the theme-default, the theme-default issues has been resolved and then text on button became white - this is now changed to black Width of tk-input-field--datepicker was reduced - for no apparent reason - now its treated as any other input StylesInModel was unable to reach and set the text of buttons - now fixed Turnkey runtime prepared for new PlacingContainer property that controls flexbasis called IgnoreContent
* '''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 16659''' (Modified on 2025-05-13): BREAKING CHANGE: Assignment := goes from RHS-type to LHS-type (Left hand side decides type today and onwards). This WILL MOST LIKELY break a few expression. You fix them by typecasting. Read how and why here: https://learn.mdriven.net/index.php?title=Documentation:OCLOperators_:%3D
* '''Revision 15673''' (Modified on 2024-05-19): Score calculation now seperates between PSExpression and ocl expressions
* '''Revision 16658''' (Modified on 2025-05-13): OclResultTypeDeduceMethod.TypeOfFirstParam was really 2 and OclResultTypeDeduceMethod.TypeOfSecondParam was really 3 - fixed this and also added OclResultTypeDeduceMethod.TypeOfThirdParam This gave problem when implict upgrading ints to double in a assign somedouble:=0 when it was enclosed in ->collect because the list was int and not of double
* '''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 16655''' (Modified on 2025-05-13): ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToogle is corrected to ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToggle
* '''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 16641''' (Modified on 2025-05-10): OclVariableConverter a TypeConverter needed for design and winforms design code gen has been moved from eco.handles.design to eco.handles - this is to de-confuse the winforms .net8 designhost (designtoolserver) and also de-confuse extension loaded types from project loaded types. This means that to get consistent behaviour (non missbehaving winforms editors) you need MDriven design time and MDriven nuget mdriven.handles no older than THIS version
* '''Revision 15665''' (Modified on 2024-05-17): Attribut Change of type did not give clear warning on evolve-skipping Issue with ColumnConsistencycheck fixed.
* '''Revision 16640''' (Modified on 2025-05-09): OclVariable as placeble component did not work with new required winforms net48<>net5 streaming - now works for net48
* '''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 16639''' (Modified on 2025-05-09): OclVariable as placeble component did not work with new required winforms net48<>net5 streaming - work in progress
* '''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 16637''' (Modified on 2025-05-09): ReadOnlyMode when turned on globally also affected MVCAutoForms - and that made debug editing harder - we now let these forms ignore ReadOnlyMode
* '''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 16636''' (Modified on 2025-05-08): ReadOnlyMode when turned on globally also affected MVCAutoForms - and that made debug editing harder - we now let these forms ignore ReadOnlyMode SERIOUS BUG: A month old bug regarding IdentityChangers (new objects has guid id, and saved get permanent id) - when on root webclients did not correctly update url to show new id, and whats client side viewmodels did not get all the needed IdChange messages to correctly upgrade id on objects held deeper in hierarchy than root. Fixed
* '''Revision 15656''' (Modified on 2024-05-15): --table-min-height-span variable added to adjust the minimum height of the table
* '''Revision 16633''' (Modified on 2025-05-07): Update to vSysReadOnlyMode is NOT entered if the object IsNew
* '''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 16630''' (Modified on 2025-05-07): Issue that Seek multiple times on same string sometimes could remove the selection made by AutoSelectFirstRow - fixed
* '''Revision 15651''' (Modified on 2024-05-12): Doublets of constraints error messages shown due to non uniqueness check of objects - fixed
* '''Revision 16626''' (Modified on 2025-05-06): Changes on all operations for GraphAPI access to deduce if it is "InvalidAuthenticationToken" and if so - refresh the token and execute the operation again
* '''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 16625''' (Modified on 2025-05-06): AutoFirstSelectRow was glitchy if something was selected prior to new search
* '''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 ===
=== April 2025 ===
* '''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 16615''' (Modified on 2025-04-28):  
* '''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 16613''' (Modified on 2025-04-28): Issue in angularclient that ctrl keys did not fully do their after action due to roundtrip fillup Add variable-dialog now offers a As-collection checkbox instead of having all the types all the time
* '''Revision 15614''' (Modified on 2024-04-26): Locks with SysMDrivenMiscSettingsSingleton solved
* '''Revision 16612''' (Modified on 2025-04-28): Added the enable expression that gives false in the log, when the serverside action is not allowed to run.
* '''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 16608''' (Modified on 2025-04-26): Nuget package update: Azure.Core, Version=1.45 System.ClientModel, Version=1.2.1 System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0 System.Threading.Tasks.Extensions, Version=4.2.1.0 System.Runtime, Version=4.3.1 System.Security.Cryptography.ProtectedData, Version=6.0.0
* '''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 16607''' (Modified on 2025-04-26): Major updates to advanced styling with LLM support and fast-track-CSS to help you shine
* '''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 16606''' (Modified on 2025-04-26): ExtentService - added 2 new methods: /// If the class is Singleton this fetch, possibly create the instance IObject Singleton(IClass c); /// If the class is Singleton this fetch, possibly create the instance T Singleton<T>() where T : class, IEcoObject;
* '''Revision 15605''' (Modified on 2024-04-25): Blazor work in progress
* '''Revision 16599''' (Modified on 2025-04-24): The Turnkey/Development?view= service was untested and failed in certain cases. Fixed
* '''Revision 15598''' (Modified on 2024-04-23): Codegen/Checksum issue. Statemachines where not fully included. Fixed.
* '''Revision 16598''' (Modified on 2025-04-24): Theme upload did not happen unless there was a style - 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 16591''' (Modified on 2025-04-23): ThemeStyling continued work
* '''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 16590''' (Modified on 2025-04-23): Issue in debugger when cloning ViewModel vars and one is a Tuple - Fixed issue Changes for Keyboard shortcuts for Save(ctrl+s) SaveAndLock(ctrl+enter) EditMode(ctrl+e) CancelAndLock(ESC) undo(ctrl+z) redo(ctrl+y). This is in angularjs and Blazor-client
* '''Revision 15588''' (Modified on 2024-04-19): Null checks
* '''Revision 16584''' (Modified on 2025-04-22): Recent fix for actions accidently broke evaluation if the action enable expression was empty - fixed
* '''Revision 15584''' (Modified on 2024-04-18): Checksum issues - cannot use all TV's and must include derivation OCL
* '''Revision 16583''' (Modified on 2025-04-21): New Tab in LiveEdit - advanced-styling, work in progress
* '''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 16579''' (Modified on 2025-04-17): Improved on hints when using things only valid in action in ocl in ocleditor errors
* '''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 16578''' (Modified on 2025-04-17): In OCL we now fill the EnumOrd to the ordinal number of the enumerated value (0,1,2) MyEnum.allinstances.EnumOrd And we allow comparison between Enum.value and integer (falls back EnumOrd )
* '''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 16576''' (Modified on 2025-04-16): Updates to enable MDriven VS2022 on ARM64 - this required .netFramework48 and late VS2022 (Version 17.13.6) Everything that WAS compiled with .netFramework472 has been raised to .netFramework48 (this does not concern things compiled with netStandard or netcore+ (net6,7,8)) THIS IS IMPORTANT: Update your VS2022, Update your MDriven Nugets, If you get build breaks check that YOUR THINGS TARGET at least .netFramework48 Saying again with other words: WE NOW LEAVE .netFramework472 and older behind forever - use .netFramework48 as the minimum.
* '''Revision 15580''' (Modified on 2024-04-18): Method Checksum issues
* '''Revision 16575''' (Modified on 2025-04-16): SysViewStateCookie included the vSysReadOnlyMode variable - this was unintentional and it is not included in new SysViewStateCookies
* '''Revision 15578''' (Modified on 2024-04-18): Method checksum , types sometimes included namespace. fixed
* '''Revision 16574''' (Modified on 2025-04-16): CacheInvalidation revisited and an assumption was proved wrong and rectified - old manifests were to big due to this oversight
* '''Revision 15577''' (Modified on 2024-04-18): Null check in turnkey type check
* '''Revision 16573''' (Modified on 2025-04-16): The selfVM.CanExecute ran into problem when evaluating a placed buttons enableexpression if the placed button was on subnesting and not pointing to an abstractaction (then it wrongfully used context of sublevel - but in these cases context is vmroot). Fixed
* '''Revision 15576''' (Modified on 2024-04-18): Checksum for methods was off - making the codegen based on checksum a bit sketchy - fixed
* '''Revision 16571''' (Modified on 2025-04-15): CommandTimeout option added to SQLImport and SQLExport functions in MDrivenServer
* '''Revision 15565''' (Modified on 2024-04-11): Problem with hardcoded backslash for unix - Path.DirectorySeparatorChar
* '''Revision 16570''' (Modified on 2025-04-15):  
* '''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 16568''' (Modified on 2025-04-11): OCLEditor has a new "Second pair of eyes" option that helps to spot issues with expression (LLM powered)
* '''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 16567''' (Modified on 2025-04-11): When listing native type values in combo box and trying to assign one by pick Turnkey ran into problems as soon as it was not an enumeration or a string, now behaves better for datetime,bool,int,double,decimal
* '''Revision 15561''' (Modified on 2024-04-10): Fix for errors introduced in rev 15499.
* '''Revision 16566''' (Modified on 2025-04-11): selfVM.LogEntry fixes
* '''Revision 15560''' (Modified on 2024-04-10): Better comment
* '''Revision 16565''' (Modified on 2025-04-11): Added Move column out of conflict position as one one the new Rescue operations
* '''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 16564''' (Modified on 2025-04-11): selfVM.LogEntry('say something') will output a row in MDrivenServer-log and Turnkey-log and debugger OCL-trace
* '''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 16563''' (Modified on 2025-04-11): DisplayMode did not correctly signal change when changed - fixed
* '''Revision 15540''' (Modified on 2024-04-03): Updating the MySQL driver to 8.3.0 due to reported linux issues
* '''Revision 16556''' (Modified on 2025-04-09): The OCLEditor has had rescue links that offer to fix the issue there and then. Now these rescue links are available in the ViewModel editors error list
* '''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 16551''' (Modified on 2025-04-08): AbstractAction now keeps a ref to its creating XElement to use with LLM info i ViewModelPlan
* '''Revision 15536''' (Modified on 2024-04-03): StartUpView constant
* '''Revision 16550''' (Modified on 2025-04-08): Issue with the REST sending using the newly added BYTEARRAYCONTENT fixed
* '''Revision 16534''' (Modified on 2025-04-02): Adding special name BYTEARRAYCONTENT to upload with restPut,post,patch a single blob (no multipart content) - works the same as STRINGCONTENT RestHead ocl operator has been added to only ask external service to return the headers. vResponseHeaders variable - when found and Rest call is made we populate variable with a return separated list of header-name:header-value
* '''Revision 16533''' (Modified on 2025-04-02): Removing some tracelog, adding some nullchecks
* '''Revision 16531''' (Modified on 2025-04-01): Discovered issue in in memory ocl for OclKinfOf (used internally to implement linq "is" ) Class2.allInstances->select(GenSym_0|GenSym_0.Class1.OclIsKindOf(Class1A)) self.Class1.OclIsKindOf(Class1A) gave true if singlelink "class1" was null - corrected in new builds
* '''Revision 16529''' (Modified on 2025-04-01): MDrivenServer SysAsyncTicket now use utcNow instead of server now, and the new file format on model


=== March 2024 ===
=== March 2025 ===
* '''Revision 15530''' (Modified on 2024-03-28): null checks
* '''Revision 16526''' (Modified on 2025-03-31): New property on selfVM called DisplayMode - that has one of the values enum DisplayModeEnum { UINormal, UIModal, UIPopup,Technical, RestPost, RestGet, RestPatch, RestPut,RestDelete }; Since ViewModels may have multiple usages it is good to be able to know the current use
* '''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 16523''' (Modified on 2025-03-27): RendersAction columns should take their ReadOnly state from the action-column they render, and this was not correctly implemented causing these columns to be enabled even when ReadOnlyMode was true. Actions in turnkey check again if they are enabled on the server just before execution to stop any injecting and outofsync execution Blazor checkboxes that render action should not also toggle their value - the action needs to be responsible for all data change Null check in client side VMClass Null check in debugger
* '''Revision 15520''' (Modified on 2024-03-26): Changing "Excel clip to M1" to "Text clip to M1"
* '''Revision 16512''' (Modified on 2025-03-25): DeleteReasonSolveMethod may act on data and it was not enclosed in the delete transaction - it is now DynamicEnumString did not implement IComparable and if used in a orderby expression it then failed Minimum slider of ViewModel in WPF designer has been increased to 6400 pixels Modlr check if clipboard sometimes fails with com-exception and we did not catch all - fixed
* '''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 16500''' (Modified on 2025-03-23): Improvements on Tajson logging
* '''Revision 15518''' (Modified on 2024-03-25): in angular binding you cannot have stringformat - and we applied it and thus broke the binding
* '''Revision 16499''' (Modified on 2025-03-21): work with azure automation
* '''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 16495''' (Modified on 2025-03-20): Added _Lookup action for enable fast lookup in addition to combobox method in import of data, for example in TaJson
* '''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 16489''' (Modified on 2025-03-20): Saw a deadlock between XMLPersistence and Init of singletons - rewrote to TryLock to Fix Issues with angularSort from new fixes to remember sorted indexes - turned out that angularJS flipped if there where many such grid in a UI - rewrote to own sorting logic
* '''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 16485''' (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix2 Turnkey multiview comma on id could creep into MVC and wreck things - fixed.
* '''Revision 15504''' (Modified on 2024-03-22): Work in progress AutoBlazor
* '''Revision 16483''' (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix
* '''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 16475''' (Modified on 2025-03-19): Turnkey Angular issue: selectWithShift in Tables that had been header-sorted did not work due to indices used where from unsorted data. Fixed
* '''Revision 15499''' (Modified on 2024-03-20): _Label subcolumn was not implemented for buttons in grids - fixed
* '''Revision 16471''' (Modified on 2025-03-18): Tuning of the OnDeleteReasonSolve implementation, also updated the error message on failed delete to inform about OnDeleteReasonSolve
* '''Revision 15492''' (Modified on 2024-03-17): Webassembly work in progress
* '''Revision 16470''' (Modified on 2025-03-18): Account management improved for TunrkeyCore
* '''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 16466''' (Modified on 2025-03-18): Issue in HistoryServer - one class came back as null in persistencemappers - do not understand rootcause , possibly something with close by evolve (maybe a save with wrong model somehow came through - but do not understand how) ...Null checks added to avoid complete stop
* '''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 16464''' (Modified on 2025-03-17): Work on CreateNode discovered error in RemoteTurnkeyGetStringValue
* '''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 16462''' (Modified on 2025-03-17): x
* '''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 16461''' (Modified on 2025-03-17): BREAKING CHANGE: extra parameter added to https://wiki.mdriven.net/index.php?title=Documentation:OCLOperators_OnDelete OnDeleteReasonSolve(reason:string; checked:Collection(SysSuperClass)) method DirtyListServiceImpl could create deadlocks and has been rewritten to TryRetryLock, this lead to dirtylist maybe null and some updates to handle this Fixing WPF wecpof ReadOnly-symbol-updating
* '''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 16457''' (Modified on 2025-03-14): Missed nullcheck in EnsurevCurrentIsWithinAndIfNotOrNullDoFirst could leave modal window empty - fixed LiveEdit timeout could give exception dialog - fixed
* '''Revision 15479''' (Modified on 2024-03-08): Improved error message if there is an exception in class method
* '''Revision 16451''' (Modified on 2025-03-12): BREAKING CHANGE: in AfterModalOk in actions we no longer provide vModalResult_selfVM variable. It was an old mistake that that in WPF the handover of vDirties to instigating view did not happen correctly - so vModalResult_selfVM.save was sometimes used. The mistake/bug is removed and hand-over of dirties is now the same in Turnkey and WPF - but vModalResult_selfVM.save would then be moot - and to signal this change the vModalResult_selfVM variable was removed altogether from AfterModalOk. There were also issues in turnkey when handover sometimes caused nullref exceptions and breaking signaling
* '''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 16447''' (Modified on 2025-03-07): Better handling of Tuple type re-occurence Null checks in VMClass SysGraphAPI error codes clarified in exception property (404-NotFound,403-NoAccess,401-NotLoggedIn)
* '''Revision 15475''' (Modified on 2024-03-06): Improving table rows selection.
* '''Revision 16438''' (Modified on 2025-03-04): issue with IExternalIdService.ObjectForGuidIfClassHasGuidProperty when Guid-property was nullable - fixed
* '''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 16436''' (Modified on 2025-03-03): ViewModelWPF datatables now populates contextmenu if alt or control is held to better honour keyboard shortcuts without extra work FindInModel key shortcut to bookmark now works Sometimes AccessGroup and other modal dialogs came up blank due to too late init of WPFDequeuer WebView2 could kill the app - now caught and stopped "Bookmark this" moved to Misc group
* '''Revision 15471''' (Modified on 2024-03-05): Model upload rewritten to become async to avoid UI lock for large models
* '''Revision 16429''' (Modified on 2025-03-01): Refactoring to reduce complexity of TurnkeyInterfaces project Added MDrivenServerCore and MDrivenServer WebApi for portalPush
* '''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 ===
=== February 2025 ===
* '''Revision 15456''' (Modified on 2024-02-29): Better error message on failed report
* '''Revision 16428''' (Modified on 2025-02-28): Some strangeness when going from tuple to collections were fixed StylesInModel dialog suffered from the above strangeness - fixed
* '''Revision 15448''' (Modified on 2024-02-27): OclEditor did not correctly provide help on selfVM members due to confusion with ordinary simple types
* '''Revision 16427''' (Modified on 2025-02-28): Image and File upload did not work if in ListView in angular - due to missing ID - fixed
* '''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 16426''' (Modified on 2025-02-28): Toolbar-abstractactions refered to in Buttons , skipped their AreYourSure due to an oversight that Toolbar collects actions from all levels in its own group. Fixed in Angular and Blazor CodeGen checkbox could easily be pressed by mistake because it was too long; Fixed
* '''Revision 15444''' (Modified on 2024-02-26): Fixed problem with deep direct links lacking full redirection URL. Added URL encoding to redirect URL.
* '''Revision 16423''' (Modified on 2025-02-28): Ability to bookmark from Tree, Diagram and errorlist, and search ; this greatly simplifies batch work as a developer - a fantastic feature inspired by Notepad++ Old issue found a and corrected : Major oversight that IndirectMultiAssociationEndCachePolicy was not handled by deserialize Issue with DoNotPersist-TV in modelLayer when having singlelinks with AssociationClass (new feature Bookmark)
* '''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 16419''' (Modified on 2025-02-26): Checksum change - name of association (the combined ends or unique name) was not in checksum - and codegen did not discover - fixed - requires updates of mdrivenserver to get checksums correct
* '''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();
* '''Revision 16418''' (Modified on 2025-02-26): OclEditor context finding - changes made and ideas for improvement located, this change tries to repair missing end paranthesis to give context match more often
* '''Revision 15440''' (Modified on 2024-02-26): Better auto switch to errortab and resulttab in debugger
* '''Revision 16412''' (Modified on 2025-02-21): Both angular and blazor had issue with double-click-in-table-in-modal-should-try-ModalOk - both fixed
* '''Revision 15439''' (Modified on 2024-02-23): Clickable links for operators in the debugger list of available operators
* '''Revision 16401''' (Modified on 2025-02-20): Bug that ActAsForActions expressions did not include VM variables in runtime - causing runtime error when variables were used - fixed New GlobalUnRootedAlwaysNew was not honored if leftside action - only GlobalAction - this is fixed
* '''Revision 15438''' (Modified on 2024-02-21): Improved OCL feedback on things that will never work like 'hello'>=1 (string cannot be compared with number) and '1'.strToInt>DateTime.Now (number cannot be compared with datetime) Better error message when collect has zero arguments
* '''Revision 16400''' (Modified on 2025-02-19): Renaming SysMDrivenMiscSettingSingleton.GlobalSeekersAlwaysNew to GlobalUnRootedAlwaysNew to better reflect the new MultiView behaviour
* '''Revision 15437''' (Modified on 2024-02-21): LeftMenuActions , for Grids in Web , only show if there is a selected object in the grid
* '''Revision 16398''' (Modified on 2025-02-19): RegExpSplit ocl operator added : https://wiki.mdriven.net/Documentation:OCLOperators_regExpSplit DebuggerView showing whole part of current xml-persisted model became too long - now only shows file name
* '''Revision 15436''' (Modified on 2024-02-21): In WPF when a Popup is shown , and that popup executes an AreYouSure question prior to action - the click in the areyousure could initiate popupclose so that vCurrent vars where destroyed prior to action execution - fixed
* '''Revision 16395''' (Modified on 2025-02-18): Action sorting was done on ModelName and not Expanded Presentation (that often is modelname)
* '''Revision 15435''' (Modified on 2024-02-20): Fix typo in styles for InPlacePopup. Add additional CSS class to popup based on the position.
* '''Revision 16393''' (Modified on 2025-02-14): Sending along the name reporttemplate as infoonfail and reportname if the opendocumentreportshow fails - more context for error understanding
* '''Revision 15430''' (Modified on 2024-02-18): Several weaknesses when reverse deriving and working with MDrivenServer - that we did not log mapping issues correctly. Fixed/Improved. Several issues with MVC UI and handling of composite keys fixed Improved information from WepAPI PersistenceMapper failed calls in .netcore
* '''Revision 16382''' (Modified on 2025-02-12): Better logging in JsonToObjects RightJust of page size picker in Seekers, angular and blazor Designer issue with combo for MountedViewModel not always updating; fixed
* '''Revision 15429''' (Modified on 2024-02-17): Bad cleaning in GlobalActionAndAccessGroupRuntimeService knocked out MainMenu evaluation of accessgroups after reuse of ecospace - made GlobalMenu sometimes loose actions, sometimes showing too many actions - Fixed!
* '''Revision 16381''' (Modified on 2025-02-11): Strange javascript hook removed to set 'tk-data-table__content--min-height' on PC Tables, this is now set statically in code: MaybeSetMinHeightClass - read reasons there ... issues with heights on tables CSSGrid vs PlacingContainers
* '''Revision 15427''' (Modified on 2024-02-16): AccessGroups did not init fast enough on wpf
* '''Revision 16380''' (Modified on 2025-02-11): Clipbook should be clipboard - changed where ever displayed In Web grids the multiselect column is now decorated with multiselectcol class in both angular and Blazor - and this is used to avoid the multiselectcol in cellselect clips to clipboard Cellselect in AngularJS on rows with contextmenu - the mouse select could select the extra cell for the contextmenu and that was annoying and ugly - fixed
* '''Revision 15426''' (Modified on 2024-02-16): null check on action
* '''Revision 16378''' (Modified on 2025-02-11): New settings on SysMDrivenMiscSettings; GlobalSeekerGridShowImportOnlyONTV: Boolean , if set the TV GlobalSeekerGridShowImport must be true on seekers in order to show "Import from clipbook" GlobalSeekerGridExportFileMaxRows:Integer , controls how many rows that maximum will be in the export file
* '''Revision 15425''' (Modified on 2024-02-16): Old bugg hid important info in exceptions from ocl - Fixed issue When decimal division by 0 we get DivideByZeroException - but ocl should not break - it should continue - for example if divide by 0 on a double we get double.positiveinfinity. We are now changing to give decimal.MaxValue (very big number) on division by zero
* '''Revision 16376''' (Modified on 2025-02-10): SysGraphAPI.UpdateContentDriveIdAndId addded to allow of update of document content
* '''Revision 15424''' (Modified on 2024-02-15): More matching types when reversing postgresql Better matching of SQLServerTypes
* '''Revision 16375''' (Modified on 2025-02-08): SeekerGrid has been given a "more" menu that has 2 options "Import from clipbook" and "Export as file" "Import from clipbook" acts as the old ExcelPlugin-function; it uses first column to search, tries to write other columns, can use action CreateNew for adding rows "Export as file" ignores page size and try to get all objects (up to 50K) and downloads them as a tab separated txt file
* '''Revision 15423''' (Modified on 2024-02-15): Before the evolve detected switch of attribute PMapper as reason for drop of column - I am now removing that - its common to change a pmapper on a attribute - specially in reversed scenarios StringAsChar and StringAsVarChar now converts non string types to strings to help with reversing of odd things in dbs Int32 and Int16 pmappers are extended to tolerate Int16 vs Int32 to help with crappy reversed databases
* '''Revision 16369''' (Modified on 2025-02-06): Issue in compare checksum; NetFramework compiled MDrivenServer returns an escaped string, but .netCore compiled MDrivenServer does not - homogenised to handle both Yet an issue with checksum for state machines differences between NetFramework compiled vs .netCore compiled, this time the named transitions came in different order, now we sort them. This may be a breaking change - needing a model push
* '''Revision 15421''' (Modified on 2024-02-15): Unfortunate change some days ago made TechnicalViewmodels rely on DisplayQueue for update - this lead to ServerSide jobs not seeing the data Probably more issues with clone etc... Fixed
* '''Revision 16368''' (Modified on 2025-02-06): Turnkey; ExportTabSepController added to support new functions on seeker tables , to download result as tab separated file
* '''Revision 15418''' (Modified on 2024-02-14): TableColumnsExcludeNames was null and failed table renderings
* '''Revision 16363''' (Modified on 2025-02-05): ...
* '''Revision 15417''' (Modified on 2024-02-14): Null check for TaggedValues
* '''Revision 16362''' (Modified on 2025-02-05): ...
* '''Revision 15416''' (Modified on 2024-02-14): RenderSettings.TableColumnsExcludeNames crashes MDrivenServer - fixed
* '''Revision 16361''' (Modified on 2025-02-05): Changes to paging buttons of paged tables - number of hits moved and better info of which page you are at
* '''Revision 16350''' (Modified on 2025-02-04): GrrenDot missed in wpf core project
* '''Revision 16349''' (Modified on 2025-02-03): CollectCheckSumData of StateMachine regions did not sort the states within the region leaving a possibility to have the server and client get different order - fixed
* '''Revision 16346''' (Modified on 2025-02-03): GreenDot for object reference consolidated to own control, allows drag to and drag from Better feedback in Debugger about current PersistenceMapper Issue with too wide subcolumns gave scrollbar solved
 
=== January 2025 ===
* '''Revision 16343''' (Modified on 2025-01-31): Fixing broken wiki links
* '''Revision 16340''' (Modified on 2025-01-31): Fixing broken wiki links
* '''Revision 16337''' (Modified on 2025-01-30): selfVM.Navigate(someclass.nullvalue,'SomeViewModel') would fail due to Navigate creating a temporary class action and we had a blanket rule to set enable false on class actions with nullroot. The sepcial case of selfVM.Navigate is now excepted to allow nav to unrooted screens
* '''Revision 16332''' (Modified on 2025-01-29): ...

Revision as of 05:00, 17 May 2025


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

May 2025

  • Revision 16667 (Modified on 2025-05-16): ElementHandle did not correctly create columns when switching types if new type was IEnumerationType - effected debugger output that showed last result type if the result type was IEnumerationType
  • Revision 16666 (Modified on 2025-05-16): Ocl_includes did not handle enum compare - fixed
  • Revision 16663 (Modified on 2025-05-14): --text-on-primary text on buttons was set to white - but several issues made it not reach the theme-default, the theme-default issues has been resolved and then text on button became white - this is now changed to black Width of tk-input-field--datepicker was reduced - for no apparent reason - now its treated as any other input StylesInModel was unable to reach and set the text of buttons - now fixed Turnkey runtime prepared for new PlacingContainer property that controls flexbasis called IgnoreContent
  • Revision 16659 (Modified on 2025-05-13): BREAKING CHANGE: Assignment := goes from RHS-type to LHS-type (Left hand side decides type today and onwards). This WILL MOST LIKELY break a few expression. You fix them by typecasting. Read how and why here: https://learn.mdriven.net/index.php?title=Documentation:OCLOperators_:%3D
  • Revision 16658 (Modified on 2025-05-13): OclResultTypeDeduceMethod.TypeOfFirstParam was really 2 and OclResultTypeDeduceMethod.TypeOfSecondParam was really 3 - fixed this and also added OclResultTypeDeduceMethod.TypeOfThirdParam This gave problem when implict upgrading ints to double in a assign somedouble:=0 when it was enclosed in ->collect because the list was int and not of double
  • Revision 16655 (Modified on 2025-05-13): ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToogle is corrected to ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToggle
  • Revision 16641 (Modified on 2025-05-10): OclVariableConverter a TypeConverter needed for design and winforms design code gen has been moved from eco.handles.design to eco.handles - this is to de-confuse the winforms .net8 designhost (designtoolserver) and also de-confuse extension loaded types from project loaded types. This means that to get consistent behaviour (non missbehaving winforms editors) you need MDriven design time and MDriven nuget mdriven.handles no older than THIS version
  • Revision 16640 (Modified on 2025-05-09): OclVariable as placeble component did not work with new required winforms net48<>net5 streaming - now works for net48
  • Revision 16639 (Modified on 2025-05-09): OclVariable as placeble component did not work with new required winforms net48<>net5 streaming - work in progress
  • Revision 16637 (Modified on 2025-05-09): ReadOnlyMode when turned on globally also affected MVCAutoForms - and that made debug editing harder - we now let these forms ignore ReadOnlyMode
  • Revision 16636 (Modified on 2025-05-08): ReadOnlyMode when turned on globally also affected MVCAutoForms - and that made debug editing harder - we now let these forms ignore ReadOnlyMode SERIOUS BUG: A month old bug regarding IdentityChangers (new objects has guid id, and saved get permanent id) - when on root webclients did not correctly update url to show new id, and whats client side viewmodels did not get all the needed IdChange messages to correctly upgrade id on objects held deeper in hierarchy than root. Fixed
  • Revision 16633 (Modified on 2025-05-07): Update to vSysReadOnlyMode is NOT entered if the object IsNew
  • Revision 16630 (Modified on 2025-05-07): Issue that Seek multiple times on same string sometimes could remove the selection made by AutoSelectFirstRow - fixed
  • Revision 16626 (Modified on 2025-05-06): Changes on all operations for GraphAPI access to deduce if it is "InvalidAuthenticationToken" and if so - refresh the token and execute the operation again
  • Revision 16625 (Modified on 2025-05-06): AutoFirstSelectRow was glitchy if something was selected prior to new search

April 2025

  • Revision 16615 (Modified on 2025-04-28):
  • Revision 16613 (Modified on 2025-04-28): Issue in angularclient that ctrl keys did not fully do their after action due to roundtrip fillup Add variable-dialog now offers a As-collection checkbox instead of having all the types all the time
  • Revision 16612 (Modified on 2025-04-28): Added the enable expression that gives false in the log, when the serverside action is not allowed to run.
  • Revision 16608 (Modified on 2025-04-26): Nuget package update: Azure.Core, Version=1.45 System.ClientModel, Version=1.2.1 System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0 System.Threading.Tasks.Extensions, Version=4.2.1.0 System.Runtime, Version=4.3.1 System.Security.Cryptography.ProtectedData, Version=6.0.0
  • Revision 16607 (Modified on 2025-04-26): Major updates to advanced styling with LLM support and fast-track-CSS to help you shine
  • Revision 16606 (Modified on 2025-04-26): ExtentService - added 2 new methods: /// If the class is Singleton this fetch, possibly create the instance IObject Singleton(IClass c); /// If the class is Singleton this fetch, possibly create the instance T Singleton<T>() where T : class, IEcoObject;
  • Revision 16599 (Modified on 2025-04-24): The Turnkey/Development?view= service was untested and failed in certain cases. Fixed
  • Revision 16598 (Modified on 2025-04-24): Theme upload did not happen unless there was a style - fixed
  • Revision 16591 (Modified on 2025-04-23): ThemeStyling continued work
  • Revision 16590 (Modified on 2025-04-23): Issue in debugger when cloning ViewModel vars and one is a Tuple - Fixed issue Changes for Keyboard shortcuts for Save(ctrl+s) SaveAndLock(ctrl+enter) EditMode(ctrl+e) CancelAndLock(ESC) undo(ctrl+z) redo(ctrl+y). This is in angularjs and Blazor-client
  • Revision 16584 (Modified on 2025-04-22): Recent fix for actions accidently broke evaluation if the action enable expression was empty - fixed
  • Revision 16583 (Modified on 2025-04-21): New Tab in LiveEdit - advanced-styling, work in progress
  • Revision 16579 (Modified on 2025-04-17): Improved on hints when using things only valid in action in ocl in ocleditor errors
  • Revision 16578 (Modified on 2025-04-17): In OCL we now fill the EnumOrd to the ordinal number of the enumerated value (0,1,2) MyEnum.allinstances.EnumOrd And we allow comparison between Enum.value and integer (falls back EnumOrd )
  • Revision 16576 (Modified on 2025-04-16): Updates to enable MDriven VS2022 on ARM64 - this required .netFramework48 and late VS2022 (Version 17.13.6) Everything that WAS compiled with .netFramework472 has been raised to .netFramework48 (this does not concern things compiled with netStandard or netcore+ (net6,7,8)) THIS IS IMPORTANT: Update your VS2022, Update your MDriven Nugets, If you get build breaks check that YOUR THINGS TARGET at least .netFramework48 Saying again with other words: WE NOW LEAVE .netFramework472 and older behind forever - use .netFramework48 as the minimum.
  • Revision 16575 (Modified on 2025-04-16): SysViewStateCookie included the vSysReadOnlyMode variable - this was unintentional and it is not included in new SysViewStateCookies
  • Revision 16574 (Modified on 2025-04-16): CacheInvalidation revisited and an assumption was proved wrong and rectified - old manifests were to big due to this oversight
  • Revision 16573 (Modified on 2025-04-16): The selfVM.CanExecute ran into problem when evaluating a placed buttons enableexpression if the placed button was on subnesting and not pointing to an abstractaction (then it wrongfully used context of sublevel - but in these cases context is vmroot). Fixed
  • Revision 16571 (Modified on 2025-04-15): CommandTimeout option added to SQLImport and SQLExport functions in MDrivenServer
  • Revision 16570 (Modified on 2025-04-15):
  • Revision 16568 (Modified on 2025-04-11): OCLEditor has a new "Second pair of eyes" option that helps to spot issues with expression (LLM powered)
  • Revision 16567 (Modified on 2025-04-11): When listing native type values in combo box and trying to assign one by pick Turnkey ran into problems as soon as it was not an enumeration or a string, now behaves better for datetime,bool,int,double,decimal
  • Revision 16566 (Modified on 2025-04-11): selfVM.LogEntry fixes
  • Revision 16565 (Modified on 2025-04-11): Added Move column out of conflict position as one one the new Rescue operations
  • Revision 16564 (Modified on 2025-04-11): selfVM.LogEntry('say something') will output a row in MDrivenServer-log and Turnkey-log and debugger OCL-trace
  • Revision 16563 (Modified on 2025-04-11): DisplayMode did not correctly signal change when changed - fixed
  • Revision 16556 (Modified on 2025-04-09): The OCLEditor has had rescue links that offer to fix the issue there and then. Now these rescue links are available in the ViewModel editors error list
  • Revision 16551 (Modified on 2025-04-08): AbstractAction now keeps a ref to its creating XElement to use with LLM info i ViewModelPlan
  • Revision 16550 (Modified on 2025-04-08): Issue with the REST sending using the newly added BYTEARRAYCONTENT fixed
  • Revision 16534 (Modified on 2025-04-02): Adding special name BYTEARRAYCONTENT to upload with restPut,post,patch a single blob (no multipart content) - works the same as STRINGCONTENT RestHead ocl operator has been added to only ask external service to return the headers. vResponseHeaders variable - when found and Rest call is made we populate variable with a return separated list of header-name:header-value
  • Revision 16533 (Modified on 2025-04-02): Removing some tracelog, adding some nullchecks
  • Revision 16531 (Modified on 2025-04-01): Discovered issue in in memory ocl for OclKinfOf (used internally to implement linq "is" ) Class2.allInstances->select(GenSym_0|GenSym_0.Class1.OclIsKindOf(Class1A)) self.Class1.OclIsKindOf(Class1A) gave true if singlelink "class1" was null - corrected in new builds
  • Revision 16529 (Modified on 2025-04-01): MDrivenServer SysAsyncTicket now use utcNow instead of server now, and the new file format on model

March 2025

  • Revision 16526 (Modified on 2025-03-31): New property on selfVM called DisplayMode - that has one of the values enum DisplayModeEnum { UINormal, UIModal, UIPopup,Technical, RestPost, RestGet, RestPatch, RestPut,RestDelete }; Since ViewModels may have multiple usages it is good to be able to know the current use
  • Revision 16523 (Modified on 2025-03-27): RendersAction columns should take their ReadOnly state from the action-column they render, and this was not correctly implemented causing these columns to be enabled even when ReadOnlyMode was true. Actions in turnkey check again if they are enabled on the server just before execution to stop any injecting and outofsync execution Blazor checkboxes that render action should not also toggle their value - the action needs to be responsible for all data change Null check in client side VMClass Null check in debugger
  • Revision 16512 (Modified on 2025-03-25): DeleteReasonSolveMethod may act on data and it was not enclosed in the delete transaction - it is now DynamicEnumString did not implement IComparable and if used in a orderby expression it then failed Minimum slider of ViewModel in WPF designer has been increased to 6400 pixels Modlr check if clipboard sometimes fails with com-exception and we did not catch all - fixed
  • Revision 16500 (Modified on 2025-03-23): Improvements on Tajson logging
  • Revision 16499 (Modified on 2025-03-21): work with azure automation
  • Revision 16495 (Modified on 2025-03-20): Added _Lookup action for enable fast lookup in addition to combobox method in import of data, for example in TaJson
  • Revision 16489 (Modified on 2025-03-20): Saw a deadlock between XMLPersistence and Init of singletons - rewrote to TryLock to Fix Issues with angularSort from new fixes to remember sorted indexes - turned out that angularJS flipped if there where many such grid in a UI - rewrote to own sorting logic
  • Revision 16485 (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix2 Turnkey multiview comma on id could creep into MVC and wreck things - fixed.
  • Revision 16483 (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix
  • Revision 16475 (Modified on 2025-03-19): Turnkey Angular issue: selectWithShift in Tables that had been header-sorted did not work due to indices used where from unsorted data. Fixed
  • Revision 16471 (Modified on 2025-03-18): Tuning of the OnDeleteReasonSolve implementation, also updated the error message on failed delete to inform about OnDeleteReasonSolve
  • Revision 16470 (Modified on 2025-03-18): Account management improved for TunrkeyCore
  • Revision 16466 (Modified on 2025-03-18): Issue in HistoryServer - one class came back as null in persistencemappers - do not understand rootcause , possibly something with close by evolve (maybe a save with wrong model somehow came through - but do not understand how) ...Null checks added to avoid complete stop
  • Revision 16464 (Modified on 2025-03-17): Work on CreateNode discovered error in RemoteTurnkeyGetStringValue
  • Revision 16462 (Modified on 2025-03-17): x
  • Revision 16461 (Modified on 2025-03-17): BREAKING CHANGE: extra parameter added to https://wiki.mdriven.net/index.php?title=Documentation:OCLOperators_OnDelete OnDeleteReasonSolve(reason:string; checked:Collection(SysSuperClass)) method DirtyListServiceImpl could create deadlocks and has been rewritten to TryRetryLock, this lead to dirtylist maybe null and some updates to handle this Fixing WPF wecpof ReadOnly-symbol-updating
  • Revision 16457 (Modified on 2025-03-14): Missed nullcheck in EnsurevCurrentIsWithinAndIfNotOrNullDoFirst could leave modal window empty - fixed LiveEdit timeout could give exception dialog - fixed
  • Revision 16451 (Modified on 2025-03-12): BREAKING CHANGE: in AfterModalOk in actions we no longer provide vModalResult_selfVM variable. It was an old mistake that that in WPF the handover of vDirties to instigating view did not happen correctly - so vModalResult_selfVM.save was sometimes used. The mistake/bug is removed and hand-over of dirties is now the same in Turnkey and WPF - but vModalResult_selfVM.save would then be moot - and to signal this change the vModalResult_selfVM variable was removed altogether from AfterModalOk. There were also issues in turnkey when handover sometimes caused nullref exceptions and breaking signaling
  • Revision 16447 (Modified on 2025-03-07): Better handling of Tuple type re-occurence Null checks in VMClass SysGraphAPI error codes clarified in exception property (404-NotFound,403-NoAccess,401-NotLoggedIn)
  • Revision 16438 (Modified on 2025-03-04): issue with IExternalIdService.ObjectForGuidIfClassHasGuidProperty when Guid-property was nullable - fixed
  • Revision 16436 (Modified on 2025-03-03): ViewModelWPF datatables now populates contextmenu if alt or control is held to better honour keyboard shortcuts without extra work FindInModel key shortcut to bookmark now works Sometimes AccessGroup and other modal dialogs came up blank due to too late init of WPFDequeuer WebView2 could kill the app - now caught and stopped "Bookmark this" moved to Misc group
  • Revision 16429 (Modified on 2025-03-01): Refactoring to reduce complexity of TurnkeyInterfaces project Added MDrivenServerCore and MDrivenServer WebApi for portalPush

February 2025

  • Revision 16428 (Modified on 2025-02-28): Some strangeness when going from tuple to collections were fixed StylesInModel dialog suffered from the above strangeness - fixed
  • Revision 16427 (Modified on 2025-02-28): Image and File upload did not work if in ListView in angular - due to missing ID - fixed
  • Revision 16426 (Modified on 2025-02-28): Toolbar-abstractactions refered to in Buttons , skipped their AreYourSure due to an oversight that Toolbar collects actions from all levels in its own group. Fixed in Angular and Blazor CodeGen checkbox could easily be pressed by mistake because it was too long; Fixed
  • Revision 16423 (Modified on 2025-02-28): Ability to bookmark from Tree, Diagram and errorlist, and search ; this greatly simplifies batch work as a developer - a fantastic feature inspired by Notepad++ Old issue found a and corrected : Major oversight that IndirectMultiAssociationEndCachePolicy was not handled by deserialize Issue with DoNotPersist-TV in modelLayer when having singlelinks with AssociationClass (new feature Bookmark)
  • Revision 16419 (Modified on 2025-02-26): Checksum change - name of association (the combined ends or unique name) was not in checksum - and codegen did not discover - fixed - requires updates of mdrivenserver to get checksums correct
  • Revision 16418 (Modified on 2025-02-26): OclEditor context finding - changes made and ideas for improvement located, this change tries to repair missing end paranthesis to give context match more often
  • Revision 16412 (Modified on 2025-02-21): Both angular and blazor had issue with double-click-in-table-in-modal-should-try-ModalOk - both fixed
  • Revision 16401 (Modified on 2025-02-20): Bug that ActAsForActions expressions did not include VM variables in runtime - causing runtime error when variables were used - fixed New GlobalUnRootedAlwaysNew was not honored if leftside action - only GlobalAction - this is fixed
  • Revision 16400 (Modified on 2025-02-19): Renaming SysMDrivenMiscSettingSingleton.GlobalSeekersAlwaysNew to GlobalUnRootedAlwaysNew to better reflect the new MultiView behaviour
  • Revision 16398 (Modified on 2025-02-19): RegExpSplit ocl operator added : https://wiki.mdriven.net/Documentation:OCLOperators_regExpSplit DebuggerView showing whole part of current xml-persisted model became too long - now only shows file name
  • Revision 16395 (Modified on 2025-02-18): Action sorting was done on ModelName and not Expanded Presentation (that often is modelname)
  • Revision 16393 (Modified on 2025-02-14): Sending along the name reporttemplate as infoonfail and reportname if the opendocumentreportshow fails - more context for error understanding
  • Revision 16382 (Modified on 2025-02-12): Better logging in JsonToObjects RightJust of page size picker in Seekers, angular and blazor Designer issue with combo for MountedViewModel not always updating; fixed
  • Revision 16381 (Modified on 2025-02-11): Strange javascript hook removed to set 'tk-data-table__content--min-height' on PC Tables, this is now set statically in code: MaybeSetMinHeightClass - read reasons there ... issues with heights on tables CSSGrid vs PlacingContainers
  • Revision 16380 (Modified on 2025-02-11): Clipbook should be clipboard - changed where ever displayed In Web grids the multiselect column is now decorated with multiselectcol class in both angular and Blazor - and this is used to avoid the multiselectcol in cellselect clips to clipboard Cellselect in AngularJS on rows with contextmenu - the mouse select could select the extra cell for the contextmenu and that was annoying and ugly - fixed
  • Revision 16378 (Modified on 2025-02-11): New settings on SysMDrivenMiscSettings; GlobalSeekerGridShowImportOnlyONTV: Boolean , if set the TV GlobalSeekerGridShowImport must be true on seekers in order to show "Import from clipbook" GlobalSeekerGridExportFileMaxRows:Integer , controls how many rows that maximum will be in the export file
  • Revision 16376 (Modified on 2025-02-10): SysGraphAPI.UpdateContentDriveIdAndId addded to allow of update of document content
  • Revision 16375 (Modified on 2025-02-08): SeekerGrid has been given a "more" menu that has 2 options "Import from clipbook" and "Export as file" "Import from clipbook" acts as the old ExcelPlugin-function; it uses first column to search, tries to write other columns, can use action CreateNew for adding rows "Export as file" ignores page size and try to get all objects (up to 50K) and downloads them as a tab separated txt file
  • Revision 16369 (Modified on 2025-02-06): Issue in compare checksum; NetFramework compiled MDrivenServer returns an escaped string, but .netCore compiled MDrivenServer does not - homogenised to handle both Yet an issue with checksum for state machines differences between NetFramework compiled vs .netCore compiled, this time the named transitions came in different order, now we sort them. This may be a breaking change - needing a model push
  • Revision 16368 (Modified on 2025-02-06): Turnkey; ExportTabSepController added to support new functions on seeker tables , to download result as tab separated file
  • Revision 16363 (Modified on 2025-02-05): ...
  • Revision 16362 (Modified on 2025-02-05): ...
  • Revision 16361 (Modified on 2025-02-05): Changes to paging buttons of paged tables - number of hits moved and better info of which page you are at
  • Revision 16350 (Modified on 2025-02-04): GrrenDot missed in wpf core project
  • Revision 16349 (Modified on 2025-02-03): CollectCheckSumData of StateMachine regions did not sort the states within the region leaving a possibility to have the server and client get different order - fixed
  • Revision 16346 (Modified on 2025-02-03): GreenDot for object reference consolidated to own control, allows drag to and drag from Better feedback in Debugger about current PersistenceMapper Issue with too wide subcolumns gave scrollbar solved

January 2025

  • Revision 16343 (Modified on 2025-01-31): Fixing broken wiki links
  • Revision 16340 (Modified on 2025-01-31): Fixing broken wiki links
  • Revision 16337 (Modified on 2025-01-30): selfVM.Navigate(someclass.nullvalue,'SomeViewModel') would fail due to Navigate creating a temporary class action and we had a blanket rule to set enable false on class actions with nullroot. The sepcial case of selfVM.Navigate is now excepted to allow nav to unrooted screens
  • Revision 16332 (Modified on 2025-01-29): ...
MDriven Chat

How would you like to chat today?

Setting up your conversation…

This may take a few moments