 This topic was used to create System.FAQRebuildingWikiUsersTopic in Foswiki 1.1. Please try to keep them in sync
 This topic was used to create System.FAQRebuildingWikiUsersTopic in Foswiki 1.1. Please try to keep them in sync
 Under normal circumstances, there should be no need to rebuild your WikiUsers topic.
 Under normal circumstances, there should be no need to rebuild your WikiUsers topic.
Sometimes, the 
WikiUsers topic maintained by 
TopicUserMappingContrib may not reflect the true list of users registered on your Foswiki installation. This most commonly happens when: 
-  You deleted or renamed users and forgot to edit the WikiUsers topic, or
-  You migrated a TWiki installation and accumulated new registrations on the new WikiUsers topic before you had a chance to initialise it with the old list from the old TWikiUsers topic.
 
Assuming your wiki is configured to use 
TopicUserMappingContrib, the script below should refresh your 
WikiUsers topic with an accurate list of users. It uses the 
USERINFO macro, which protects user information from ordinary users - so this topic needs to be viewed with 
admin privileges in order for it to be useful.
%STARTSECTION{"WIKIUSERS"}%
%FOREACH{"A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z" 
    type="string" 
    format="   * $item - <a name='$item'>- - - -</a> $percentINCLUDE{
        \"%TOPIC%\"
        section=\"USERS\"
        letter=\"$item\"
    }$percent" 
}% 
%ENDSECTION{"WIKIUSERS"}%
%STARTSECTION{"USERS"}%%SEARCH{
    "name=~'^%letter%.*' AND (form.name~'*UserForm')"
    type="query"
    web="%USERSWEB%"
    nonoise="on"
    header="$n"
    format="   * $percentUSERINFO{
        \"$topic\"
        format=\"$dollarwikiname - $dollarusername\"
    }$percent - $createdate"
}%%ENDSECTION{"USERS"}% 
   Foswiki 1.0.x 
Requires 
FilterPlugin
Not tested - please refine it or tell us if it works:
<pre class="tml">
%FORMATLIST{"A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z"
   format="   * $1 - <a name='$1'>- - - -</a>
$percntSEARCH{\"name~'$1*' AND (form.name~'*UserForm')\" type=\"query\" web=\"%USERSWEB%\" nonoise=\"on\" format=\"   * $percntINCLUDE{\"%TOPIC%\" section=\"user\" usertopic=\"$dollartopic\"}$percnt - $dollarcreatedate\"}$percnt"
}%
<!--
%STARTSECTION{"user"}%$percntUSERINFO{\"%usertopic%\" format=\"$dollarwikiname - $dollarusername\"}$percnt%ENDSECTION{"user"}%
-->
</pre>
-- 
PaulHarvey - 01 Jun 2010