Page MenuHomePhabricator

Configure if "real name" should be used for display purposes everywhere
Open, Needs TriagePublicFeature

Description

Feature summary (what you would like to be able to do and where):

  1. Have a configuration parameter wgDisplayRealNamesEverywhere (default false)
  2. (optional) On the User class, and possibly related classes representing "persons" (Authority, Useridentity, Actor, ...), have a function getNameForDisplay that returns user_real_name if this config parameter is true and field is not empty, and user_name if real name is empty or config parameter is false
  3. All extensions etc eventually implement this config parameter.

Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):

  1. Have a wiki for a corporation that employs multiple users that have in their passport "John Doe"
  2. People/corporate wants to have display name their actual name, i.e. "John Doe", and not something like "John Doe2"
  3. Login code etc requires user_name to be unique, otherwise both John Doe users use the same account.

Main problem currently is that there are some config parameters to do it in certain places (e.g. $wgEnotifUseRealName), and there is an extension that helps display realnames in some places (https://www.mediawiki.org/wiki/Extension:Realnames), but this does not work universally; Most extensions display the user_name instead of the user_real_name, or each extension has a custom config parameter that allows this behaviour, but it is spotty at best.

Benefits (why should this be implemented?):

  1. All extensions can use the same config parameter, making configuration of this type be simpler.
  2. No "hacks" need to be used to display real names everywhere (With all respect, Extension:Realnames is a good extension for what is currently possible, but it is fundamentally not the best solution)
  3. Real names can be displayed in email, core code, extension code, etc, using one simple config parameter.