$smwgOnDeleteAction

From semantic-mediawiki.org


Configuration parameter details:
Name $smwgOnDeleteAction
Description Sets whether the update process for when a page / property and its value assignments are deleted should be send to the job queue
Default setting See below
Software Semantic MediaWiki
Since version
Until version
Configuration Installation
Keyword performance · job queue


$smwgOnDeleteAction is a configuration parameter that is used to move the update process for when a page / property and its value assignments are deleted to the job queue and thus to improve it. The configuration parameter was introduced in Semantic MediaWiki 1.9.0.1Released on 3 January 2014 and compatible with MW 1.19.0 - 1.22.x.. It was removed in Semantic MediaWiki 2.4.0Released on 9 July 2016 and compatible with MW 1.19.0 - 1.27.x. in favor of configuration parameter $smwgEnabledDeferredUpdateSets whether updates to pages are queued and executed after edits.1

Default setting[edit]

$smwgOnDeleteAction = array(
	'smwgDeleteSubjectAsDeferredJob' => false,
	'smwgDeleteSubjectWithAssociatesRefresh' => false
);

The default setting represents the legacy behaviour of Semantic MediaWiki 1.8.0Released on 2 December 2012 and compatible with MW 1.17.0 - 1.22.x
(except 1.22.1).
and lower where a subject is directly deleted when "action=delete" is executed.

Available options[edit]

  • smwgDeleteSubjectAsDeferredJob - Defers the deletion process to a background job.
  • smwgDeleteSubjectWithAssociatesRefresh - Allows to refresh entities that are connected to a deleted subject.

Changing the default setting[edit]

To modify the setting to this configuration parameter, add one of the following lines to your "LocalSettings.php" file after the enableSemantics() call:

$smwgOnDeleteAction = array(
	'smwgDeleteSubjectAsDeferredJob' => true,
	'smwgDeleteSubjectWithAssociatesRefresh' => true
);
Due to performance implications it is advisable that in case smwgDeleteSubjectWithAssociatesRefresh is enabled the deletion process is being handled as a deferred background job with smwgDeleteSubjectAsDeferredJob enabled, too.

Notes[edit]

  • If configuration parameter $smwgEnableUpdateJobsSets whether tasks are deferred until after a page was edited by using the job queue is disabled (not default) then the deletion process will always run directly even though smwgDeleteSubjectAsDeferredJob (see above) is enabled.
  • In case the deletion is executed as deferred job it is further suggested that the job queue is being run repeatedly within a narrow time frame to avoid an increased backlog.

See also[edit]

  • Task T61204 about the rationale for this configuration parameter

References

  1. ^  Semantic MediaWiki: GitHub pull request gh:smw:1435