This means that I get the order:
WebTopicList
Weblogs

AC

try this:
Index: Store.pm
===================================================================
--- Store.pm    (revision 11101)
+++ Store.pm    (working copy)
@@ -1544,7 +1544,7 @@
     $web =~ s#\.#/#go;

     my $handler = $this->_getHandler( $web );
-    return $handler->getTopicNames();
+    return sort { lc $a cmp lc $b } $handler->getTopicNames();
 }

 =pod

WN
This would be preferable, but would it have a large inpact on performance?

AC

Looking at the code I see that handler getTopicNames is called from a lot of places where order does not really matter. So sorting the list in these cases will be overkill.

That would plead for using sort in TWiki.pm: TWiki:_TOPICLIST only.

But there is also Func:getTopicList. Would it be useful to have an optional sort parameter?

-- AC

I would be very careful, add no-case sorting only if performance is not impacted. Better to test with many topics in a web, such as 10K topics.

-- PTh

I read from this that the sort parameter would be useful. With a note about inpact on performance.

AC

I do not feel strongly one way or the other of case insensitive sort (assuming the performance is OK.)

-- PTh

Note that sorting case-insensitive will result in variable random orders, as 'ThisTopic', 'ThistopIC' and 'THISToPic' will all be treated as equivalent and will end up in an unpredictable order relative to eachother.

I recommend that this be discarded.

CC


I want to avoid perceived randomness. To a user who is not a programmer it will not be obvious that Weblogs will be below (often out of sight) WebTopicList. And in Crawford's example the topics will at least be listed in each other's neighbourhood, which I prefer to the current situation.

-- AC

I think the case-insensitive is best too. People are not programmers in general so they do not understand that A and a are far apart in the alphabet.

But before anyone jumps and implements anything, measure performance first. We should not just change and add a note about a possible performance hit. We should try it and measure and then decide. If the performance drops significantly then it is not worth it

KJL

I really can't see this as "Normal" priority, compared to other issues at that priority, so regrading to "Low".

CC

One thing to try is to configure I18N with a locale such as en_US.ISO-8859-1 - you may find it does case insensitive sorting automatically, though you would also require a one-line fix from Item3680.

RD

The sort order is well established now, and since unicode support is inherent it isn't going to change.

-- Main.CrawfordCurrie - 25 Jun 2015 - 06:15

ItemTemplate edit

Summary TOPICLIST is sorted case sensitive
ReportedBy TWiki:Main.ArthurClemens
Codebase
SVN Range Wed, 12 Apr 2006 build 9798
AppliesTo Engine
Component I18N, TOPICLIST
Priority Low
CurrentState No Action Required
WaitingFor
Checkins
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
masterCheckins
ItemBranchCheckins
Release01x01Checkins
Topic revision: r19 - 25 Jun 2015, CrawfordCurrie
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy