Item5920: TWikiGroups shows all members twice

Priority: CurrentState: AppliesTo: Component: WaitingFor:
Normal Closed Engine    
I have just applied the 4.2.2 upgrade, and now every member name in TWiki.TWikiGroups appears twice. The individual member lists for each group are displayed correctly, so the problem appears to be limited to the %GROUPS% variable (VarGROUPS) that is used in TWiki.TWikiGroups

-- TWiki:Main/SeanCMorgan - 12 Aug 2008

can you tell us alot about your config? what mappers, password mgr etc?

-- SvenDowideit - 12 Aug 2008

Apache:
  • AuthType is SSPI (for integrated Windows authentication)
  • Nothing in the Apache error log that corresponds to this event.
I may have a user mapping problem. The breadcrumb on the TWikiUsers pages looks like this:
   TWiki > Main Web > TWikiUsers (2008-07-17, !BaseUserMapping? _333)

Some LocalSite.cfg entries:
   {LoginManager} = 'TWiki::LoginManager::ApacheLogin';
   {UserMappingManager} = 'TWiki::Users::TWikiUserMapping';
   {Register}{EnableNewUserRegistration} = 1;
   {Register}{HidePasswd} = 1;
   {PasswordManager} = 'none';
   {MinPasswordLength} = 1;
   {Htpasswd}{FileName} = '';
   {Htpasswd}{Encoding} = 'crypt';
   {OS} = 'WINDOWS';
   {DetailedOS} = 'MSWin32';

Plugins: ForEachPlugin, ActionTrackerPlugin, ExternalLinkPlugin, StopWikiWordLinkPlugin
Server OS: Windows 2003 SP2
Web server: Apache 2.2.4 (win32-x86-no_ssl)
Perl version: ActivePerl-5.8.8.820 (MSWin32-x86-274739)
Client OS: Windows XP SP2
Web Browser: Internet Explorer 6 SP2

-- TWiki:Main.SeanCMorgan - 13 Aug 2008

oh. Windows :/ In that case, can you also add the Store and Search serrings from the cfg? (and if you're set for Forking, try changing it to PurePerl)

-- SvenDowideit - 14 Aug 2008

Changing {RCS}{SearchAlgorithm} from Forking to PurePerl didn't help.

Here is the cfg file (after eliding some company-specific information):
# Local site settings for TWiki. This file is managed by the 'configure'
# CGI script, though you can also make (careful!) manual changes with a
# text editor.
$TWiki::cfg{DefaultUrlHost} = '(...)';
$TWiki::cfg{PermittedRedirectHostUrls} = '(...)';
$TWiki::cfg{ScriptUrlPath} = '/bin';
$TWiki::cfg{PubUrlPath} = '/pub';
$TWiki::cfg{PubDir} = 'D:/Dev/TWiki/pub';
$TWiki::cfg{TemplateDir} = 'D:/Dev/TWiki/templates';
$TWiki::cfg{DataDir} = 'D:/Dev/TWiki/data';
$TWiki::cfg{LocalesDir} = 'D:/Dev/TWiki/locale';
$TWiki::cfg{WorkingDir} = 'D:/Dev/TWiki/working';
$TWiki::cfg{ScriptSuffix} = '';
$TWiki::cfg{Password} = '(...)';
$TWiki::cfg{SafeEnvPath} = 'C:\\windows\\system32';
$TWiki::cfg{UseClientSessions} = 1;
$TWiki::cfg{Sessions}{ExpireAfter} = 21600;
$TWiki::cfg{Sessions}{ExpireCookiesAfter} = 0;
$TWiki::cfg{Sessions}{IDsInURLs} = 0;
$TWiki::cfg{Sessions}{UseIPMatching} = 1;
$TWiki::cfg{Sessions}{MapIP2SID} = 0;
$TWiki::cfg{LoginManager} = 'TWiki::LoginManager::ApacheLogin';
$TWiki::cfg{TemplateLogin}{PreventBrowserRememberingPassword} = 0;
$TWiki::cfg{LoginNameFilterIn} = '^[^\\s\\*?~^@%`"\'&;|<>\\x00-\\x1f]+$';
$TWiki::cfg{DefaultUserLogin} = 'guest';
$TWiki::cfg{DefaultUserWikiName} = 'TWikiGuest';
$TWiki::cfg{AdminUserLogin} = 'admin';
$TWiki::cfg{AdminUserWikiName} = 'TWikiAdminUser';
$TWiki::cfg{SuperAdminGroup} = 'TWikiAdminGroup';
$TWiki::cfg{UsersTopicName} = 'TWikiUsers';
$TWiki::cfg{AuthScripts} = 'attach,edit,manage,rename,save,upload,viewauth,rdiffauth,rest';
$TWiki::cfg{AuthRealm} = 'Enter your TWiki.LoginName. (Typically First name and last name, no space, no dots, capitalized, e.g. !JohnSmith, unless you chose otherwise). Visit TWiki.TWikiRegistration if you do not have one.';
$TWiki::cfg{UserMappingManager} = 'TWiki::Users::TWikiUserMapping';
$TWiki::cfg{Register}{EnableNewUserRegistration} = 1;
$TWiki::cfg{Register}{HidePasswd} = 1;
$TWiki::cfg{PasswordManager} = 'none';
$TWiki::cfg{MinPasswordLength} = 1;
$TWiki::cfg{Htpasswd}{FileName} = '';
$TWiki::cfg{Htpasswd}{Encoding} = 'crypt';
$TWiki::cfg{OS} = 'WINDOWS';
$TWiki::cfg{DetailedOS} = 'MSWin32';
$TWiki::cfg{DenyDotDotInclude} = 1;
$TWiki::cfg{AllowInlineScript} = 1;
$TWiki::cfg{UploadFilter} = '^(\\.htaccess|.*\\.(?i)(?:php[0-9s]?(\\..*)?|[sp]htm[l]?(\\..*)?|pl|py|cgi))$';
$TWiki::cfg{NameFilter} = '[\\s\\*?~^\\$@%`"\'&;|<>\\[\\]\\x00-\\x1f]';
$TWiki::cfg{AccessibleENV} = '^(HTTP_\\w+|REMOTE_\\w+|SERVER_\\w+|REQUEST_\\w+|MOD_PERL)$';
$TWiki::cfg{AntiSpam}{EmailPadding} = '';
$TWiki::cfg{AntiSpam}{HideUserDetails} = 1;
$TWiki::cfg{AntiSpam}{RobotsAreWelcome} = 1;
$TWiki::cfg{Log}{view} = 1;
$TWiki::cfg{Log}{search} = 1;
$TWiki::cfg{Log}{changes} = 1;
$TWiki::cfg{Log}{rdiff} = 1;
$TWiki::cfg{Log}{edit} = 1;
$TWiki::cfg{Log}{save} = 1;
$TWiki::cfg{Log}{upload} = 1;
$TWiki::cfg{Log}{attach} = 1;
$TWiki::cfg{Log}{rename} = 1;
$TWiki::cfg{Log}{register} = 1;
$TWiki::cfg{ConfigurationLogName} = 'D:/Dev/TWiki/data/configurationlog.txt';
$TWiki::cfg{DebugFileName} = 'D:/Dev/TWiki/data/debug.txt';
$TWiki::cfg{WarningFileName} = 'D:/Dev/TWiki/data/warn%DATE%.txt';
$TWiki::cfg{LogFileName} = 'D:/Dev/TWiki/data/log%DATE%.txt';
$TWiki::cfg{Languages}{bg}{Enabled} = 0;
$TWiki::cfg{Languages}{cs}{Enabled} = 0;
$TWiki::cfg{Languages}{da}{Enabled} = 0;
$TWiki::cfg{Languages}{de}{Enabled} = 0;
$TWiki::cfg{Languages}{es}{Enabled} = 0;
$TWiki::cfg{Languages}{fr}{Enabled} = 0;
$TWiki::cfg{Languages}{it}{Enabled} = 0;
$TWiki::cfg{Languages}{ja}{Enabled} = 0;
$TWiki::cfg{Languages}{nl}{Enabled} = 0;
$TWiki::cfg{Languages}{pl}{Enabled} = 0;
$TWiki::cfg{Languages}{pt}{Enabled} = 0;
$TWiki::cfg{Languages}{ru}{Enabled} = 0;
$TWiki::cfg{Languages}{sv}{Enabled} = 0;
$TWiki::cfg{Languages}{'zh-cn'}{Enabled} = 0;
$TWiki::cfg{Languages}{'zh-tw'}{Enabled} = 0;
$TWiki::cfg{DisplayTimeValues} = 'servertime';
$TWiki::cfg{DefaultDateFormat} = '$year-$mo-$day';
$TWiki::cfg{Site}{Locale} = 'en_US.ISO-8859-1';
$TWiki::cfg{Site}{LocaleRegexes} = 1;
$TWiki::cfg{UpperNational} = '';
$TWiki::cfg{LowerNational} = '';
$TWiki::cfg{PluralToSingular} = 1;
$TWiki::cfg{StoreImpl} = 'RcsLite';
$TWiki::cfg{RCS}{ExtOption} = '-x,v';
$TWiki::cfg{RCS}{dirPermission} = 493;
$TWiki::cfg{RCS}{filePermission} = 420;
$TWiki::cfg{Store}{RememberChangesFor} = 2678400;
$TWiki::cfg{RCS}{asciiFileSuffixes} = '\\.(txt|html|xml|pl)$';
$TWiki::cfg{RCS}{initBinaryCmd} = '/usr/bin/rcs  -i -t-none -kb %FILENAME|F%';
$TWiki::cfg{RCS}{initTextCmd} = '/usr/bin/rcs  -i -t-none -ko %FILENAME|F%';
$TWiki::cfg{RCS}{tmpBinaryCmd} = '/usr/bin/rcs  -kb %FILENAME|F%';
$TWiki::cfg{RCS}{ciCmd} = '/usr/bin/ci  -m%COMMENT|U% -t-none -w%USERNAME|S% -u %FILENAME|F%';
$TWiki::cfg{RCS}{ciDateCmd} = '/usr/bin/ci  -m%COMMENT|U% -t-none -d%DATE|D% -u -w%USERNAME|S% %FILENAME|F%';
$TWiki::cfg{RCS}{coCmd} = '/usr/bin/co  -p%REVISION|N% -ko %FILENAME|F%';
$TWiki::cfg{RCS}{histCmd} = '/usr/bin/rlog  -h %FILENAME|F%';
$TWiki::cfg{RCS}{infoCmd} = '/usr/bin/rlog  -r%REVISION|N% %FILENAME|F%';
$TWiki::cfg{RCS}{rlogDateCmd} = '/usr/bin/rlog  -d%DATE|D% %FILENAME|F%';
$TWiki::cfg{RCS}{diffCmd} = '/usr/bin/rcsdiff  -q -w -B -r%REVISION1|N% -r%REVISION2|N% -ko --unified=%CONTEXT|N% %FILENAME|F%';
$TWiki::cfg{RCS}{lockCmd} = '/usr/bin/rcs  -l %FILENAME|F%';
$TWiki::cfg{RCS}{unlockCmd} = '/usr/bin/rcs  -u %FILENAME|F%';
$TWiki::cfg{RCS}{breaklockCmd} = '/usr/bin/rcs  -u -M %FILENAME|F%';
$TWiki::cfg{RCS}{delRevCmd} = '/usr/bin/rcs  -o%REVISION|N% %FILENAME|F%';
$TWiki::cfg{RCS}{SearchAlgorithm} = 'TWiki::Store::SearchAlgorithms::Forking';
$TWiki::cfg{RCS}{QueryAlgorithm} = 'TWiki::Store::QueryAlgorithms::BruteForce';
$TWiki::cfg{RCS}{EgrepCmd} = 'D:/Dev/GnuWin32/bin/grep -E %CS{|-i}% %DET{|-l}% -H -- %TOKEN|U% %FILES|F%';
$TWiki::cfg{RCS}{FgrepCmd} = 'D:/Dev/GnuWin32/bin/grep -F %CS{|-i}% %DET{|-l}% -H -- %TOKEN|U% %FILES|F%';
$TWiki::cfg{EnableHierarchicalWebs} = 0;
$TWiki::cfg{SystemWebName} = 'TWiki';
$TWiki::cfg{TrashWebName} = 'Trash';
$TWiki::cfg{UsersWebName} = 'Main';
$TWiki::cfg{EnableEmail} = 1;
$TWiki::cfg{WebMasterEmail} = '(...)';
$TWiki::cfg{WebMasterName} = 'TWiki Administrator';
$TWiki::cfg{MailProgram} = '';
$TWiki::cfg{SMTP}{MAILHOST} = '(...);
$TWiki::cfg{SMTP}{SENDERHOST} = '';
$TWiki::cfg{SMTP}{Username} = '';
$TWiki::cfg{SMTP}{Password} = '';
$TWiki::cfg{RemoveImgInMailnotify} = 1;
$TWiki::cfg{NotifyTopicName} = 'WebNotify';
$TWiki::cfg{SMTP}{Debug} = 0;
$TWiki::cfg{PROXY}{HOST} = '';
$TWiki::cfg{PROXY}{PORT} = '';
$TWiki::cfg{Stats}{TopViews} = 10;
$TWiki::cfg{Stats}{TopContrib} = 10;
$TWiki::cfg{Stats}{TopicName} = 'WebStatistics';
$TWiki::cfg{TemplatePath} = 'D:/Dev/TWiki/templates/$web/$name.$skin.tmpl, D:/Dev/TWiki/templates/$name.$skin.tmpl, D:/Dev/TWiki/templates/$web/$name.tmpl, D:/Dev/TWiki/templates/$name.tmpl, $web.$skinSkin$nameTemplate, TWiki.$skinSkin$nameTemplate, $web.$nameTemplate, TWiki.$nameTemplate';
$TWiki::cfg{LinkProtocolPattern} = '(file|ftp|gopher|https|http|irc|mailto|news|nntp|telnet)';
$TWiki::cfg{SiteWebTopicName} = '';
$TWiki::cfg{SitePrefsTopicName} = 'TWikiPreferences';
$TWiki::cfg{LocalSitePreferences} = 'Main.TWikiPreferences';
$TWiki::cfg{HomeTopicName} = 'WebHome';
$TWiki::cfg{WebPrefsTopicName} = 'WebPreferences';
$TWiki::cfg{NumberOfRevisions} = 4;
$TWiki::cfg{ReplaceIfEditedAgainWithin} = 3600;
$TWiki::cfg{LeaseLength} = 3600;
$TWiki::cfg{LeaseLengthLessForceful} = 3600;
$TWiki::cfg{MimeTypesFileName} = 'D:/Dev/TWiki/data/mime.types';
$TWiki::cfg{Plugins}{CommentPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{EditTablePlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{InterwikiPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{PreferencesPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{SlideShowPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{SmiliesPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{SpreadSheetPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{TablePlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{TinyMCEPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{TwistyPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{WysiwygPlugin}{Enabled} = 1;
$TWiki::cfg{PluginsOrder} = 'ForEachPlugin,SpreadSheetPlugin,CommentPlugin';
$TWiki::cfg{ExtensionsRepositories} = 'TWiki.org=(http://twiki.org/cgi-bin/view/Plugins/,http://twiki.org/p/pub/Plugins/)';
$TWiki::cfg{Extensions}{GenPDFAddOn}{htmldocCmd} = 'D:/Common/HTMLDoc/htmldoc.exe';
$TWiki::cfg{MailerContrib}{EmailFilterIn} = '';
$TWiki::cfg{Register}{AllowLoginName} = 1;
$TWiki::cfg{INCLUDE}{AllowURLs} = 1;
$TWiki::cfg{Site}{CharSet} = 'iso-8859-1';
$TWiki::cfg{Plugins}{ActionTrackerPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{ChecklistPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{EasyTimelinePlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{ExternalLinkPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{ForEachPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{StopWikiWordLinkPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{TreeBrowserPlugin}{Enabled} = 1;
$TWiki::cfg{Plugins}{TreePlugin}{Enabled} = 1;
1;

-- TWiki:Main.SeanCMorgan - 18 Aug 2008

mmm, lost track of this - why's it not marked urgent?

-- SvenDowideit - 03 Oct 2008

It's not urgrent because access control is working. Also, I'm the only who has this problem?

-- TWiki:Main.SeanCMorgan - 04 Oct 2008

I just upgraded to 4.2.3 from 4.2.0 and I am having this issue

-- TWiki:Main.JacobChamplin - 14 Oct 2008

Sorry I should also say: SuSE 10.1 (perl 5.6.1) and SuSE 11.0 (perl 5.10.0) Apache 2.2.4

-- TWiki:Main.JacobChamplin - 14 Oct 2008

Also using ApacheLogin, which is probably the common thread

-- TWiki:Main.JacobChamplin - 14 Oct 2008

Hi, same issue here with ApacheLogin and 4.2.3 It looks to me like a bug in getting users list. If I open TWikiUsers page and replace string

SomeUser - someuser - 01 Jan 2007

with

SomeUser - 01 Jan 2007

that user is no more doubled on TWikiGroups page. As soon as I return LoginName it apears two times again.

-- IvanPesin - 18 Nov 2008 - 12:14

I've tried everything I can think of, but I can't reproduce this on Foswiki, or on TWiki 4.2.3 using conventional ApacheLogin and T*UserMappingContrib.

To debug this, need the following from a site that exhibits the problem:
  1. Main.TWikiUsers
  2. Main.TWikiGroups
  3. The user topic of an affected user
  4. The relevant .htpasswd line for an affected user
-- CrawfordCurrie - 22 Nov 2008 - 14:10

This cannot be kept as waiting for Sean. He is not a user on Foswiki

They reprioritized the same bug to Normal on TWiki and they have not been able to reproduce it either.

-- KennethLavrsen - 16 Dec 2008

Are you sure about that? Sean refused the terms of use from TWiki, so maybe he just needs some pointers here.

I couldn't find any mail or way to contact him, but I couldn't find his email or any other way to get in touch with him.

Maybe some of you have older mailing lists items or something that can help us reach him?

Just a thought, as I remember quite a few people having this issue, and none of us could ever re-produce it. The only cause I found I couldn't prove, thus I'm quite eager to find back someone who has a buggy TWiki.

I remember I've helped someone on #twiki debug this site: https://carlwiki.carleton.edu/bin/view/Main/TWikiGroups but I don't remember who it was. As you can see, some users are duplicated, and some aren't. And if you look at TWikiUsers, you'll see the point I tried to make (JohnDoe - jdoe works, but JohnDoe doej is duplicated).

I'll try to grep the old logs for this conversation, see if I can find back the guy who's in charge there. Maybe he'll be interested in the fork, if we can provide him with a fix smile

-- OlivierRaginel - 20 Dec 2008

looking at the carlwiki example, I think it has something to do with a *wiki system that has run for a while with allowloginname on and las later set to allowloginname off. I will endeavour to make a diagnostic and to email the people here

It'd be interesting to see the results of :

diff --git a/core/lib/Foswiki.pm b/core/lib/Foswiki.pm
index ba99683..763e726 100644
--- a/core/lib/Foswiki.pm
+++ b/core/lib/Foswiki.pm
@@ -4318,6 +4318,9 @@ sub GROUPS {
             $descr .= ' [['
               . $this->{users}->webDotWikiName($user) . ']['
               . $this->{users}->getWikiName($user) . ']]';
+            if ($params->{debug} && $this->{users}->isAdmin($this->{user})) {
+                   $descr .= " =(<noautolink>$user</noautolink>)= ";
+           }
             if ( $limit_output == 0 ) {
                 $descr .= '<div>%MAKETEXT{"user list truncated"}%</div>';
                 last;

I've heard back from Jacob, and have now worked posisble out a way to reproduce it , but its not 'normal' I get this problem when I add 2 lines to my htpasswd file, one as SvenDowideit and another as sven (which is a difficult configuration for us to deal with, but may well not be the reported issue)

I have a change in mind that will resolve this, but I'm hoping that Jacob can help me find the root cause too. - will be resolved within the week

I'm currently using TWiki 4.2.4 with ApacheLogin and AllowLoginName (upgraded from TWiki 4.1.2), and have this issue too.

With the $descr line (from SvenDowideit patch above) applied, it shows the members like this:
TWikiAdminUser (BaseUserMapping _333) RobertGerlach (robert.gerlach) RobertGerlach (RobertGerlach)
( robert.gerlach is my login name for apache)
Not all users with a mapping are shown twice.

I've temporally applied this patch to fix it in my twiki installation:
--- TWiki/Users/TWikiUserMapping.pm
+++ TWiki/Users/TWikiUserMapping.pm
@@ -1064,10 +1064,6 @@
             # Might be a wiki name (wiki names may map to several cUIDs)
             my %names = map { $_ => 1 }
               @{$this->{session}->{users}->findUserByWikiName( $ident )};
-            # May be a login name (login names map to a single cUID)
-            my $cUID = $this->{session}->{users}->getCanonicalUserID(
-                $ident );
-            $names{$cUID} = 1 if $cUID;
             push( @l, keys %names );
         }
     }

IDEA!I can reproduce this on a fesh Foswiki installation (beta3), by adding a user with ApacheLogin mapping and a dot in the login name.

possibly related to Item6128 ?

interesting :/ that looks like code i don't remember. I'll poke it some more

if Foswiki 1.0.0 is released to plan, we won't be resolving this issue until foswiki1.0.1 - though we are planning that to be within 6 weeks, depending on feedback for our first release.

getCanonicalUserID (Users.pm) should convert login or wiki names to cUID, but it used login2cUID (accepts only a login name). The following patch fixed it.

--- lib/Foswiki/Users.pm
+++ lib/Foswiki/Users.pm
@@ -422,7 +422,7 @@ sub getCanonicalUserID {
         my $mapping = $this->_getMapping( undef, $identifier, undef, 1 );
         if ($mapping) {
             if ( $mapping->can('login2cUID') ) {
-                $cUID = $mapping->login2cUID($identifier);
+                $cUID = @{ $mapping->findUserByWikiName($identifier) }[0];
             }
             elsif ( $mapping->can('getCanonicalUserID') ) {
 

grumble - I've just converted my test system to apache auth and doted login, allowloginname , and I still cannot reproduce it. I'm not desperate for code that fixes it on your setup, I'm desperate for more information on how to get it to happen frown cos I can't really suggest that its been fixed unless I can see both the problem and the resolution - in truth we need a unit test. All the feed back I've had so far tells me about the results of the problem, not what data is causing these 2 users to exist - /me goes back to hand crafting topic META data in the hope that it will be revealed.
  • UPDATE - I've just got it - but again, it involved having incorrect information in the htpasswd file - WikiUsers topic says that SvenDowideit = sven, but the htpasswd file has a log in SvenDowideit - which confuses the hell out of the code - and thus clearly there are 2 SvenDowideit users, as the login's are treated as unique.
  • gee guys, maybe $TWiki::cfg{PasswordManager} = 'none'; is the common thread?
  • once again, I might have it - but i've had too many dissapointments so far. (maybe the pwdmgr=none and the dot are the important thing.

Robert - the last patch, is that instead of the previous one? or in addition? more importantly, I have a different and probably more correct fix that I'd like you to test if possible.. give me a bit of testing time

Patch to try:

Index: lib/Foswiki/Users/TopicUserMapping.pm
===================================================================
--- lib/Foswiki/Users/TopicUserMapping.pm   (revision 2362)
+++ lib/Foswiki/Users/TopicUserMapping.pm   (working copy)
@@ -266,7 +266,7 @@
 
         # passwd==none case generally assumes any login given exists...
         # (not positive if that makes sense for rego..)
-        return 1;
+        return 0;
     }
 
     return 0;

-- SvenDowideit - 05 Feb 2009

I see this problem as well, all but the logged in user's name appears twice. It is not due to this:

sub eachGroupMember {
    my $this = shift;
    my @list = (
        $this->{basemapping}->eachGroupMember(@_),
        $this->{mapping}->eachGroupMember(@_)
    );
    return new Foswiki::AggregateIterator( \@list, 1 );
}

The basemapping list is empty in my tests but the mapping list contains both WikiNames and login names. Presumably it should only include the WikiNames.

-- GiulianoProcida - 05 Feb 2009

that there would be wikinames and login names in the mapping's eachGroupMember list is a symptom of the problem. I am pretty sure that the patch I ask you guys to try above resolves the root cause of the problem. Please apply the patch and tell me what you find.

-- SvenDowideit - 05 Feb 2009

The patch works, including doing a fresh login. We only have a small Wiki here with no new users anticipated for a long time. Is there anything particular I should test?

-- GiulianoProcida - 05 Feb 2009

No, thats pretty much the only user facing symptom that I've been able to identify. Its a very weird case in a code path that was never designed, and each time i test it i find odd corners.

cool smile thanks!

-- SvenDowideit - 05 Feb 2009

I have commited the above change, and a few other related fixes suggested by the unit tests so that we have a bit of testing time. Please report how it goes for you

-- SvenDowideit - 06 Feb 2009

There were a couple of older changes in the file and I've applied them as well. No problems so far so I've removed myself from here. Thanks.

-- GiulianoProcida - 06 Feb 2009

Works fine as far as I can see.

-- MichaelDaum - 09 Feb 2009

I cannot see any ill effects either.

-- KennethLavrsen - 09 Feb 2009

tooooo sweet smile

-- SvenDowideit - 10 Feb 2009

Sorry for the delay.

Sven, your patch works really fine (also for Item6128). Many Thanks!

-- RobertGerlach - 10 Feb 2009

(blush, I still haven't migrated my production server to Foswiki). But the fix works on TWiki 4.2.3 as well (line 243 of /TWiki/lib/TWiki/Users/TWikiUserMapping.pm)

Thanks for your persistence on this. In contrast, here's t.o's response:
[12:47pm]SopanShewale:I am moving to next bug
[12:47pm]SopanShewale:Item5920: TWikiGroups shows all members twice
[12:47pm]SopanShewale:Issue with %GROUPS%
[12:47pm]SopanShewale:Not able to recreate this one...
[12:47pm]SopanShewale:Not urgent...
[12:47pm]SopanShewale:not a release Blocker
[12:47pm]peterthoeny:yes
[12:48pm]peterthoeny:reprio as normal
[12:48pm]SopanShewale:ok - i am moving to [...] 

-- SeanMorgan - 10 Feb 2009

WOOHOO!!

closing it as fixed. Thankyou everyone for your patience smile

-- SvenDowideit - 11 Feb 2009

ItemTemplate edit

Summary TWikiGroups shows all members twice
ReportedBy TWiki:Main.SeanCMorgan
Codebase 1.0.0, 1.0.0 beta3, 1.0.0 beta2, 1.0.0 beta1, trunk
SVN Range TWiki-5.0.0, Mon, 11 Aug 2008, build 17408
AppliesTo Engine
Component
Priority Normal
CurrentState Closed
WaitingFor
Checkins Foswikirev:2376
TargetRelease patch
ReleasedIn 1.0.1
Topic revision: r37 - 23 Feb 2009, KennethLavrsen
 
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. see CopyrightStatement. Creative Commons License