(Updated Edited template to July 12, 2025.) |
No edit summary |
||
Line 1: | Line 1: | ||
<message>Write the content here to display this box</message> | <message>Write the content here to display this box</message> | ||
==== 2025 January ==== | |||
On the package there are two optional additional checks that are now default on: | |||
[[File:Documentation Breaking changes 1738336442262.png|none|thumb|473x473px]] | |||
The "Stricter require root rules" forces you to follow the Requires-Root setting on the viewmodel as in it must be checked in order to use "self" on root level. | |||
The Stricter "vCurrent_ recursion rules" catches the strange use of vCurrent_ for nestings further down in the tree from the vCurrent_ definition; give that a think and you will see that its logically impossible; the workaround is probably to use an expression based on "self". | |||
==== 2021 February, Issue With ViewModelActions ==== | ==== 2021 February, Issue With ViewModelActions ==== | ||
It was possible to have self in ViewModelContextActions - but self was undefined and you were supposed to use <code>vCurrent_</code> (class actions have self but ViewModelActions do not). | It was possible to have self in ViewModelContextActions - but self was undefined and you were supposed to use <code>vCurrent_</code> (class actions have self but ViewModelActions do not). |
Revision as of 15:21, 31 January 2025
2025 January
On the package there are two optional additional checks that are now default on:
The "Stricter require root rules" forces you to follow the Requires-Root setting on the viewmodel as in it must be checked in order to use "self" on root level.
The Stricter "vCurrent_ recursion rules" catches the strange use of vCurrent_ for nestings further down in the tree from the vCurrent_ definition; give that a think and you will see that its logically impossible; the workaround is probably to use an expression based on "self".
2021 February, Issue With ViewModelActions
It was possible to have self in ViewModelContextActions - but self was undefined and you were supposed to use vCurrent_
(class actions have self but ViewModelActions do not).
Sometimes it worked anyway, but it often led to strange errors and views that did not show.
After this change, you may get a lot of Model errors.
The fix is to replace "self" with "vCurrent_<TheViewOwningTheAction>".
For simple cases, doing this in the Designer debugger may help:
MDriven Framework: We Now Require Legal OCL in All oclColumns
Since 2018 and with the support for VS2019, we made changes related to efficient load that make the Framework check all oclColumns.
Prior to this point, oclColumns could be ignored if no one ever used them, but now, we assume that they are all used and thus valid. This is in line with our shift from placed handles to compound declarative ViewModels that are statically checked along with the model.
We will now throw an exception if an illegal OCL is found in the derivation phase.
If you would rather log this with a trace, you can do so by setting the new variable:
/// <summary> /// Set this property to false (default true) if you only want trace logging of failing derivations /// </summary> AbstractDeriver.ThrowExceptionOnFailedDerivation=false
MDriven Framework: VariableHandle Changed Default on AddDefaultNestings and AddDefaultProperties From True to False
Earlier, we had AddDefaultNestings
and AddDefaultProperties=true
as default and this introduced an extra unnecessary load. If you want to use "self", a better option is to set AddSelfColumn
on the variableHandle.