Jump to content

Extension:共享资源元数据

本頁使用了標題或全文手工轉換
From mediawiki.org
This page is a translated version of the page Extension:CommonsMetadata and the translation is 100% complete.
MediaWiki扩展手册
CommonsMetadata
发行状态: 稳定版
实现 API
描述 尝试从共享资源页面中提取元数据
作者 Brian Wolff (bawolff留言)
兼容性政策 快照跟随MediaWiki发布。 master分支不向后兼容。
MediaWiki 1.25+
PHP 5.4+
数据库更改
  • $wgCommonsMetadataForceRecalculate
  • $wgCommonsMetadataPublicDomainPageUrl
  • $wgCommonsMetadataSetTrackingCategories
许可证 GNU General Public License 2.0 or later
下載
前往translatewiki.net翻譯CommonsMetadata扩展
問題 开启的任务 · 报告错误

共享资源元数据扩展是一个从维基共享资源中提取元数据的尝试,但也可以用于其它维基媒体项目。 它基于图片描述中的模版和分类来添加一些额外信息到imageinfo API中。 它被许多扩展和工具(例如 Extension:MultimediaViewer(多媒体查看器) Extension:VisualEditor Extension:MobileFrontend(移动版前端) 移动内容服务(MCS))用来提供更好的边框或图像选择对话框。

目前的这个扩展是一个暂时的解决方案,它最终会被维基共享资源中的维基数据取代。

安裝

  • 下载文件,并解压CommonsMetadata文件夹到extensions/目录中。
    开发者和代码贡献人员应改从Git安装此扩展,输入:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CommonsMetadata
    
  • 請新增下列代码到您的LocalSettings.php 文件的底部:
    wfLoadExtension( 'CommonsMetadata' );
    
  • Yes 完成 – 請导航至您的wiki上的Special:Version,以验证此扩展已成功安装。

动机与设计选择

请参阅mailarchive:wikitech-l/2013-August/071593.html

此扩展的假設如下。

  • 未來某個時候,維基數據將接管共享資源的元資料管理。為了避免造成破壞性變更(這些變更很快又需要再次變更),該擴充功能應沿用現有的通用元資料(即不引入新的解析器函數)。因此,需要使用螢幕擷取技術。
  • 共享資源描述頁面上的許多欄位內容都包含富文字格式(特別是:連結、斜體、粗體。在某些情況下,還有更複雜的內容,例如嵌入式圖像)。
    • 因而,該擴充功能輸出解析後的html(維基文字遜斃了,純文字無法抓住資料)。
    • 此外,資料通常是為人類方便閱讀而格式化的,而不是(例如)機器格式化後的日期格式。當日期欄位顯示「大約17世紀」之類的字眼時,很難將其轉換為精確的日期(許多其他例子也是同樣)。
    • 為了繼續推進這項工作,也要對EXIF元資料套用格式化,它是由維基控制的(例如,共享資源將相機名稱連結到維基百科的條目)。
  • 如果無法從描述頁面中提取訊息,但文件在EXIF/XMP/iptc的元資料中有標記了作者,我們應該將其用作備案。
  • 理想情況下,這樣的系統應該盡可能地是共享資源特定的,將共享資源部份和非共享資源部份分開。
  • 共享資源的描述頁面提供多語言描述。很多使用者可能只想使用一種語言。
    • 此實作方式適用於日期和事物,並遵循對應的語言約定。此外,對於明確支援多語言的欄位(例如描述),可以選擇傳回所有語言或僅傳回一種語言。即使在單一語言模式下,某些內容仍然與語言有關(例如數字的千位分隔符號)。

配置

参数 默认 描述
$wgCommonsMetadataSetTrackingCategories false 當文件頁面上的範本或(對於某些類別)EXIF元資料未提供相應資訊時,請新增下列的追蹤類別至文件的頁面:
  • Files with no machine-readable license (commonsmetadata-trackingcategory-no-license)
  • Files with no machine-readable description (commonsmetadata-trackingcategory-no-description)
  • Files with no machine-readable author (commonsmetadata-trackingcategory-no-author)
  • Files with no machine-readable source (commonsmetadata-trackingcategory-no-source)
  • Files with no machine-readable patent (commonsmetadata-trackingcategory-no-patent) (針對於3D檔案)
$wgCommonsMetadataPublicDomainPageUrl https://commons.wikimedia.org/wiki/Help:Public_domain 用於公共領域文件裏的 schema.org 標記中的 'license' 屬性的連結。
$wgCommonsMetadataForceRecalculate false 即使影像是來自應該會提供元資料的外部儲存庫,也會強制計算元資料。 這是針對本地的發展。

测试

警告 警告: 如果您正在開發或測試此擴充功能,我們強烈建議您,針對圖像的元資料,「不要」複製共享資源上的那些模板,因為它們編譯時間極長且依赖項複雜,就如同Scribunto一樣。相反地,請取得某個僅包含有維基文字/HTML的擴充版本、然後手動放入各種參數引用(或不放入)。您可以在此處找到一個(與“Special:Import”一起使用的)範例。 否則,請使用默认已包含某些特定的模版的Vagrant

當使用遠端圖像(例如那些共享資源圖像,若是您啟用了$wgUseInstantCommons 的話)進行測試時,您可以設定 $wgCommonsMetadataForceRecalculate = true; 以強制CommonsMetadata去解析圖像的描述頁面、然後提取元資料(通常,如果遠端儲存庫也安裝了CommonsMetadata,它只會從那裡複製API的輸出)。

用法

使用imageinfo API,並透過iiprop的指定將extmetadata包含進來做為影像的資訊屬性。

示例

https://commons.wikimedia.org/w/api.php?action=query&prop=imageinfo&format=json&iiprop=extmetadata&iilimit=10&titles=File%3ACommon%20Kingfisher%20Alcedo%20atthis.jpg

API沙箱中查看此範例:

https://www.mediawiki.org/wiki/Special:ApiSandbox#action=query&prop=imageinfo&format=json&iiprop=extmetadata&iilimit=10&titles=File%3ACommon%20Kingfisher%20Alcedo%20atthis.jpg

返回的数据

此擴充功能目前在回應的 extmetadata 欄位中提供以下項目(欄位名稱盡可能遵循EXIF檔頭中所使用的IPTC-IIM格式):

資料是基於在資訊模板中的機器可讀資料

  • ImageDescription – 图像描述
  • Artist – 作者姓名(可能包含複雜的HTML代碼、多位作者等)
  • Credit – 来源
  • DateTimeOriginal – 建立時間(盡可能使用空格分隔的 ISO 8601 時間戳,但也可以是日期的任何其他文字描述,可能會含有HTML混合在其中)
  • ObjectName – 標題(書籍/繪畫作品的標題;否則就只是檔案的名稱)
  • Permission – 模板中"授權"欄位的內容。它可以包含很多內容(許可證模板、OTRS ID、署名方式等詳細資訊…)。
  • AuthorCount – 帶有作者資訊的模板(例如,書籍、照片等)數量。如果一個模板是以單一字串中描述多位作者,則實際作者數量可能會更多。

資料是基於在位置模板中的機器可讀資料

  • GPSLatitude – 緯度
  • GPSLongitude – 經度
  • GPSMapDatum – 座標類型(目前僅支援 WGS-84

資料是基於在授權模板中的機器可讀資料

  • LicenseShortName – 簡短易讀的授權名稱
  • LicenseUrl
  • UsageTerms
  • CopyrightedTrueFalse (針對公共領域圖像)

對於多重授權的圖像,這些值目前並不可靠。

  • Attribution – 自訂署名,用於替換「藝術家+署名」(也可源自"資訊"模板)
  • AttributionRequired – booleanish (phab:T86726),表示是否有署名的法律要求。
  • NonFree – booleanish,true 表示該圖像不在自由授權條款的範圍。(僅適用於非共享資源的圖像。)

其他資料:

  • CommonsMedadataExtension – 包含元資料解析器版本號碼;主要用於內部使用
  • License – 對該圖像授權的最佳猜測(主要供MediaViewer內部使用,可能會更改;LicenseShortName可能會更可靠)
  • Categories – 以|符號分隔的圖像類別清單。
  • Assessments – 以|分隔的影像評估清單(目前支援五個值:年度圖像今日圖像特色圖像優質圖像最有價值)。 根據對類別名稱的解析,可能無法用於未託管在維基共享資源上的映像。
  • Restrictions – 重複使用限制,例如商標或人格權;關鍵字數組(來自此表的類別名,不含 restriction- 前綴)。另請參閱 MediaViewer 中的 restrict-* 圖示
  • DeletionReason – 若是設置,則該模板將被考慮刪除。 (基於nuke模板,在維基共享資源之外可能不可靠。) 它包含某一個刪除原因,但其被措辭為適用於日誌的條目,因此可能會產生誤導(例如,使用過去時態,而實際上尚未決定是否刪除圖像)。

参阅