New requirements for user signatures

Many wikis have requirements for custom user signatures. The Editing team is seeking your input on a proposal to codify some of these requirements in Wikipedia's software. This will make it easier to reply>mw:Talk pages project/replying|reply to specific comments on talk pages and to use some other tools.

You can find more details about what is being proposed, and why, below:


 * What feedback the team is seeking:  Input: your feedback 
 * Why this change is being proposed:  Background: why this change? 
 * What change is being proposed:  Proposal: signature validation requirements 
 * How these changes could affect you:  Impact: effects of change 

Input: your feedback
The team wants your feedback about this proposal.

Please post your comments about these questions talk>Talk:New requirements for user signatures|on the talk page:


 * 1)  Would these signature validations create any problems on your wiki? 
 * 2)  What do you think the team should be aware of before making this change? 
 * 3)  What should be done about existing signatures that don't meet the new limits?  For example, should they be disallowed?

Please do not feel limited by the questions above. The team wants to hear any feedback you have to share.

Background: why this change?
In 2019, volunteers from 1>mw:Talk pages consultation 2019/Participant group sign-up|20 Wikimedia projects and usergroups, along with staff from the Wikimedia Foundation, participated in the 2>mw:Talk_pages_consultation_2019|Talk pages consultation. It was an effort to define better tools for on-wiki communication.

One of the outcomes of this consultation was 1>mw:Talk_pages_consultation_2019/Phase_1_report#Replying|a request for an easier way to reply to specific comments on talk pages.

In order for 1>mw:Talk_pages_project/replying|this feature to work well, the software needs signatures to be "machine-readable", so it can reliably detect users' comments and allow replying to them.

The trouble is, while many wikis already have the necessary signature requirements in place, these requirements are not included in the software itself. This increases the chances someone will set a signature that breaks the wiki's conventions and potentially, make it more difficult for people to participate in conversations.

This additional consistency in the format of signatures would improve existing features, like 1>mw:Help:Notifications/Types#Mentions|"mention" notifications, which are only sent if the signature can be detected in your edit.

Proposal: signature validation requirements (2020)
If no significant obstacles are identified, this change could happen in April 2020. If the team needs to make significant changes as a result of your feedback, then it will take longer.

The three proposed checks are described in this section. These would be applied to user signatures in Preferences when a user saves a modified signature. Under the Editing team's proposal existing signatures will *NOT* be affected.

Disallow some invalid HTML and other linter>mw:Help:Extension:Linter|Linter errors
Most importantly, this change would disallow unclosed formatting tags, like  or the corresponding wikitext markup,  , without a matching closing tag (in this case,  or  , respectively). Signatures containing invalid markup can affect the entire discussion page, when the formatting continues into subsequent comments.

The check would also identify misnested-tag>Special:LintErrors/misnested-tag</>|misnested tags, like <tvar|example> </> (either both of the <tvar|i> </>, or both of the <tvar|b> </>, tags should be on the outside), and stripped-tag>Special:LintErrors/stripped-tag</>|stripped tags, which are closing tags without a corresponding opening tag (the opposite of the "unclosed formatting tag" listed above).

Signatures that contain some less critical problems would also be disallowed, e.g., obsolete HTML tags like <tvar|tt><tt ></tt></> and <tvar|font><font ></font></>. While these do not cause immediate issues, doing this would prevent the spread of obsolete code to new wiki pages, which is an annoyance for editors cleaning up Linter errors.

A full list of syntax features that would not be allowed, along with links to pages that explain how to update or fix code with Linter errors, is available at Linter>mw:Help:Extension:Linter#Documentation of lint issues</>|this address.

Unclosed formatting tags were already supposed to be prevented by the software, but due to limitations of the current wikitext parser, this worked only in some cases. A more robust solution has become possible thanks to Parsoid.

Require a link to user page, talk page or contributions
Various tools don't work correctly when a signature does not contain at least one of the following links: a link to the user's user page, user talk page, or contributions page. For example, mention>mw:Help:Notifications/Types#Mentions</>|"mention" notifications are not sent, and forthcoming discussionTools>mw:Extension:DiscussionTools</>|DiscussionTools will not allow replying to comments with these invalid signatures. Gadgets and other tools that interact with signatures also may not work as expected.

This requirement has been present for a long time in many Wikimedia wikis' policies, but it has not been enforced by the MediaWiki software.

Disallow "nested" substitution in signature
Some use of <tvar|subst>subst:</> markup and tildes would also be disallowed in signatures. Previously, it was possible to use these features to set a signature that would cause a subsequent editor's name to be placed on your comments. All forms of signature forgery have long been banned by policy at the larger wikis, and this type of forgery will now be prevented in software. Simple subst: markup is still allowed.

Disallow line breaks in signature
The signature must consist of a single line of wikitext. Line breaks can result in incorrect formatting when the signature is used in a nested comment. They can also cause problems with tools used on discussion pages. This affects the literal carriage return and line feed characters, not  and.

At this time, you cannot add these characters to a custom signature in Special:Preferences. This proposal will prevent them from being added via a substituted signature template or by editing your preferences programatically.

What would happen to existing signatures?
Any existing signatures that would become invalid under the new rules are still allowed (clause>:en:Grandfather_clause</>|grandfathered in). When viewing your preferences, you would see a warning message about this, and if you try to change the signature, the new one must be valid. But if you don't change it, the old invalid signature will continue to be used when you sign, and you'll be able to change your other preferences without affecting it.

We're looking for feedback as to whether you would like existing invalid signatures to be disallowed. If invalid signatures are disallowed, the default signature would be inserted when affected users sign their comments, until they correct their personalized signatures.

When might these changes take place?
Please comment before 31 March 2020. The Editing team will make decisions about this project in early April. The results will be posted on the talk page.

If no obstacles are identified, this change would happen no earlier than April 2020. This date could be pushed back if the team needs to implement significant changes as a result of your feedback.

How will we know what changes are happening?
We'll include another notice in <tvar|technews>Tech/News</> when this change is about to be deployed.

What might the signature validation errors look like?
The HTML/lint errors include links to existing documentation about lint errors, such as <tvar|lint>Help:Extension:Linter/missing-end-tag</>, and a button to highlight the problematic part of the signature.

The required link errors include example wikitext syntax to use.

Outcome
The proposal was largely accepted. In response to comments from volunteers, a few small changes were made and a few points were clarified.


 * 1) Disallow some invalid HTML and other linter>mw:Help:Extension:Linter</>|Linter errors
 * The scope of these changes will be reduced. misnested>Special:LintErrors/misnested-tag</>|Misnested and stripped>Special:LintErrors/stripped-tag</>|stripped tags will be rejected.  Some low-priority errors will still be accepted.  Specifically, obsolete HTML tags like <tvar|tt> </> and <tvar|font> </> will not be banned at this time.  This decision does not prejudice any future decision for or against removing these obsolete HTML tags.
 * 1) Require a link to user page, talk page or contributions
 * This will be implemented as originally planned.
 * For clarity, there must be at least one local direct link (not via a redirect, e.g. from old username) to one of those pages. Thus, a signature of   would be acceptable (one local link, one link to another wiki), but a signature that includes only links to another wiki, or only redirects from a former username, will be invalid.  This is for technical reasons.
 * 1) Disallow "nested" substitution in signature
 * This will be implemented as originally planned.

The process for implementing this change is:


 * ✅ A general announcement will be made in TechNews>m:Tech/News</>|Tech News when the new requirements are deployed.
 * ✅ Once the software change has been made on the servers, users will no longer be able to save invalid custom signatures. However, existing signatures will remain.
 * Active editors with invalid signatures will be encouraged to change their signatures. This process will likely take some months.
 * Eventually, all signatures will need to conform. If editors do not correct their custom signatures, then their custom signatures will stop working, and the default signature will appear instead.

Third-party wikis will be able to enable this change manually.