At beta.wmflabs my GlobalUserPage is working, but the personal toolbar link is red.
Description
Details
Related Objects
Event Timeline
Isn't this actually useful? The local user page might contain preferences (e.g. via #babel which is fetched by WikibaseRepo) or other stuff which I may forget about.
Making the link blue would sound like we are discouraging any and all local edits to the user page, by telling the user to entirely disregard the presence or absence of a local user page for themselves.
It's generally bad design to have a UI act in one way in one context, and in a different way in another. Redlinks should be used to indicate the non-existence of content. We're either going to treat the global user page as nonexistent (in which case it should be a redlink everywhere), or as existent (in which case it should be a blue link everywhere). Overloading the redlink metaphor with "you may have forgotten something" only to the user and only in one context is a recipe for confusion.
I would personally argue for making it a blue link; users who want to customize locally are not prevented from doing so and we should design for the common case.
What about introducing a new link color meaning "shadow page" (that could also apply to local non-existing file description pages)?
If it's all or nothing, all blue is better than all red.
What about introducing a new link color meaning "shadow page" (that could also apply to local non-existing file description pages)?
I don't think that would reduce confusion. We already have the stub threshold preference for that purpose. We could try to do better at calculating the size of the userpage which gets compared to the threshold, perhaps.
Change 191196 had a related patch set uploaded (by Legoktm):
skin: Use Title::isKnown() to check page existence in the personal urls
Change 191196 merged by jenkins-bot:
skin: Use Title::isKnown() / Title::exists() instead of Title::getArticleID()
Change 191505 had a related patch set uploaded (by Legoktm):
skin: Use Title::isKnown() / Title::exists() instead of Title::getArticleID()
Change 191505 merged by jenkins-bot:
skin: Use Title::isKnown() / Title::exists() instead of Title::getArticleID()