Hi Richard,<div>Thanks for the detailed feedback. Your &quot;attribute required&quot; use case is indeed interesting but I think this could be solved by following a convention, I&#39;m a big fan of Convention Over Configuration : I prefer having  a convention like &quot;When processing search macro/template/partial attributes are not required&quot; rather than configure a bundle of XML files and implement Java classes.</div>
<div>The two approaches are valid and even if we follow the coc way there must always be a way to override the convention.</div><div>Seb</div><div><br><br><div class="gmail_quote">On Thu, Feb 28, 2013 at 1:42 AM, Richard Kennard <span dir="ltr">&lt;<a href="mailto:richard@kennardconsulting.com" target="_blank">richard@kennardconsulting.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Seb,<br>
<br>
Thanks for putting that together. It appears we agree more than we disagree! To recap:<br>
<br>
1. We agree &#39;inspecting metadata&#39; needs to be orthogonal to &#39;widget building&#39;. You are re-using Metawidget&#39;s Inspectors, which is great<br>
2. We agree &#39;widget building&#39; needs to be orthogonal to layout. Not just to avoid duplicating code, but also so you can make it pluggable (i.e. your<br>
&#39;custom.tpl&#39;)<br>
3. We agree that layout needs to be orthogonal to the wider page (i.e. we do everything inside a &#39;div&#39; or &#39;table&#39; - neither of us are trying to render<br>
everything from the &#39;html&#39; tag down)<br>
<br>
You decided FreeMarker was a good fit for #3, and I agree with you. I&#39;ve implemented a FreemarkerLayout for the next version of Metawidget. I&#39;ve blogged<br>
about it and put together an example you can download here:<br>
<br>
<a href="http://blog.kennardconsulting.com/2013/02/metawidget-meets-freemarker.html" target="_blank">http://blog.kennardconsulting.com/2013/02/metawidget-meets-freemarker.html</a><br>
<br>
So our main area of disagreement remains: is FreeMarker a good fit for #2?<br>
<br>
I think not. Not because of FreeMarker&#39;s templating language per se, but because *FreeMarker returns strings*. This makes it hard to do meaningful<br>
post-processing on the chosen widget before inserting it into the layout. There are many examples of why post-processing is important. Let me give you one:<br>
<br>
1. In the existing JSF scaffold, some fields are &#39;required&#39; (i.e. not-null) fields. We add the JSF &#39;required&#39; attribute to these widgets. You do something<br>
similar in your code:<br>
<br>
     &lt;#if (property.required!&quot;false&quot;) == &quot;true&quot;&gt; required&lt;/#if&gt;<br>
<br>
However, we do this in a separate RequiredAttributeProcessor - not in the WidgetBuilder. The reason is, although we use RequiredAttributeProcessor on the<br>
editing screen, we swap it out for the search screen. The search screen still needs to read the same metadata, and generate the same widgets, and lay out<br>
in the same way, as the editing screen. But it does *not* want those widgets to be &#39;required&#39;, because search fields are optional.<br>
<br>
Search screens are used in a different way to editing screens. So there is value in making &#39;required/not required&#39; orthogonal to &#39;choice of widget&#39;. We<br>
don&#39;t want to duplicate the whole &#39;widget choosing&#39; code just so we can relax the &#39;required&#39; attribute.<br>
<br>
Regards,<br>
<br>
Richard.<br>
<div class="im"><br>
On 27/02/2013 10:19 PM, Sebastien Blanc wrote:<br>
&gt; Richard,<br>
&gt; You are totally right by saying than maintaining a 500 characters long line will be a nightmare and the current implementation was just a first try.<br>
&gt; Vineet as started to factorize the code into macros, you can see it here :<br>
&gt; <a href="https://github.com/forge/scaffold-html5/blob/master/src/main/resources/scaffold/angularjs/views/includes/basicPropertyDetail.html.ftl" target="_blank">https://github.com/forge/scaffold-html5/blob/master/src/main/resources/scaffold/angularjs/views/includes/basicPropertyDetail.html.ftl</a><br>

&gt;<br>
&gt; But in the same time, we are working on an architecture that will have a single/common point of entry for the &quot;widget choosing code&quot; and we can plug<br>
&gt; whatever widget renderer template into it. To make this easier, I have created a simple project ,just for you ;) , to demonstrate the main concept.<br>
&gt;<br>
&gt; <a href="https://github.com/sebastienblanc/freemarkertests" target="_blank">https://github.com/sebastienblanc/freemarkertests</a><br>
&gt;<br>
&gt; You will see the default renderer (renderer.tpl) and a custom renderer (custom.tpl). The testcases will use the same &quot;widget selector&quot; but their &quot;own&quot;<br>
&gt;  renderer. A custom widget renderer template can override all the widgets or only some of them, it is very flexible.<br>
&gt;<br>
&gt; Please feel free to provide any feedback.<br>
&gt;<br>
&gt; Best Regards,<br>
&gt; Seb<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div><div class="im">&gt; On Tue, Feb 26, 2013 at 10:49 PM, Richard Kennard &lt;<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt; wrote:<br>

&gt;<br>
&gt;     Seb,<br>
&gt;<br>
&gt;     Thank you for your feedback.<br>
&gt;<br>
&gt;     I&#39;m afraid we&#39;ll need to agree to disagree that Freemarker is a good medium for implementing &#39;widget choosing&#39; code. Your current implementation is<br>
&gt;     basically a single line that is 500 characters long. I fear this will become a rapidly worsening maintenance problem.<br>
&gt;<br>
&gt;     However you make a good point about using Freemarker for the layout. I will look at implementing a FreemarkerLayout into Metawidget.<br>
&gt;<br>
&gt;     Regards,<br>
&gt;<br>
&gt;     Richard.<br>
&gt;<br>
&gt;     On 26/02/2013 8:48 PM, Sebastien Blanc wrote:<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt; On Tue, Feb 26, 2013 at 10:40 AM, Richard Kennard &lt;<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;<br>

</div><div class="im">&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt;&gt; wrote:<br>

&gt;     &gt;<br>
&gt;     &gt;     Seb,<br>
&gt;     &gt;<br>
&gt;     &gt;     It sounds like there may be some convergence here. Your &#39;macros&#39; library may end up looking very similar to Metawidget&#39;s existing HTML5<br>
&gt;     &gt;     WidgetBuilder. And<br>
&gt;     &gt;     your &#39;composition plugins&#39; may end up similar to Metawidget&#39;s LayoutDecorators and Layouts.<br>
&gt;     &gt;<br>
&gt;     &gt;     I&#39;d like to make sure you&#39;re not re-inventing the wheel here? Is your main driver that you prefer writing templates in Freemarker to Java code?<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt; Absolutely :) ! A user should be able to read and understand a template / overload them and not forced to write a Java class, a mid-term vision is<br>
&gt;     to be<br>
&gt;     &gt; more and more polyglot.<br>
&gt;     &gt; Seb<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     Regards.<br>
&gt;     &gt;<br>
&gt;     &gt;     Richard.<br>
&gt;     &gt;<br>
&gt;     &gt;     On 26/02/2013 8:31 PM, Sebastien Blanc wrote:<br>
&gt;     &gt;     &gt; Hi Richard,<br>
&gt;     &gt;     &gt; Thanks for your remarks and questions, see my comments inline.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; On Tue, Feb 26, 2013 at 10:06 AM, Richard Kennard &lt;<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;<br>

&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt;<br>
</div><div class="im">&gt;     &gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt; &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a><br>

</div><div><div class="h5">&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt;&gt;&gt; wrote:<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     Hi Vineet,<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     Thanks for your detailed response.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     I&#39;m not opposed to the idea of a FreemarkerWidget (or VelocityWidget, or StringTemplateWidget). Indeed, the early versions of Metawidget<br>
&gt;     looked<br>
&gt;     &gt;     much like<br>
&gt;     &gt;     &gt;     you describe: a separate, pluggable inspection layer, then a Metawidget to render it.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     However, we subsequently got a lot of feedback and did many interviews, adoption studies and case studies. This ultimately led to the<br>
&gt;     &gt;     architecture of<br>
&gt;     &gt;     &gt;     pluggable WidgetBuilders, WidgetProcessors and Layouts. Let me give you 3 examples of the feedback we got:<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     1. Widget choice needs to be orthogonal to layout. If you look at your &#39;master.html.ftl&#39; and &#39;detail.html.ftl&#39; you have a lot of duplicated<br>
&gt;     &gt;     code between<br>
&gt;     &gt;     &gt;     them. Both templates contain &lt;#if... #else to choose between a &#39;select&#39; box and a &#39;text&#39; box. This code is going to inflate rapidly once you<br>
&gt;     &gt;     add your<br>
&gt;     &gt;     &gt;     date<br>
&gt;     &gt;     &gt;     pickers, telephone numbers, URLs etc. to the mix. Worse, such code will need to be duplicated across both templates.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Vineet is currently  factorizing all the duplicated code into Freemarker&#39;s Macros, this Macros library will be shared along the different<br>
&gt;     plugins.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     2. Equally, layout needs to be orthogonal to the wider page. Say I decide I want to use tables with rows and columns, instead of a div-based<br>
&gt;     &gt;     layout.<br>
&gt;     &gt;     &gt;     Or say<br>
&gt;     &gt;     &gt;     I want to use different CSS classes to your &#39;control-group&#39; and &#39;controls&#39;. I will have to do it in both templates. But what is *actually*<br>
&gt;     &gt;     different<br>
&gt;     &gt;     &gt;     about<br>
&gt;     &gt;     &gt;     the templates is the choice of search buttons/results versus save/cancel buttons. So the &#39;middle bit&#39; of each page needs to be<br>
&gt;     orthogonal. This<br>
&gt;     &gt;     will get<br>
&gt;     &gt;     &gt;     worse as you add more templates, such as separate &#39;search&#39;, &#39;view&#39; and &#39;edit&#39; templates (see the JSF scaffold).<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; With Forge 2.0 in mind, where Plugins/addons will be able to be dependent from each other, inherit from each other, we plan to end up with<br>
&gt;     some basic<br>
&gt;     &gt;     &gt; plugins which will offer a lot of flexibility to deliver &quot;Composition plugins&quot;. We are also going to introduce a lot of convention over<br>
&gt;     &gt;     configuration but<br>
&gt;     &gt;     &gt; with keeping in mind that the user can always override the conventions.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     3. Developers like to use third-party widget libraries, and also in-house custom widget libraries. If I want to add RichFaces, or<br>
&gt;     PrimeFaces, or a<br>
&gt;     &gt;     &gt;     mixture<br>
&gt;     &gt;     &gt;     of both, I want to be able to do so in a way that is orthogonal to all of the above<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     So my concern would be that a FreemarkerWidget would tightly couple widget choice (WidgetBuilders) and layout, and not allow widget<br>
&gt;     processing<br>
&gt;     &gt;     (which is<br>
&gt;     &gt;     &gt;     important for other reasons I haven&#39;t touched upon). Freemarker does, I agree, offer an attractive level of immedicay and ease-of-editing<br>
&gt;     &gt;     templates.<br>
&gt;     &gt;     &gt;     But I<br>
&gt;     &gt;     &gt;     wonder what your thoughts are on how it scales for some of the points above?<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; &quot;Scaling&quot; will be partly solved by the new architecture explained above. For sure, there will always be situations where the user wants to<br>
&gt;     &gt;     introduce his<br>
&gt;     &gt;     &gt; supra cool custom widget that don&#39;t fits without a lot of hacking but IMO that&#39;s beyond the scope of scaffolding. Scaffolding is just to<br>
&gt;     &quot;boost up&quot;<br>
&gt;     &gt;     a new<br>
&gt;     &gt;     &gt; project, it&#39;s a one time action,  for sure, we can offer entry points for customization but we can&#39;t (or don&#39;t want to) cover all the specific<br>
&gt;     &gt;     situations.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Regards,<br>
&gt;     &gt;     &gt; Seb<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     Regards,<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     Richard.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt; On 22 February 2013 13:56, Vineet Reynolds Pereira &lt;<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a> &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt; &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a><br>

&gt;     &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt;&gt; &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a> &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt;<br>

</div></div>&gt;     &gt;     &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a> &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a> &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt; &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a><br>

<div><div class="h5">&gt;     &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt;&gt;<br>
&gt;     &gt;     &gt;     &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a> &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt; &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a> &lt;mailto:<a href="mailto:vpereira@redhat.com">vpereira@redhat.com</a>&gt;&gt;&gt;&gt;&gt; wrote:<br>

&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     Hi Richard,<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;        I&#39;m glad you brought this up, since we&#39;ve been looking to provide feedback once we&#39;ve finalized on our usage of the Metawidget APIs.<br>
&gt;     &gt;     By the way,<br>
&gt;     &gt;     &gt;     &gt;     I&#39;m the one responsible for the use (or abuse) of Metawidget in this manner.<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;        The rationale behind the use of Metawidget inspectors alone, is mostly because we want to allow users to modify the generated<br>
&gt;     &gt;     scaffold. One<br>
&gt;     &gt;     &gt;     of the<br>
&gt;     &gt;     &gt;     &gt;     examples thrown around was to enable users to generate master-detail views instead of the plain CRUD forms generated by Forge. Another<br>
&gt;     &gt;     driving<br>
&gt;     &gt;     &gt;     factor<br>
&gt;     &gt;     &gt;     &gt;     was the need to create or enable creation of scaffold generators for several JS frameworks including but not restricted to AngularJS,<br>
&gt;     &gt;     Backbone.js,<br>
&gt;     &gt;     &gt;     &gt;     Aerogear etc. Furthermore, there is also a possibility of users needing to bring in plugins and extensions to these frameworks, like<br>
&gt;     &gt;     Angular-UI or<br>
&gt;     &gt;     &gt;     &gt;     Backbone.Forms, since the base frameworks may not satisfy all needs. From my understanding of the Metawidget pipeline and it&#39;s use<br>
&gt;     in the<br>
&gt;     &gt;     Forge<br>
&gt;     &gt;     &gt;     Faces<br>
&gt;     &gt;     &gt;     &gt;     and (the earlier) Aerogear scaffold plugins, this would have been possible if a metawidget were created for every use case (one per<br>
&gt;     &gt;     framework, per<br>
&gt;     &gt;     &gt;     &gt;     widget-type). We attempted to bring in the use of templates written in a familiar templating langu!<br>
&gt;     &gt;     &gt;     &gt;      age (like Freemarker/Velocity/StringTemplate) into the scaffold generation phase to make it easier for users to modify the generated<br>
&gt;     &gt;     scaffold.<br>
&gt;     &gt;     &gt;     This<br>
&gt;     &gt;     &gt;     &gt;     is somewhat on the lines of what the Yeoman generators do.<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;        Thanks to the APIs you&#39;ve made available for the Metawidget pipeline, the inspection results could be processed before feeding<br>
&gt;     them to the<br>
&gt;     &gt;     &gt;     &gt;     templates. Every scaffold plugin that could potentially be written, would more or less use this approach, with the sole difference<br>
&gt;     being<br>
&gt;     &gt;     in the<br>
&gt;     &gt;     &gt;     &gt;     contents of the templates themselves. I hope this explains why I used the Inspectors alone, and not the InspectionResultProcessors and<br>
&gt;     &gt;     the rest of<br>
&gt;     &gt;     &gt;     &gt;     the pipeline. The inspectors just fit in naturally into the Forge scaffold generation pipeline.<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;        Based on the above, I personally think that a FreemarkerWidget (or VelocityWidget, or StringTemplateWidget) would be something to<br>
&gt;     &gt;     investigate.<br>
&gt;     &gt;     &gt;     &gt;     This is of course a raw idea of mine, and I would like to see if it is possible to use such a metawidget in a type-safe manner with the<br>
&gt;     &gt;     ability to<br>
&gt;     &gt;     &gt;     &gt;     configure the templates that it would consume. I&#39;m not sure if creating such a widget would deviate from the intention behind the<br>
&gt;     Metawidget<br>
&gt;     &gt;     &gt;     project.<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;        As a side note, I&#39;d also like to point out that there has been interest in supporting various additional HTML5 form input types<br>
&gt;     (telephone<br>
&gt;     &gt;     &gt;     &gt;     numbers, URLs etc.) in the generated scaffold, and this would require extending the JPA/Bean Validation Inspectors in Metawidget.<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     Best regards,<br>
&gt;     &gt;     &gt;     &gt;     Vineet<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     PS: CC&#39;ing the forge-dev list.<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     ----- Original Message -----<br>
&gt;     &gt;     &gt;     &gt;     &gt; From: &quot;Richard Kennard&quot; &lt;<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;<br>

&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt; &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a><br>

&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;<br>
</div></div><div class="im">&gt;     &gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a><br>

&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt; &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt;<br>

&gt;     &gt;     &gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a> &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt; &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a><br>

&gt;     &lt;mailto:<a href="mailto:richard@kennardconsulting.com">richard@kennardconsulting.com</a>&gt;&gt;&gt;&gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; To: <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

</div>&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

<div><div class="h5">&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

&gt;     &gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; Sent: Thursday, February 21, 2013 5:17:29 AM<br>
&gt;     &gt;     &gt;     &gt;     &gt; Subject: Re: [aerogear-dev] Aerogear Forge Plugin<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; Seb,<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; This looks very cool. I see you have used parts of Metawidget for<br>
&gt;     &gt;     &gt;     &gt;     &gt; some of the implementation? I&#39;d love to hear your thoughts on how it<br>
&gt;     &gt;     &gt;     &gt;     &gt; went and/or any<br>
&gt;     &gt;     &gt;     &gt;     &gt; changes you&#39;d like me to make to Metawidget. For example:<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; 1. You have some code in Html5Scaffold that processes the inspection<br>
&gt;     &gt;     &gt;     &gt;     &gt; result returned by CompositeInspector. It does things like<br>
&gt;     &gt;     &gt;     &gt;     &gt; &#39;Canonicalize all numerical<br>
&gt;     &gt;     &gt;     &gt;     &gt; types in Java to &quot;number&quot; for HTML5 form input type support&#39; and<br>
&gt;     &gt;     &gt;     &gt;     &gt; &#39;Extract simple type name of the relationship types&#39;. Was there a<br>
&gt;     &gt;     &gt;     &gt;     &gt; reason you didn&#39;t factor<br>
&gt;     &gt;     &gt;     &gt;     &gt; this into a Metawidget InspectionResultProcessor<br>
&gt;     &gt;     &gt;     &gt;     &gt; (<a href="http://metawidget.org/doc/reference/en/html/ch02s03.html" target="_blank">http://metawidget.org/doc/reference/en/html/ch02s03.html</a>)?<br>
&gt;     &gt;     &gt;     &gt;     &gt; Specifically BaseInspectionResultProcessor has<br>
&gt;     &gt;     &gt;     &gt;     &gt; some methods to help?<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; 2. You appear to be using FreeMarker templates rather than<br>
&gt;     &gt;     &gt;     &gt;     &gt; Metawidget&#39;s WidgetBuilders, WidgetProcessors and Layouts (see the<br>
&gt;     &gt;     &gt;     &gt;     &gt; existing Forge JSF scaffold,<br>
&gt;     &gt;     &gt;     &gt;     &gt; Forge GWT scaffold, and Forge Spring scaffold). Could I ask what the<br>
&gt;     &gt;     &gt;     &gt;     &gt; reasons were behind this?<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; 3. I have recently implemented a pure client-side, pure run-time,<br>
&gt;     &gt;     &gt;     &gt;     &gt; AngularJS version of Metawidget. If you were interested in a<br>
&gt;     &gt;     &gt;     &gt;     &gt; non-static version of your<br>
&gt;     &gt;     &gt;     &gt;     &gt; scaffold, perhaps you could give it a try?<br>
&gt;     &gt;     &gt;     &gt;     &gt; <a href="http://blog.kennardconsulting.com/2013/01/metawidget-meets-jquery-ui-and-angularjs.html" target="_blank">http://blog.kennardconsulting.com/2013/01/metawidget-meets-jquery-ui-and-angularjs.html</a><br>

&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; Regards,<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; Richard.<br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; On 20/02/2013 11:49 PM, Jay Balunas wrote:<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt; Wow!!!  Really awesome work guys!!!<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt; On Feb 15, 2013, at 11:15 AM, Sebastien Blanc wrote:<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; Hi all !<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; I&#39;m pleased to announce that the first version of the Aerogear<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; Scaffold Plugin for forge is available !<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; It&#39;s still an alpha but thanks to the excellent work and help from<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; Vineet we have a working plugin :<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - CRUD Scaffolding based on your entities.<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - One-to-one , many-to-one relation supported.<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - AngularJS and bootstrap responsive based.<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - Aerogear Pipe and Store used.<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; There is still a lot to do but you can already play with it, a<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; quickstart is available here and you should be able to create<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; your first Aerogear App in<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; 5 minutes ;) <a href="https://gist.github.com/sebastienblanc/4961324" target="_blank">https://gist.github.com/sebastienblanc/4961324</a><br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; An example of a generated application can also be found here :<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; <a href="https://github.com/sebastienblanc/scaffoldtester" target="_blank">https://github.com/sebastienblanc/scaffoldtester</a> , please review<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; the generated code (at<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; least the JS and HTML) and report it to me and I will update the<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; templates accordingly.<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; Next steps are :<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - Integrate Search feature (using the DataStore filter facilities)<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - Integrate Aerogear Pagination (although generic pagination is<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; present now)<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; - Integrate jQueryMobile (will probably be another plugin)<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; Enjoy !<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; Seb<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; _______________________________________________<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; aerogear-dev mailing list<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

&gt;     &gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

</div></div>&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

<div class="im">&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;<br>

&gt;     &gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

</div>&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;&gt;&gt;<br>

<div class="HOEnZb"><div class="h5">&gt;     &gt;     &gt;     &gt;     &gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>

&gt;     &gt;     &gt;     &gt;     &gt; &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt; _______________________________________________<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt; aerogear-dev mailing list<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt;     &gt;     &gt; aerogear-dev mailing list<br>
&gt;     &gt;     &gt;     &gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;&gt;<br>
&gt;     &gt;     &gt;     &gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt;     &gt;     aerogear-dev mailing list<br>
&gt;     &gt;     &gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

&gt;     &gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;&gt;<br>
&gt;     &gt;     &gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt;     &gt; aerogear-dev mailing list<br>
&gt;     &gt;     &gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;<br>
&gt;     &gt;     &gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt;     aerogear-dev mailing list<br>
&gt;     &gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>

&gt;     &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;&gt;<br>
&gt;     &gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt; aerogear-dev mailing list<br>
&gt;     &gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

</div></div><div class="HOEnZb"><div class="h5">&gt;     &gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;<br>
&gt;     &gt;     _______________________________________________<br>
&gt;     &gt;     aerogear-dev mailing list<br>
&gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt; &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;&gt;<br>

&gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt; _______________________________________________<br>
&gt;     &gt; aerogear-dev mailing list<br>
&gt;     &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>
&gt;     &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     aerogear-dev mailing list<br>
&gt;     <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>
&gt;     <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; aerogear-dev mailing list<br>
&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
<br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
</div></div></blockquote></div><br></div>