<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 13 January 2016 at 20:00, Bill Burke <span dir="ltr">&lt;<a href="mailto:bburke@redhat.com" target="_blank">bburke@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 bgcolor="#FFFFFF" text="#000000">
    Because it isn&#39;t something that would ever be removed like JPA or
    mongo?<br></div></blockquote><div><br></div><div>Actually, in theory it could. That&#39;s why I thought it was a sensible separation. It all relies on Freemarker so if we decided to use something else or to support another templating mechanism as well. Or even to stop using templates and use AngularJS+rest.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <br>
    Themes would just be .js and .html and .css right?</div></blockquote><div><br></div><div>Yep. I think it&#39;s worth keeping them separate.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div><div class="h5"><br>
    <br>
    <div>On 1/13/2016 1:19 PM, Stian Thorgersen
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">It seems like a logically grouping. Is there a
        reason you don&#39;t want it separate?</div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 13 January 2016 at 19:17, Bill Burke
          <span dir="ltr">&lt;<a href="mailto:bburke@redhat.com" target="_blank">bburke@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 bgcolor="#FFFFFF" text="#000000"> Why do you want
              freemarker separate?
              <div>
                <div><br>
                  <br>
                  <div>On 1/13/2016 1:14 PM, Stian Thorgersen wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">How about:
                      <div><br>
                      </div>
                      <div>keycloak-common</div>
                      <div>keycloak-common-saml</div>
                      <div>keycloak-common-oidc</div>
                      <div><br>
                      </div>
                      <div>keycloak-server-spi</div>
                      <div>keycloak-server-jpa</div>
                      <div>keycloak-server-mongo<br>
                      </div>
                      <div>keycloak-server-infinispan<br>
                      </div>
                      <div>keycloak-server-freemarker<br>
                      </div>
                      <div>keycloak-server-ldap<br>
                      </div>
                      <div>keycloak-server-themes<br>
                      </div>
                      <div>keycloak-server-wildfly</div>
                      <div>keycloak-server-services</div>
                      <div><br>
                      </div>
                      <div>All providers that are don&#39;t fall into one of
                        the above categories (for example timer,
                        protocol mappers, etc..) can just go into
                        keycloak-server-services.</div>
                      <div><br>
                      </div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On 12 January 2016 at
                        19:44, Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:sthorger@redhat.com" target="_blank"></a><a href="mailto:sthorger@redhat.com" target="_blank">sthorger@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"><br>
                            <div class="gmail_extra"><br>
                              <div class="gmail_quote">
                                <div>
                                  <div>On 12 January 2016 at 19:32,
                                    Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:sthorger@redhat.com" target="_blank"></a><a href="mailto:sthorger@redhat.com" target="_blank">sthorger@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"><br>
                                        <div class="gmail_extra"><br>
                                          <div class="gmail_quote"><span>On
                                              12 January 2016 at 16:26,
                                              Bill Burke <span dir="ltr">&lt;<a href="mailto:bburke@redhat.com" target="_blank"></a><a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>&gt;</span>
                                              wrote:<br>
                                              <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
                                                <div bgcolor="#FFFFFF" text="#000000"><span>
                                                    <br>
                                                    <br>
                                                    <div>On 1/12/2016
                                                      2:45 AM, Stian
                                                      Thorgersen wrote:<br>
                                                    </div>
                                                    <blockquote type="cite">
                                                      <div dir="ltr"><br>
                                                        <div class="gmail_extra"><br>
                                                          <div class="gmail_quote">On

                                                          12 January
                                                          2016 at 03:22,
                                                          Bill Burke <span dir="ltr">&lt;<a href="mailto:bburke@redhat.com" target="_blank"></a><a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>&gt;</span>
                                                          wrote:<br>
                                                          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I
                                                          can&#39;t find the
                                                          original email
                                                          on this, but
                                                          we need to do
                                                          this for<br>
                                                          1.9.  I can
                                                          start doing it
                                                          one module at
                                                          a time: </blockquote>
                                                          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
                                                          Common:<br>
keycloak-common<br>
keycloak-common-saml<br>
keycloak-common-oidc<br>
                                                          <br>
                                                          Libraries
                                                          server:<br>
                                                          <br>
                                                          keycloak-server-spi
                                                          - all SPI
                                                          interfaces and
                                                          common code<br>
                                                          keycloak-server-saml
                                                          - all saml
                                                          server code,
                                                          broker and
                                                          protocol
                                                          plugins<br>
                                                          keycloak-server-oidc
                                                          - all oidc
                                                          code, broker
                                                          and protocol
                                                          plugins<br>
                                                          keycloak-server-impl
                                                          - everything<br>
                                                          </blockquote>
                                                          <div><br>
                                                          </div>
                                                          <div>I&#39;m not
                                                          100% sure we
                                                          should put all
                                                          implementations
                                                          of SPIs into
                                                          keycloak-server-impl.
                                                          We at least
                                                          need to keep
                                                          Mongo separate
                                                          as it&#39;s not
                                                          part of the
                                                          product.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>If we put
                                                          all SPI
                                                          implementations,
                                                          including
                                                          services, into
                                                          the same
                                                          module we&#39;d
                                                          end up with
                                                          one huge
                                                          module.
                                                          There&#39;s also a
                                                          risk that we&#39;d
                                                          end up with
                                                          strong
                                                          relationships
                                                          between them,
                                                          rather than
                                                          having them
                                                          properly
                                                          linked via SPI
                                                          interfaces.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>I&#39;m a bit
                                                          50/50 on it
                                                          though.</div>
                                                          </div>
                                                        </div>
                                                      </div>
                                                    </blockquote>
                                                  </span> You do
                                                  remember how many
                                                  modules we currently
                                                  have don&#39;t you? 
                                                  Minimally, we should
                                                  have a big SPI module
                                                  right? <br>
                                                </div>
                                              </blockquote>
                                              <div><br>
                                              </div>
                                            </span>
                                            <div>I&#39;m absolutely on board
                                              with:</div>
                                            <span>
                                              <div><br>
                                              </div>
                                              <div>Common:</div>
                                              <div>keycloak-common</div>
                                              <div>keycloak-common-saml</div>
                                              <div>keycloak-common-oidc</div>
                                              <div><br>
                                              </div>
                                              <div>Libraries server:</div>
                                              <div>keycloak-server-spi<br>
                                              </div>
                                              <div><br>
                                              </div>
                                            </span>
                                            <div>So we can agree on
                                              that, I&#39;m just not 100%
                                              sure about a single module
                                              for all SPI
                                              implementations and
                                              services.</div>
                                          </div>
                                        </div>
                                      </div>
                                    </blockquote>
                                    <div><br>
                                    </div>
                                  </div>
                                </div>
                                <div>We can go with a single module if
                                  you want. Only thing that needs to be
                                  separate is Mongo at least for now as
                                  it&#39;s not going to be supported and we
                                  need to be able to remove it easily.</div>
                                <span>
                                  <div> </div>
                                  <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>
                                            <div><br>
                                            </div>
                                            <div> </div>
                                            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
                                              <div bgcolor="#FFFFFF" text="#000000"><span> <br>
                                                  <br>
                                                  <pre cols="72">-- 
Bill Burke
JBoss, a division of Red Hat
<a href="http://bill.burkecentral.com" target="_blank">http://bill.burkecentral.com</a></pre>
                                                </span></div>
                                            </blockquote>
                                          </span></div>
                                        <br>
                                      </div>
                                    </div>
                                  </blockquote>
                                </span></div>
                              <br>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                  </blockquote>
                  <br>
                  <pre cols="72">-- 
Bill Burke
JBoss, a division of Red Hat
<a href="http://bill.burkecentral.com" target="_blank">http://bill.burkecentral.com</a></pre>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <pre cols="72">-- 
Bill Burke
JBoss, a division of Red Hat
<a href="http://bill.burkecentral.com" target="_blank">http://bill.burkecentral.com</a></pre>
  </div></div></div>

</blockquote></div><br></div></div>