<div dir="ltr">The good old import/export stuff does pagination. I don't think the admin console export you're working on needs pagination.</div><div class="gmail_extra"><br><div class="gmail_quote">On 23 October 2015 at 15:11, Stan Silvert <span dir="ltr"><<a href="mailto:ssilvert@redhat.com" target="_blank">ssilvert@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span class="">
<div>On 10/23/2015 9:09 AM, Stian Thorgersen
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">We already have paginated export of users though?</div>
</blockquote></span>
I haven't started on export. So far, I've done batch import of
users, clients, and identity providers.<div><div class="h5"><br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">On 23 October 2015 at 14:22, Marek
Posolda <span dir="ltr"><<a href="mailto:mposolda@redhat.com" target="_blank">mposolda@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Sorry for late response. Is the scope of this task
also to improve big long-running export/import ? We
already have someone with 75.000 users in DB.<br>
<br>
It seems that export/import is kind of task, which can
be easily "paginated" (Export of user1 - user500 is
page1, export of user501-user1000 is page2 etc). We may
have the table where you can see the progress of
long-running export/import job and how many users
(pages) are already exported. <br>
<br>
Besides that we may support:<br>
- Concurrency (more worker threads. Each worker doing an
export of different page)<br>
- Cluster scalability (Each cluster node takes some
pages and helps with the overall export task)<br>
- Cluster failover (When some cluster node crashes
during export job, the whole job is not canceled but
continue on other cluster nodes without problem)<br>
<br>
I've already addressed the concurrency, scalability and
failover with the <span style="background-color:#e4e4ff">InfinispanUserSessionInitializer,
which is used at startup for pre-load offline sessions
from DB. It's based on infinispan Distributed Executor
service. I think that with some minor changes (maybe
even without them) it can be reused for any long
running "paginatable" job (export/import, sync of big
number of users from federationProvider etc)<span><font color="#888888"><br>
<br>
Marek</font></span></span> <br>
<div>
<div> <br>
On 21/10/15 14:44, Stian Thorgersen wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">I've just added client registration
services in 1.6 which should be more useful for
that. There's also a Java library. Basically
admins and service accounts with the role
create-client can create new clients, while
clients themselves have permissions to update
their config.
<div><br>
</div>
<div>You could have a client template that you
change the client-id only then use this endpoint
to register the client.</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 21 October 2015 at
14:40, Thomas Raehalme <span dir="ltr"><<a href="mailto:thomas.raehalme@aitiofinland.com" target="_blank">thomas.raehalme@aitiofinland.com</a>></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>
<div>If you deploy the same application
multiple times for different customers
you could have a configuration template
containing all the common bits and
pieces, but have Keycloak generate keys
and secrets when you import the
configuration.<br>
<br>
</div>
Best regards,<br>
</div>
Thomas<br>
<br>
<div>
<div>
<div>
<div class="gmail_extra">
<div>
<div><br>
<div class="gmail_quote">On Wed,
Oct 21, 2015 at 3:33 PM, Stian
Thorgersen <span dir="ltr"><<a href="mailto:sthorger@redhat.com" target="_blank">sthorger@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Can you
elaborate a bit on that?</div>
<div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
21 October 2015 at
14:29, Thomas
Raehalme <span dir="ltr"><<a href="mailto:thomas.raehalme@aitiofinland.com" target="_blank">thomas.raehalme@aitiofinland.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><br>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote"><span>On
Wed, Oct 21,
2015 at 3:27
PM, Stian
Thorgersen <span dir="ltr"><<a href="mailto:sthorger@redhat.com" target="_blank">sthorger@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I'd
like to get
import/export
done properly.
The addition
of being able
to add bits
and pieces to
import in a
directory
would be
really helpful
on
Docker/OpenShift/etc..</div>
</blockquote>
<div><br>
</div>
</span>
<div>I had
similar things
in mind when I
suggested the
re-generation
of keys and
secrets. You
could define a
template which
you'd use in a
process for
new
deployments. <br>
</div>
<div><br>
</div>
<div>Best
regards,<br>
</div>
<div>Thomas</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
</div>
</div>
<span><font color="#888888">-- <br>
<div>
<div dir="ltr"><span>
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div><b>Thomas
Raehalme</b></div>
<div><i>CTO,
teknologiajohtaja</i></div>
<div>Mobile <a href="tel:%2B358%2040%20545%200605" value="+358405450605" target="_blank">+358 40 545 0605</a></div>
<div><br>
</div>
<div><b>Aitio
Finland Oy</b></div>
<div>Väinönkatu
26 A</div>
<div>40100
JYVÄSKYLÄ,
Finland</div>
<div>Tel. <a href="tel:%2B358%2010%20322%200040" value="+358103220040" target="_blank">+358 10 322 0040</a></div>
<div><a href="http://www.aitiofinland.com" target="_blank">www.aitiofinland.com</a></div>
<div>
<pre style="white-space:pre-wrap;color:rgb(0,0,0);font-family:arial,helvetica,sans-serif" cols="72"><div style="white-space:normal;font-family:arial,sans-serif"><span style="background-color:rgb(230,145,56)"><font color="#cc0000"><b><span style="background-color:rgb(255,255,255)"><span></span><span style="color:rgb(230,145,56)">Codecenter on nyt Aitio – me kun ei <span></span>vain koodata!</span></span></b></font></span></div></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</span></div>
</div>
</font></span></div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<span>
<pre>_______________________________________________
keycloak-dev mailing list
<a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a></pre>
</span></blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
keycloak-dev mailing list
<a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a></pre>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<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></blockquote></div><br></div>