MDriven Framework Change log

The log of changes for MDriven Framework

Revision 10035 - 2018-05-19

Updates for Core

Revision 10032 - 2018-05-16

Updates to get menuButton in place on View+Groupbox+grid

Revision 10030 - 2018-05-14

WPF StringFormat now can be used on simple types. This can be used for DateTime generic styling.

Revision 10028 - 2018-05-14

When model has changed significantly in xmlpersistence we could get situations were data interpretation crashed the prototyper; fixed
In materialdesign the checkbox is on-click-edit and it ignores this cancel message - so ReadOnly did not work - fixed

Revision 10027 - 2018-05-13

Revision 10026 - 2018-05-13

Core uses filters instead of overrides - fixed

Revision 10025 - 2018-05-13

Revision 10024 - 2018-05-13

Adaption of Eco.MVC to compile on ASP.NET.Core

Revision 10011 - 2018-05-07

ContentEqualArray was not known to WCF so compoundkeys did not stream over WCF. Fixed.

Revision 10007 - 2018-05-04

LabelOnTop

Revision 10005 - 2018-05-04

Work with LabelOnTop

Revision 10001 - 2018-05-02

Issue with Modal windows in wecpof - variables set in OnShow-expression was reset. Fixed

Revision 9997 - 2018-04-28

All debug print for web is now optional and turned on with EcoTraceCategories.WebDebugPrint = true

Revision 9995 - 2018-04-27

Avoid queryplan on this.ViewModel.IsTornDown

Revision 9994 - 2018-04-26

Avoid waiting 10msec on async collision

Revision 9992 - 2018-04-26

XamlRenderer on grid cells draw same to all

Revision 9991 - 2018-04-26

RemoveAndDeactiveateAll did illegal cast. Fixed

Revision 9990 - 2018-04-26

XanlRenderer needs sized grid to draw in

Revision 9989 - 2018-04-25

Revision 9988 - 2018-04-24

Revision 9987 - 2018-04-24

Revision 9986 - 2018-04-24

Revision 9985 - 2018-04-23

XamlSymbol rendered better and also in Grid-column

Revision 9979 - 2018-04-20

New selfVM operator : SuspectExternalUpdateInvalidate explained in wiki

Revision 9976 - 2018-04-20

Modal windows WEOPOF reworked

Revision 9972 - 2018-04-16

Style on pager button

Revision 9966 - 2018-04-16

Make it compile on clean VS2017

Revision 9958 - 2018-04-07

Do not let current page go over maxpage

Revision 9955 - 2018-04-05

Page-functionlity support for seekerLogic and WPF

Revision 9953 - 2018-04-04

Removed previous Queryplan update - Queryplan did already follow derivations by other means

Revision 9951 - 2018-04-03

ExpandDerivationsInExpression was not complete - better now
ReconstructOcl enhanced
QueryPlan Expand all derivations

Revision 9950 - 2018-04-02

Unstorable ids was used in db queries - with a bit of bad-luck you got a hit on a real object that had the same value -> db returned an object we did not ask for!

really strange that this "bug" surfaced now - we sent unstorables to the db and if we had Custom mapping and accidentally found an object with the internal reference id (typical 1,2,3) then we got back object not expected
it looks like we have survived on pure luck before.

Revision 9949 - 2018-04-02

Reverting last change since bug was deeper down (in PMapper)

Revision 9948 - 2018-04-02

Unstorable ids was ending up in fetch Tetra

Revision 9947 - 2018-04-02

Updates to when Queryplan is executed

Revision 9946 - 2018-04-02

Changes to when QueryPlan is reevaluated

Revision 9941 - 2018-04-01

async locking issues

Revision 9937 - 2018-03-30

Problem with ObjectForGuidIfClassHasGuidProperty - did not find correctly if attribut was guid type. Fixed

Revision 9935 - 2018-03-29

New paging functionality added to SearchLogic.
It works by declaring specific variables in the Seeker ViewModel:

///
/// If this variable is found in a seeker - it controls what the search shows , on what page it is - vSeekerResultCount/vSeekerPageLength
///

public const string vSeekerPage = "vSeekerPage";
///
/// The number of pages is set by the search logic for you to use, add variable and use type integer
///

public const string vSeekerPageCount = "vSeekerPageCount";
///
/// The number of items you want on a page
///

public const string vSeekerPageLength = "vSeekerPageLength";
///
/// The count of the sql query is set by search logic - you must add a variable of this name of type longint
///

public const string vSeekerResultCount = "vSeekerResultCount";

Revision 9934 - 2018-03-29

->Size in Ocl2PS and GetData was not working correctly. Fixed.

Revision 9933 - 2018-03-27

Major issue with ocl equality for objects of different types. New issue introduced when we wanted guid compared with string match on string representation - accidently we made model objects of different types compare to true.

Revision 9931 - 2018-03-26

Avoid Wait for accessgroup if already in async
Random operator required equal Support.IntegerType - changed to ConformsTo

Revision 9929 - 2018-03-25

Issue with OclPS and loopvariables after changes to reduce parsing loops

Revision 9927 - 2018-03-22

Eco Log - added GetOCLUsageReport that gives used expressions - and consumed timer1
All valid expressions save in Dictionary
Subscriber moved into dictionary since we spent to much time in iterating the list

Revision 9926 - 2018-03-19

Removed snapshot of objectlist
Changed DisplayQueue to avoid thrashing it when async thread is very busy

Revision 9925 - 2018-03-19

Revision 9924 - 2018-03-19

Reversing last update

Revision 9923 - 2018-03-19

Queryplan eval kicked in too often - made UI slow

Revision 9921 - 2018-03-17

Compiling .netStandard2_0 - also upgraded monobuilds to 4.6 to match new unity

Revision 9920 - 2018-03-17

Fixes to ServerCertificateValidationCallback https access from MONO

Revision 9918 - 2018-03-16

VMClass equality was done on content - that made tyhings slow when content was tuples with large lists- Changed to reference equality

Revision 9917 - 2018-03-14

Bug in log Ocl
oclSingleton - avoids throwing exception when not being able to create the singleton instance

Revision 9913 - 2018-03-09

Double click in rows was faster than async action-enable which led to user getting a low-access view on first click. This is now fixed with a wait (max 100ms) for enable and visible for actions

Revision 9912 - 2018-03-09

Cell edit with F4 knocked out double-click on row. Fixed.

Revision 9910 - 2018-03-06

Issues with Expression caching - did not correctly handle changing types of variables as is common in new debugger

Revision 9908 - 2018-03-06

Issue with VMClassMember being evaluated prior to initialization

Revision 9903 - 2018-03-01

CHanges to how ocl EValuate is changed when there are variables and arguments. Will reduce overhead for running the same ocl multiple times.

Revision 9902 - 2018-03-01

Further issue with WPF combo - changed constellation in ArticlePrototype view at ACO. Fixed.

Revision 9900 - 2018-02-22

ToString on VMClass NativeTypeAttribute now use DatablockConverter.ConvertValueToStringReadableDates

Revision 9899 - 2018-02-21

Null checks in VM

Revision 9898 - 2018-02-20

Import logic should allow also newline only as this is common on web. Fixed

Revision 9897 - 2018-02-20

Import logic should allow also return only as this is common on web. Fixed

Revision 9896 - 2018-02-20

ImportTabSepData added to selfVM

Revision 9893 - 2018-02-19

FXCore issue

Revision 9891 - 2018-02-18

Ocl operator selfVM.GetGridAsTabSepData implemented

Revision 9864 - 2018-02-16

RemoteTurnkeyGetByteArray changed from GetVMImage to GetVMFile - checks and ignores 404

Revision 9862 - 2018-02-16

Improvements to better sort comboboxes in grids for WPF UI
Improvements to better use Filter on comboboxes in grids in WPF UI

Revision 9860 - 2018-02-15

Reducing publishers on discarded new objects gave index out of bounds - fixed

Revision 9859 - 2018-02-15

SearchLogic gave error when root unsaved - fixed

Revision 9855 - 2018-02-13

debug for subs

Revision 9849 - 2018-02-12

Fixes in RemoteTurnkeySetByteArray

Revision 9840 - 2018-02-11

New feature, set tagged value Bootstrap.ClassPrefix on viewmodel to change BS column class prefix from col-sm- to something else.

Revision 9837 - 2018-02-10

IExternalIdService.ObjectForUnkownId now also accepts Guid defined as string

Revision 9836 - 2018-02-07

Revision 9835 - 2018-02-07

ocl_at threw exception in listoutofbounds - changed

Revision 9834 - 2018-02-07

Tuples that get invalidated now defer SignalPropertyChanged to DisplayQueue to avoid raising with async thread and less hectic callstacks

Revision 9833 - 2018-02-07

ObjectList and FrontSideMultilink adapted to trylock pattern to reduce async locking

Revision 9832 - 2018-02-06

->collection(x|x.SomeNullable:=someconstantvalue) iteration assign failed to nullable Primitive - fixed

If using a name of a class as enum name you get an error but did not get a hint of what name - fixed

Revision 9828 - 2018-02-04

Added RememberMe function for external logins

Revision 9825 - 2018-02-03

Turnkey updates

Revision 9822 - 2018-02-02

Taborder confusion ViewModels

Revision 9818 - 2018-02-01

DisplayQueue new method ShouldIgnoreThisThread, enables EcoSpaces added to seperated threads to be ignored by the DisplayQueue - this can be good for a manager ecospace added to manage or track an other UI-base ecoSpace that does need the DisplayQueue

MVC threw execptions of potentially dangerous operations when data contained <

WPF ComboBox - yet another issue - but this time I think it is solved

Revision 9817 - 2018-01-30

Confusion with HttpClient baseaddress Fixed

Revision 9812 - 2018-01-30

null in ConvertValueToString failed before now empty string
VMClassMember now has MemberDescriptor exposed
RemoteTurnkeyConnectGetSessionKey now accepts anonymous connection with user/pwd left blank

Revision 9811 - 2018-01-28

Mistake in LabelAboveGrid

Revision 9806 - 2018-01-28

Mistake for TabOrder introduced with GroupBoxes - it handles order as string and failed sorting correctly. Fixed.

Revision 9805 - 2018-01-28

TabOrder setting in WPF made explicit after issues in MaterialDesign

Revision 9804 - 2018-01-27

WPF - .AboveGrid.TextBlock style was not applied unless you had a DataGrid style - fixed

Revision 9803 - 2018-01-27

Revision 9802 - 2018-01-27

///
/// The RemoteTurnkey ocl operators rely on a HttpClient with security cookies for login.
/// There is a RemoteTurnkeyConnectGetSessionKey - but this only covers the basic cases of login in with user and pwd
/// This service enables you to create and dress the HttpClient by any other means you see fit.
///

public interface IContextFullHttpClientService

New OCL operator: brokenConstraints - returns error texts of broken constraints for an object

Revision 9801 - 2018-01-24

Fairly central change - how null is handled in comparisons. Before 10>null but now we do as SQL - 10>null is false, 10,>=,<,<= we say false
This was discovered when running testcases that compared PS query results with mem-results

Revision 9800 - 2018-01-24

StringFormat was wired to StyleRef - but it does not always cover cases with expression styleRefs - TaggedValue StringFormat added to override

Revision 9798 - 2018-01-24

ReportDirectoryName added as optinal ViewModelColumn for OpenDocumentReports.
More info: https://wiki.mdriven.net/index.php/OpenDocument_fine_tuning

Revision 9797 - 2018-01-23

Updates to RemoteTurnkey operators

Revision 9795 - 2018-01-23

WalkTreeAndCollectMembers was extended with collecting used variables
SeekerLogic was changed to inform ViewModel of search result and thus enabling ViewModel QueryPlan to fetch SeekerResult structure expressions

Revision 9794 - 2018-01-22

Adding to IExtentService:

///
/// Returns true if allinstances has been called on this class already - and made invalidated since
///

bool IsAllKnownFetched(IClass c);

Used by QueryPlan to avoid repeating allinstances

Revision 9792 - 2018-01-20

Added new attribute to accomodate LinqQuery

///
/// If this attribute is set on Interface properties - linqQuery will treat the property as being backed by MDriven and as such will not resolve its value prior to PS-Query-conversion
///

[AttributeUsage(AttributeTargets.Interface)]
public sealed class LinqTreatAsMDrivenImplemented : Attribute
{

}

Revision 9791 - 2018-01-18

Revision 9789 - 2018-01-17

IExternalIdService extended , new functions used by turnkey and ModelDrivenControllerBase (all mvc)


public interface IExternalIdService
{

.....
///
/// Id without type info - practical to use to avoid confusion between system generations since classid can change
///

IObjectInstance ObjectForIdSeperateClassInfo(string id,IClass theclass);

///
/// Id as a guid - must find a property of name Guid to match, will use PS service to look up object
///

IObjectInstance ObjectForGuidIfClassHasGuidProperty(string id, IClass theclass);

///
/// Tries normal id, then check if string is guid, lastly checks if normal id without type info
///

IObjectInstance ObjectForUnkownId(string id, IClass theclass);

}

Revision 9785 - 2018-01-14

Updated som tagged values - and documented here https://wiki.mdriven.net/index.php/Important_TaggedValues_for_MDriven_Turnkey_Web-UI_is_found_Here

One Response to MDriven Framework Change log

  1. Pingback: Release notes | CapableObjects

Leave a Reply

Your email address will not be published. Required fields are marked *

*