You can still cause the page name (and sections of hierarchy) to disappear by reparenting a page under one of it's children. This should be self-correcting. See pages one and two.
This now results in a very ugly traceback --betabug, Wed, 18 Jul 2007 07:11:37 -0700 reply
Seems like there is some infinite recursion happening now in subtopicsEnabled, some excerpt from the Traceback (RuntimeError):
* Module Products.ZWiki.ZWikiPage, line 253, in __call__ * Module Products.ZWiki.ZWikiPage, line 266, in render * Module Products.ZWiki.pagetypes.stx, line 98, in render * Module Products.ZWiki.ZWikiPage, line 354, in renderMidsectionIn * Module Products.ZWiki.ZWikiPage, line 364, in renderMidsection * Module Products.ZWiki.OutlineSupport, line 222, in subtopicsEnabled * Module Products.ZWiki.OutlineSupport, line 222, in subtopicsEnabled * Module Products.ZWiki.OutlineSupport, line 222, in subtopicsEnabled * Module Products.ZWiki.OutlineSupport, line 222, in subtopicsEnabled and so on...
patch for circular self-referencing parent producing traceback --betabug, Wed, 18 Jul 2007 07:40:23 -0700 reply
This could fix it:
hunk ./OutlineSupport.py 220 + if primaryParent and primaryParent.getId() == self.getId(): # circular self-reference + return 1
fixed in darcs --simon, Thu, 19 Jul 2007 10:02:09 -0700 reply
Status: open => closed
That restores the old behaviour (blank title, no error). Thanks betabug!
reopened --simon, Mon, 16 Feb 2009 12:21:43 -0800 reply
Status: closed => open
A longer circular loop still caused the recursion error. I've committed a temporary partial fix for the over-complicated subtopicsEnabled method and not-robust-enough outline subsystem, so once again we show a blank title in this case. Still to do: show something more useful, and analyse the performance impact if using ancestorsAsList2 for it.