<div dir="ltr">Sounds great. Do you have an example on how to use it? Or do we need to dig into the code in details?</div><div class="gmail_extra"><br><div class="gmail_quote">On 9 August 2016 at 15:15, Bill Burke <span dir="ltr"><<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I've implemented a new generic component storage, api, REST API, and<br>
admin console support. Classes/interfaces are in server-spi<br>
org.keycloak.component package and created via methods in RealmModel.<br>
It is basically a more generic form of mapper models,<br>
UserFederationModel, etc. Components describe themselves and can be<br>
generically rendered by the admin console. The storage model is meant<br>
to support nested subcomponents (i.e. UserFederationModel and<br>
UserFederationMappers). Config now supports a MultivaluedHashmap<br>
instead of a flat Map to support list storage. There is a common REST<br>
API under the realm that should be usable for all component types. The<br>
UserStorage SPI uses this new SPI from top to bottom.<br>
<br>
We should consider whether we want to migrate other component types to<br>
this new model.<br>
<br>
When you create components to store, you specify a parentId (i.e. Realm,<br>
Client, a parent component), a provider type, a provider id, and<br>
config. For export, the json model will contain components under Realm<br>
and Client where the perspective parentId is Realm and Client. I still<br>
want to make this as human consumable as possible so that these<br>
components can be defined by humans in json.<br>
<br>
Bill<br>
<br>
______________________________<wbr>_________________<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/<wbr>mailman/listinfo/keycloak-dev</a><br>
</blockquote></div><br></div>