Editing does not change the structure. It can create
outgoing links that need to be looked up. Moving to me includes managing of children if
you move it to another hierarchy. But the incoming links still just point to the same
objects. I don't know what is needed for copying. For removing neither it just
produces broken incoming links. Did I miss a lot of things I'm not aware of?
Yes, you are right about editing.
Check the implementations of #doExecute in the subclasses of PRCommand.
- Removing needs to traverse the complete tree to nil out references,
otherwise the removed page would stick around.
- Moving and copying needs to ensure that the paths are properly
updated. Pier remembers the path string in references to be able to
regenerate an identical wiki string. This could be optimized and would
make this traversal unnecessary.
- Searching for text or for incoming references obviously needs to
traverse the complete graph. Again this could be indexed, but would
need some work.
Lukas
--
Lukas Renggli
www.lukas-renggli.ch