<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><div><br></div><div><div>1) PropertiesAttributeDefinition, basicly complex attribute with key &amp; value<br></div>2) sub resources, where key = name of resource and there is only one attribute under it with value, for example see PropertyResourceDefinition and its usage. This is quite common</div><div><br></div><div>Consolidation on these two would already be a great help. But I would even take it further:</div><div><br></div><div>Why do we have complex attributes (ModelType.Object, your case 1) at all? &nbsp;IMO the most straight forward approach would be to only allow for attributes to be simple types (ModelType.&lt;String|Int,Bool,etc&gt;) and enforce any ModelType.Object to become a sub resources (addressable).</div><div><br></div><div>Mangling complex types into attributes creates a lot of ambiguity and is the main driver for creating edge cases and workarounds.</div><div><br></div><div>A word on backwards compatibility:</div><div><br></div><div>We've done a fine job so far, but if we get a chance (WF.Next) we should try to correct the model and if necessary break compatibility.&nbsp;</div><div><br></div><div>regards, Heiko</div><br><div><div>On 14 Nov 2013, at 23:30, Tomaž Cerar &lt;<a href="mailto:tomaz.cerar@gmail.com">tomaz.cerar@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">my intent is/was to unify most of this under #1 &amp; #2, there are some good use cases for #2 but in most cases when you need any special handling of each and every property #1 works best and is simplest to use.<br></div><br class="Apple-interchange-newline"></blockquote></div><br></body></html>