A text fingerprint to associate entities to paragraphs would simply be:

  • a few (10) randomly choosen words in the selected text area
  • more randomly choosen words would ease finding it again, even if a few change
  • it should contain the last (3 to 5?) words of that paragraph, for match verification
  • in the order they were taken from the text

To find the associated text paragraph again, one simply had to itterate over the whole page and simply scan for the best match. The last (3 to 5?) words could be used for verification, in that they must match - while the other randomly choosen words only should match. If they don't, then the best match would be choosen.

That way people could edit a few words, even if some entity would be associated with it. Because of the fuzziness it could still be associated to it.

The disadvantage of this idea is the speed. But on the other hand it is better than introducing pseudo-markup (hard-coded but hidden) into pages and to constantly keep any associated stuff in sync with it. (Automatically counted paragraph numbers would be more overhead.)

Andy: This looks really difficult but I would use a paragraph editor if one was available. I've reccently found that my InterWiki:HandspringTreo will not allow text areas over 1023 characters.

milky: Yes, that is what I think it could be useful for. Besides making the TableEditor more flexible, it allows to edit pages partially without separating it into _DB_F_PARTs (would be likewise complicated and slow, and also cause other problems). There has been some discussion in WikiFeatures: and on MeatBall: about such features. Also the MetaWiki:PurpleWiki implements some sort of text paragraph enumeration, where I got the general idea from - However I don't want to hardcode invisible meta data enumerations (very bug prone) into ewiki.

milky - I forgot: the most important opportunity such a feature brings is, that it can work with WikiSource and the rendered HTML page. It could more reliably associate one to the other, regardless of the used rendering kernel (see rendering_null or _phpwiki).

bottom corner