<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.&nbsp; What exactly are they?<br>
    <br>
    I see two things that are needed to automatically generate a full UI
    from the data model.&nbsp; The first is to understand all the types we
    are dealing with.&nbsp; That part is relatively easy and it's probably
    almost complete.&nbsp; Maybe we just need TEXT and DATE and one or two
    more.<br>
    <br>
    The harder thing we need is an indication of relationships.&nbsp; For
    instance, go to CLI GUI and go to
    /subsystem=logging/root-logger=ROOT/.&nbsp; Right-click on "handlers" and
    choose the "write-attribute" operation.&nbsp; It knows that the value of
    "handlers" is a list so it dutifully brings up a list editor.&nbsp; But
    if you click on "Add" you see that it only gives you a plain input
    field.&nbsp; What you really want for all this is a dual-list pick list
    showing the handlers available to be selected or unselected.&nbsp; 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.&nbsp;
    It is not just needed for UI.&nbsp; It's also needed to support cascading
    deletes.&nbsp; 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.&nbsp; 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.&nbsp;
              ModelType.DATE comes to mind.<span
                class="Apple-converted-space">&nbsp;</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.&nbsp; I
              think the number of these we really need is finite.&nbsp; 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>