I would appreciate some discussion and feedback on a change that I have
proposed to MediaWiki core [0,1].
The DISPLAYTITLE magic word allows alternate text to be displayed for the
title of a page [2]. The SemanticTitle extension builds upon this
capability enabling alternate mechanisms to set the display title [3]. The
display title functionality in MediaWiki core is currently implemented
using the page_props table [4]. I recently proposed a MediaWiki core change
to a) encapsulate access to the page_props table in a class and b) extend
the usage of a page’s displaytitle property so that it is also used as the
link text for links to the page. That latter point is functionality
currently in the SemanticTitle extension that would be re-implemented in
core and removed from SemanticTitle. Two questions regarding the proposed
patch were raised about which I would appreciate additional discussion.
The first question is whether the display title functionality should be
re-implemented as a part of the Article or WikiPage class. I support that
suggestion, but before pursuing that path would like additional input,
because it would require a larger change to core, including a database
modification. One of the advantages of this approach would be that the
display title could be updated in the database immediately when a page is
saved; in the current approach, the update to the page_props table is
deferred, causing a lag between when the user makes the change and when
links relying upon this information would be updated accordingly.
The second question is whether querying for the display title while
creating page links would impose a performance penalty. While we have not
seen a penalty in our environment, perhaps there are environments in which
this would have a greater cost. Would this cost be significant? It is
possible that changing the implementation to being part of the Article or
WikiPage class could alleviate some of this penalty, since the display
title information could be retrieved when other information for the page is
accessed from the database.
I would appreciate additional input on these changes to help decide upon
next steps. Thank you!
Cindy (
https://www.mediawiki.org/wiki/User:Cindy.cicalese)
[0]
https://phabricator.wikimedia.org/T115331
[1]
https://gerrit.wikimedia.org/r/#/c/246246/
[2]
https://www.mediawiki.org/wiki/Manual:$wgAllowDisplayTitle
[3]
https://www.mediawiki.org/wiki/Extension:Semantic_Title
[4]
https://www.mediawiki.org/wiki/Manual:Page_props_table