Page MenuHomePhabricator

Old versions of Semantic* extensions break Wikitech (after removing long-living deprecated functions from core)
Closed, ResolvedPublic

Description

So we removed deprecated stuff from MW core, Yay. But we still use old Semantic extension branches

I added https://gerrit.wikimedia.org/r/#/c/264023/ as a possible fix

I can't say I want to have that merged, but we either need something like that, or we also backport/make the wfMsg* fixes to the old branches

Then the newer branches are out of sync...

It's a mess

Or we just undeploy it all

Thoughts?

Event Timeline

Reedy raised the priority of this task from to Unbreak Now!.
Reedy updated the task description. (Show Details)
Reedy subscribed.

Wikitech will be rolled back to 1.27.0-wmf.9 so stuff isn't just broken

We should have a good look around and see what we'll lose. And then, if anything we want to re-implement etc

reedy@tin:/srv/mediawiki-staging/php-1.27.0-wmf.11/extensions$ grep -R wfMsg *
EducationProgram/RELEASE-NOTES:* Replaced all usages of wfMsg* with their modern equivalents.
LiquidThreads/classes/ThreadHistoryPager.php:		$content = wfMsgReplaceArgs( $msg, $args );
MapSources/MapSources.hooks.php:		return wfMsgReplaceArgs( $pattern, $args );
Nuke/RELEASE-NOTES:* Making use of of the new message methods introduced in MW 1.18 instead of wfMsg*.
SemanticMediaWiki/includes/articlepages/SMW_PropertyPage.php:			 $result .= wfMsgExt( 'smw_subpropertyarticlecount', array( 'parsemag' ), $resultCount ) . "</p>\n";
SemanticMediaWiki/includes/articlepages/SMW_PropertyPage.php:			$result .= wfMsgExt( 'smw_attributearticlecount', array( 'parsemag' ), $resultNumber ) . "</p>\n" .
SemanticMediaWiki/includes/articlepages/SMW_ConceptPage.php:			wfMsgExt( 'smw_conceptarticlecount', array( 'parsemag' ), $resultNumber ) .
SemanticMediaWiki/includes/datavalues/SMW_DataValue.php:			$text = call_user_func_array( 'wfMsgForContent', $args );
SemanticMediaWiki/specials/Statistics/SMW_SpecialStatistics.php:		$out = wfMsgExt( 'smw_semstats_text', array( 'parse' ),
SemanticMediaWiki/specials/QueryPages/SMW_SpecialTypes.php:					wfMsgExt( 'smw_typearticlecount', array( 'parsemag' ), $resultNumber ) . "</p>\n" .
SemanticResultFormats/formats/Filtered/views/SRF_FV_Calendar.php:				'firstDay' => ($wgAmericanDates?'0':wfMsg( 'srf-filtered-firstdayofweek' )),
SemanticResultFormats/formats/Filtered/views/SRF_FV_Calendar.php:		return wfMsg('srf-filtered-selectorlabel-calendar');
SemanticResultFormats/formats/Filtered/views/SRF_FV_List.php:		return wfMsg('srf-filtered-selectorlabel-list');
SemanticResultFormats/formats/incoming/SRF_Incoming.php:		return wfMsg( 'srf-printername-incoming' );
SemanticResultFormats/formats/incoming/SRF_Incoming.php:				return $result->addErrors( array( wfMsgForContent( 'smw_result_noresults' ) ) );
Validator/includes/Parameter.php:						wfMsgExt(
Validator/includes/Parameter.php:		$message = wfMsg( 'validator-type-' . $this->type );
Validator/includes/Parameter.php:			wfMsgExt( 'validator-describe-listtype', 'parsemag', $message )
Validator/includes/Parameter.php:			return wfMsg( $this->message );
Validator/includes/Parameter.php:	 * key, ie something that can be passed to wfMsg, then use the
Validator/includes/Parameter.php:	 * to wfMsg. Not an actual text. If you do not have a message key,
Validator/includes/criteria/CriterionIsFloat.php:		return wfMsgExt( 'validator-error-must-be-float', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionIsFloat.php:		return wfMsgExt( 'validator-list-error-must-be-float', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionIsTitle.php:		return wfMsgExt( $msg, 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionIsTitle.php:		return wfMsgExt( $msg, 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionInRange.php:		return wfMsgExt(
Validator/includes/criteria/CriterionInRange.php:		return wfMsgExt(
Validator/includes/criteria/CriterionIsNumeric.php:		return wfMsgExt( 'validator_error_must_be_number', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionIsNumeric.php:		return wfMsgExt( 'validator_list_error_must_be_number', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionHasLength.php:			return wfMsgExt( 'validator-error-invalid-length', 'parsemag', $parameter->getOriginalName(), $wgLang->formatNum( $this->lowerBound ) );
Validator/includes/criteria/CriterionHasLength.php:			return wfMsgExt(
Validator/includes/criteria/CriterionMatchesRegex.php:		return wfMsgExt( 'validator-error-invalid-regex', 'parsemag', $parameter->getOriginalName(), $this->pattern );
Validator/includes/criteria/CriterionMatchesRegex.php:		return wfMsgExt( 'validator-list-error-invalid-regex', 'parsemag', $parameter->getOriginalName(), $this->pattern );
Validator/includes/criteria/CriterionInArray.php:			return wfMsgExt(
Validator/includes/criteria/CriterionInArray.php:			return wfMsgExt(
Validator/includes/criteria/CriterionInArray.php:			return wfMsgExt(
Validator/includes/criteria/CriterionInArray.php:			return wfMsgExt(
Validator/includes/criteria/CriterionIsInteger.php:		return wfMsgExt( 'validator_error_must_be_integer', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionIsInteger.php:		return wfMsgExt( 'validator_list_error_must_be_integer', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionNotEmpty.php:		return wfMsgExt( 'validator_error_empty_argument', 'parsemag', $parameter->getOriginalName() );
Validator/includes/criteria/CriterionNotEmpty.php:		return wfMsgExt( 'validator_list_error_empty_argument', 'parsemag', $parameter->getOriginalName() );
Validator/includes/ItemParameterCriterion.php:		return wfMsgExt( 'validator-error-problem', 'parsemag', $parameter->getOriginalName() );
Validator/includes/ItemParameterCriterion.php:			wfMsgExt(
Validator/includes/definitions/ParamDefinition.php:		return wfMsg( $this->message );
Validator/includes/parserHooks/Validator_Describe.php:				$parts[] = wfMsgExt( 'validator-describe-notfound', 'parsemag', $hookName );
Validator/includes/parserHooks/Validator_Describe.php:			$description .= wfMsgExt( 'validator-describe-descriptionmsg', $descriptionData['description'] );
Validator/includes/parserHooks/Validator_Describe.php:			wfMsg( 'validator-describe-syntax' ) .
Validator/includes/parserHooks/Validator_Describe.php:		return wfMsgReal( $key, $args, true, $this->language );
Validator/includes/parserHooks/Validator_ListErrors.php:		$params['minseverity']->setDescription( wfMsg( 'validator-listerrors-par-minseverity' ) );
Validator/includes/parserHooks/Validator_ListErrors.php:			wfMsg( 'validator-listerrors-errors' )
Validator/includes/parserHooks/Validator_ListErrors.php:				$lines[] = '* ' . wfMsgExt(
Validator/includes/parserHooks/Validator_ListErrors.php:		return wfMsg( 'validator-listerrors-' . $reverseMap[$severity] );
Validator/includes/parserHooks/Validator_ListErrors.php:		return wfMsg( 'validator-listerrors-description' );
Validator/includes/Validator.php:					wfMsgExt( 'validator_error_unknown_argument', 'parsemag', $paramName ),
Validator/includes/Validator.php:					wfMsgExt( 'validator_error_required_missing', 'parsemag', $paramName ),
Validator/includes/ParserHook.php:			htmlspecialchars( wfMsgExt( 'validator-fatal-error', array( 'parsemag', 'content' ), $error->getMessage() ) ) .
Validator/includes/ParserHook.php:			$output .= wfMsgExt( 'validator_error_parameters', array( 'parsemag', 'content' ), count( $displayStuff['errors'] ) );
Validator/includes/ParserHook.php:				$output .= '<br />* ' . wfMsgExt( 'validator-warning-adittional-errors', array( 'parsemag', 'content' ), count( $displayStuff['warnings'] ) );
Validator/includes/ParserHook.php:			$output .= wfMsgExt(
Validator/includes/ParserHook.php:				wfMsgExt( 'validator_warning_parameters', array( 'parsemag', 'content' ), count( $displayStuff['warnings'] ) )
Validator/includes/ParserHook.php:		return $msg === false ? false : wfMsg( $msg );
Validator/includes/IParamDefinition.php:	 * to wfMsg. Not an actual text. If you do not have a message key,
reedy@tin:/srv/mediawiki-staging/php-1.27.0-wmf.11/extensions$

There aren't that many to fix if we wanted to go down that route; SemanticMediaWiki 1.8.x, SemanticResultsFormat 1.8.x, Validator 0.5.x

Change 264023 had a related patch set uploaded (by Reedy):
Add lots of wfMsg*() for wikitech

https://gerrit.wikimedia.org/r/264023

Change 265166 had a related patch set uploaded (by Reedy):
Replace wfMsg*() usages in 1.8.x branch for WMF usages

https://gerrit.wikimedia.org/r/265166

Change 265167 had a related patch set uploaded (by Reedy):
Replace wfMsg*() usages in 1.8.x branch for WMF usages

https://gerrit.wikimedia.org/r/265167

Change 265172 had a related patch set uploaded (by Reedy):
Replace wfMsg*() usages in 0.5.x branch for WMF usages

https://gerrit.wikimedia.org/r/265172

@Florian ^ Any chance you could review those? If there's slightly better ways things can be done, ie collapsing function calls etc, I don't really care, as long as I'm not breaking anything :P

Change 264023 abandoned by Reedy:
Add lots of wfMsg*() for wikitech

Reason:
I've made patches fixing up the extensions branches, so this is even less needed now

https://gerrit.wikimedia.org/r/264023

Change 265166 merged by jenkins-bot:
Replace wfMsg*() usages in 1.8.x branch for WMF usages

https://gerrit.wikimedia.org/r/265166

Change 265196 had a related patch set uploaded (by Alex Monk):
Update SemanticResultFormats for I4c28907d

https://gerrit.wikimedia.org/r/265196

Change 265172 merged by Florianschmidtwelzow:
Replace wfMsg*() usages in 0.5.x branch for WMF usages

https://gerrit.wikimedia.org/r/265172

Change 265167 merged by jenkins-bot:
Replace wfMsg*() usages in 1.8.x branch for WMF usages

https://gerrit.wikimedia.org/r/265167

Reviewed, merged and uploaded changes for the core submodules. But now only for wmf.10, I assume, that we need them for wmf.11, too?

Reviewed, merged and uploaded changes for the core submodules. But now only for wmf.10, I assume, that we need them for wmf.11, too?

One or both... I guess .11 needs it, as we'll be moving Wikitech there eventually..

Change 265196 abandoned by Reedy:
Update SemanticResultFormats for I4c28907d

Reason:
No-op after https://gerrit.wikimedia.org/r/#/c/265247/

https://gerrit.wikimedia.org/r/265196

All Gerrit patches merged or abandoned for this "Unbreak now" priority task. What is left to do here? Someone please lay out what else is needed.
Is this a dup of T53642: Get rid of SemanticMediaWiki/SRF/SF from wikitech.wikimedia.org?

Florian renamed this task from Decide on future of Semantic extensions on Wikitech to Old versions of Semantic* extensions break Wikitech (after removing long-living deprecated functions from core).Feb 4 2016, 5:08 PM
Florian closed this task as Resolved.
Florian assigned this task to Reedy.
Florian removed a project: Patch-For-Review.
Florian set Security to None.

Seems, that T53642: Get rid of SemanticMediaWiki/SRF/SF from wikitech.wikimedia.org is, in fact, the underlying problem of this task, while this task tries to solve two things, the question explained in the other task and the problem, that wikitech is broken as a result of the unanswered question. I've edited the task title to reflect only one problem (the broken wikitech sites) and resolved it. I think that T53642: Get rid of SemanticMediaWiki/SRF/SF from wikitech.wikimedia.org is more important because of this task.