Changelog-Framework
(Updating changelog)
(Updating changelog)
(39 intermediate revisions by the same user not shown)
Line 80: Line 80:
</html>
</html>
<div class="changelogs">
<div class="changelogs">
=== March 2025 ===
* '''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 ===
=== 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 16324''' (Modified on 2025-01-26): Issues with new CacheInval manifest tool. It saved data - and it should not.
* '''Revision 16323''' (Modified on 2025-01-26): New cache invalidation Manifest tool in the debugger did not correctly init the Transform service etc. Fixed
* '''Revision 16322''' (Modified on 2025-01-26): Issues with DebuggerTab in LiveEdit
* '''Revision 16320''' (Modified on 2025-01-26): For cacheInvalidations ViewModels we now recognise columns CacheIgnoreObjects* , that should return list of objects that will be ignored from the manifest - this further extends the existing CacheIgnoreClasses. The OCLDebugger tabs for ViewModelTree and ViewModelUI now has an new button : CacheInvalidation Manifest Size This button creates text output to inform how large the manifest will be if CacheInvalidation is used, and what it will contain. Example of output: C A C H E - I N V A L I D A T I O N - M A N I F E S T -------------------- 1 Detail.Attribute1 1 Detail.Attribute2 1 Detail.Class1 1 Detail.Thing 1 Thing.AssociationClass 1 Thing.Details 1 Thing.MultiValuePick 1 Thing.SomeDateTime 1 Thing.SomeInt 1 Thing.SomeString -------------------- Totals number of rows: 11 If the manifest contains more than 50ish (debatable) lines you should try to cut away things that are unlikely to change Some attributes/objects may really be immutable in practice, and thus not worth tracking change on CacheIgnoreClasses column is used to return a list of string names of classes we should ignore totally CacheIgnoreObjects<name> columns are used to return lists of objects to ignore totally NOTE! what you see here is how ONE-SPECIFIC-OBJECT will fare, you should test several objects to see what is representative NOTE! You may want to revisit this tool when you have collected more data in your system - to get representative manifest sizes
* '''Revision 16319''' (Modified on 2025-01-25): Refactoring of code to allow creation of MDrivenCache-manifest-rows from debugger
* '''Revision 16316''' (Modified on 2025-01-24): Normally when building ViewModel tree hierarchies we ensure vCurrent Upstream in the tree, but when a deep hierarchy uses its own vCurrent as hierarchy builder (bad idea since everything below this point will be same branch) - then its important to remember which of the collection of the cloned branches was actually clicked - this was not done earlier and that gave a race effect where vcurrent of such hierarchies eventually settle on something unlikely correct.
* '''Revision 16315''' (Modified on 2025-01-24): OclEditor - annoying replace all in this scenario "vSomething or vOther..." when picking from tree all was replaced due to space not being handled as a separator. Fixed. Better handling of resolve of loopvariable context in this scenario "somethings->collect(x|)", now when picking properties from tree "x.picked" will be used , before it was just ".picked"
* '''Revision 16314''' (Modified on 2025-01-24): Issues with AnalyzeExpressions and ReCreate-expressions did not correctly handle DateTime constants - and multiple use of derivations could make AnalyseExpressions fail to show correctly when using ExpandDerivations - fixed
* '''Revision 16311''' (Modified on 2025-01-22): Clean up of CellStyles for Styles in Model, further aligning between Blazor and Angular for Styles in model Issue with add-SingleLink-Setter in grid cell fixed
* '''Revision 16309''' (Modified on 2025-01-21): New and extended search logic as described here at the bottom of this page: https://wiki.mdriven.net/Documentation:Convergence_%E2%80%93_ViewModels,_import,_export,_multi_search,_synchronization_and_Excel New from 2025 is that we before checking for semicolons (again this is only of no other hits where found) we now look for space - and if found we inject a wildcard instead of space if we after all this still have zero hits, we now split on space and search for individual words.
* '''Revision 16306''' (Modified on 2025-01-21): OPtimization of IndexOf when adding 1000ths by assuming add/last, saves aprox 8 percent on monster 5000 class model
* '''Revision 16305''' (Modified on 2025-01-20): ...reverting one of the ocleditor changes to better find type in position
* '''Revision 16303''' (Modified on 2025-01-19): Changes to implement Qualified associations in MDriven OCL/ActionLang - read more on https://wiki.mdriven.net/index.php?title=Documentation:QualifiedAssociations
* '''Revision 16299''' (Modified on 2025-01-17): Added methods to ASP_User to easier change pwd, and added UI to MDrivenServer UserAndRolesAdmin to change pwd and unlock users
* '''Revision 16298''' (Modified on 2025-01-16): Blazor cell styles; styles in model merged also standalone compstyles - now cell and cellcontent is isolated
* '''Revision 16288''' (Modified on 2025-01-12): Better actions handling when nesting is tuple, from before we acted on first object , but now the ActAsForActions expression can be used to for this. StylesInModelView cleaned up for usability Issue with styles and merge and double merged discovered and fixed (styles disappeared if merged again)
* '''Revision 16284''' (Modified on 2025-01-09): Blazor issue with int and Guid CellSelect issue when major grid-changes (seek result is new) Fixed In Blazor-client we got issues of mprphing between VMClassObject and VMClassListItem - VMClassListItem was removed to handle everything as VMClassObject
* '''Revision 16284''' (Modified on 2025-01-09): Blazor issue with int and Guid CellSelect issue when major grid-changes (seek result is new) Fixed In Blazor-client we got issues of mprphing between VMClassObject and VMClassListItem - VMClassListItem was removed to handle everything as VMClassObject
* '''Revision 16283''' (Modified on 2025-01-09): New TV on Nesting AutoSelectFirstRow, lets you control if first row should be auto selected in datagrids - the default behaviour depends on the MultiSelect setting as described here: https://wiki.mdriven.net/Documentation:VCurrent_and_vSelected
* '''Revision 16283''' (Modified on 2025-01-09): New TV on Nesting AutoSelectFirstRow, lets you control if first row should be auto selected in datagrids - the default behaviour depends on the MultiSelect setting as described here: https://wiki.mdriven.net/Documentation:VCurrent_and_vSelected
Line 116: Line 187:
* '''Revision 16222''' (Modified on 2024-12-10): SysGraphAPIError class introduced to support the GraphAPI merge model. The use case to pull multiple documents in batch must allow any errors in the API usage to be managed by developer - and the execution of loops should not end
* '''Revision 16222''' (Modified on 2024-12-10): SysGraphAPIError class introduced to support the GraphAPI merge model. The use case to pull multiple documents in batch must allow any errors in the API usage to be managed by developer - and the execution of loops should not end
* '''Revision 16220''' (Modified on 2024-12-10): Tabindex on table to allow for paste on empty table
* '''Revision 16220''' (Modified on 2024-12-10): Tabindex on table to allow for paste on empty table
* '''Revision 16218''' (Modified on 2024-12-09): Fixed bug that prevented parameters to be used with RestDownload
* '''Revision 16216''' (Modified on 2024-12-08): cellselect work inprogress
* '''Revision 16210''' (Modified on 2024-12-05): Enum problem issues in blazor Styles for datatable improved
* '''Revision 16203''' (Modified on 2024-12-02): Upload new file, and create new folder calls added to GraphAPI now also sets SysGraphAPI.StatusFromLastOp as the other operations
* '''Revision 16201''' (Modified on 2024-12-02): Upload new file, and create new folder calls added to GraphAPI else if (method.Name == "UploadToFolderWithDriveIdAndId") { var driveid = variableList[0].Element.GetValue<string>(); var itemid = variableList[1].Element.GetValue<string>(); var filename = variableList[2].Element.GetValue<string>(); var blob = variableList[3].Element.GetValue<byte[]>(); result = GraphAPISupport.UploadToFolderWithDriveIdAndId(httpClient, theobject, driveid, itemid, filename, blob).Result; return true; } else if (method.Name == "CreateFolderInFolderWithDriveIdAndId") { var driveid = variableList[0].Element.GetValue<string>(); var itemid = variableList[1].Element.GetValue<string>(); var foldername = variableList[2].Element.GetValue<string>(); result = GraphAPISupport.CreateFolderInFolderWithDriveIdAndId(httpClient, theobject, driveid, itemid, foldername).Result; return true; }
* '''Revision 16198''' (Modified on 2024-12-02): Removed app.config, not needing and stopped build server
=== November 2024 ===
* '''Revision 16197''' (Modified on 2024-11-30): Fix exception when using viewmodels with viewmodelclasses having non-english characters.
* '''Revision 16196''' (Modified on 2024-11-30): Issues with signalR from DevEnv, Now ignoring connection breaks , suspect assembly conflict with VS2022
* '''Revision 16194''' (Modified on 2024-11-30): Issues with signalR from DevEnv
* '''Revision 16185''' (Modified on 2024-11-29): Blazor grid relies unique cell ids that were exåensive to create - optimized
* '''Revision 16183''' (Modified on 2024-11-27): Fix of problem with requests to the server with angular binding text. Timing issue with src= for image not yet data bound
* '''Revision 16179''' (Modified on 2024-11-27): First stab at cell select in Blazor DataGrid - and copy to clip
* '''Revision 16177''' (Modified on 2024-11-26): Angular, issue with string format on numbers
* '''Revision 16176''' (Modified on 2024-11-26): Issue with stringformat in angular after last checkin
* '''Revision 16174''' (Modified on 2024-11-26): angular - Number input warning due to missing step:any attribute
* '''Revision 16173''' (Modified on 2024-11-26): Angular - Focus text if is Numeric
* '''Revision 16163''' (Modified on 2024-11-19): Several issues discovered with non-core TK and MDR regarding signalr - stuff that we already knew but had forgotten about : SignalR for ASP.NET is NOT compatible with SignalR for ASP.NET.Core - this takes us on a long journey that results in us not being able to use mdriven.net.http.netstandard in non core builds but instead mdriven.net.http , this is a bummer for many reasons and probably something that will make us deprecate the None core builds soon
* '''Revision 16161''' (Modified on 2024-11-19): Fixes to MDrivenServer (non core)
* '''Revision 16157''' (Modified on 2024-11-18): SignalR version confusion after consolidation to netStandard - fixed
* '''Revision 16156''' (Modified on 2024-11-17): Issue with PlacingContainers for single-link nestings being repeated as empty PC - fixed
* '''Revision 16155''' (Modified on 2024-11-15): ...
* '''Revision 16152''' (Modified on 2024-11-14): ...
* '''Revision 16148''' (Modified on 2024-11-14): VSIX and Designer changed to use netstandard builds of all persistencemappers
* '''Revision 16137''' (Modified on 2024-11-12): OrderBy breaks of early OrderBy(arg1,arg2,arg3... if arg1's ar different there is no need to compare args2's
* '''Revision 16136''' (Modified on 2024-11-11): The Debugger UI for ViewModel is now applying the styles in model
=== October 2024 ===
* '''Revision 16129''' (Modified on 2024-10-31): Bug in checksum on Linux showed up as inability to use newlines on method bodies and ocl without checksum breaks - fixed VMClass - when nestinglist changes we now ensure the vSelected and vCurrent does not contain values NOT in the new list Bug in Turnkey UpdateSysToken caused multiple tokens being created with confusing results and issues with access. Fixed bug plus added compensating code to clean up double tokens
* '''Revision 16127''' (Modified on 2024-10-30): When VMClass VMManyAssociation has been updated - we now check that the vCurrent for this list is not left pointing to a value that does not exists in the list, and if the list has values but the vCurrent is out of list or null we now set first row. This is to mitigate issue in turnkey when new search that connected to a lot of details showed old details on new search.
* '''Revision 16126''' (Modified on 2024-10-30): When having RenderedBy - we now check that if you are non-boolean that you have set IsStatic on the column - RenderedBy must find a consistent place to click we cannot be editable at the same time. The renderedBy widget did not correctly adhere to the renderedactions readonly, or the ReadOnlyMode depending on WillEffectPersistent - fixed
* '''Revision 16108''' (Modified on 2024-10-29): Major changes to allow for DesignTimeSupport of WinForms for .net6+ components. MDriven relies on types defined in the solution, not necessarily in the same project and not in the same form. The .net6+ designtime support make use of an out of process designer called DesignerHost - and we must serialize and send components information and type information across this barrier - this required serious re-design and understanding. From this release NOTHING needs or should be in the GAC!!!! For winforms designer code AddRange(IColumn[]... should be replaced with AddRange(AbstractColumn[]...
* '''Revision 16106''' (Modified on 2024-10-25): Comboboxes in angularjs could null out when the list did not contain the selected value - as may happen during async load - solved by databinding in the current value as an hidden option (actually amazingly smart if it works ) Minor changes to scripts during debugging
* '''Revision 16105''' (Modified on 2024-10-25): SysSession updates - now states login method cookie if user was remembered but session or serverversion was new
* '''Revision 16103''' (Modified on 2024-10-25): ...
* '''Revision 16102''' (Modified on 2024-10-25): SysSession implemented for turnkeycore, this will not be maintained for turnkey for .netFramework472
* '''Revision 16101''' (Modified on 2024-10-24): Several changes to allow for Injecting templates from other sharepoint documents in order to create reports
* '''Revision 16093''' (Modified on 2024-10-22): MDrivenServer now has a TwoFactorCodeCheck for Upload model that can be turned on - this is to better protect production databases from mistakes... MDrivenDesigner has a new box to give the 2 factor code for the server. Designer has dropped the Upload ServerSide-jobs since this is automatic from months back...
* '''Revision 16091''' (Modified on 2024-10-22): SysMDrivenMiscSettingsSingleton is now internally subscribed to behave better when values change in runtime (like they will if values are derived for example)
* '''Revision 16085''' (Modified on 2024-10-17): Issue with Action in Grid that is connected to AbstractAction - that was NOT classAction - tried to use per row enable when it really follow ViewModelActions Enable - fixed
* '''Revision 16084''' (Modified on 2024-10-17): Improved logging if ocl method fails Added new SysGraphAPI method DriveDriveItemToThumbnailData to get acces to thumbnail data directly instead of the previous way DriveDriveItemToThumbnailUrl that points to CDN possibly blocked on server
* '''Revision 16083''' (Modified on 2024-10-16): ...
* '''Revision 16082''' (Modified on 2024-10-16): Decorating the new WF handles
* '''Revision 16081''' (Modified on 2024-10-16): To handle design time WinForms of handles in .net6+ subclasses of mdriven.Handles(netstandard) are introduced in mdriven.winforms - same name but postfixed with WF(WinForms) - this to make designtime discover them - as it will not look for components in netstandard - and we must have netstandard on handles to keep VS EcoSpace designer in 472
* '''Revision 16078''' (Modified on 2024-10-16): Unless the nugets target .net6.0 specifically - and only netstandard2.0 they will not show up in the toolbox upon nuget install - fixed
* '''Revision 16076''' (Modified on 2024-10-16): Issue with ÅÄÖ in angular name when databinding DataBindComboBox - new error after fix to enum DataBindComboBox null ref issue
* '''Revision 16075''' (Modified on 2024-10-16): Updates - winforms design .net6 support, work in progress
* '''Revision 16072''' (Modified on 2024-10-15): Picklists without NullRep - that are null - but has more than zero options - and target attribute is not persistent, should be initiated to first
* '''Revision 16071''' (Modified on 2024-10-15): New setting GlobalSeekersAlwaysNew on SysMDrivenMiscSettingsSingleton - if set Seekers will be opened as new in new tabs CreateSysViewStateCookie/UpdateSysViewStateCookie - Special model pattern that packs all viewstate in Cookie and when DWV gets a vVState=id it is assumed to match a SysViewStateCookie, and the cookie state is then restored in a new view
* '''Revision 16067''' (Modified on 2024-10-14): Pulled back net48 to net472 in order to better reach the goal to work with VS2022 designtime Minor nuget package upgrades and consolidations
* '''Revision 16064''' (Modified on 2024-10-11): Path.DirectorySeparatorChar was missed at some places - breaking linux
* '''Revision 16063''' (Modified on 2024-10-10): flipping order <TargetFrameworks>netstandard2.0;net48</TargetFrameworks> to <TargetFrameworks>net48;netstandard2.0</TargetFrameworks> or intf,handles,linqext
* '''Revision 16060''' (Modified on 2024-10-10): ...
* '''Revision 16059''' (Modified on 2024-10-10): Great confusion with system.drawing.common that has been deprecated by MS and making it impossible to have toolbox images on components from netstandard libraries, bye bye toolbox icons for MDriven handles
* '''Revision 16057''' (Modified on 2024-10-10): Removing net6.0 from this project files - it cause problems on buildserver and I think it is implicit from netStandard <TargetFrameworks>netstandard2.0;net48;net6.0</TargetFrameworks>
* '''Revision 16055''' (Modified on 2024-10-10): ...
* '''Revision 16054''' (Modified on 2024-10-10): Adding explicit support to netstandard2.0;net48;net6.0 from interfaces, Handles and Linqextender
* '''Revision 16052''' (Modified on 2024-10-09): Yet more mistakes/misses list in list, when multiselect... fixed
* '''Revision 16051''' (Modified on 2024-10-09): Mistake discovered and rectified when implementing ListView in ListView a week back.
* '''Revision 16050''' (Modified on 2024-10-09): Mistake when fixing nullvalues for enum-combos some weeks back knocked out select in MVC tables - fixed If you had advanced-tables globally on it also applied on MVC tables - but they went blank - fixed Mistake of using $stringformat in MVC code that already contained curly braces for other reasons - fixed
* '''Revision 16049''' (Modified on 2024-10-09): Issue with StartUpView if app is under subfolder - fixed
* '''Revision 16047''' (Modified on 2024-10-09): Updating MDrivenServer and TurnkeyServer to match nugets of underlying projects
* '''Revision 16046''' (Modified on 2024-10-09): Microsoft.IdentityModel.Tokens" Version="6.27.0" /> 6.35.0 System.IdentityModel.Tokens.Jwt" Version="6.27.0" 6.35.0
* '''Revision 16044''' (Modified on 2024-10-09): Nuget updates for MDriven core System.Text.Json from Version="8.0.4" to Version="8.0.5" Microsoft.AspNetCore.SignalR.Client" Version="8.0.8" /> 8.0.10 Microsoft.AspNetCore.SignalR.Client.Core" Version="8.0.8" /> 8.0.10 Microsoft.Data.SqlClient" Version="5.1.4" > 5.2.3 BlazorUtils.QuickGrid" Version="8.0.6" /> 8.0.8 Microsoft.AspNetCore.Components" Version="8.0.8" /> 8.0.10 Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.8" /> 8.0.10
* '''Revision 16043''' (Modified on 2024-10-09): Updating Microsoft.Data.SqlClient from version="5.1.4" to version="5.2.2"
* '''Revision 16042''' (Modified on 2024-10-09):
* '''Revision 16040''' (Modified on 2024-10-09):
* '''Revision 16039''' (Modified on 2024-10-09): Yet some spread usages of system.data.sqlclient replaced with microsoft.data.sqlclient
* '''Revision 16038''' (Modified on 2024-10-08): StartUpView issues, it is 2 very different problems to handle client side urls with # and serverside urls like DWV - both do now survive the wait for server start Issue in Blazor styling for PC's on controls
* '''Revision 16037''' (Modified on 2024-10-08): Issues fixed in MDrivenServer - The fix for NestingLevel of grids in grids had broken MVC rendering used by MDrivenServer - Fixed Usage of System.Data.SqlClient has somehow creeped back into MDrivenServer when we ofcourse know that we now use Microsoft.Data.SqlClient, having both available as nugets is insane because the SqlParameter is not SqlParamater half of the times... Fixed Turnkey/StartupViewTemplate.htm has been extended in javascript to not kill reference urls on deeplink nav towards sleeping TK

Revision as of 05:00, 28 March 2025

This page was created by Edgar on 2024-03-06. Last edited by Edgar on 2025-04-01.


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

March 2025

  • 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): ...
  • Revision 16324 (Modified on 2025-01-26): Issues with new CacheInval manifest tool. It saved data - and it should not.
  • Revision 16323 (Modified on 2025-01-26): New cache invalidation Manifest tool in the debugger did not correctly init the Transform service etc. Fixed
  • Revision 16322 (Modified on 2025-01-26): Issues with DebuggerTab in LiveEdit
  • Revision 16320 (Modified on 2025-01-26): For cacheInvalidations ViewModels we now recognise columns CacheIgnoreObjects* , that should return list of objects that will be ignored from the manifest - this further extends the existing CacheIgnoreClasses. The OCLDebugger tabs for ViewModelTree and ViewModelUI now has an new button : CacheInvalidation Manifest Size This button creates text output to inform how large the manifest will be if CacheInvalidation is used, and what it will contain. Example of output: C A C H E - I N V A L I D A T I O N - M A N I F E S T -------------------- 1 Detail.Attribute1 1 Detail.Attribute2 1 Detail.Class1 1 Detail.Thing 1 Thing.AssociationClass 1 Thing.Details 1 Thing.MultiValuePick 1 Thing.SomeDateTime 1 Thing.SomeInt 1 Thing.SomeString -------------------- Totals number of rows: 11 If the manifest contains more than 50ish (debatable) lines you should try to cut away things that are unlikely to change Some attributes/objects may really be immutable in practice, and thus not worth tracking change on CacheIgnoreClasses column is used to return a list of string names of classes we should ignore totally CacheIgnoreObjects<name> columns are used to return lists of objects to ignore totally NOTE! what you see here is how ONE-SPECIFIC-OBJECT will fare, you should test several objects to see what is representative NOTE! You may want to revisit this tool when you have collected more data in your system - to get representative manifest sizes
  • Revision 16319 (Modified on 2025-01-25): Refactoring of code to allow creation of MDrivenCache-manifest-rows from debugger
  • Revision 16316 (Modified on 2025-01-24): Normally when building ViewModel tree hierarchies we ensure vCurrent Upstream in the tree, but when a deep hierarchy uses its own vCurrent as hierarchy builder (bad idea since everything below this point will be same branch) - then its important to remember which of the collection of the cloned branches was actually clicked - this was not done earlier and that gave a race effect where vcurrent of such hierarchies eventually settle on something unlikely correct.
  • Revision 16315 (Modified on 2025-01-24): OclEditor - annoying replace all in this scenario "vSomething or vOther..." when picking from tree all was replaced due to space not being handled as a separator. Fixed. Better handling of resolve of loopvariable context in this scenario "somethings->collect(x|)", now when picking properties from tree "x.picked" will be used , before it was just ".picked"
  • Revision 16314 (Modified on 2025-01-24): Issues with AnalyzeExpressions and ReCreate-expressions did not correctly handle DateTime constants - and multiple use of derivations could make AnalyseExpressions fail to show correctly when using ExpandDerivations - fixed
  • Revision 16311 (Modified on 2025-01-22): Clean up of CellStyles for Styles in Model, further aligning between Blazor and Angular for Styles in model Issue with add-SingleLink-Setter in grid cell fixed
  • Revision 16309 (Modified on 2025-01-21): New and extended search logic as described here at the bottom of this page: https://wiki.mdriven.net/Documentation:Convergence_%E2%80%93_ViewModels,_import,_export,_multi_search,_synchronization_and_Excel New from 2025 is that we before checking for semicolons (again this is only of no other hits where found) we now look for space - and if found we inject a wildcard instead of space if we after all this still have zero hits, we now split on space and search for individual words.
  • Revision 16306 (Modified on 2025-01-21): OPtimization of IndexOf when adding 1000ths by assuming add/last, saves aprox 8 percent on monster 5000 class model
  • Revision 16305 (Modified on 2025-01-20): ...reverting one of the ocleditor changes to better find type in position
  • Revision 16303 (Modified on 2025-01-19): Changes to implement Qualified associations in MDriven OCL/ActionLang - read more on https://wiki.mdriven.net/index.php?title=Documentation:QualifiedAssociations
  • Revision 16299 (Modified on 2025-01-17): Added methods to ASP_User to easier change pwd, and added UI to MDrivenServer UserAndRolesAdmin to change pwd and unlock users
  • Revision 16298 (Modified on 2025-01-16): Blazor cell styles; styles in model merged also standalone compstyles - now cell and cellcontent is isolated
  • Revision 16288 (Modified on 2025-01-12): Better actions handling when nesting is tuple, from before we acted on first object , but now the ActAsForActions expression can be used to for this. StylesInModelView cleaned up for usability Issue with styles and merge and double merged discovered and fixed (styles disappeared if merged again)
  • Revision 16284 (Modified on 2025-01-09): Blazor issue with int and Guid CellSelect issue when major grid-changes (seek result is new) Fixed In Blazor-client we got issues of mprphing between VMClassObject and VMClassListItem - VMClassListItem was removed to handle everything as VMClassObject
  • Revision 16283 (Modified on 2025-01-09): New TV on Nesting AutoSelectFirstRow, lets you control if first row should be auto selected in datagrids - the default behaviour depends on the MultiSelect setting as described here: https://wiki.mdriven.net/Documentation:VCurrent_and_vSelected
  • Revision 16282 (Modified on 2025-01-09): Blazor now listens for enter to start search in Seekers Blazor now allows for paste of tabsep-data outside of the grid to be sent to api/ExcelPlugin AngularJS now allows for paste in table-header to send tabsep data to api/ExcelPlugin
  • Revision 16280 (Modified on 2025-01-09): CellSelect - issues in both angular and blazor - code simplified and reworked to javascript
  • Revision 16277 (Modified on 2025-01-08): In MDrivenTurnkey we did not fully check ReadOnly or isStatic prior to applying the updated value serverside - this could be used as an exploit by a trusted user that could push data into readonly or static fields with Rest calls withing the trusted session. Fixed. - when fixing above we accidently broke ability to set vCurrent and vSelected - these are and should be open always - if attacker wants to create there own selection logic they are welcome and information security implementations should not be based on convoluted rules to hinder selections on things on screen
  • Revision 16276 (Modified on 2025-01-07): In MDrivenTurnkey we did not fully check ReadOnly or isStatic prior to applying the updated value serverside - this could be used as an exploit by a trusted user that could push data into readonly or static fields with Rest calls withing the trusted session. Fixed.
  • Revision 16275 (Modified on 2025-01-07): Several issues with InplacePopup handled - it did not correctly build inner PC structure of popup and left residues outside of popup MDrivenStyleChecker logic reworked to allow for ModelIndepentant access and view - removing the need to add a MDrivenStyleChecker ViewModel for this purpose. MDrivenStyleChecker now backed by localhost turnkeyserver; MDDesign/StyleOverview StylesInModel-view , ,colors took to much space and was moved into an inplace popup Blazor mistake made all blobs render as texts - fixed
  • Revision 16273 (Modified on 2025-01-03): StyleInDesign and VisibleInDesign for placingcontainers now in ModelIndependant web render

December 2024

  • Revision 16270 (Modified on 2024-12-31): Many changes to WebViewEdit : x COntextMeny på orange prick Click on action view opens webview if open Buttons hidden in web-viewedit BrowserBack,UrlEdit,StyleCheck,GoView/CLear+Prick, Upload model WebView tabs changed display when selected Add viewmodel in WebViewEdit WebView from toolbar when holding ctrl brings up second window Combo of viewmodels change changes WebViewEdit directly Sync ViewEdit and LiveView
  • Revision 16267 (Modified on 2024-12-28): Work in progress - Isolated edit in WebBlazor of one view, ModelIndependant Edit of WebViews in Blazor
  • Revision 16259 (Modified on 2024-12-27): Work in progress - Isolated edit in WebBlazor of one view, ModelIndependant Edit of WebViews in Blazor
  • Revision 16255 (Modified on 2024-12-21): Build system now inject correct BuildTime and you can access the via Eco.Interfaces.VersionInfo.ThisVersionDateTime
  • Revision 16254 (Modified on 2024-12-20): ParameterCheck for triggers did not accept null values for nullable parameters - fixed
  • Revision 16250 (Modified on 2024-12-19): Complex long running issue of locale dependent numbers (decimal point being , or .) along with angularJS limitation that stringformat breaking two-way binding. This has forced us to provide 2 inputs when you have both a number+stringformat , one that you only look at with stringformat (this must use type text to allow for blank-space to show as a thousand separator) , but is hidden on focus and focus brings up edit #2 - that has 2 way binding - but no stringformat and must have type=number to allow for AngularJS built in locales aware decimal separator. This gives the acceptable effect that all decimals show once you go into edit, also thousand separator disappears since space is not allowed in type=number fields.
  • Revision 16249 (Modified on 2024-12-19): Bad mistake in StringFormat for WPF made 2 days ago will give "Int32" instead of the value in any field not having an explicit stringformat, and not having a oldformat type specific string format defintion in XAML (ie like DateTime.StringFormat). Fixed
  • Revision 16247 (Modified on 2024-12-17): OCLEditor - arguments to operators now have names - this makes it easier to understand the operation; example: Method1(one:String; two:Integer; three:String) before -> self.Method1( «String» , «Int32» , «String» ) now -> self.Method1( «one:String» , «two:Int32» , «three:String» )
  • Revision 16246 (Modified on 2024-12-17): WPF StringFormat confusion; When we started with StringFormat support it was a mix of stylename and stringformat, in those scenarios style was given as "narrow" and we wanted to find narrow.stringformat, and narrow.TextBox etc as resources, this did not scale very well and we now give stringformat in std format , for example #,##.## , and we pass this in the TaggedValue StringFormat - this is a better fit as the different target environments can have their own TaggedValue: StringFormatAngular StringFormatRazor StringFormat (wpf + blazor)
  • Revision 16244 (Modified on 2024-12-17): VMClass by definition have their vCurrent_ of nestingslists set to the first object if available - now we also init the vSelected_ to first object if available. This is to make the use of vSelected_ variable for actions behave the same as the use of vCurrent_ variable
  • Revision 16243 (Modified on 2024-12-17): VMClass CanExecuteNamedAction did not correctly take ReadOnlyMode into account - This was noticed as PeriodicActions executed even when ReadOnlyMode was on . CanExecuteNamedAction now rewritten and now use AbstractAction.Enable that has the ReadOnlyMode awareness built in
  • Revision 16242 (Modified on 2024-12-17): Issue with empty space " " in EnableExpressions tricked concat of complete ViewExpression to become ... and ( ) -> giving runtime error - fixed with trim
  • Revision 16241 (Modified on 2024-12-16): OnDeleteReasonSolve(reason:string) is a new special method that can resolve cascading delete fail reasons as described here https://wiki.mdriven.net/Documentation:OCLOperators_OnDelete
  • Revision 16240 (Modified on 2024-12-16): Sort of viewmodel names in combos in debugger
  • Revision 16239 (Modified on 2024-12-16): Adding GraphAPI fields access and patch, adding permission access and send invite access
  • Revision 16238 (Modified on 2024-12-16): Changed wiki to learn in links to learn.mdriven.net Changed OclOperatator_<op> links to Documentation:OclOperatator_<op>
  • Revision 16234 (Modified on 2024-12-15): Several issues stopped StyleInModel-live changes to successfully render in LiveEdit
  • Revision 16231 (Modified on 2024-12-15): Added hiding of most menus during loading of Angular pages. Users find it confusing to see menus showing during loading on mobile devices
  • Revision 16228 (Modified on 2024-12-12): StartScreen updates - it now should also show if server is stopped mid streams
  • Revision 16226 (Modified on 2024-12-11): ...
  • Revision 16225 (Modified on 2024-12-11): CurrencyManager ran into issues with project assemblies vs plugin assemblies due to not residing in the same assembly as handles -now values are streamed between types
  • Revision 16224 (Modified on 2024-12-11): Certain combinations of expressions ending in comment became wrong when merged with accessgroups and or SysReadOnlyMode - fixed
  • Revision 16223 (Modified on 2024-12-10): SysDocBatchZip failed if SysDoc had null data - fixed
  • Revision 16222 (Modified on 2024-12-10): SysGraphAPIError class introduced to support the GraphAPI merge model. The use case to pull multiple documents in batch must allow any errors in the API usage to be managed by developer - and the execution of loops should not end
  • Revision 16220 (Modified on 2024-12-10): Tabindex on table to allow for paste on empty table