即时共享资源

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page InstantCommons and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎русский • ‎فارسی • ‎中文 • ‎日本語
在启用该特性的MediaWiki里,输入任何一个存在于维基共享资源的图片名称来插入图片……
……维基共享资源的图片就能如同本地图片一样呈现。.

即时共享资源是MediaWiki的一个特性,允许在全世界任何一个MediaWiki实体能够使用维基共享资源的任何已上传的媒体文件。 启用即时共享资源特性的wiki站点,可以在第一次请求该文件后自动缓存在本地,并且之后会使用该本地复本来显示。

原理

截至2017年7月,由维基媒体基金会主持的中央媒体资料库维基共享资源包含超过4千万个文件。这些文件中的每一个都可以在自由内容许可下或公共域中获得,除使用官方徽章或商标之外,没有其他限制使用。限制商业用途的许可证被视为非自由。

随着对维基共享资源的认识不断提高,外部各方也希望使用其中包含的内容,并提供新材料。目前技术上可以在任何网页的上下文中直接从维基媒体的服务器加载图像。允许这样的热链接,但由于多种原因它存在问题:

  • 它不尊重图像的许可条款,也不允许可靠地传输其他元数据
  • 除了没有恰当地归功于媒体文件的作者,它也没有给予维基媒体信任
  • 它会在每个网页浏览中消耗维基媒体带宽(除非图像已在客户端或通过代理缓存)
  • 它不利于缩略图生成和字幕等有用的图像操作,并且难以在Wiki的上下文中使用,特别是对于标准布局操作
  • 它与URL绑定为资源标识符,这使镜像变得复杂
  • 它创建了一个无法跟踪的外部使用网站,维基媒体方面的任何变化都必然会影响这些外部用户
  • 它不允许离线查看,这在仅具有间歇性网络访问的国家中是至关重要的。

即时共享资源旨在通过提供一种从维基媒体服务器缓存加载图像和元数据的简单方法来解决所有这些问题。即时共享资源的第一个实现将在MediaWiki中,允许所有MediaWiki图像操作(缩略图、字幕、图库等)透明地执行。 但是,其他wiki引擎可以使用下面描述的API操作实现类似即时共享资源的功能。

基本功能设置

在安装过程中,站点管理员可以选择是否启用即时共享资源。但是,理想情况下,默认情况下应启用该功能(如果指定了可写上载目录),以允许尽可能多的用户使用维基共享资源内容。

如果启用该功能,则wiki的行为类似于维基媒体项目,即,如果引用存在于维基共享资源上的图像或其他媒体文件,则可以通过指定其名称将其包含在类似本地上载文件的Wiki页面中。本地文件名优先于维基共享资源文件名。

此功能依赖于php curl扩展。如果您没有安装此扩展程序,则可能无法使用即时共享资源。

配置

要在MediaWiki 1.16或更高版本中启用即时共享资源,只需将此行添加到LocalSettings.php即可(有关详细信息,请参阅$wgUseInstantCommons ):

$wgUseInstantCommons = true;

要在MediaWiki版本1.13-1.15中启用,请参阅这里

此功能应立即生效。如果不是,请检查Web服务器中是否禁用了PHP函数curl_exec()

HTTPS

从2015年6月开始,只能使用HTTPS访问维基共享资源。某些安装可能缺少其根证书存储,这会阻止MediaWiki通过HTTPS与维基共享资源联系。如果即时共享资源停止工作,请尝试:

  • 安装php curl扩展(它通常更可靠,并且更有可能已安装适当的证书)在debian/ubuntu上:sudo apt-get install php5-curl
  • 确认您拥有最新的证书存储区。如果您安装了php curl扩展,请按照说明here

SElinux

如果您的服务器操作系统实现了SElinux,请查看SElinux设置页面上的专用部分,并确保HTTPD脚本和模块可以成功访问网络。 如果SElinux阻止HTTPD脚本和模块连接到维基共享资源存储库,则即时共享资源功能将无法正常工作。

防火墙后面

如果运行wiki的服务器位于防火墙后面,则必须向wons服务器授予对commons.wikimedia.org和upload.wikimedia.org的传出http/https请求,以便即时共享资源工作。IP地址范围可在wikitech:IP addresses中找到。

通过即时共享资源使用文件

启用即时共享资源后,您可以从维基共享中选择任何图像(例如这个),单击“使用此文件”按钮(旁边带有wiki图标的按钮)并将标记粘贴到您的wiki中。 在我们的例子中,粘贴

[[File:Wikipedia-Marker-commons.svg|thumb|来自维基共享资源的图片嵌入在这个Wiki中]]
来自维基共享资源的图片嵌入在这个Wiki中

将渲染缩略图(如本页右侧所示)。

请注意,以这种方式使用文件时,您仍需要遵守任何许可和其他文件使用法律要求 - 请参阅维基共享资源:再利用维基共享资源的内容

可伸缩性考虑因素

由于即时共享资源功能允许维基用户从维基媒体服务器下载资源,因此不可能对使用维基或维基共享资源进行拒绝服务攻击,例如,通过粘贴30K链接维基共享资源上最大的文件进入维基页面并按“预览”。 因此,每个成功的即时共享资源请求都必须由启用即时共享资源的wiki与原始用户或IP地址以及请求的时间一起记录。如果单个用户覆盖了慷慨的内部带宽限制(默认情况下可能高达1GB,但应该是用户可配置的),则未来的图像将不会在24小时内下载。 wiki管理员不应该存在这种限制(如果wiki管理员想对他自己的wiki进行拒绝服务攻击,他们不需要停止这样做,如果他们想要对维基媒体进行攻击,他们就不能除了在维基媒体的结尾之外,它已经停止这样做了。 除了每用户带宽限制外,还应该透明地下载文件的大小。 这主要是因为超过特定大小的文件会显着延迟浏览量,甚至可能导致页面请求超时。可能需要使用外部应用程序来下载这些文件,以便可以在后台完成,而不会导致页面请求继续。 最后,即时共享资源缓存可能有一个总的最大大小,如果超过此大小,则不会下载其他文件。

虽然使用即时共享资源功能的个人wiki不太可能导致维基媒体基金会的成本显着增加(因为每个文件只需要下载一次,并且每个用户有带宽限制),但它仍然是公平合理的。对于使用该功能的项目,在即时共享资源描述页面上包含通知,例如: "该文件来自维基共享资源,这是一个由维基媒体基金会主办的媒体档案。如果您想支持维基媒体基金会,您可以在这里捐款......"

未来潜力

将来,可能需要提供发布者/订阅者的更改模型,这将需要wiki-to-wiki身份验证和用于订阅wiki的图像数据库。这也将打开交叉维基故意破坏的威胁,可以通过24小时或更长时间的延迟阶段来解决,以使更改生效。 双向功能是另一种可能性,即允许从任何wiki安装直接向维基共享资源上传自有文件。但是,这将至少需要联合身份验证。 它还可能需要跨维基通信设施来通知其他维基用户有关维基共享资源策略的信息,这些策略可能是LiquidThreads等大型项目的一部分。

参见