目前已经放弃Semantic MediaWiki,转用Cargo。更多信息可参考《MediaWiki教程之Cargo篇》
Semantic MediaWiki简介
Semantic MediaWiki(SMW)是MediaWiki的一个扩展。它有助于维基内容的搜索、组织、标记、浏览、评价以及分享。它新增的语义标注(semantic annotations)使得维基可以作为一种协作式数据库来发挥作用。
更多详细内容可参见官方介绍。
使用Composer安装
官方推荐的安装方式是通过Composer进行,如果无法使用可以尝试官网中提到的其他方法。
安装Composer
1. 下载composer.pharcurl -sS https://getcomposer.org/installer | php
2. 全局调用
mv composer.phar /usr/local/bin/composer
chmod +x composer
3. 测试安装结果
composer about
测试兼容性
维基站点的“特殊:版本”页面包含了MediaWiki的版本号,COMPATIBILITY.md中列出了各版本的兼容性,你可以根据实际情况升级合适的MediaWiki版本。
使用Composer
在MediaWiki的安装根目录下运行如下“初始化”命令:php composer.phar require mediawiki/semantic-media-wiki "~2.5" --update-no-dev
如果Composer是全局安装的话可以用下面的代码替代运行:composer require mediawiki/semantic-media-wiki "~2.5" --update-no-dev
运行维护脚本
在MediaWiki的安装根目录下运行设置脚本:php maintenance/update.php
注意:如果你收到跟下面相似的错误消息:mediawiki/semantic-media-wiki: 2.5.0 installed, ~2.5 required.
请增加--skip-external-dependencies
到设置脚本的请求中。
启用Semantic MediaWiki
在LocalSettings.php文件的最后增加一个请求enableSemantics()
")。enableSemantics()
接受维基站点的名称,例如,一个维基站叫做“example.org”则使用下面的请求:enableSemantics( 'example.org' );
require_once …
请求
检验与核实
检验你的“特殊:版本”页面并且核实是否已经成功安装及使用。
检验注释的用法
- 创建一个名叫“TestSMW”的常规维基页面。
- 在保存前,在文本编辑框内输入如下内容:
Property test: [[Property name::Property value]]
- 保存页面然后你将看到页面上有显示如下:
"Property test: Property value" - 导航到“特殊:浏览”的特殊页面,并且点击“工具”中的“浏览”链接。
- 在这个特殊页面中你将看到:
• “Propery name”和“Propery value”都是红的。
• “Modification date”的特性为蓝色且为斜体。 - Semantic MediaWiki测试成功!
完成!
升级
使用以下内容可以帮助你升级一个已经安装了的SMW。
备份
备份你的数据库以及网站内容。
运行Composer升级脚本
在MediaWiki安装的目录下面运行以下脚本:php composer.phar update
如果Composer是全局安装的,那么用这个替代:composer update
运行维护脚本
在MediaWiki安装的目录下面运行设置脚本:php maintenance/update.php
在MediaWiki安装的目录下面运行刷新数据库脚本:php extensions/SemanticMediaWiki/maintenance/rebuildData.php -d 50 -v
检验与核实
检验你的“特殊:版本”页面并且核实是否已经成功升级。
完成!
安装过程中的错误
注意:我在第一次运行上述代码时就出现错误:
修改服务器上的php.ini文件,将其中disable_functions内的proc_get_status删除。
重新运行上述代码,新的错误出现:
网上说用composer self-update
,可惜问题依旧。
之前运行composer update
可能由于proc_get_status的原因也不起作用。经过上述的修改之后升级功能可以用了。在过程中貌似见到Semantic MediaWiki。
再次运行,虽然仍会出现Failed to decode response: zlib_decode(): data error,但是进程倒是进行下去了。这次使用composer self-update
后问题终于解决。
本文参考:
2 条评论
博主您好,目前我向下载一个叫Bootstrap的扩展,需要composer安装,我对此一窍不通,希望能够得到你的帮助,谢谢!
composer的使用本身不复杂,官方文章上都应该有详细的命令。是不是系统没有安装Composer工具?网上有安装教程的,你可以搜一下。