Feature Proposal: Display broken user links better

Motivation

There should never ever be a broken link when displaying a user online. Never. Every change needs to be tracked back to the person who did it. This is an essential part of any audit trail. Not linking to a user's online info is no solution for the same reason. Note that this is not about aesthetics. If you have broken user links, this is to be considered a setup error. The default topic-based user mapping takes care to have a user topic when a user registers online. Not an issue here. Non-standard user mappings (e.g. ldapcontrib and the like) should be able to generate a "display name" to represent a proper link to a page displaying the user information. This is not necessarily a topic; it could also be a dynamic page that displays info of a user based on url params, e.g. extracting more user information by querying an ldap directory.

More and more sites are using user managers other than the default. Some of these sites use user topics, and other don't. But when a username is referenced but there is no user topic, the link is a normal wikiword link and topic creation is invited.

Broken links look really naff when they refer to real users. It would be much better if Foswiki detected when a broken link refers to a real, known, user, and presented the text accordingly. Links to user topics (where they exist) would remain, but there would be no "create new topic" action for known users when the name is clicked.

Description and Documentation

A trivial change to the way new links are handled - look up to see if it refers to a real user - can improve the presntation of existing users significantly. The diff is attached to Tasks.Item353 (note that testcases would need to be updated before this can be released)

I see this as a small usability advantage for Foswiki.

The basic idea it to detect when a "newLink" would be used, and look at the topic (and webname) to see if
  • it refers to %<nop>USERSWEB%.XxxxXxxx
  • %<nop>USERSWEB%.XxxxXxxx does not exist
  • XxxXxxx is a valid user
If these three conditions are met, then ask the user-mapper for some HTML to use instead. The default HTML generated by the user mapping base class would be <a href="System/WikiName?wikiname=XxxXxx" class="foswikiUser">XxxXxx</a>

Impact

  1. There is a small amount of code required in Render.pm and a similar amount in UserMapping.pm.
  2. Unit test fixtures need to be updated.
%WHATDOESITAFFECT%
edit

Implementation

-- Contributors: CrawfordCurrie, MichaelDaum, SvenDowideit - 30 Nov 2008

Changed to Parked proposal. No committed developer for 7+ years. .... And NOT! Reverting to UnderInvestigation, as it does have a committed developer.

-- GeorgeClark - 03 Nov 2015
Topic revision: r7 - 03 Nov 2015, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy