Page MenuHomePhabricator

Creation of tools with wikimedia-related names blocked by global title blacklist
Open, LowPublic

Description

Workaround
Add the exact tool name desired to Wikitech's title whitelist (make sure you use start/end anchors). This edit as an example allowed creation of https://toolsadmin.wikimedia.org/tools/id/stewardbots-legacy.


https://toolsadmin.wikimedia.org/tools/create/ seems to block any account names that contain certain Wikimedia-related terms with a generic error:

Tool name is already in use or invalid.

Some examples of tool names that are rejected:

  • wikidata-massmessage (the one I actually wanted to create – see T190795)
  • w1k1d4t4-massmessage (apparently it does common 1337speak substitutions)
  • wikipedia-foo
  • wikimedia-bar

This seems to be a new restriction, since e. g. https://toolsadmin.wikimedia.org/tools/?q=wikidata shows plenty of tools with “wikidata” in their name.

If this restriction was added intentionally and will not be removed, then it should be documented on Help:Toolforge#Tool_Accounts, and the error message should be more descriptive. As it stands right now, it’s a very confusing situation IMHO.

Also, I suppose the following message, which you get for an account name like foo-, should be updated to mention this restriction too:

Must start with a-z, end with a-z or 0-9, be 1-32 characters long, and can only contain lowercase a-z, 0-9, and - characters.

Event Timeline

bd808 subscribed.

I have a suspicion that this has something to do with AntiSpoof and/or Titleblacklist, but I have not checked for any log files that might confirm this yet.

Yes, I think the change in behavior was caused by this edit to the global title blacklist.

Yes, I think the change in behavior was caused by this edit to the global title blacklist.

Toolsadmin (Striker) asks Wikitech via API if a proposed tool account name is ok as a cheap and easy way to filter out known nasty names. Wikitech opts-in to the global title blacklist, so that blacklist change is the likely cause for the filtering. Since the list of tool names is already public, it should be ok for Striker to be more descriptive in why it is rejecting a request (assuming that the API call it makes describes the rejection in a reasonable way).

bd808 renamed this task from Cannot create tools with wikimedia-related names to Creation of tools with wikimedia-related names blocked by global title blacklist.Apr 4 2018, 3:28 PM
bd808 triaged this task as Low priority.

I really don't like this, now instead of using a descriptive name "wikidata-termbox-prototype" i have to use a less descriptive name of "termbox-prototype" or "wd-termbox-prototype".

The global title blacklist has a different target use and I don't think the whole list should should be used for blacklisting tool names.

The global title blacklist has a different target use and I don't think the whole list should should be used for blacklisting tool names.

The check that Striker is currently doing for tool creation is the same check that is done for developer account creation. Specifically we call the action=query&list=users&usprop=cancreate Action API with the proposed name as an anonymous user. For wikidata-termbox-prototype this returns:

{
    "batchcomplete": true,
    "query": {
        "users": [
            {
                "name": "Wikidata-termbox-prototype",
                "missing": true,
                "cancreate": false,
                "cancreateerror": [
                    {
                        "message": "titleblacklist-forbidden-new-account",
                        "params": [
                            ".*(?:wiki(books|data|news|quote|source|species|versity|voyage)).* <newaccountonly|antispoof>",
                            "Wikidata-termbox-prototype"
                        ],
                        "code": "titleblacklist-forbidden",
                        "type": "error"
                    }
                ]
            }
        ]
    }
}

Use of TitleBacklist and AntiSpoof for naming developer accounts is very much needed. For tool accounts this looks to be something that I decided would be good during implementation, but was not historically done as far as I can tell from the OpneStackManager service group creation code.

Not being able to include Wikimedia project names in tool names is certainly annoying. There are many other things that the newaccountonly rules in the global and Wikitech TitleBacklists filter out that I personally think are very good to be blocked. I am open to being convinced that we should remove the check, but for me today the benefit of the strong language filters especially seem worthwhile.

Just put the exact name into the title whitelist (make sure you use start/end anchors). Or add a blacklist override checkbox in Striker, but I imagine there are more Wikitech admins (or people who can become one if needed) than Striker admins.

Adding to the allowed title list on wikitech as suggested by @Tgr does seem to work. I made this edit so @Urbanecm could create https://toolsadmin.wikimedia.org/tools/id/stewardbots-legacy.

Would it make more sense to do a title check instead of an account check (so it ignores newaccountonly entries)? I think you could do that with action=query&prop=info&intestactions=create. There might be weird edge cases when the page actually exists and is e.g. protected, but you get similar issues with usernames as well.