My current setup, under which MW is running swimmingly:
Fedora 27
Apache 2.4.33
MariaDB 10.2.14
MediaWiki 1.30.0
I am attempting to upgrade to MW 1.31.0. I unzipped the tarball into a
fresh directory, copied over my LocalSettings.php file, and changed the
symlink that I use with Apache to point to the new location. I then
attempted to run maintenance/update.php and it cryptically ended with a
whimper:
====================
MediaWiki 1.31.0 Updater
Your composer.lock file is up to date with current dependencies!
Going to run database updates for wikidb
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with
--quick) ... 0
Turning off Content Handler DB fields for this part of upgrade.
Adding ipb_id field to table ipblocks ...Set $wgShowExceptionDetails =
true; and $wgShowDBErrorBacktrace = true; at the bottom of
LocalSettings.php to show detailed debugging information.
====================
I added the suggested flags to LocalSettings and got the following in my
browser:
====================
[WyJ-joCjti3zg1lzHPXHqQAAAAM] /wiki/Main_Page Wikimedia\Rdbms\DBQueryError
from line 1457 of
/var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php: A
database query error has occurred. Did you forget to run your application's
database schema updater after upgrading?
Query: SELECT
user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount
FROM `mediawiki`.`user` WHERE user_id = '1' LIMIT 1
Function: User::loadFromDatabase
Error: 1142 SELECT command denied to user 'wikiuser'@'localhost' for table
'user' (localhost)
Backtrace:
#0
/var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1427):
Wikimedia\Rdbms\Database->makeQueryException(string, integer, string,
string)
#1
/var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1200):
Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string,
boolean)
#2
/var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1653):
Wikimedia\Rdbms\Database->query(string, string)
#3
/var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1730):
Wikimedia\Rdbms\Database->select(array, array, array, string, array, array)
#4 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(1407):
Wikimedia\Rdbms\Database->selectRow(array, array, array, string, array,
array)
#5 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(537):
User->loadFromDatabase(integer)
#6
/var/www/gpf/mediawiki-1.31.0/includes/libs/objectcache/WANObjectCache.php(1240):
User->{closure}(boolean, integer, array, NULL)
#7
/var/www/gpf/mediawiki-1.31.0/includes/libs/objectcache/WANObjectCache.php(1110):
WANObjectCache->doGetWithSetCallback(string, integer, Closure, array)
#8 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(561):
WANObjectCache->getWithSetCallback(string, integer, Closure, array)
#9 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(482):
User->loadFromCache()
#10 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(420):
User->loadFromId(integer)
#11 /var/www/gpf/mediawiki-1.31.0/includes/session/UserInfo.php(88):
User->load()
#12
/var/www/gpf/mediawiki-1.31.0/includes/session/CookieSessionProvider.php(119):
MediaWiki\Session\UserInfo::newFromId(string)
#13 /var/www/gpf/mediawiki-1.31.0/includes/session/SessionManager.php(488):
MediaWiki\Session\CookieSessionProvider->provideSessionInfo(WebRequest)
#14 /var/www/gpf/mediawiki-1.31.0/includes/session/SessionManager.php(191):
MediaWiki\Session\SessionManager->getSessionInfoForRequest(WebRequest)
#15 /var/www/gpf/mediawiki-1.31.0/includes/WebRequest.php(736):
MediaWiki\Session\SessionManager->getSessionForRequest(WebRequest)
#16 /var/www/gpf/mediawiki-1.31.0/includes/session/SessionManager.php(130):
WebRequest->getSession()
#17 /var/www/gpf/mediawiki-1.31.0/includes/Setup.php(847):
MediaWiki\Session\SessionManager::getGlobalSession()
#18 /var/www/gpf/mediawiki-1.31.0/includes/WebStart.php(88):
require_once(string)
#19 /var/www/gpf/mediawiki-1.31.0/index.php(39): require(string)
#20 {main}
====================
Needless to say, I'm pretty confused here. Nothing has changed to my
configuration (and probably to the wiki's contents) since I successfully
upgraded to 1.30.0. If I switch my symlink back to point to my MW 1.30.0
install, the site loads just fine. So it appears the updater is bombing
when it tries to add the field "ipb_id" to table "ipblocks".
What confuses me is the "SELECT command denied to user 'wikiuser'@'localhost'"
error. My wiki has two MariaDB users: "wikuser" (the standard user set in
$wgDBuser) and an admin user set with $wgDBadminuser. Neither user account
has changed, either in the DB or in LocalSettings.
It *almost* looks like the updater is trying to use the standard user to do
admin functions, but even that doesn't make much sense. "wikiuser" has
SELECT access to all tables in the DB, while the admin user has all
permissions to the entire DB. So I don't see why that specific error would
crop up; even "wikiuser" should be able to perform a simple SELECT.
Fortunately, I can switch back to MW 1.30.0 pretty easily, but I thought I
ought to report the problem.
ADDENDUM: I just noticed the following in the 1.31 release notes:
====================
Important pre-upgrade notes for 1.31
- If you're using MySQL, SQLite, or MSSQL, are not using update.php to
apply schema changes, and cannot have downtime to run
migrateArchiveText.php and apply patch-drop-ar_text.sql manually, you'll
have to apply a default value to the ar_text and ar_flags columns of the
archive table or make those columns nullable before upgrading to MediaWiki
1.31. maintenance/archives/patch-nullable-ar_text.sql shows how to do this
for MySQL.
====================
Based on this, I think there's something screwy with update.php. I *am*
using update.php to apply schema changes, but I'm guessing it's not working
correctly. I have *not* tried this manual fix (and would prefer not to
unless absolutely necessary).
Jeffrey T. Darlington
General Protection Fault
https://www.gpf-comics.com/
Hi there,
Currently, I'm working on a project which requires me to extract different
features from the Wikitext of an English Wikipedia. For example, the number
of images or the number of references that are present in the Wikitext.
Although I have hardcoded some features from the scratch, I'm curious to
know if I can use "wikiclass" or some other python module to compute the
feature values.
Thanks.
Regards,
Nikhil Prakash
Hi,
A new episode of the MediaWiki podcast Between the Brackets has been
released: this one is an interview with Dustin Phillips, who is the
co-executive director of ICANNWiki (the organization), which runs ICANNWiki
(the website), which in turn is the semi-official wiki of ICANN, the
international organization responsible for the domain name system. You can
hear the episode here:
http://betweenthebrackets.libsyn.com/episode-15-dustin-phillips
-Yaron
Hello!
When new users sign up for the site, everything is fine.
But if I give a command: $ wgEmailConfirmToEdit = *true*; In order for them
to enter email, then when a new user is registered, it takes a lot of time
to load and approve it.
Does anyone know why this is happening?
Thanks.
Hi everyone,
Updated to fix a link that got split. Also, another reminder that you can
guide the future development of MediaWiki with your input.
The MediaWiki Stakeholders' Group (MWStake) [0] is gathering information
from people and organizations who are using MediaWiki for non-Wikimedia
projects. Please provide input at the link below [1] if you use or maintain
a wiki powered by MediaWiki that is not part of a Wikimedia project: for
example, a personal wiki, a wiki or wiki farm for an organization or
company, a wiki for a community group, or a wiki hosting service. Please
answer any questions you find relevant, additionally you may also review,
comment, and endorse the responses from others.
The MediaWiki Stakeholders' Group will collate this information and provide
it to the Wikimedia Foundation Platform Evolution Program team, which is
gathering input from a variety of groups with an interest in MediaWiki.
Your feedback will help frame the Platform Evolution discussions, seeking
to answer open questions, explore governance models, and identify key
MediaWiki features for future development.
[0] https://www.mediawiki.org/wiki/MediaWiki_Stakeholders%27_Group
[1] https://www.mediawiki.org/wiki/TechConf_Input
Best Regards,
Bryan Hilderbrand
Test link, please ignore:
[1]
https://www.mediawiki.org/wiki/MediaWiki_Stakeholders%27_Group/TechConf_Inp…
Hi everyone,
The MediaWiki Stakeholders' Group (MWStake) [0] is gathering information
from people and organizations who are using MediaWiki for non-Wikimedia
projects. Please provide input at the link below [1] if you use or maintain
a wiki powered by MediaWiki that is not part of a Wikimedia project: for
example, a personal wiki, a wiki or wiki farm for an organization or
company, a wiki for a community group, or a wiki hosting service. Please
answer any questions you find relevant, additionally you may also review,
comment, and endorse the responses from others.
The MediaWiki Stakeholders' Group will collate this information and provide
it to the Wikimedia Foundation Platform Evolution Program team, which is
gathering input from a variety of groups with an interest in MediaWiki.
Your feedback will help frame the Platform Evolution discussions, seeking
to answer open questions, explore governance models, and identify key
MediaWiki features for future development.
[0] https://www.mediawiki.org/wiki/MediaWiki_Stakeholders%27_Group
[1] https://www.mediawiki.org/wiki/MediaWiki_Stakeholders%27
_Group/TechConf_Input
Best Regards,
Bryan Hilderbrand
Hi,
A new episode of the MediaWiki podcast Between the Brackets has been
released: "BTB Digest 2", which, as you might guess from its name, is the
2nd episode of highlighted clips from previous episodes. It's only 25
minutes long, encompassing five episodes, containing (hopefully) the most
relevant bits. You can listen to it here:
http://betweenthebrackets.libsyn.com/episode-14-btb-digest-2
-Yaron
Updates are available for the I18nTags extension to fix an XSS
vulnerability [1].
The XSS vulnerability is exploitable by all users who can edit pages.
The stored XSS is executed by anyone viewing an affected page. It is
recommended to clear the parser cache after updating. All versions
older than 2018-08-06 are affected.
If you are running I18nTags, please update to the latest code from git
or download updated snapshots for release versions 1.27, 1.30, 1.31 or
git master from [2].
Many thanks to Kevin Israel for finding the XSS vulnerability.
[1] https://phabricator.wikimedia.org/T200973
[2] https://www.mediawiki.org/wiki/Special:ExtensionDistributor/I18nTags
-Niklas
Hello, I have not done a lot of work with MediaWiki but a client has quite an extensive site.
He would like to add a subscription/membership front door to the site so that people can subscribe and then access the thousands of pages of research.
1. Is this possible?
2. What do you recommend?
I am a beginner with Mediawiki, but have basic knowledge and can read instructions. My sense tells me I might perhaps install a front door with a system that links to the Wiki site, but am looking for recommendations.
Is here a pay wall extension? or perhaps a program like Amember? (It is installed on another client’s site and handles donations, memberships, etc.)
I’m just not sure and appreciate your advice.
Thank you, Maureen
Maureen Mead
mmeadpond(a)icloud.com