create new tag
, view all tags

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:

  1. It's a PITA to write
  2. It requires user names to be wikinames
  3. There is no simple way for applications, or writers, to identify where a user is referred to in text
  4. Many installations don't have user and group topics (e.g. groups from LDAP), resulting in a nasty broken link
  5. If you ever rename the Main web, you are stuffed
  6. 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) smile

-- Contributors: @CrawfordCurrie - 03 Feb 2008


I like the idea. But indeed, in threads people refer to others with their first name.

How would such a link look like:

  1. Joseph
  2. @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 smile

-- 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

Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r12 - 2008-02-05 - SvenDowideit
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.