Validity of comments
Giving the users chance to edit their comment presents many problems in general. A technical one: what do we do with comment subtrees that are orphaned? The answer: we reattach them automatically. A more subtle one: when somebody writes a comment to a text, he writes it to a certain version of that text. Now if that text is changed, his comment might show him as stupid, get totally different meaning, etc. (It is funny, but it also presents possibility of malicious attacks on our own commenters :)).
One way to handle this is that we restrict edition of a comment to just appending chunks to it, or even forbid that. This, though simpler, would totally diminish the possibility to use webmore as a wiki++ engine (where edition of a page is impossible, but comments get built-in by page owners).
We choose an other way: we define validity for webmored texts. Each version of parent has its own set of childs, also versioned. Parent-child relationship has a flag showing whether this version of parent is completely accepted by comment author. Otherwise, parent is called invalid.
When we present the webmored text, we check if the currently presented parent is or isn't a valid parent?
If not, then we show this visually, for example, with a red border. Also, we make it possible for the comment owner (with some icon in the top right toolbar in expanded state) to "accept" current parent.
Acception means: adding current parent version to the "valid parents" property of the webmored text.
For invalid webmored texts, we also make it possible for everybody to see the last version of the parent for which the comment was valid. This version of parent can appear in a popup, maybe as a coloured diff.
