Result printer (deferred mode)

Jump to: navigation, search
Result printer (deferred mode)
@deferred as identifier to delay the query execution and result output generation
Image / Video collection
Table of Contents

SMW 3.0 extends the #ask and #show parser function with the @deferred1 fixed identifier to support the postponement of query execution and hereby defer (delay) the generation of query results for embedded queries until after the page build process has been completed. The objective is to enable a result printer to build results independent from the article flow and static HTML by creating a more responsive result output.

{{#ask: [[Category:Lorem ipsum]]

Features and limitations

  • Format table, list, category, template, and embedded are enabled (ResultPrinter::isDeferrable) to support the @deferred mode
  • ResultPrinter::isExportFormat formats and limit=0 queries are excluded from the @deferred mode (those queries don't create an active repository connection during the page build process)

Dynamic output control

A result output generated using the @deferred mode has a distinct control over its display characteristics (using the Ajax technique) and allows for its display to be independent from other article content.

To make us of the output control, @control was added1 as an identifier to help with the generation of different control elements that are separate from a result printer (or format). By default, the identifier can be assigned a slider attribute to add a slider widget which can dynamically alter a query result by modifying the limit parameter.


  • sandbox:2398 includes examples for the table, category, and embedded result display

See also


  1. a b  Semantic MediaWiki: GitHub pull request gh:smw:2398 (Add support for @deferred mode)