<div dir="ltr">Apparently all your responses to this thread Darran didn&#39;t show up in my view of the thread. No idea why. If not Brian&#39;s response to your email I wouldn&#39;t have found out that.<br><br>Copying your email from the list archive:<div><br></div><div>&quot;But why is that a problem? I think that is the piece still missing.<br><br>By moving the list of the permissions into a single named resource the<br>tooling no longer has a need to be performing the manipulation within the<br>simple permission mapper so that can be left to the administrator to look<br>after independently.&quot;</div><div><br></div><div>It doesn&#39;t work like that. It&#39;s not like &quot;you can manage this part of the config and this part should be left out&quot;.</div><div>About the permission-mappings and why this list is a problem. We need to be able to compute a diff between two Elytron subsystem configs. They may match, may be slightly different, may be completely different. To do that we need to be able to identify comparable pieces the config consists of. Named permission-sets are no problem. Now I get to the list of permission-mappings, as it is a part of the Elytron&#39;s subsystem config. How can I compare these lists?</div><div>Well, naturally a list is a collection of items in a specific order. So what I am going to do is assume that I should be comparing the items in the order they appear in two lists. And generate the diff based on that order. Which in some cases will be useless. The thing is that, I will not only be calculating the diff I will also be applying it to the config. In some cases the result will be pretty much unexpected. Does it make any sense to you?</div><div><br></div><div>Thanks,</div><div>Alexey</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 23, 2018 at 6:49 PM, Alexey Loubyansky <span dir="ltr">&lt;<a href="mailto:alexey.loubyansky@redhat.com" target="_blank">alexey.loubyansky@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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Fri, Mar 23, 2018 at 6:20 PM, Farah Juma <span dir="ltr">&lt;<a href="mailto:fjuma@redhat.com" target="_blank">fjuma@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"><div dir="ltr">A solution to part of the problem mentioned in WFCORE-3596 that was discussed is to introduce the concept of named permission sets. In particular, instead of having a permission-mapping reference permissions, it would instead reference named permission-sets. This would allow the provisioning tool to be able to add/remove permissions to/from a default permission-set based on the presence/absence of a specific subsystem when generating the default configuration. However, as Alexey pointed out, this doesn&#39;t solve the problem of knowing which permission-mapping a permission-set should be added to when attempting to preserve user configuration changes for patching, version updates, etc. <br></div></blockquote><div><br></div></span><div>Right. It does not change the permission-mappings, they remain to be a list of items with no identity. Which is the fundamental problem.</div><div><br></div><div>Thanks,</div><div>Alexey</div><span class=""><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thanks,</div><div>Farah</div></div><div class="m_5127375059902912232HOEnZb"><div class="m_5127375059902912232h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 23, 2018 at 11:55 AM, Alexey Loubyansky <span dir="ltr">&lt;<a href="mailto:alexey.loubyansky@redhat.com" target="_blank">alexey.loubyansky@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"><div dir="ltr"><div>While this is addressed mainly to the Elytron team, it seems like we would appreciate opinions from other colleagues since we are basically stuck discussing possible ways to resolve <a href="https://issues.jboss.org/browse/WFCORE-3596" target="_blank">https://issues.jboss.org/brows<wbr>e/WFCORE-3596</a></div><div><br></div><div>The description in the jira is pretty brief assuming people know what that is about, since it&#39;s been raised before multiple times. Here is what it is about <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">fundamentally</span>.</div><div><br></div><div>If a configuration model (of a subsystem or any other component) includes a list of configurable units (let&#39;s assume XML elements for simplicity) that don&#39;t have any identity (unique id/name/path/etc) this is a big problem for supporting patching and version updates preserving user configuration changes. Or simply customizing the default config model using a tool. By a big problem I mean it&#39;s simply not going to work reliably.</div><div><br></div><div>As a simple exercise that demonstrates the issue, imagine you have two configs each of which includes a list of these configurable units that have no identity. Now try to identify the difference between the two lists. Or merge them with one overwriting the other. Basically components w/o an identity can not be manipulated. You can only add them but not modify or even remove (unless their index in the list is a constant value of course).</div><div><br></div><div>I don&#39;t think I&#39;ve seen any issue of this kind in our (WF/EAP) configs except for the Elytron&#39;s permission-mapping&#39;s. (If somebody knows such components please let me know).<br></div><div>If I misunderstand the Elytron config model or approaching this from a wrong angle, please let me know.</div><div><br></div><div>Question for the Elytron team: is the problem I am describing clear? Do you admit it as a problem?</div><div><br></div><div>Thanks,</div><div>Alexey</div></div>
</blockquote></div><br></div>
</div></div></blockquote></span></div><br></div></div>
</blockquote></div><br></div>