<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 1/23/2013 7:22 AM, Heiko Braun wrote:
<blockquote
cite="mid:D50E433D-0047-4F6B-ACF1-5D0F65954225@redhat.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div><br>
</div>
<div><br>
</div>
<div>The question is: What are "layout" hints?</div>
</blockquote>
Agreed. What exactly are they?<br>
<br>
I see two things that are needed to automatically generate a full UI
from the data model. The first is to understand all the types we
are dealing with. That part is relatively easy and it's probably
almost complete. Maybe we just need TEXT and DATE and one or two
more.<br>
<br>
The harder thing we need is an indication of relationships. For
instance, go to CLI GUI and go to
/subsystem=logging/root-logger=ROOT/. Right-click on "handlers" and
choose the "write-attribute" operation. It knows that the value of
"handlers" is a list so it dutifully brings up a list editor. But
if you click on "Add" you see that it only gives you a plain input
field. What you really want for all this is a dual-list pick list
showing the handlers available to be selected or unselected. But
that is not possible right now because the relationship to the
defined handlers is not known from the model.<br>
<br>
I know that Brian has thought about this problem of relationships.
It is not just needed for UI. It's also needed to support cascading
deletes. I'm guessing that implementation of relationships opens up
a whole can of worms and maybe he has decided against doing anything
about it.<br>
<br>
So getting back to the subject of layout hints, if relationship does
not become a core part of the model then perhaps it should be
implemented as a hint that is only there for the sake of the UI.<br>
<br>
<blockquote
cite="mid:D50E433D-0047-4F6B-ACF1-5D0F65954225@redhat.com"
type="cite">
<div> If layout hints are anything UI specific, they don't belong
into the core model. The core model should remain client
agnostic. It doesn't make sense to add UI specific elements that
don't have a meaning in other contexts (i.e. CLI). With regard
to this, I would prefer model elements that work across
contexts, yet allow us to cover the use cases of most clients
that work on the model. ModelType.TEXT and other suggestions
(ModelType.DATE) fall into this category.</div>
<br>
<div>
<div>On Jan 23, 2013, at 1:11 PM, <a moz-do-not-send="true"
href="mailto:ssilvert@redhat.com">ssilvert@redhat.com</a>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div bgcolor="#FFFFFF" text="#000000">
<blockquote
cite="mid:46DDF9E1-93E8-411C-883E-791E37AADE58@redhat.com"
type="cite" style="font-family: Helvetica; font-size:
medium; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height:
normal; orphans: 2; text-align: -webkit-auto; text-indent:
0px; text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; "><br
class="Apple-interchange-newline">
As food for thought, we also discussed the addition of
another ModelType.TEXT.</blockquote>
<span style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-color: rgb(255,
255, 255); display: inline !important; float: none; ">I
kind of like that idea. If the rule is that a ModelType
is all that is provided for layout hints then we should
think long and hard about every UI type we will need.
ModelType.DATE comes to mind.<span
class="Apple-converted-space"> </span></span><br
style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; ">
<br style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; ">
<span style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-color: rgb(255,
255, 255); display: inline !important; float: none; ">Note
that I'm not making a slippery-slope argument here. I
think the number of these we really need is finite. I
think we would need to answer two questions:</span><br
style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; ">
<span style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-color: rgb(255,
255, 255); display: inline !important; float: none; ">1)
What are all the types we need?</span><br
style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; ">
<span style="font-family: Helvetica; font-size: medium;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-color: rgb(255,
255, 255); display: inline !important; float: none; ">2)
Is just using ModelType enough or would we need a layout
hint attribute anyway?</span></div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</body>
</html>