implement aliasing+solution
Ideal solution might be to enable cards to have more than one name, but this has horrible performance implications. Another possibility:
Alias cardtype, which is always a Pointer to one other card. If there's an Alias card named "Nonprofit Technology Network" that aliases to "NTEN" (which is in fact the org's real name), then when someone is editing a card and saves:
- if they make a link to Nonprofit Technology Network it becomes a named link, named Nonprofit Technology Network but actually linking to NTEN. (If it's a named link, the name is left as is, but the link changes to NTEN.)
- if they include Nonprofit Technology Network, it is replaced on save with an inclusion of NTEN.
- linked/included plus cards with "Nonprofit Technology Network" as a part are treated as above, e.g., [[Nonprofit Technology Network+foo]] becomes [[Nonprofit Technology Network+foo|NTEN+foo]], and {{Nonprofit Technology Network+foo}} becomes {{NTEN+foo}}
Remaining issues:
Searches for NTEN also find Nonprofit Technology Network?
Searches for Nonprofit Technology Network also find NTEN?
Changing a card's type to Alias presumably would mean going through database and changing relevant references. Is it okay that it would then be hard to change back?
One use case is shortened tags (e.g. nvc for Nonviolent Communication). Ideally the short tag could remain, but link to the full-named card, and, searches (e.g. what's tagged with this) on the full-named card find the short tag. No easy way in the interface to make named links, and aren't we shifting Pointer items to being represented as inclusions anyway?