The problem:
References to the same concept using nearly-identical text strings, links, etc., can be sprinkled throughout a wiki, in numerous pages and/or namespaces; the likelihood of unintentional variances stymies indexing.
First conceptual solution:
This plugin should support the definition of XML-style entities with as little additional markup overhead as possible. Question: Is it possible to have a plugin action triggered by text in the wiki itself, as opposed to an embedded tag?
Each wiki or namespace may have an
entity[/m] page, on which the currently-defined entities are listed in two columns: the name of the entity itself, such as [m]homepage[/m], and the expansion of that entity, such as [m][[http://www.domain.com/jsmith/index.php|John Smith's home page]][/m]. This should be ordered alphabetically within each namespace, so that the [m]entity[/m] page for namespace [m]:foo:bar:baz[/m] includes an alphabetic list of the entities in namespace [m]:foo[/m], followed by those in [m]:foo:bar[/m], and finally those in [m]:foo:bar:baz. New entities, or redefinitions of existing ones (see below), may only be added to the current namespace.
A child namespace should be able to override entities defined within an ancestor.
Entity definition should support nesting of other entities: for example, the example
homepage[/m] entity from above might be defined as [m][[&smithsite;/index.php|John Smith's home page. If the nested entity is not defined, it should be output verbatim, with a FIXME smiley added to the end of the enclosing entity.
-----
Does anybody know of any plugin that is reasonably close to implementing this behavior? Am I proposing anything that would horribly break existing functionality within Dokuwiki?