Page MenuHomePhabricator

Provide per-namespace site notices
Closed, DeclinedPublic

Description

Author: sy1234

Description:
MediaWiki:<namespace>:Sitenotice
e.g. MediaWiki:Help:Sitenotice

Implement per-namespace sitenotice functionality. For example, a sitenotice on
"Help:" would allow for a specific notification for readers of the documentation
which may not apply to the entire site.

This is much easier than inserting a template to every page in a potentially
large namespace.


Version: unspecified
Severity: enhancement

Details

Reference
bz4469

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 9:00 PM
bzimport set Reference to bz4469.
bzimport added a subscriber: Unknown Object (MLST).

robchur wrote:

Would be more inclined to use MediaWiki:Sitenotice/<namespace> syntax, falling
back to MediaWiki:Sitenotice if it doesn't exist.

avarab wrote:

(In reply to comment #1)

Would be more inclined to use MediaWiki:Sitenotice/<namespace> syntax, falling
back to MediaWiki:Sitenotice if it doesn't exist.

That would potentially conflict with the message/language syntax

robchur wrote:

(In reply to comment #3)

That would potentially conflict with the message/language syntax

Then let's use a new message altogether - "MediaWiki:Namespacebanner/<NS>".

gangleri wrote:

Hallo!

The "/" character is used already for user interface language variants. Would it
be more appropriate to use the "-" character?

"MediaWiki:Namespacebanner-<NS>"

questions:
a) In page titles namespaces are *not* casesensitive, see
[[en:mEDIawIKi:Sitenotice]]. However they will / can be in a syntax as
"MediaWiki:Namespacebanner-<NS>".
b) Should <NS> be
b1) a value (negative or positive)
b2) a "generic" namespace? "Category" or "category"?
b3) a localized namespace? Including all backward compatibility hacks?
c) Would there be a support for custom namespaces also?

best regards reinhardt [[user:gangleri]]

P.S. I emulated such a "per namespace help" using templates at "WikiPage". The
work was lost.

Fixed in CVS:
MediaWiki:Namespacebanner contains the "base name", to which the name of the
namespace is appended, like "basename-namespace". By default the base name is
also "Namespacebanner" to add confusion. In namespace names, spaces are replaced
by "-" (due to some weird message handling bug).
So the namespace-specific notice messages loke like:
"Namespacebanner-" (main namespace)
"Namespacebanner-Talk" (Talk namespace)
"Namespacebanner-MediaWiki-talk" (for MediaWiki_talk)

stanley wrote:

The feature has not been activated until now. Why?

robchur wrote:

As far as I am aware, it's not present in the code at this time. I believe the
first implementation was considered to be an absolute mess, and the second was
discovered to cause some bizarre items within the cache.

There isn't a clean implementation for this at the present time.

stanley wrote:

(In reply to comment #8)

As far as I am aware, it's not present in the code at this time. I believe the
first implementation was considered to be an absolute mess, and the second was
discovered to cause some bizarre items within the cache.

There isn't a clean implementation for this at the present time.

Bug reopened.

wiki.bugzilla wrote:

Just a note on importance:
We *really* need such a feature for mediawiki.org, where specific namespace(s)

  • different from the rest of contents on this wiki - generally should be in the

public domain; primarily for a free (and easy to copy) manual/handbook, that is
intended to be shipped with the package/distribution in the future, at least as a
download option (perhaps a specific dump).

robchur wrote:

Couple of points:

  • We need a cleaner naming scheme for the messages
  • This should be able to be switched off in the configuration, for performance

gangleri wrote:

(In reply to comment #6)

"Namespacebanner-" (main namespace)
"Namespacebanner-Talk" (Talk namespace)
"Namespacebanner-MediaWiki-talk" (for MediaWiki_talk)

(In reply to comment #11)

  • This should be able to be switched off in the configuration, for performance

There is also another point: Custom namspaces do not have "generic names".
What about using "Namespacebanner-<namespace_value>"?

"Namespacebanner-0" (for '' main namespace)
"Namespacebanner-1" (for 'Talk' namespace)
"Namespacebanner-9" (for 'MediaWiki_talk' namespace)
also
"Namespacebanner--1" (for 'Special' namespace)
"Namespacebanner-101" (for custom namespace 'Portal_talk') at
[[en:template:wikivar#ns_101]].

gangleri wrote:

Sorry! Please read above:
(In reply to comment #11)

  • We need a cleaner naming scheme for the messages

Wiki.Melancholie wrote:

Isn't the method used at [[de:MediaWiki:Noarticletext]]
working for [[MediaWiki:Sitenotice]], too?

gangleri wrote:

(In reply to comment #14)

Isn't the method used at [[de:MediaWiki:Noarticletext]]
working for [[MediaWiki:Sitenotice]], too?

You will find both *language* and *project* dependent pages at
http://de.wikipedia.org/w/index.php?title=special:Prefixindex/MediaWiki_Noarticletext_NS&namespace=10
These are located in the *template* namespace not in the MediaWiki namespace.

It creates different variants of 'MediaWiki:Noarticletext'.

Wiki.Melancholie wrote:

OK, have a look on [[b:als:MediaWiki:Anonnotice]] to see how my suggestion works
(it's the same for "MediaWiki:Sitenotice", of course)!

See [[b:als:MediaWiki Diskussion:Anonnotice]] for an overview of the namespace
messages, to see what has to be done before every namespace have its *own* (or
shared) message. Have a close look on the given comments and on the structure of
the sub pages.

Because it is possible to devide MediaWiki:Sitenotice into different sub
notices, I close this bug now.

stanley wrote:

(In reply to comment #16)

OK, have a look on [[b:als:MediaWiki:Anonnotice]] to see how my suggestion works
(it's the same for "MediaWiki:Sitenotice", of course)!

See [[b:als:MediaWiki Diskussion:Anonnotice]] for an overview of the namespace
messages, to see what has to be done before every namespace have its *own* (or
shared) message. Have a close look on the given comments and on the structure of
the sub pages.

Because it is possible to devide MediaWiki:Sitenotice into different sub
notices, I close this bug now.

Not working for me. (see
http://id.wikipedia.org/wiki/Mediawiki:Anonnotice/Mediawiki)
I put message in MediaWiki:Anonnotice/MediaWiki , the default anonnotice for
MediaWiki still MediaWiki:Anonnotice

Wiki.Melancholie wrote:

Yes, of course you have to change [[id:MediaWiki:Anonnotice]]
before; see [[b:als:MediaWiki:Anonnotice]]. --- Best regards,
Melancholie

Wiki.Melancholie wrote:

Oh, and go over [[b:als:MediaWiki_Diskussion:Anonnotice]] again to
avoid red links, etc.

stanley wrote:

Oh, and go over [[b:als:MediaWiki_Diskussion:Anonnotice]] again to
avoid red links, etc.

(In reply to comment #19)
Ah.. I understand.. You use tricky {{NAMESPACE}}. It's a workaround for this
bug. Nice. Thanks

Wiki.Melancholie wrote:

BTW: If you should think this feature should be implemented to the software,
consider reopening this bug. The advantages of a software solution would be:

  1. Messages could fall back (not every single sub page has to be appointed every

time); see comment #1

  1. By finding those MediaWiki messages in [[Special:Allmessages]] it isn't that

"intricate"

  1. Something else?

stanley wrote:

Using ParserFunctions:

{{#ifexist:MediaWiki:Sitenotice/{{NAMESPACE}}|{{MediaWiki:Sitenotice/{{NAMESPACE}}}}}}

robchur wrote:

This wasn't implemented in code, and wasn't WONTFIXED. Going to reopen.

webmaster wrote:

Any updates on this gem?

Wiki.Melancholie wrote:

Another parser function as workaround:

{{#ifeq:{{NAMESPACE}}|User talk|then text|else text}}

(BTW: {{#ifeq:{{NAMESPACEE}}|User_talk|then text|else text}})
(BTW: {{#ifeq:{{FULLPAGENAME}}|Special:Recentchanges|then text|else text}})

Wiki.Melancholie wrote:

Usage with no "else text":

{{#ifeq:{{NAMESPACE}}|User talk|then text|}}

robchur wrote:

The site notices are cached once for all views; parser functions which depend
upon {{PAGENAME}} and {{NAMESPACE}} and so on won't work properly in these.

robchur wrote:

*** Bug 6391 has been marked as a duplicate of this bug. ***

(In reply to comment #5)

questions:
a) In page titles namespaces are *not* casesensitive, see
[[en:mEDIawIKi:Sitenotice]]. However they will / can be in a syntax as
"MediaWiki:Namespacebanner-<NS>".

They won't. The MediaWiki code internally resolves 'mEDIawIKi' to 'MediaWiki'.

Doesn't the PageNotice extension (http://www.mediawiki.org/wiki/Extension:PageNotice) already provide all the needed functionality?

As the PageNotice extension (http://www.mediawiki.org/wiki/Extension:PageNotice) apparently has all the needed functionality, I'm closing this bug now. Wikis that want this functionality should open a separate bug to request installation of this extension.

Wiki.Melancholie wrote:

Not sure, but r41655 should be pretty the same when live!

Echoing comment 33; resolving as fixed.

Wiki.Melancholie wrote:

... has been reverted with r41994 (cache issues)

(In reply to comment #35)

... has been reverted with r41994 (cache issues)

Copying comment from r41655 here:


Causes a text load on parser cache hit. Reduces parser cache hit performance especially for ES clusters. Please implement this like every other double-underscore magic word and cooperate with the parser cache. Reverting.

"ES" refers to [[mw:Manual:External Storage]].

Gerrit change 105434 attempts to re-introduce this feature.

The previous implementations have never lasted long without being reverted, so to respond to previous reasons for reversion:

  • Personally I don't think the magic word is necessary, so this change does not implement it.
  • Since this feature already exists in a way (Article::showNamespaceHeader can output a header on talk pages), I can't see how this additional functionality would make the caching situation any worse, although there may well be room for improvement.

Over 10 years later and much worse bandaids are being considered (like a javacript for everyone to put in notices....) https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)&oldid=943567440#Proposal_for_a_tiny_default_gadget_displaying_a_%22Submit_this_draft%22_button_on_untagged_drafts_for_new_users Any chance this is going to attrack developers?

Jdlrobson added a subscriber: Jdlrobson.

Over 10 years later and much worse bandaids are being considered (like a javacript for everyone to put in notices....) https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)&oldid=943567440#Proposal_for_a_tiny_default_gadget_displaying_a_%22Submit_this_draft%22_button_on_untagged_drafts_for_new_users Any chance this is going to attrack developers?

the site notice code needs a lot of love, but it doesn't seem to be on anyone's roadmap, so would likely need to be led by volunteer engineers. I can be assistance in review if needed.

Unless someone has a strong use case for this and wants to act as a shepherd to make that happen this is not going to happen. Note namespace only site notices are possible with the current codebase by using one using styles. You can always output the HTML in the page, hide it via CSS and make use of the ns- classes to show it where needed.