Erweiterung:Popups

This page is a translated version of the page Extension:Popups and the translation is 24% complete.
Outdated translations are marked like this.
Für the feature that is powered by this extension siehe: Page Previews.
MediaWiki-Erweiterungen
Popups
Freigabestatus: stabil
Einbindung Benutzeroberfläche
Beschreibung Zeigt Popups an, wenn Benutzer mit dem Mauszeiger über Artikel-Links und Fußnotenmarkierungen fahren
Autor(en)
  • Prateek Saxena (user:Prtksxna),
  • Yair Rand,
  • Sam Smith,
  • Joaquín Oltra Hernández,
  • Bahodir Mansurov,
  • Jon Robson,
  • Piotr Miazga,
  • Jeff Hobson
  • WMDE Engineering
MediaWiki 1.37+
PHP 5.6+
Lizenz GNU General Public License 2.0 oder neuer
Herunterladen
Beispiel English Wikipedia
  • $wgPopupsVirtualPageViews
  • $wgPopupsTextExtractsIntroOnly
  • $wgPopupsStatsvSamplingRate
  • $wgPopupsRestGatewayEndpoint
  • $wgPopupsHideOptInOnPreferencesPage
  • $wgPopupsPageDisabled
  • $wgPopupsGateway
  • $wgPopupsConflictingNavPopupsGadgetName
Quarterly downloads 297 (Ranked 14th)
Public wikis using 947 (Ranked 282nd)
Übersetze die Popups-Erweiterung, wenn sie auf translatewiki.net verfügbar ist
Probleme Offene Aufgaben · Einen Fehler melden

Die Erweiterung Popups (in Special:Version als Previews bekannt) zeigt eine Seiten- und reference-Vorschau an, wenn der Mauszeiger über einen Link zu einem Artikel bzw. zu einer Referenz bewegt wird. Erstere besteht aus Zusammenfassungen des Inhalts eines Artikels, letztere zeigt den vollständigen Inhalt der Referenz.

Die Erweiterung ist eine Initiative des Design-Teams, inspiriert durch das beliebte Navigations-Popups Gadget. Derzeit ist diese Funktion auf allen Wikipedias standardmäßig für ausgeloggte Benutzer verfügbar. Eine Beschreibung der Funktionsweise der Erweiterung und weitere Informationen über ihre Verwendung in Wikimedia-Projekten finden Sie unter Seitenvorschauen.

Die Funktion Referenzvorschau wurde schließlich hinzugefügt und zielt darauf ab, einen Wunsch aus der technischen Wunschliste der deutschsprachigen Gemeinschaft zu erfüllen. Eine detailliertere Beschreibung und weitere Informationen über die Verwendung finden Sie unter Reference Previews .

Abhängigkeiten

Diese Erweiterung hat eine feste Abhängigkeit von Erweiterung:TextExtracts und Erweiterung:PageImages , wenn sie mit dem Standard-Gateway mwApiPlain verwendet wird. Es gibt auch optionale Abhängigkeiten von Beta-Funktionen (wenn Sie die Referenzvorschau als Betafunktion aktivieren wollen), und Erweiterung:EventLogging und Erweiterung:WikimediaEvents (für die Instrumentierung).

Installation

  • Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens Popups im Ordner extensions/ ablegen.
    Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
  • Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
    wfLoadExtension( 'Popups' );
    
  •   Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Example of final configuration
wfLoadExtensions( [
    'TextExtracts',
    'PageImages',
    'Popups'
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;

Konfigurationsoptionen

Option Standardwert Dokumentation
$wgPopupsVirtualPageViews false Whether the extension should log virtual pageviews.
$wgPopupsHideOptInOnPreferencesPage false Whether the option to enable/disable Page Previews should be hidden on Preferences page.
$wgPopupsOptInDefaultState 1 Default Page Previews visibility for old accounts. Has to be a string as a compatibility with beta feature settings. Für weitere Informationen siehe task T191888. This value is internally converted to the Bool type. Therefore, a value greater than or equal to 2 has the same meaning as 1.
$wgPopupsOptInStateForNewAccounts 1 Default Page Previews visibility for newly created accounts (1.32-1.43). Für weitere Informationen siehe task T191888.
$wgPopupsConflictingNavPopupsGadgetName 'Navigation_popups' The local Navigation popups gadget name used as its identifier in MediaWiki:Gadgets-definition . This gadget is incompatible with page previews. The extension will disable itself for users with the gadget enabled.
$wgPopupsConflictingRefTooltipsGadgetName ReferenceTooltips The local Tooltip für Einzelnachweise gadget name used as its identifier in MediaWiki:Gadgets-definition . This gadget is incompatible with reference previews. Reference previews will disable itself for users with the gadget enabled.
$wgPopupsGateway 'mwApiPlain' Which gateway to use for fetching Popups data. Available options: mwApiPlain, restbasePlain, restbaseHTML. Full and always up to date list is available in src/gateway/page.js.
$wgPopupsRestGatewayEndpoint '/api/rest_v1/page/summary/' Specify a REST endpoint where summaries should be sourced from. Endpoint must meet the spec at Specs/Summary/1.2.0 .
$wgPopupsReferencePreviews true Temporary feature flag to disable reference previews during development.
$wgPopupsReferencePreviewsBetaFeature true Whether Reference Previews should be available as a Beta feature. If false, Reference Previews are enabled for all users by default.
$wgPopupsStatsvSamplingRate 0 Sampling rate for logging performance data to statsv.
$wgPopupsPageDisabled Several special pages. See extension.json for the full list. List of pages that should not show Popups. Includes subpages. These pages are subject to the HTML cache policy of the wiki. A purge on these pages maybe needed to see the effect of this configuration variable. Every excluded page should be defined by a canonical name, eg: Special:Userlogin.

Page previews content

The page preview popups show an image (if one is available) and a small text excerpt.

Bild

The image comes from the Erweiterung:PageImages which returns the single most appropriate thumbnail associated with an article. It ignores maintenance templates, stubs, flag icons etc.

Text

The page previews can be configured with any compatible API that is compatible with the Page content service summary endpoint using $wgPopupsRestGatewayEndpoint. For third parties we encourage using the Page Content Service to enjoy using Popups with your local wiki.

Sie können auch die Erweiterung Erweiterung:TextExtracts benutzen. This extension has various caveats and we do not actively support use of this API.

Renderer

Diese Erweiterung hat derzeit nur einen Renderer, welcher für gewöhnliche Seiten ist.

Neue Renderer für verschiedene Arten von Seiten oder Sachen wie Einzelnachweise können leicht hinzugefügt werden.

One needs to create a new object with the following methods:

  • init
  • createPopup
  • getOffset
  • getClasses
  • processPopup

You can see details of these methods in ext.popups.renderer.article.js or this patch that adds a renderer for references.

Page previews API

Every project is different, and what displays in your previews is highly dependent on the content inside your wiki.

Popups extension has been optimized to work with Wikipedia-like content (e.g. wikitext).

If your wiki is using a different kind of content handler (for example as is the case for Wikibase ) it will need to provide its own API.

The API can be written in any language, but the response of the API must match the spec defined in Specs/Summary/1.2.0 .

Defining new APIs is out of scope for the Popups extension.

Once defined, you can configure page previews to point to your API using $wgPopupsRestGatewayEndpoint configuration option.

Bekannte Probleme

  • Users of the Translate extension should note that Page Previews requests previews in the content language of the page. If the preview contains a complete translatable block, then it will be translated. If, however, the preview contains an incomplete translateable block – because a sentence is cut off, say – then it isn't translated and will be displayed in the content language of the page. If you are observing this behavior, then you should consider marking up individual sentences in your lead section. T167852 is for a technical audience but has more information on the underlying problem.
  • Longer math formulas cutting off in preview - long math or chemical formulas (formulas wider than the preview width) display as truncated in previews. We were not able to add a gradient in order to indicate that the formula is continued on the article itself.
  • Small files may be in the "Рage information" (action=info), but not in the "Popups". Some requirements are set here - for a portrait image: exact (min) height 250 px & max width 203 px; for a landscape image: exact (min) width 320 px & max height 200 px[1]. To display, images must be able to become a thumbnail that is larger or equal to these "exact" sizes. (If you are cropping a large image to make a leading picture for an article, be sure that the picture you are creating is not smaller than the specified sizes.)

Extensibility

In MediaWiki 1.40, extensions and skins can extend the page previews functionality with their own custom preview types.

It does this by registering a PluginModules attribute in its extension.json or skin.json file that points to a ResourceLoaderModule that can register a preview type.

{
    "attributes": {
        "Popups": {
            "PluginModules": [
              "skins.skinjson.popup"
            ]
        }
    }
}

The plugin module should export information about when the preview should be displayed (via selector), and how the preview data should be retrieved (via gateway library).

module.exports = {
        // a unique ID representing your preview type.
        type,
        // CSS selector that matches your custom preview type
        selector: '.mycustomselector',
        // Gateway
        gateway: {
                fetchPreviewForTitle:  ( title, el ) => {
                	const deferred = $.Deferred();
                	deferred.resolve( {
                		title: 'Hello world',
                		extract: [
                			`Hi`
                		],
                		url: 'https://www.mediawiki.org/wiki/Extension:Popups',
                		type,
                		languageCode: 'en',
                		languageDirection: 'ltr',
                		thumbnail: undefined,
                		pageId: -1
                	} );
                	return deferred;
                }
        }
};

For real world examples, Erweiterung:Math provide smath tooltips and Erweiterung:Cite provides reference previews.

Häufig gestellte Fragen

Why can't I copy and paste text from a preview?

At time of writing, the cons of doing so outweigh the pros. Essentially it boils down to decreasing the touch area to read the article in full. Once Page Previews is deployed on English and German Wikipedia, feel free to reopen this task and reignite the discussion, but right now we have no plans.

How can I change the image that I see on preview?

How can I remove content from a page preview?

Any element marked with the noexcerpt class will be stripped from the summary.

Why is content removed from the summary?

Any HTML element marked with the class noexcerpt, mw-ref, reference, noprint, nomobile or sortkey will be removed from the summary. If the text should be displayed in the summary, you should under no circumstances use these classes in any templates that are used within the beginning section of an article.

Where do summaries come from?

These are provided by the summary REST API (Wikimedia production wikis) or the TextExtracts API in case your wiki is using the default mwApiPlain gateway.

Why are parenthetical phrases stripped?

There's a good discussion going on in T91344 in Phabricator. If you have any views on this or see any problems relating to this, please let us know there.

Why don't I see Popups outside of content namespaces?

Popups appear on links to pages in content namespaces only. This is a limitation of Popups; TextExtracts are available from other namespaces. You may work around this by appending more namespaces into $wgContentNamespaces .

Notes