Status: | effective |
Progress: | 100% |
Version: | 3.0.0+ |
This page describes how changes are propagated (Change Propagation) especially those that affect entity pools related to property declaration or category hierarchy modifications.
In Semantic MediaWiki, certain declarative properties (see configuration parameter $smwgChangePropagationWatchlist
Sets the properties that are relevant for property change propagation) will trigger a propagation event when a change to its value occurs.
Dispatching a change[edit]
After a propagation event has been triggered, a change propagation property will be added temporarily to store required information before the actual change takes place and the smw.changePropagationDispatch
job can dispatch necessary updates related to subjects of a property or category.
The change propagation is set to an "in waiting" state for as long as the dispatch job is only queued (i.e. the dispatch job hasn't been executed) with corresponding property or category pages being locked (see configuration parameter $smwgChangePropagationProtection
Sets whether property pages are protected from editing while a property change propagation is being processed1) to avoid having competing declarations to create inconsistencies about the characteristics of a property or category declaration while the dispatch process is on-going.
Types of changes[edit]
MediaWiki and Semantic MediaWiki work with different kinds of change propagations and includes things like:
- Template and page transcluded content
- Changes to properties
- Changes to categories
- Updates to queries
Job queue[edit]
The job queue is essential because of the potential size of required updates caused by a change to a property or category where recomputing and reassigning of annotation values becomes necessary. The past showed that attempting to update those entities online (i.e. within the same transaction request) may render a system unresponsive hereby making the propagation process infeasible2 therefore relying on the job queue has been seen as the only scalable method to postpone updates while avoiding hogging system resources.
See also[edit]
- Help page on the job queue
- Help page on property change propagation
- Help page on configuration parameter
$smwgChangePropagationProtection
Sets whether property pages are protected from editing while a property change propagation is being processed - Help page on configuration parameter
$smwgChangePropagationWatchlist
Sets the properties that are relevant for property change propagation - Help page on special property "Change propagation"Holds the new property specification of a property or category page
References
- ^ Semantic MediaWiki: GitHub issue gh:smw:2494
- ^ Semantic MediaWiki: GitHub issue gh:smw:948