我最近在Debian 7 System上的localhost中安装了MediaWiki.但是在安装之后,我得到了例外Fatal exception of type MWException
.我查看了所有报告的错误,但它们不适用于我.
PHP 5.4.4 phpmyaddmin ....
我有一套完整的网址
http://en.wikipedia.org/wiki/Episkopi_Bay
http://en.wikipedia.org/wiki/Monte_Lauro
http://en.wikipedia.org/wiki/Lampedusa
http://en.wikipedia.org/wiki/Himera
http://en.wikipedia.org/wiki/Lago_Cecita
http://en.wikipedia.org/wiki/Aspromonte
Run Code Online (Sandbox Code Playgroud)
我想找到这些URL的维基百科pageid.我之前使用过Mediawiki API,但我无法弄清楚如何做到这一点.
我尝试通过获取lastindexof("/")的子字符串和最后一个字符从URL中提取页面标题,然后查询API以获取pageid.
http://en.wikipedia.org/wiki/Episkopi_Bay --> Episkopi_Bay
http://en.wikipedia.org/wiki/Monte_Lauro --> Monte_Lauro
http://en.wikipedia.org/wiki/Lampedusa -- > Lampedusa
http://en.wikipedia.org/wiki/Himera --> Himera
http://en.wikipedia.org/wiki/Lago_Cecita --> Lago_Cecita
http://en.wikipedia.org/wiki/Aspromonte --> Aspromonte
Run Code Online (Sandbox Code Playgroud)
但问题是我的一些链接可能是重定向,因此子字符串可能并不总是页面的标题.
TL; DR:如何从URL中找到维基百科页面的pageid?
我想知道是否有可能获得 Wikidata 的最新增量 n-triple 转储。
我正在使用Wikidata Toolkit下载最新版本的转储并将它们自动转换为 n-triple 文件(使用RdfSerializationExample
),但我不知道如何生成该转储的增量版本(指定修改的、新的和删除的实体) )。
我的想法是在像OpenLink Virtuoso这样的系统中维护 Wikidata 信息的更新版本。因此,我认为有必要获得n-triples的增量版本。
我知道xml version 中有转储的增量版本,但我不知道如何将它们转换为 n-triples。
那么,这是最好的方法吗?
我正在使用flask-mwoauth
MediaWiki上的OAuth身份验证(特别是维基百科)在Flask中创建一个简单的应用程序.
flask-mwoauth
是一个蓝图,它提供了一些与Mediawiki Extensions:OAuth交互的便捷方法,并添加了以下URI:
/login
- 运行OAuth握手并将用户返回 /
/login?next=/someurl
将用户返回 /someurl
/logout
- 清除用户的访问权限
/logout?next=/someurl
将用户返回 /someurl
/oauth-callback
- 来自MW的回调以完成握手用户的OAuth密钥和密钥存储在会话中.
我希望能够为这些自定义URI创建自定义响应.举例来说/logout
,响应的定义非常简单(__init__.py#L56
):
@self.bp.route('/logout')
def logout():
session['mwo_token'] = None
session['username'] = None
if 'next' in request.args:
return redirect(request.args['next'])
return "Logged out!"
Run Code Online (Sandbox Code Playgroud)
我想在我的应用程序中定义/logout
带有自定义响应的路径(例如,渲染模板),但是如果我使用蓝图,那么路由将@app.route("/logout")
被忽略.
我想知道是否可以"扩展"蓝图,我可以/logout
在我的应用程序中定义路线,从蓝图中调用原始方法,然后提供自定义响应.
我们正在使用正式的MediaWiki Docker映像,并希望能够添加其他MediaWiki扩展。
问题:
LocalSettings.php
?docker网站上的此链接是指添加PHP扩展名和库,但是如果要添加MediaWiki特定的扩展名是相同的答案,这对我来说还是不清楚的,因为它确实说了“ PHP扩展名”。还是该文档页面实际上应该说“ MediaWiki Extensions”,即使这意味着它们是用PHP编写的?
这是我们当前用于mediawiki的docker-compose文件条目:
mediawiki:
image: mediawiki
container_name: mediawiki_production
mem_limit: 4g
volumes:
- /var/www/mediawiki/uploads:/var/www/html/uploads
- /var/www/mediawiki/LocalSettings.php:/var/www/html/LocalSettings.php
environment:
- MEDIAWIKI_DB_NAME=
- MEDIAWIKI_DB_HOST=
- MEDIAWIKI_DB_USER=
- MEDIAWIKI_DB_PASSWORD=
- VIRTUAL_HOST=wiki.exmaple.com
- TERM=xterm
restart: always
network_mode: bridge
Run Code Online (Sandbox Code Playgroud)
我们正在考虑的扩展并不是最初的官方映像的一部分(但希望在以后提供可扩展的解决方案):
使用官方mediawiki映像作为其“ FROM”以包含mediawiki扩展和更新的docker-compose(如果需要两者)以添加mediawiki扩展的下游docker映像的任何示例都将有所帮助。如果mediawiki扩展本身依赖于基本图像中尚未包含的php扩展或库,或者添加不依赖任何其他php扩展或库的mediawiki扩展,则最好解释一下需要更改的内容。
最近我一直在为MediaWiki开发LDAP身份验证提供程序.在我看来,我一直试图解决这个问题已经很多天了,无法提出解决方案.
我开发此插件的方式是允许配置我们将连接的许多服务器.如果我们无法连接到一台服务器,我们将尝试下一个...依此类推,直到所有用完为止.
为了实现这一点,我在我的类中有一个函数循环尝试连接的服务器,直到成功为止:
private function connect( LdapAuthenticationRequest $req ) {
$dn = $this->config->get( 'BindDN' )[$req->domain];
$pass = $this->config->get( 'BindPass' )[$req->domain];
$servers = $this->config->get( 'Servers' )[$req->domain];
$encryption = $this->config->get( 'EncryptionType' )[$req->domain];
if ( false === $dn ) {
$msgkey = 'ldapauth-attempt-bind-search';
$bind_with = [ null, null ];
} else {
$msgkey = 'ldapauth-attempt-bind-dn-search';
$bind_with = [ $dn, $pass ];
}
$message = new Message( $msgkey, [
'dn' => "{$dn}@{$req->domain}",
] );
$this->logger->info( $message->text() );
foreach ( $servers as …
Run Code Online (Sandbox Code Playgroud) 我使用的模板{{MyTemplate|foo}}
包含以下代码:
{{#switch: {{{1}}}
| foo = [[Category:Foo]]
| bar = [[Category:Bar]]
| #default = [[Category:Unknown]]
}}
Run Code Online (Sandbox Code Playgroud)
当我在页面上使用它时,类别在该页面的底部显示出很好的效果.但遗憾的是,在该类别页面(例如,类别:Foo)中,该页面未显示.
如果我[[Category:Foo]]
手动添加到该页面,该页面将显示在Foo-category-page中.
有什么建议为什么这不通过模板?
我已经安装了最新的 MediaWiki 和最新的可视化编辑器,一切看起来都很棒,但我有一个问题。在文章中添加媒体时,无法搜索到我上传的所有图片。任何人都可以请赐教。
如果这是一个新手问题,请原谅我 - 对于MediaWiki来说,我是新手.
我正在寻找视频扩展来添加到MediaWiki项目.有些可能很受欢迎,有些是神秘的.我想选择许多其他Wiki也使用的扩展.这里的视频扩展示例:https://www.mediawiki.org/wiki/Category : Video_player_extensions
如果这是一个WordPress项目,我可以在这里看到插件的受欢迎程度:https: //wordpress.org/plugins/browse/popular/
有没有办法找到MediaWiki扩展的受欢迎程度?我找到了很多"前十名",但我宁愿直接了解使用给定扩展名的Wiki安装数量.
谢谢和问候,雷
编辑:在MediaWiki邮件列表中,一位同事建议使用WikiApiary.完善! https://wikiapiary.com/wiki/Extension:Extensions