Extend TML to support identifying people
It has bugged me for some time that user and group names in TWiki are just wikinames - you have to use Main.WikiName to link to a user topic. This is clumsy for several reasons:
- It's a PITA to write
- It requires user names to be wikinames
- There is no simple way for applications, or writers, to identify where a user is referred to in text
- Many installations don't have user and group topics (e.g. groups from LDAP), resulting in a nasty broken link
- If you ever rename the Main web, you are stuffed
- It confuses the hell out of users (witness the problems reported setting up WebNotify)
Recently I've noticed people using a simple syntax to refer to users during thread-mode conversations by prefacing the name with an @ symbol. For example:
@GeoffreyChaucer
,
@OscarWilde
,
@AlbertCamus
I don't know where this came from - blogs? another wiki? - but it's a super example of a community voting with it's feet, and I think TWiki should adopt it as a means of identifying users in
TML.
There's also scope for a neat feature; if I sign a post:
--
@JosefStalin
- 03 Feb 2008
then the next occurrence(s) of
@Josef
could link to the same user. Friendlier to use first names, and quicker to type too (though it might be irritating in cultures where the first name is the surname)
--
Contributors: @CrawfordCurrie
- 03 Feb 2008
Discussion
I like the idea. But indeed, in threads people refer to others with their first name.
How would such a link look like:
- Joseph
- @Joseph
--
ArthurClemens - 03 Feb 2008
I prefer (1) myself.
--
CrawfordCurrie - 03 Feb 2008
so you're thinking ov overloading the @ character used to parse email addresses to be an findelsewhere link to the 'Main' web. Not a bad idea - though then we're talking about a user having a loginname,
TopicName, cUID and a friendlyName.
This leads into an extension that I was pondering: Adding extra info to the
TWikiUsers mapping topic. I was thinking it might be neat to enable a user to be mapped to more than one login - ie, the local auth login and their
OpenID. This would be another mapping entry - a common 'alias'.
so I could refer to
@CDot and it would work out - similarly
@QBFreak
--
SvenDowideit - 03 Feb 2008
Nice idea. At work people tend to use 3-letter initials, but as french people di not use the middle name, they tend to use first letter of first name + first 2 of last name: e.g CNA, ACL, CCU. but at the same time they do not repect always this.
So what about: if you write
@JST
-JosefStalin once, then you can use
@JST
in rest of text? (or a more readable form?
@JST
:JosefStalin,
@JST
(
JosefStalin), ...?)
On the looks, (1) is nice.
Sven, for the alias, I have already done this for the
KoalaSkin, look at
TerserSignature
--
ColasNahaboo - 03 Feb 2008
Gosh, lots of ideas coming out. Love them all!
Initials and first names have the advantage that they can be computed from within the topic text. Of course if
@JohannStrauss
comes along and interjects a comment, the meaning of
@JS
could easily change. So perhaps
@JS
and
@Josef
need to be expanded on save. The advantage of nicknames is that they are (hopefully) unique, but on the negative side are often only known to a few people.
--
@CDot
- 03 Feb 2008
The only thing that makes me wonder in this discussion is the use of Stalin as placeholder. Aren't there better names to use? However, nice ideas. I like 'em
--
CarloSchulz - 03 Feb 2008
This is reminiscent of
TopicDisplayName, where I proposed the syntax
[[^TopicName]]. Of course
[[@TopicName]] or
@TopicName would be possible as well.
--
ArthurClemens - 03 Feb 2008
mmm, local aliases like
@JST
-JosefStalin should be a fantastic way to quickly cause confusion. for eg if on another topic someone else uses
@JST
-JeremyStephenTrent.
Though - that does bring us to a root issue - do we define ways for people to use their personal nomenclature, that can then be transformed into the common one, or do we continue to use TWiki to help people develop a common nomenclature (which is what I would prefer)?
--
SvenDowideit - 03 Feb 2008
Please do not forget the performance aspect when considering both spec and implementation. It sounds like it could get expensive - at least under the current storage model.
Thinking about the feature as such we are a bit on the high side of the
NerdoMeter for common not computer people to ever use it.
--
KennethLavrsen - 03 Feb 2008
Point taken, but "Main.KennethLavrsen" is even higher on my
NerdoMeter, which was the reason for the original proposal.
Since we have the concept of user mappers we ought to leverage it; in many environments, login names are as familiar as wikinames (perhaps more so). In the interests of efficiency and common nomenclature, right now I'm leaning towards only
@WilliamShakespear
(wikiname) and
@bill
(login name) in the core.
@Will
,
@William
,
@WS
etc. could supported as options by a plugin.
(Carlo, sorry, but I was watching a programme on TV about Stalin the other day, and the name just popped into my head)
--
CrawfordCurrie - 04 Feb 2008
There would be no significant speed penalty for adding yet another mapping to the
TWikiUser topic - i do wonder though, if this entire proposal isn't just plugin territory, where @ becomes an alias for Main. or
TWiki::Func::getWebDotWikiName().
--
SvenDowideit - 05 Feb 2008