<div dir="ltr">I think this is something to look at next year. We don&#39;t have the resources to do it properly now. My vote is to add it to the agenda for F2F.<br><div class="gmail_extra"><br><div class="gmail_quote">On 6 November 2015 at 14:36, Marek Posolda <span dir="ltr">&lt;<a href="mailto:mposolda@redhat.com" target="_blank">mposolda@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 05/11/15 17:11, Bill Burke wrote:<br>
&gt;<br>
&gt; On 11/5/2015 5:46 AM, Marek Posolda wrote:<br>
&gt;&gt; I wonder if we should improve handling of custom attributes in<br>
&gt;&gt; freemarker templates and their validation. Let&#39;s assume that I want to<br>
&gt;&gt; add custom attribute &quot;birthday&quot; and I want to add it to all screens<br>
&gt;&gt; where user can create/edit account. I can see those issues:<br>
&gt;&gt;<br>
&gt;&gt; - Admin will need to edit 3 separate freemarker templates (registration,<br>
&gt;&gt; account management, update profile page) to have this attribute<br>
&gt;&gt; displayed on all those places.<br>
&gt;&gt;<br>
&gt; we&#39;ve discussed this before. The problem is formatting in each of the<br>
&gt; UIs. Often ordering of attributes is important. Grouping of attributes<br>
&gt; is a must too.<br>
&gt;<br>
&gt; i.e. Address, State, Country, Postal Code<br>
&gt;<br>
&gt; These 4 attribute must be grouped together, and address must come before<br>
&gt; state, and so on.<br>
&gt;<br>
&gt; You might also have a &quot;Billing Address&quot; group that needs to come after<br>
&gt; Home Address group.<br>
</span>I am not seeing an issue with ordering? The same order you configure in<br>
admin console, the same is used in template. It&#39;s classic sorted list,<br>
not special tricks needed IMO. The grouping some attributes can be<br>
easily addressed too IMO.<br>
<span class="">&gt;<br>
&gt; So, we&#39;d have an automatic way for displaying attributes, then the<br>
&gt; developer would think &quot;that looks like shit&quot; and want to format things<br>
&gt; himself.  Stian seems to think that CSS will solve this problem, but I&#39;m<br>
&gt; not convinced.<br></span></blockquote><div><br></div><div>CSS can do a hell of a lot more than you think it can ;)</div><div><br></div><div>But, I agree it can&#39;t always cover everything - that&#39;s why I&#39;ve been saying we need to be able to define templates, but at a smaller granularity. Having to define the whole update-profile page just to add an attribute is not very elegant.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
</span>I agree we can&#39;t address all possible sort of issues, but IMO it&#39;s good<br>
to have something, which will address 90% of cases? We can provide types<br>
(like combobox &quot;Gender&quot; with values &quot;male&quot; / &quot;female&quot; ). We can also<br>
handle multivalued attributes. And most importantly we can provide<br>
validations for all 3 screens. People won&#39;t need to write their own Java<br>
validators when they want something simple like ensure &quot;mandatory&quot; field<br>
present or validate with regex. They will still have possibility to<br>
inject the custom validator if they want it.<br>
<br>
At least validation is must IMO as there is no way to add custom<br>
validation for account mgmt or update profile right now.<br>
<br>
What we can&#39;t easily do is client-side validation and stuff for<br>
display/hide something based on value of other attributes (For example<br>
display attribute &quot;Favourite car sign&quot; just if selected gender is &quot;male&quot;<br>
). But not sure if this is often requirement.<br>
<br>
I am seeing lot of similarity with your kc-provider-config directive in<br>
admin console. It can&#39;t address all &quot;generic&quot; sort of things and<br>
client-side stuff etc. But for most cases, it&#39;s sufficient.<br>
<span class="">&gt;<br>
&gt; Also the look and feel could be quite different between registration,<br>
&gt; update profile, account management, and the admin profile.  IMO, it<br>
&gt; would end up being easier to just edit the freemarker pages directly<br>
&gt; than to have to define each attribute and how it is grouped, ordered,<br>
&gt; and displayed on each of the pages within an admin console UI.<br>
&gt;<br>
&gt;<br>
</span>There could be 3 checkboxes where can admin select if he wants to add<br>
field on registration, account mgmt and update profile. I am not sure if<br>
we need anything for admin console as we already have &quot;Attributes&quot; tab<br>
for users, which is almost ok IMO (we don&#39;t have nice solution for<br>
multivalued attributes).<br>
<span class="HOEnZb"><font color="#888888"><br>
Marek<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
keycloak-dev mailing list<br>
<a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
</div></div></blockquote></div><br></div></div>