扩展:数据传输

来自MyaWiki.Org
跳转到导航 跳到搜索
MeimaWiKi扩展手册
OOJS用户界面图标
数据传输
发布状态: 稳定的
实施 专版
描述 允许以XML和CSV格式导入和导出Wiki页面的内容,使用模板调用定义字段
作者(S) 亚龙科伦<亚龙57 @ gmail网站>
最新版本 1.0.1(2019年2月)
维基百科 1.23 +
数据库更改
作曲家 MIATAWIKI/数据传输
许可证 GNU通用公共许可证2或更高版本
下载
自述文件
例子 用于会话DB的“视图XML”页面
  • $WGDATATRAFIEVIEXXMLPARSEFELL
  • $WGDATA
数据传输导入
翻译数据传输扩展如果在TurtLeWik.NET中可用
检查使用和版本矩阵。
问题 打开任务·报告错误

数据传输是MeaWiki的扩展,允许用户从Wiki导出和导入数据,导出以XML格式完成,并在XML、CSV和一些电子表格格式中导入。

应该注意的是,数据传输不是备份Wiki或将Wiki页面从一个MyaWiki站点转移到另一个站点的理想方案;为此,更好的解决方案是使用MIATAWIKI的内置“特殊:出口“和”特殊进口“页面。

代码与下载[编辑]

您可以以zip格式下载数据传输代码,在这里.

您还可以直接从MITAWIKI源代码库中通过Git下载代码。从命令行中,您可以调用以下内容:

Git克隆HTTPS://GrITI.Wikimdia.Org/R/MeIaWiKi/ExtExsS/DATATRAFER

若要在线查看代码,包括每个文件的版本历史,可以走在这里.

安装[编辑]

在您获得了“DATALANSFER”目录(通过提取压缩文件或通过Git下载)之后,将该目录放置在MealAudiiKi的“扩展”目录中。然后,在MealMeaWiKi目录中的文件“LoalStudio.php”中,添加以下任一行:

拉伸张力 “数据传输” 
包含一次 美元IP/扩展/数据传输/数据传输

默认情况下,只有管理员或SysOP才允许导入文件。如果您希望其他组能够导入文件,则可以向LoalStalpIs.PHP添加其他行以允许该文件。例如,这一行将允许所有用户导入文件:

$WGCORPIPREST[“用户”]“数据传输导入”] = 

为了允许任何阅读Wiki的人导入文件,你可以添加下面的内容(虽然通常不推荐):

$WGCORPIPREST[‘*’]“数据传输导入”] = 

用法[编辑]

导出数据[编辑]

数据传输定义了一个特殊的页面,“特殊:VIEW XML”,它允许用户以XML形式查看wiki的类别和命名空间的任何组合(从而保存)页面。XML中的字段和值取自页面中包含的任何模板调用中的字段和值;任何非模板文本都被放入一个或多个“自由文本”标签中。另外,每一页也显示一个“ID”字段,使用MadiaWiKi的内部“文章ID”来显示该页;这样做使得外部系统可以跟踪一个比它的名称更固定的标识符的页面(这可以经常改变)。XML仅包含任何页面的当前状态:未修改关于作者和日期的信息,以及关于每个页面的先前版本的信息。

支持导出的两种格式:第一种格式或标准格式,其中包含格式标签<模板名称=模板名称><字段名称=字段名>. 第二个或“简化”一个包含简单形式的标记。<模板名称><字段名>.

特殊:VIEW XML还可以用于为各个页面生成XML,通过在URL中添加“和标题=”参数,如“和标题=第1页第2页第3页”。

默认情况下,页面的“自由文本”(非模板)部分由MealaWiKi解析器解析,因此WiKiTeXT被转换成HTML;而模板调用中的值则不被转换。若要禁用对自由文本的解析,请向LocalSettings.php添加以下内容:

$WGDATA = 

相反,要添加模板字段值的解析,请添加以下内容:

$WGDATATRAFIEVIEXXMLPARSEFELL = 

导入数据[编辑]

数据传输定义了三个特殊的页面,分别是:“特殊:导入XML”、“特殊:IMPIMSV”和“特殊:IMPualStudioLead”,它们允许管理员权限的用户分别上传XML、CSV和各种电子表格文件。一旦上传,数据就变成Wiki中的页面(或者,如果那些名字已经存在于Wiki中的页面,这些页面的新版本)。

导入XML文件[编辑]

XML导入需要“VIEW XML”生成的标准,即非简化的XML格式,尽管有几个不同之处:每个页面的“ID”属性不应该存在,并且不应该存在被称为“类别”或“命名空间”的标签(无论wiki在什么语言中)。

XML简化输出[编辑]
<页>
  <页>
    <ID>二十八</ID>
    <标题>妈妈<标题>
    自由文本 ID=“1”>
       <P>妈妈;妈妈;</P>
    < /免费文本>
  </Page >
< /页>
XML非简化输出——导入实例[编辑]

这是以XML格式导入数据所需的格式。

<页 标题=“妈妈”>
  <自由文本>
     <P>妈妈;妈妈;</P>
  < /免费文本>
</Page >

导入CSV文件[编辑]

CSV进口工作:

  • 该文件必须是标准的CSV格式(即,用逗号分隔,而不是分号或其他任何东西)。
  • 如果文件包含非ASCII字符必须编码在任一UTF-8UTF 16(后者在一些Windows程序中简称为Unicode)
  • 文件的换行符应该包含“行提要”(“n”),而不只是“回车”(“\r”)。尤其是如果你使用的是Mac操作系统
  • 顶层行必须包含每个列的名称
    • 其中一个列必须包含每个页面的标题,因此它的列名必须是“头衔(用维基的任何语言)
    • 另一列可以包含页面中所有的免费、非模板文本:该列的标题必须是“自由文本“(再次,以维基的语言)
    • 所有其他列都必须代表单个模板调用的单个字段的内容;这样的列的名称应该是“模板名称[字段名]“(允许空白)。不需要单独指定页面中调用的模板的名称。

关于CSV格式的简短教程:如果一个值包含逗号,则必须以双引号括起来。如果包含一个或多个双引号的字段需要用双引号括起来,那么双引号应该作为双引号被转义。空字段可以是空的,也可以包含双双引号。你可以看到这里对于完整的CSV规范。

下面是一个CSV文件的例子,该文件可以通过数据传输进行解析:

标题,奶酪[国家],奶酪[纹理],免费文本,莫扎雷拉,意大利,半软,这是不错的披萨!切达,英国,硬/半硬,“通常锋利,但不总是”。GoangnZoLA,意大利,“奶油或坚定,易碎”,“咸,”咬“”从“蓝色纹”,斯蒂尔顿,“”,需要更多的数据。

导入电子表格文件[编辑]

对于电子表格导入,数据传输需要PHPExcel库,它做实际的电子表格处理。PHPExcel可以处理包括.xLS、.xLSx、.ODS、GnICIC、甚至PDF和HTML在内的格式的电子表格文件。列的标题应该与CSV文件相同。

作者[编辑]

数据传输主要是由亚龙科伦,可以在YalON-57在Gmail网站上找到。电子表格导入功能是由Stephan Gambke编写的。

版本历史[编辑]

数据传输当前版本为1.0.1。看到整个版本历史.

常见问题[编辑]

  • 导入动作被构造为MyaWiKi“作业”。这意味着页面创建不会立即完成,可能需要几分钟、几小时甚至更长时间才能完成。通常,每次在Wiki上查看页面时,作业都会被激活;为了加快进程(或使其慢下来),可以通过设置设置来更改查看页面时运行的作业的数量。美元汇率 默认值是1。注意,太高的作业运行率可能导致一些作业无法运行。要使wiki立即运行所有作业,请执行脚本RunJOP.PHP .

自定义导出XML[编辑]

通过将类别标签“[[类别:排除XML ] ]添加到该页面中,可以指定不包括在生成的XML中的任何特定页面。您还可以将此标记添加到模板中,以排除从XML中使用该模板的任何页面。

为项目做出贡献[编辑]

错误和特征请求[编辑]

您应该使用MyaWiKi邮件列表,麦迪维基L对于数据传输的任何问题、建议或bug报告。

为项目贡献补丁[编辑]

如果您发现了一些bug并修复了它,或者如果您编写了一个新功能的代码,请要么执行Git提交(如果您有开发人员帐户),或者通过走到您的本地“DATA RANSFER”目录来创建补丁,然后键入:

GIT-DIF.>

如果你创建了一个补丁,请把它用一个描述发送给Yaron Koren。

翻译[编辑]

数据传输的翻译是通过翻译网. 可以找到这个扩展的翻译。在这里. 若要添加语言值或更改现有值,应在TraceTeWik.NET上创建帐户,然后请求管理员对某一语言或语言进行翻译。本页(这是一个非常简单的过程)。一旦您有了给定语言的权限,您就可以登录并添加或编辑您想用该语言编写的任何消息。