SOLVED!<div><br></div><div>Root Cause: if you use "split paths" in the user repository, the current implementation fails.</div><div><br></div><div>Solution Explanation:</div><div>In the constructor of the YarepUsersIterator, there is a FOR loop:</div>
<div><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.35">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
span.s1 {color: #931a68}
span.s2 {color: #0027cc}
</style>


<p class="p1">            <span class="s1">for</span>(Node n : userNodes) {</p>
<p class="p1">                <span class="s1">if</span>(n.isResource()) {</p>
<p class="p1">                    <span class="s2">userNodeList</span>.add(n);</p>
<p class="p1">                }</p>
<p class="p1">            }</p></div><div><br>if you look up the method node.isResource() in the VirtualFileSystemNode you see that isResource() uses the node.getType() method in order to compare it to NodeType.RESOURCE.</div>
<div><br></div><div>getType() looks like this at the moment:</div><div><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.35">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
span.s1 {color: #931a68}
span.s2 {color: #0027cc}
</style>


<p class="p1">    <span class="s1">public</span> <span class="s1">int</span> getType() <span class="s1">throws</span> RepositoryException {</p>
<p class="p1">        <span class="s1">if</span> (getRepository().getMap().isCollection(<span class="s1">new</span> Path(<span class="s2">path</span>))) {</p>
<p class="p1">            <span class="s1">return</span> NodeType.<span class="s2">COLLECTION</span>;</p>
<p class="p1">        } <span class="s1">else</span> <span class="s1">if</span> (getRepository().getMap().isResource(<span class="s1">new</span> Path(<span class="s2">path</span>))) {</p>
<p class="p1">            <span class="s1">return</span> NodeType.<span class="s2">RESOURCE</span>;</p>
<p class="p1">        } <span class="s1">else</span> {</p>
<p class="p1">            <span class="s1">return</span> -1;</p>
<p class="p1">        }</p>
<p class="p2">        </p>
<p class="p1">    }</p></div><div><br></div><div>you see that the variable PATH is just used as is but in a "split path" repository like in my case, this does not work at all.</div><div><br></div><div>So the fix is to introduce split checks also in this method.</div>
<div><br></div><div>The new patch for Yarep is attached. </div><div>You can therefore replace my last patch regarding yarep with this one!</div><div><br></div><div>Can we please look into this tomorrow?</div><div><br></div>
<div>Please note that VirtualFileSystemNode.getNodes() got fixed too (but is backwards compatible).</div><div><br></div><div>Cheers</div><div>Balz</div><div><br></div><div><br></div><div><br><div class="gmail_quote">On Mon, Apr 18, 2011 at 5:16 PM, Balz Schreier <span dir="ltr"><<a href="mailto:balz.schreier@gmail.com">balz.schreier@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">hi,<div>in the meanwhile I found out the following:</div><div>in the ListUsersResource class there is an initVars() method.</div>
<div>In there is a line:</div><div>







<p>userManager.getAllUsers();</p><div><br></div><div>this returns an iterator with no items (hasNext() is false).</div><div><br></div><div>On the other hand, </div><div>







<p>userManager.getUserCount();</p></div><div><br></div>returns the correct number of users (and is also displayed on the User List Page).</div><div><br></div><div>I'm investigating further...</div><div>Cheers</div>
<div>Balz</div><div><div></div><div class="h5"><div><br><div class="gmail_quote">On Mon, Apr 18, 2011 at 4:21 PM, Balz Schreier <span dir="ltr"><<a href="mailto:balz.schreier@gmail.com" target="_blank">balz.schreier@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
hi,<div>I have now applied the configuration so that users should get searchable on the User Mgmt page.</div><div>But no users appear at all. I even registered a new user (so that it gets certainly indexed) but that didn't help either.</div>


<div><br></div><div>In general: is a reindexing necessary of the identites repository after applying this configuration?</div><div><br></div><div>The Index is there, I can see it (fulltext and properties index).</div><div>


<br></div><div>Current config is:</div><div><br></div><div>







<p><span><?</span><span>xml</span><span> </span>version<span>=</span><span>"1.0"</span><span>?></span></p>
<p><span><</span><span>repository</span><span> </span><span>class</span><span>=</span>"com.zwischengas.yarep.ZGVirtualFileSystemRepository"<span>></span></p>

<p>  <span><</span><span>name</span><span>></span>identities<span></</span><span>name</span><span>></span></p>
<p><span>  </span><span><</span><span>splitpath</span><span> </span>depth<span>=</span><span>"2"</span><span> </span>length<span>=</span><span>"2"</span><span> </span>escape<span>=</span><span>"+"</span><span>></span></p>



<p><span>    </span><span><</span><span>include</span><span> </span><span>path</span><span>=</span><span>"/users/"</span><span> </span><span>/></span><span> <!--</span> trailing slash is required!! <span>--></span></p>



<p><span>    </span><span><</span><span>include</span><span> </span><span>path</span><span>=</span><span>"/aliases/"</span><span> </span><span>/></span><span> <!--</span> trailing slash is required!! <span>--></span></p>



<p><span>  </span><span></</span>splitpath<span>></span></p>
<p><br></p>
<p><span>  </span><span><</span><span>meta</span><span> </span><span>src</span><span>=</span>"../access-control-meta"<span>/></span></p>

<p><span>  </span><span><</span><span>content</span><span> </span><span>src</span><span>=</span>"../access-control"<span>></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span><span>pattern</span><span>=</span>".*\.yarep"<span>/></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span><span>pattern</span><span>=</span>".*\.svn"<span>/></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span><span>pattern</span><span>=</span>".*\.svn.*"<span>/></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span>pattern<span>=</span><span>"\.svn"</span><span>/></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span><span>pattern</span><span>=</span>"\.svn.*"<span>/></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span><span>pattern</span><span>=</span>".*\.DS_Store"<span>/></span></p>

<p><span>    </span><span><</span><span>ignore</span><span> </span><span>pattern</span><span>=</span>".*\.swp"<span>/></span></p>

<p><span>  </span><span></</span>content<span>></span></p>
<p><br></p>
<p><span>  <!--</span> Search index <span>config</span> <span>--></span></p>
<p><span>  </span><span><</span>s:search-index<span> </span></p>
<p><span>      </span><span>xmlns:s</span><span>=</span>"<a href="http://www.wyona.org/yarep/search/2.0" target="_blank">http://www.wyona.org/yarep/search/2.0</a>"<span> </span></p>

<p><span>      </span><span>indexer-class</span><span>=</span>"org.wyona.yarep.impl.search.lucene.LuceneIndexer"<span> </span></p>
<p><span>      </span><span>searcher-class</span><span>=</span>"org.wyona.yarep.impl.search.lucene.LuceneSearcher"<span>></span></p>
<p><span>    </span><span><</span><span>index-location</span><span> </span><span>file</span><span>=</span>"../../yarep-search/users-index"<span>/></span></p>

<p><span>    </span><span><</span>repo-auto-index-fulltext<span> </span><span>boolean</span><span>=</span><span>"true"</span><span>/></span></p>

<p><span>    </span><span><</span>repo-auto-index-properties<span> </span><span>boolean</span><span>=</span><span>"true"</span><span>/></span></p>

<p><span>    </span><span><</span>lucene<span>></span></p>
<p><span>      <!--</span> <local-<span>tika</span>-<span>config</span> file="<span>tika</span>-config.xml"/> <span>--></span></p>
<p><span>      </span><span><</span><span>fulltext-analyzer</span><span> </span><span>class</span><span>=</span>"org.apache.lucene.analysis.standard.StandardAnalyzer"<span>/></span></p>

<p><span>      </span><span><</span><span>property-analyzer</span><span> </span><span>class</span><span>=</span>"org.apache.lucene.analysis.WhitespaceAnalyzer"<span>/></span></p>

<p><span>      </span><span><</span>write-lock-timeout<span> </span><span>ms</span><span>=</span><span>"3000"</span><span>/></span></p>

<p><span>    </span><span></</span>lucene<span>></span></p>
<p><span>  </span><span></</span>s:search-index<span>></span></p>
<p><span></</span>repository<span>></span></p></div><div><br></div><div>Cheers</div><div>Balz</div><div><font color="#888888"><br><br></font><div class="gmail_quote"><div><div></div><div>On Wed, Jan 5, 2011 at 1:34 PM, Michael Wechner <span dir="ltr"><<a href="mailto:michael.wechner@wyona.com" target="_blank">michael.wechner@wyona.com</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>

  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hi Balz<div><br>
    <br>
    On 1/5/11 1:24 PM, Balz Schreier wrote:
    <blockquote type="cite">Hi Michael,
      <div>do you have a wiki page showing the necessary configuration
        steps in a realm in order to make use of this new feature?</div>
      <div>because without any modification the user XMLs are not
        indexed.</div>
    </blockquote>
    <br></div>
    Have a look at<br>
    <br>
src/realms/from-scratch-realm-template/config/ac-identities-repository.xml<br>
    <br>
    and update your custom config accordingly<div><br>
    <blockquote type="cite">
      <div><br>
      </div>
      <div>I would also like to understand in a bit more detail what is
        going on under the hood: </div>
      <div>- is it using the same index as the default index from yanel?</div>
    </blockquote>
    <br></div>
    each repository can have its own index, but see below<div><br>
    <blockquote type="cite">
      <div> if not, where is the index stored?</div>
    </blockquote>
    <br></div>
    this depends on your configuration, see again<br>
    <br>
src/realms/from-scratch-realm-template/config/ac-identities-repository.xml<div><br>
    <blockquote type="cite">
      <div>- can it affect the search functionality of the default
        index? i just want to be sure that search results from the
        default index do not contain user objects.</div>
    </blockquote>
    <br></div>
    if you do it as the from scratch realm does it, where each
    repository has its own index, then no<br>
    <br>
    HTH<br><font color="#888888">
    <br>
    Michael</font><div><div></div><div><br>
    <blockquote type="cite">
      <div><br>
      </div>
      <div>cheers</div>
      <div>balz<br>
        <br>
        <div class="gmail_quote">On Tue, Dec 28, 2010 at 10:53 PM,
          Michael Wechner <span dir="ltr"><<a href="mailto:michael.wechner@wyona.com" target="_blank">michael.wechner@wyona.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">Hi Cedric<br>
            <br>
            Thanks again for your patches. I have committed them with
            some minor changes,<br>
            whereas I first had to fix the YarepItem class because it
            was not closing the OutputStream<br>
            and hence the indexing was never triggered when updating a
            user.<br>
            <br>
            One can now test it at<br>
            <br>
            <a href="http://127.0.0.1:8080/yanel/from-scratch-realm/yanel/admin/list-users.html?query=alice" target="_blank">http://127.0.0.1:8080/yanel/from-scratch-realm/yanel/admin/list-users.html?query=alice</a><br>
            <br>
            whereas you need to update/re-build Yanel first and then do
            some modifications, by changing<br>
            for example the name of these two users<br>
            <br>
            <a href="http://127.0.0.1:8080/yanel/from-scratch-realm/yanel/users/lenya.html" target="_blank">http://127.0.0.1:8080/yanel/from-scratch-realm/yanel/users/lenya.html</a><br>
            <a href="http://127.0.0.1:8080/yanel/from-scratch-realm/yanel/users/alice.html" target="_blank">http://127.0.0.1:8080/yanel/from-scratch-realm/yanel/users/alice.html</a><br>
            <br>
            The user interface needs some more work, but maybe we can
            collect some feedback first<br>
            before we continue with more improvements.<br>
            <br>
            Thanks<br>
            <br>
            Michael
            <div>
              <div><br>
                <br>
                On 10/21/10 4:18 PM, Cedric Staub wrote:<br>
                <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
                  Hello everyone<br>
                  <br>
                  In short: I built a search feature for the user
                  management page.<br>
                  <br>
                  The current implementation of Yanel's user management
                  resource does not<br>
                  support searching for users, which can be a bit
                  annoying if you have a<br>
                  realm with a lot of users. Since Yarep already has an
                  interface that<br>
                  allows to search for nodes, I built a search feature
                  for the user<br>
                  management page on top of that.<br>
                  <br>
                  There is one limitation to this approach: The search
                  feature is subject<br>
                  to the limitations of the underlying implementation,
                  e.g. if your users<br>
                  repository does not support searching it won't work. I
                  suggest the<br>
                  VirtualFileSystemRepository implementation, which can
                  be configured to<br>
                  use a Lucene search index.<br>
                  <br>
                  Attached are a series of patches for review. If anyone
                  has suggestions<br>
                  or ideas for improvements just reply to this email
                  ;-). I plan to<br>
                  improve the code and do some more testing and then
                  file a bug report<br>
                  later in order to get it commited.<br>
                  <br>
                  Have a nice day<br>
                  Cedric<br>
                </blockquote>
                <br>
              </div>
            </div>
            <font color="#888888">
              -- <br>
              Yanel-development mailing list <a href="mailto:Yanel-development@wyona.com" target="_blank">Yanel-development@wyona.com</a><br>
              <a href="http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development" target="_blank">http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development</a><br>
            </font></blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

<br></div></div>--<div><br>
Yanel-development mailing list <a href="mailto:Yanel-development@wyona.com" target="_blank">Yanel-development@wyona.com</a><br>
<a href="http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development" target="_blank">http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development</a><br></div></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>