Submitted by : simon at: 2005-02-06T18:44:28+00:00 (16 years ago)
Name :
Category : Severity : Status :
Optional subject :  
Optional comment :

It's important for writing docs to be able to control the order in which subtopics are listed. The main obstacle here is coming up with an elegant UI for it.

testing --simon, Tue, 08 Feb 2005 23:31:57 -0800 reply

This is installed on (not yet in darcs). Please check the new backlinks layout works in different browsers.

idea --stefan rank, Tue, 08 Feb 2005 23:51:50 -0800 reply

works in opera7/win32 and firefox1/win32. On FrontPage the reparenting box disappears - which makes sense -, but it takes the hint for reordering subtopics with it...

My 2 cents: I would use links in the actual page content if I wanted a specific order of subtopics. To complement this I would allow a (yet unimplemented) site-wide and page-specific option to change the automatically listed subtopics from "all" to "missing-in-text". That way, you see new ones and can add them to the list. Unfotunately, this would have no simple reordering interface like the one you just implemented.

idea --simon, Wed, 09 Feb 2005 00:21:11 -0800 reply

Thanks. Subtopics reordering is available only when you have reparent permission, currently.

NB updateWikiOutline resets the subtopics ordering.

still some issues --simon, Wed, 09 Feb 2005 00:40:52 -0800 reply

Duplicate subtopic entries left over after a rename, etc.

rename issues resolved, checked in for 0.39 --simon, Wed, 09 Feb 2005 17:04:21 -0800 reply

Status: open => closed

subtopic still displayed on the old parent page after reparent --simon, Wed, 09 Feb 2005 17:29:07 -0800 reply

Severity: wishlist => normal Status: closed => open

revert --simon, Mon, 21 Feb 2005 20:39:22 -0800 reply

I've reverted some code which tries to preserve subtopics order to fix #1053. So more thought needed here.

subtopics ordering notes --Simon Michael, Fri, 25 Feb 2005 17:04:31 -0800 reply

I want to get subtopics ordering working robustly for next release. I'm discussing on irc right now if any of you would like to join in.

The only permanent page hierarchy information is the list of parents stored as an attribute on each page. Sorting that is no good obviously.

We could store a list of children instead, which could be re-ordered. But every time I've looked at it, doing it that way seems to lead to more zodb accesses & slowness when you rename, reparent etc.

The outline cache which is generated and saved as a folder attribute for fast page hierarchy queries does have lists of children, which can be re-ordered. That's what I've been doing, and it works pretty well except some parts of the code assume the cache is temporary and can be regenerated at any time. So you have to jump through hoops to preserve your custom child ordering at times. Basically the outline cache is only semi permanent. If you rename the wiki folder it gets lost, for example.

We could make the outline cache more permanent, eg make it a visible object in the folder so it doesn't go away. My reservation is that it was really quite nice and reliable to know that the master information is always on the page objects themselves, and I can regenerate the cache object at any time. Making it permanent means the wiki's structure is now spread across three kinds of object (pages, folder, "hierarchy manager").

subtopics ordering notes --Simon Michael, Fri, 25 Feb 2005 17:45:41 -0800 reply

So what is the simplest thing that could possibly work ? Where work means we can reorder subtopics, it won't forget, and it will be reliable and not be constantly throwing up new bugs and out-of-sync glitches.

update --simon, Fri, 25 Feb 2005 23:49:35 -0800 reply

The outline cache now appears in the ZMI and should survive a folder rename. Deleting it will reset any subtopic ordering. More reliance on this helper object seems to be the way to go.

I found a bug which was leaving subtopics behind on the old parent pages after a reparent. All should be working now, except updateWikiOutline should be preserving subtopics order and it isn't. Can't find it right now.

release blocker --simon, Tue, 01 Mar 2005 08:38:03 -0800 reply

Severity: normal => serious

fix checked in for 0.39 --simon, Tue, 01 Mar 2005 21:45:55 -0800 reply

Status: open => closed