Tillägg:WikibaseMediaInfo
WikibaseMediaInfo är ett tillägg till Wikibase som lägger till en MediaInfo-entitet för att hantera strukturerad data för multimediefiler.
Tillägget hakar på på filsidan. Den lagrar kompletterande metadata (bildtexter och avbildaruttalanden) för filen i en MediaInfo-entitet. Användaren kan visa, skapa, redigera och radera denna data.
Systemkrav
Installation
- Ensure these extensions are installed and set up properly: CirrusSearch, Wikibase (Client and Repository), and WikibaseCirrusSearch.
- Ladda ner och placera filen/filerna i en katalog som heter
WikibaseMediaInfo
i dinextensions/
-mapp.
Utvecklare och personer som bidrar med kod borde istället installera tillägget från Git, med:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseMediaInfo - Kör bara Composer när du installerar från Git för att installera PHP-beroenden, genom att använda
composer install --no-dev
i tilläggets katalog. (Se ärende T173141 för tänkbara besvär.) - Lägg till följande kod längst ner i din LocalSettings.php -fil:
wfLoadExtension( 'WikibaseMediaInfo' );
- Kör uppdateringsskriptetsom automatiskt kommer skapa de nödvändiga databastabellerna som tillägget behöver.
- Configure as reqiured.
- Klart – Ta dig till Special:Version på din wiki för att bekräfta att tillägget har installerats ordentligt.
MediaInfo UI
MediaInfo-entiteter visas på, och kan redigeras från, sin associerade Fil-sida och medan man laddar upp en fil via Uppladdningsguiden.
There are separate sections in the UI for editing captions and statements.
An editing interface is always shown for default properties (defaults are defined in config). On live Commons, depicts is the only default property — users are encouraged to describe what an image depicts. Statements with other properties can be added by the user at will.
Ordlista
MediaInfo-entitet
En Wikibase-entitet som innehåller strukturerad data om mediefiler. It is stored in a slot on a File page and consists of
- an ID in the form Mxxx, where xxx is the id of the associated wiki page
- valfritt antal bildtexter (en per språk)
- valfritt antal uttalanden
Bildtext
En kortare text som beskriver mediefilen, plus dess språk. Used to provide a short description of the file (the same as 'labels' in Wikibase).
Statement
A single fact about a media file consisting of a key-value pair such as Licence=CC-BY-SA
or Depicts=Dog
.
Keys are always a property. Values can be any wikibase datatype.
Strictly, a wikibase 'statement' means a key-value pair (a 'claim') plus a rank (preferred
, normal
, or deprecated
) and zero or more documentary references.
We don't typically have documentary references for descriptions of files, and all statements have a normal
rank by default, so in MediaInfo, we prefer to use the term 'statement' instead of 'claim'.
Property
A property is a file's property that can have a value - for example, 'depicts' (what an image is a picture of), 'resolution', 'created by', 'license'.
Each property has a unique id in wikibase in the form Pxxx
such as P123
.
Item
An item is a concept, topic, or object with an ID - for example, on Wikidata, the CC0 license is Q6938433, physics is Q413 and the planet Earth is Q2.
Each item has a unique id in wikibase in the form Qxxx
such as Q123
.
Bestämning
En bestämning är ett ytterligare uttalande som modifierar det första uttalandet. Exempelvis kan en bild ha ett trä i förgrunden och havet i bakgrunden, varför det kan ha 2 associerade "motiv"-påståenden - 'motiv=träd(gäller=förgrund)' och 'motiv=hav(gäller=bakgrund)'.
Söka
Söka efter bildtext
Users can search for files by their MediaInfo captions just as they would search for anything else. For example, if a user uploads a picture of the Eiffel Tower and enters 'Tour Eiffel' (French) and 'Eiffel Tower' (English) as multilingual file captions, the picture is findable by another user searching for either 'Eiffel Tower' or 'Tour Eiffel'.
Searching for claims/statements
Searching for claims/statements happens via WikibaseCirrusSearch keywords; for details, see:
Search implementation
When the File page is saved, the following MediaInfo data is written to the Elasticsearch index (all examples use Wikidata Property and Item IDs):
- Captions data in every language is stored in the
opening_text
field
- Claims are stored in the format
propertyID=value
as array elements in thestatement_keywords
field using the Wikibase property ID (and item ID, if the value is an item)
- , e.g., 'depicts house cat' is stored as P180=Q146
- Claims with qualifiers are stored in the
statement_keywords
field along with their qualifiers in the formatpropertyID=value[qualifierPropertyID=qualifierValue]
. For example, the Mona Lisa painting (Wikidata item Q12418) depicts a sky (Q13217555) in the background (Wikidata property P518). If we arrange this data in a Wikibase claim, it would be: 'depicts sky, applies to part background', which would be stored asP180=Q12418[P518=Q13217555]
- Note that claims with qualifiers are also stored without the qualifier to increase their findability. So, for example, if someone entered the above claim-plus-qualifier, the claim
P180=Q12418
is also stored, so that someone can find the file by searching for 'depicts sky' alone, as well as by searching for 'depicts sky, applies to part background'.
- Claims data with qualifiers where the qualifier value is a quantity is stored in the
statement_quantity
field in the formatpropertyID=value|quantity
, e.g., 'depicts human, quantity 1' is stored asP180=Q5|1
.
Note that not all claims are stored. A claim will be indexed in ElasticSearch only if ALL of the following conditions are true:
- The claim has a real value (i.e., its value is not 'no value' or 'unknown value') AND
- We know how to process its value for indexing. More value processors may be added in the future, but currently, we require the claim's value to be either a Q item ID, a string (alphanumeric), or a quantity (numeric) AND
- the claims's Wikidata property ID is NOT in a configurable list of excluded IDs (
$wgWBRepoSettings[ 'searchIndexPropertiesExclude' ]
) AND either its property ID is in a configurable list of property IDs that should be indexed ($wgWBRepoSettings[ 'searchIndexProperties' ]
) OR its property type is in a configurable list of property types that should be indexed ($wgWBRepoSettings[ 'searchIndexTypes' ]
)
Note that for a claim's quantities to be stored, the claim must meet all the criteria above AND the property ID for the quantity qualifier must be present in a configurable list of property IDs ($wgWBRepoSettings[ 'searchIndexQualifierPropertiesForQuantity' ]
).
MediaSearch search profile
Structured data (captions and statements) are now also included in the default search profile when searching (only) in the NS_FILE
namespace.
Search terms like "dog" will also include files where the caption (in the user's language) contains "dog", or contains a statement P180=Q144
(depicts=dog).
The Extension: WikibaseMediaInfo/MediaSearch subpage provides a more elaborate (technical) writeup of the MediaSearch search profile.
Konfigurering
Tilläggets konfigureringsvariabler är uppsättningar av nyckel-värdepar.
They are documented in more detail in WikibaseMediaInfo/extension.json
.
All config variables are added toLocalSettings.php
.
Följande konfigureringsalternativ är tillgängliga för tillägget:
Config (in LocalSettings.php)
$wgMediaInfoProperties
Default wikibase properties that will always be shown, allowing users to add/edit/delete values for them, on the File page/UploadWizard, regardless or not they already have a value. This is the depicts (P180) property on live Commons, as we want to encourage users to fill in values for this in particular. Value is an array of key-value pairs connecting a label name to an existing wikibase database ID.
['depicts' => 'P180']
$wgMediaInfoHelpUrls
URLs for pages where a user can learn more about particular wikibase properties - if there is a help URL for a particular property, then there will be a "learn more" link for that property that leads to the URL from the config.
['P180' => 'https://www.wikidata.org/wiki/Property:P180']
Other Config
$wgUploadWizardConfig['wikibase']['enabled']
Enables MediaInfo data on UploadWizard when set totrue
.
Utveckling
- Inställning till utveckling och tester
- Datamodeller
- Kanonisk JSON-representation av MediaInfo-objekt
Tester
PHPUnit tests are in tests/phpunit
. You can run tests not requiring the MediaWiki framework (located in tests/phpunit/composer
) by running composer test
.
Detta kommando kör också kontroller av kodstil med PHPCS.
Tester behöver att MediaWikis ramverk (ligger på tests/phpunit/mediawiki
) måste köras med MediaWikis kärnas composer phpunit:entrypoint
-slutpunkt.
JavaScript-tester ligger på tests/node-qunit
.
Du kan köra tester från en terminal med npm run test:unit
.
Nodversionen 6.x bör användas.
Se även
Det här tillägget används på ett eller fler av Wikimedias projekt. Det betyder förmodligen att tillägget är stabilt och fungerar tillräckligt bra för att användas på högtrafikerade hemsidor. Leta efter tilläggets namn i Wikimedias CommonSettings.php och InitialiseSettings.php-konfigureringsfiler för att se var det har installerats. En fullständig lista över tillägg som installerats på en wiki finns på wikins Special:Version-sida. |
Tillägget ingår i följande wikihotell och/eller paket: Detta är inte en auktoritär lista. Vissa wikihotell och/eller paket kan innehålla detta tillägg även om de inte listas här. Kontrollera alltid med ditt wikihotell eller -bunt för bekräftelse. |
- Stable extensions/sv
- Extensions with invalid or missing type/sv
- GPL licensed extensions/sv
- Extensions in Wikimedia version control/sv
- ArticleUndelete extensions/sv
- BeforePageDisplay extensions/sv
- CirrusSearchAddQueryFeatures extensions/sv
- CirrusSearchProfileService extensions/sv
- CirrusSearchRegisterFullTextQueryClassifiers extensions/sv
- GetEntityByLinkedTitleLookup extensions/sv
- GetEntityContentModelForTitle extensions/sv
- GetPreferences extensions/sv
- MediaWikiServices extensions/sv
- MultiContentSave extensions/sv
- ParserOutputPostCacheTransform extensions/sv
- RevisionUndeleted extensions/sv
- ScribuntoExternalLibraries extensions/sv
- SearchDataForIndex2 extensions/sv
- SidebarBeforeOutput extensions/sv
- WikibaseClientEntityTypes extensions/sv
- WikibaseRepoEntityNamespaces extensions/sv
- WikibaseRepoEntityTypes extensions/sv
- All extensions/sv
- Extensions requiring Composer with git/sv
- Extensions used on Wikimedia/sv
- Extensions included in Miraheze/sv
- Extensions included in WikiForge/sv
- Wikibase extensions/sv