<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>
<div>
<div><br>
</div>
</div>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Tue, Nov 26, 2013 at 4:35 PM, Tim Schnell <span dir="ltr">
<<a href="mailto:tim.schnell@rackspace.com" target="_blank">tim.schnell@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">
<div>
<div>
<div><br>
</div>
</div>
</div>
<span>
<div style="border-right:medium none;padding-right:0in;padding-left:0in;padding-top:3pt;text-align:left;font-size:11pt;border-bottom:medium none;font-family:Calibri;border-top:#b5c4df 1pt solid;padding-bottom:0in;border-left:medium none">
<span style="font-weight:bold">From: </span>Christopher Armstrong <<a href="mailto:chris.armstrong@rackspace.com" target="_blank">chris.armstrong@rackspace.com</a>>
<div class="im"><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
</div>
<span style="font-weight:bold">Date: </span>Tuesday, November 26, 2013 4:02 PM
<div class="im"><br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
</div>
<div class="im"><span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [heat][horizon]Heat UI related requirements & roadmap<br>
</div>
</div>
<div class="im">
<div><br>
</div>
<div>
<div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Tue, Nov 26, 2013 at 3:24 PM, Tim Schnell <span dir="ltr">
<<a href="mailto:tim.schnell@rackspace.com" target="_blank">tim.schnell@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So the originally question that I attempted to pose was, "Can we add a<br>
schema-less metadata section to the template that can be used for a<br>
variety of purposes?". It looks like the answer is no, we need to discuss<br>
the features that would go in the metadata section and add them to the HOT<br>
specification if they are viable. I don't necessarily agree with this<br>
answer but I accept it as viable and take responsibility for the<br>
long-winded process that it took to get to this point.<br>
<br>
I think some valid points have been made and I have re-focused my efforts<br>
into the following proposed solution.<br>
<br>
I am fine with getting rid of the concept of a schema-less metadata<br>
section. If we can arrive at a workable design for a few use cases then I<br>
think that we won't need to discuss any of the options that Zane mentioned<br>
for handling the metadata section, comments, separate file, or in the<br>
template body.<br>
<br>
Use Case #1<br>
I see valid value in being able to group templates based on a type or<br>
keyword. This would allow any client, Horizon or a Template Catalog<br>
service, to better organize and handle display options for an end-user.<br>
<br>
I believe that Ladislav initially proposed a solution that will work here.<br>
So I will second a proposal that we add a new top-level field to the HOT<br>
specification called "keywords" that contains this template type.<br>
<br>
        keywords: wordpress, mysql, etc<br>
<br>
<br>
</blockquote>
<div><br>
</div>
<div>My immediate inclination would be to just make keywords/tags out-of-band metadata managed by the template repository. I imagine this would be something that would be very useful to change without having to edit the template anyway.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</span>
<div><br>
</div>
<div><i>I'm not exactly sure what you are suggesting here, but I think that adding these keywords to the template will be less error prone than attempting to derive them some other way.</i></div>
<div class="im"><span>
<div>
<div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</span></div>
</div>
</blockquote>
<div><br>
</div>
<div>Basically, I'm just suggesting putting the tags outside of template. Not deriving them -- I still think they should be explicitly specified, but just putting them in e.g. the database instead of directly in the template.</div>
<div><br>
</div>
<div>Basically, in a public repository of templates, I can imagine tags being based on third-party or moderator input, instead of just based on what the template author says.  Keeping them outside of the template would allow content moderators to do that without
 posting a new version of the template.</div>
<div><br>
</div>
<div>Anyway, I don't feel that strongly about this - if there's a strong enough desire to see tags in the template, then I won't argue against it.</div>
</div>
</div>
</div>
</span>
<div>---</div>
<span id="OLK_SRC_BODY_SECTION">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>The primary reason I would like to see this live inside of the template is because these keywords should be tied to the current state of the template that is saved by Heat on Stack Create and Stack Update. If someone performs a Stack Update that changes
 the content of the template, they should be responsible for updating the keywords in the template. If the keywords live outside of the template, it will be difficult to keep them in sync with the actual content of the template.</div>
</div>
</div>
</div>
</span>
<div><br>
</div>
<div>I guess what I'm saying is that the keywords should follow the instantiation of the template which could morph into something that may not match the original keywords that may be saved into a database of templates somewhere.</div>
<div><br>
</div>
<div>Tim</div>
</body>
</html>