*** MediaWiki 管理者の集い  ***at PHP
*** MediaWiki 管理者の集い  *** - 暇つぶし2ch894:nobodyさん
07/05/14 12:35:12
>>893 どこのカレンダーなのかわかりませんが、
「編集」もしくは「ソースを表示する」で一番下の方にある
「このページで使われているテンプレート」から調べることが出来ます。

ちなみに[[特別:Version]]のページで
Wikipediaに導入されているextensionを調べることが出来ます。

895:nobodyさん
07/05/14 20:14:42
>>894さんの説明、分かりやすいですね!

>>888さん向けに補足説明してみますと、
特別ページ(ツールボックス内) > バージョン情報 という順序でリンクをたどった先にあります:
URLリンク(ja.wikipedia.org)

そこの Extensions (リスト) を見てみますと、Wikipedia ではカレンダー機能を持つ Extension が
使われて... いないように見えます。
個人的所感で恐縮ですが、カレンダー系の Extension は使っているうちに使用感が満足できない
ものになるのか、(たいしたことでないと思いますが)なんらかの問題があるのかもしれませんね。

当該のバージョン情報ページで確認できる Extensions は、Wikipedia で使われているだけあって
枯れている(使い込まれている)ものと思って、Extension を自分の MediaWiki に実装する際には
そこで実装の有無を見てから検討していたりしますです。ハイ。 > わたしの場合

ではっ!

896:nobodyさん
07/05/15 21:21:27
>>894-895
ありがとうございます。
拡張がバージョン情報にあるとは気づきませんでした。

Barrylbカレンダーは、<calendar>[[Category:Events]]</calendar>で表示できたので、
Simple Calendarも同様に、{{#calendar: month=05 }}を記述しただけですが、動作せず困っていました。
URLリンク(www.mediawiki.org)
あきらめて、他のカレンダーを順次試してみます。

897:nobodyさん
07/05/16 10:34:03
>>892

891じゃないんだが。
DBを直接いじるっていうのは、textとrevisionのふたつでOK?
rev_text_idがtextテーブルのold_idに対応しているという理解で合ってる?
新規追加は普通にInsertすればいいんだよね。
上書きは、rev_pageを頼りに最新のrev_text_idを探して、該当するtextテーブルのデータを書き換えるのかな。

898:897
07/05/16 10:56:48
あ、新規追加っていうのは、新しい版を追加するっていう意味ね。
ページの追加じゃなくて。

899:nobodyさん
07/05/16 19:41:55
>>897さんへ
どのカラムがどのカラムと相関関係にあるのか調べたことがありませんので、
rev_text_id = old_id に対応しているのか、わたしは残念ながら分からないです。

ただ、わたしのやり方で恐縮ですが、MediaWiki に関するすべてのテーブルに
記載のある、すべての該当文字列を書きかえることにしています。

履歴やそのほか細かいところで情報が残ったりして、人間の目であとになって
見たときに整合性がとれていなくて『?』と感じるかなぁと思ったものですから。

新しい版を追加することにつきましては、recentchanges とかにも書いておいて
あげると利用者にとっては幸せかもしれませんね~

以上、少しでもヒントとかになりましたら幸いです。
それではっ!

900:897
07/05/16 22:48:25
>>899

なるほど。ありがとうございます。
そうでした。recentchangesもですね。
文字列の置換を履歴も含めて行うのであればDBいじるというのは良さそうですね。

版の差込とかはもっと調べないと迂闊に手を出さないほうが吉かな。

901:nobodyさん
07/05/16 23:00:54
MWのDBのレイアウトは下記のページで確認することが出来ます。
URLリンク(www.mediawiki.org)

902:nobodyさん
07/05/17 19:06:24
>>901
バージョン違いでの説明もありますし、これはいいですね!
もっと読みこまねば…

903:nobodyさん
07/05/22 01:52:54 +Ejk9HZr
メインページにだけ、Amazonのアフィリエイトの<script>を貼りたいんですけど、なんかいい方法はありますか?

904:nobodyさん
07/05/22 02:46:17
>>903
MediaWikiのバージョンや使っているウェブサーバの種類やバージョンによって方法が違う
場合を想定して、>>864-を参考にバージョンなどの情報や、検索エンジンなどで調べたか、
調べた場合はどんなキーワードで調べたのか、手探りでやってみたことがあればどんな
ことをしてみたのかなど、合わせて記載してみてはいかがでしょう?

905:nobodyさん
07/05/22 11:09:02
>>903
monobookのしかるべき箇所に$this->text('pagetitle')=='メインページ'だったらアフィリエイトタグ貼られるようにすればいいのではないかい?

906:nobodyさん
07/05/22 14:26:28 JVNyRDEX
あの、ウィキペディアフォーマットで書かれた記事を plain text に変換するツールってありませんかね?

907:nobodyさん
07/05/23 07:31:16
たとえば、「コミュニティ・ポータル」についてどういう機能か調べようとしても、MediaWikiを使用しているサイトのそのページが引っ掛かってしまい、
機能説明ページまでたどり着けません。
URLリンク(www.mediawiki.org)などの英語の解説見てもよくわからないし、何か検索のコツはないでしょうか?

908:nobodyさん
07/05/23 08:07:21
そもそも「コミュニティ・ポータル」はMediaWikiの機能じゃないだろ。
そういう名前のページがあるだけ。

909:nobodyさん
07/05/23 08:38:28
>>907さん、コミュニティ・ポータルについては Wikipedia などに「ウィキポータルとは?」といった
タイトルで説明がありますので、そちらを参考までにご覧になるのがよいかと思います。
URLリンク(ja.wikipedia.org)ウィキポータル

あと、>>908さんの見解については少し誤りがあると思いますので補足しますと、MediaWiki 自体に
portal という変数つきのページ(機能)が用意されていて、これは Wiki としての情報データベースと
Wiki を利用する人々のコミュニケーションをつなげるといった、ポータルサイト的な役割を期待して
設定・設置されたものだと、わたし個人的で恐縮ですが考えています。

なお、このポータルは、使用しなくとも問題ありませんので、自らの運営する MediaWiki のサイトに
即したポータルっぽいページを用意するか、用意しなくともよいと思います。

たとえば、わたしは仲間内だけでぐるめ情報をクローズドに MediaWiki に登録・公開していますが、
仲間内だけでの利用なのでポータルは設置せず、掲示板やチャットでその機能を代用しています。

以上、参考になりましたら幸い、わたしの見解に誤りがあれば訂正お願いします>ALL ではっ!

910:nobodyさん
07/05/23 09:07:09
あぁ… やっぱり頭がまだ寝ていますね… 先の説明がわかりにくければすみません(汗)
説明不足なところがあるかなぁと感じましたので追記させていただきます。

コミュニティ・ポータルに関連する設定 portal / portal-url がこんな風に使えるよ的なこと
については、次の設定項目とその説明が少しは役に立つと思います。

■Manual:$wgForceUIMsgAsContentMsg
URLリンク(www.mediawiki.org)

■Manual:$wgNavigationLinks
URLリンク(www.mediawiki.org)

なお、期待に添った答にならず残念ですが、MediaWiki はやはり海外製のソフトですので、
英語をある程度理解しないことにはかゆいところまで使っていくのが難しいと思います…
『英語の勉強もできて一石二鳥!』と思えば少しは楽しめるかなぁ?と。 いかがでしょう!?
とゆーことで今度こそ、それではっ!

911:nobodyさん
07/05/23 23:42:27 WVtHeZQ4
>>905
MonoBookは使ってないんですよね。
CologneBlueなんですが、CologneBlue.php の中だと $this->text() が Undefined CALL になって使えないんですよ。

何か他によい方法はないですかねえ?

MediaWikiはver1.6系列です。


912:911
07/05/24 02:05:10 gT6z79B4
詳しいverはこんな感じです。
MediaWiki: 1.6.10
PHP: 4.4.6 (cgi)
MySQL: 4.0.27


913:nobodyさん
07/05/24 09:08:15 WPO5LnLI
■MediaWiki、サーバ関連情報
MediaWiki: 1.6.10
PHP: 4.4.6
MySQL: 4.0.27

■検索エンジンで調べたキーワード
mediawiki、sidebar、users、編集、あとはMediaWiki内でsidebarなど

■やりたいこと
users権限でもSidebarを編集できるようにしたく、
LocalSettings.phpに$wgGroupPermissions['users']['editinterface'] = true;
を追加したのですがユーザー権限ではサイドバーを編集できませんでした。
DefaultSettings.phpも一通り見てみたのですが有効な設定は見つかりませんでした。
Extension:SysopSidebarというものを見つけたのですが、1.6.xには対応しておらず…
URLリンク(www.mediawiki.org)
何かよい方策がございましたらご教示いただきたくよろしくお願いいたします。m(_ _)m

914:905
07/05/24 09:20:06
>>912
そうか。それは失礼した。
CologneBlueは落としているので全く理解していないが、$this->pageTitle()は違うのん?
バージョンが違うので何とも言えないけど。


Monobookと違いすぎてあまり見てなかったけど、3カラム化したりとかレイアウトを大幅に変更するのだったら、CologneBlueのほうが楽なんだろうか?
あ、でもこっちをいじるとMonobookもいじらないと整合性とれないのかな?

915:nobodyさん
07/05/24 09:31:32
>>913
何の根拠も無いけど、こんなのはできるのかな?
Sidebarの中にテンプレを書いて。そのテンプレは編集可能だから、、、ってのはだめですか?

916:907
07/05/24 21:00:53
>>909
ありがとうございます。
最初は、WikiFarmみたいなものかなと思ったのですが、やはり違ったようです。ありがとうございます。
URLリンク(fswiki.poi.jp)

>>908
それすらわからないので、どのように調べたらいいのか困っていたのでした。

917:911
07/05/25 21:06:41 dJjBkjVI
>>914
$this->pageTitle()が取得できました!ありがとうございます。

あと1つ、今悩んでるのは、メインページのカウンタを表示させたいのです。
当初、最終更新日とセットで表示されていたのですが、カウンタだけにしたくて削除しちゃいました。
(印刷用の画面には表示されているままです。)
画面表示用のHTMLでカウンタだけ表示させたいのですが、そのページのカウント数は
どうやったら取得できるんでしょうかね?



918:nobodyさん
07/05/25 23:25:52 aQiqnSSA
[隠す]とか[表示]とかのやり方がわかりません。

919:913
07/05/26 01:09:52
>>915
遅くなってすみません。
お答えいただきましてありがとうございます。

今日、試せる時間があるので教えていただいた方法で試してみようかと思います。
もしうまくいったら、なかなかの妙案かもしれませんね~

920:nobodyさん
07/05/26 02:56:15
>>909
まるっきり全部間違ってる

921:nobodyさん
07/05/26 19:13:02 H7IP+QlH
管理という執筆のことなですが、、、
「Category:○○○」へのリンクの張り方ってどうやるんでしょう?
本文中に[[Categori:○○]]って書いたら単なるカテゴリへの追加になってしまうので・・・



922:nobodyさん
07/05/26 20:01:28 deCNq8TU
>>921
Categoryの前にコロン:をつけると通常リンクになります。
[[:Categori:○○]]

923:nobodyさん
07/05/26 20:35:47
921です。ありがとうございます。

924:888
07/05/29 20:55:46
>>892
動かなかった原因がわかりました。
require_once( "extensions/*/*.php" );
としていたこと。ちゃんと拡張のファイル名を指定することで動作しました。

925:nobodyさん
07/05/31 00:34:46 MXrhmWFk
サーバを変えようと思っているのでお聞きしたいのですが、
全データのバックアップをするときって、DBはそのまま吸い上げればいいとして、アップロード画像ってどうすればいいんでしょう?
imagesディレクトリをそのままFTPでもってきて、新サーバにそのままPUTすれば、リストアしたDBと整合性取れると考えていいんですか?
ver1.6系です。

サーバ移行の情報がとにかく少なくて、、、よろしくお願いします。


926:nobodyさん
07/06/02 01:36:35 I1M5Ah0/
まだ日本でサーバ移行した人はいないっぽいね。
>>925が人柱になっては?

927:nobodyさん
07/06/02 09:13:28 c6UxZeBL
確かにバックアップの仕方は情報が少ないね。
俺もサーバがおっ死んだら最後だわ。
みんなどうしてんだろうね?

928:nobodyさん
07/06/02 22:02:18
>>927
スキンとかいじってなかったら、DBとアップロードファイルのバックアップだけで良いのでは?

929:nobodyさん
07/06/03 00:33:03 CjpympAB
みんなDBのバックアップって何使ってる?
phpMyAdminだと画面にSQLが吐かれるからだんだんキツくなってきた。


930:nobodyさん
07/06/03 13:59:03 rGZe2TpC
>>929
[エクスポート]>[ ]ファイルに保存にチェック入れれば選択したファイル形式でダウンロードできるよ
インポート時はPHPの制限で2M以上アップロードできないので
FTPでローカルにあげてSQLのクエリ実行するPHP走らせればインポートできる
<html><head></head><body>
<?php
if(!empty($_GET['file_name'])){
$db = mysql_connect("server_name","user_name","pass_word"); mysql_select_db("db_name");
if (!$db) {die('damepo: ' . mysql_error());}
echo '接続に成功しました<br>';
$file_name = $_GET['file_name']; $file_array = file($file_name);
foreach ($file_array as $key => $query) { $result = mysql_query($query); }
mysql_close( $db ); echo '完了<br>'; }
?>
<form name="" method="get" action="#">File Name?<input type="text" name="file_name"><input type="submit"></form></body></html>

931:nobodyさん
07/06/03 22:22:32 t5XEkABz
上記の方法でphpMyAdminでSQLファイルを作って、上記のPHPで成功と出たんですけど、テーブルができないです。
telnetが使えるんですけど、直接コマンドラインでSQLファイルを流すにはどうしたらいいんでしょうか?


932:nobodyさん
07/06/03 22:24:00 cZymmGIk
URLリンク(members3.jcom.home.ne.jp)
コイツも信者もきめえ
いい加減さっさと閉鎖しろや


933:931
07/06/03 22:49:27
sourceコマンドでできました。

934:930
07/06/04 02:29:16
>>931
あ…
$file_array = file($file_name);
で1行1命令としちゃってるから
複数行にまたがってる
DROP TABLEやCREATE TABLE何かは
実行されないです。
入門ページ見ながら適当に作ったやつなのでw
すまんです

935:930
07/06/04 02:55:50
ついでにGoogle Webサービのサイトマップネタを
うちのWikiが全然全くGoogleにインデックスされないので
Google Sitemapに登録しようと思って探したら
Sarabandeさん所で良さげそうなのを発見して入れみたけど
URLリンク(sarabande.info)
配布元 URLリンク(www.thinklemon.com)
これ、日本語のタイトルページが????って文字化けすしちゃいます。のでちょっと修正
58行目辺りの
# Fetch the data from the DBの下辺りに
mysql_query("SET NAMES utf8", $connWikiDB) or die(mysql_error());
と書き加えると日本語表示するようになりました。
.htaccessのRewriteで
RewriteRule ^sitemap.xml$ /mediawiki/sitemap.xml.php [R=301,L]
とか入れておけばGoogleで読み込んでくれると思うです。

936:930
07/06/04 05:54:19
さらについでに、botネタpywikipediabotの使い方について
要注意!!私はプログラムとかサーバとかシステムとか全くの初心者レベルです
激しく間違ってる部分が多々あります!!!エロイ人居ましたらつっこんでください。
1. 先ずはPythonをインストール、2.5出てますが日本語な2.3.4でおkぽいす
 URLリンク(www.python.jp)
 環境変数にPATHを通しておけば、毎回Pythonフォルダ指定しなくて済むので設定しておいた方が良いかも URLリンク(wbs.nsf.tc)
2.pywikipediaをダウンロード
 URLリンク(meta.wikimedia.org)
 CVSでDLした方が後々アップデート楽ですが
 面倒ならZIPか.tar.gzをDLして適当な所、C:\直下とかに解凍
C:\Python23
C:\pywikipedia 
という風になってるものとして話を推し進めていきます。下記参考ページ
URLリンク(meta.wikimedia.org)
URLリンク(meta.wikimedia.org)
URLリンク(developer.mozilla.org)

937:930
07/06/04 05:55:29
pywikipediabotの続き2
pywikipediaを使用するには2つのファイルに設定をしないといけないです。
1、pywikipedia/families/サイト名_familiesという自分のWikiサイトに関する設定
2、pywikipedia/user-config.pyというファイルでユーザの設定です。
先ずはfamiliesから、自分のサイト名プロジェクト名を仮にMyProjectとして説明します。(デフォだとmediawikiかな)
familiesフォルダーの中に入っているmediawiki_family.pyってファイルをコピーしてmyproject__family.pyとリネーム、小文字じゃないとダメっぽい
UTF-8が使用できるテキストエディタなどで開きます。
'mediawiki' と書いてある2箇所を 'myproject' と(全部を小文字に書き換え)
'Project' を 'MyProject' と 'Project talk' を 'MyProject talk'と書き換え(ここは大文字使う)
'www.mediawiki.org' この部分は自分のWikiサイトのURLを入れます。
例えば自分のURLが 'URLリンク(hogehoge.yahoo.co.jp)' ならば'hogehoge.yahoo.co.jp' とします。
ここで注意:サブディレクトリを書き込むと'socket.gaierror:'とエラーでます。'.com' 'net' '.jp'などサードレベルドメインまでです。
サブディレクトリの指定は一番下に
def path(self, code):
return '/wiki/index.php'
などと付け足せば良いぽいです。後は適当な箇所は適当にversionとかを変更します。

938:930
07/06/04 05:58:52
def __init__(self):           ### こんな感じになるかと ###
family.Family.__init__(self)   ### 書き込み行が足りないのでclassの内部だけです。 ###
self.name = 'myproject'     ### 'myproject' は自分のサイトのプロジェクト名を(小文字)に変更 ###
self.langs = {
'myproject': 'hogehoge.yahoo.co.jp',           ### 'hogehoge.yahoo.co.jp'は自分のサイトのURL ###
}

self.namespaces[4] = {
'_default': [u'MyProject', self.namespaces[4]['_default']], ### ''MyProject''は自分のプロジェクト名に変更 ###
}
self.namespaces[5] = {
'_default': [u'MyProject talk', self.namespaces[5]['_default']],  ### ここも自分のプロジェクト名に変更 ###
}
def version(self, code):
return "1.9.3"           ### MediaWikiのバージョン ###
def path(self, code):
return '/wiki/index.php'     ### index.phpまでのディレクトリ/パス ###

939:930
07/06/04 05:59:33
pywikipediabotの続き4
次は、'user-config.py' の説明、\pywikipedia\config.py というファイルをコピーして \pywikipedia\user-config.py とリネームし中身を全部消す
もしくは新規にテキストエディタ等で \pywikipedia\user-config.py ファイルを作り

mylang = 'myproject'
family = 'myproject'
usernames['myproject']['myproject'] = u'UserName'
console_encoding = 'SJIS'

適当な箇所を書き換え
console_encoding = 'SJIS' はWindowsのコマンドプロンプトがSJISしか使えないのでSJISにしてますが
UTF-8が使えるプロンプトや最近のLinuxのシェルとかなら console_encoding = 'UTF8' にしてください
'UserName' はログイン用のユーザアカウント名に'myproject' は自分のサイトのプロジェクト名に変更してください。
そしてUTF-8にて保存します。

これで一通りの下準備と環境は整いました。

940:930
07/06/04 06:00:23
pywikipediabotの続き5
先ずは[スタート][すべてのプログラム][アクセサリ]の中に入っているコマンドプロンプトを起動
pywikipediaフォルダーまで移動
C:\Documents and Settings\UserName>cd c:\pywikipedia
ログイン用ファイルを実行します。(ブラウザ経由でのログインと同じで一回ログインすれば1日位はログインしっぱなしです)
C:\pywikipedia>python login.py
環境変数でpythonのPATHを通していなければ
C:\pywikipedia>C:\Python23\python login.py
と打ち込んで
Password for user UserName on myproject:myproject:
と聞いてきますのでパスワードを入れると
Logging in to myproject:myproject as UserName
Should be logged in now
と出ればログイン成功です。

エラーが出る様なら設定ファイルを見直してみてください。

941:930
07/06/04 06:01:29
pywikipediabotの続き6
試しに文字置き換え等をしてみます。
ブラウザでSandboxってページを作り内容を 'hoge {{help}}'と書き込み保存
置換は replace.py ファイルを使用します。
C:\pywikipedia>python replace.py -page:Sandbox -regex "hoge \{\{(.*?)\}\}" "MyProject [[\1]]"
ブラウザでSandboxを開いて編集で中身を見るか履歴を参照して、無事書き換えられたら成功です。
-page: はページ指定
-cat: はカテゴリー
-ref はページを参照しているリンク元ってやつ全部です。
-namespace:n は名前空間指定
-start は全ページ
で、ここまで説明しといてあれなんですが、この環境(Windowsに標準のコマンドプロンプト)だと
日本語及びUnicodeの検索や置換はできないっぽいです。(WindowsのコマンドプロンプトはSJISのみなので)
UTF8が使えるプロンプトを入れるとか、Cygwinとかを入れるか、最近のUTF8対応のLinuxとか入れちゃうとか
レンタルサーバに置いてCronで実行しちゃうとかすれば、日本語やUnicodeの検索置換はできるかもです。
pywikipediabotの説明終了です。

942:930
07/06/04 20:43:58
間違いと訂正 >>937 >>938 にて小文字で云々と連呼してますが嘘です。大文字でもOKです。
langはjaの方が良いかも?なので訂正を

xxxxxx_family.pyファイルのファイル名も大文字とかでOKす。
myproject__family.py >>> MyProject__family.py

family.pyの設定内容は
self.name = 'myproject' >>> self.name = 'MyProject'
self.langs = {'myproject': 'hogehoge.yahoo.co.jp',  >>>  self.langs = {'ja': 'hogehoge.yahoo.co.jp',

user-config.pyの設定内容も
mylang = 'myproject'  >>>  mylang = 'ja'
family = 'myproject'  >>>  family = 'MyProject'
usernames['myproject']['myproject'] = u'UserName'  >>>  usernames['MyProject']['ja'] = u'UserName'

u'UserName' u'hoge' u"hoge" など先頭に u とは次の文字列がUnicodeであるという接頭語なので、日本語ユーザ名でもOkです。

943:nobodyさん
07/06/04 22:36:45 4Nbedgdh
(1)特別:Export でXMLを出力 ⇒ (2)エディタで修正 ⇒ (3)特別:Import をしたとき、

(2)でカテゴリを書き換えると、実際のCategory:ナントカ の方に反映されないんですが、
何か一発で反映させる方法はないでしょうか?


944:nobodyさん
07/06/04 22:47:18
./maintenance/refreshLinks.php を実行するか、空編集をして回る。

945:nobodyさん
07/06/04 22:53:08
ありがとうございます!!

maintenance配下のコマンドの説明一覧みたいなのってどこにありますか?


946:nobodyさん
07/06/04 23:01:55
URLリンク(meta.wikimedia.org)
かmaintenance/READMEあたりかな。

maintenance以下のファイルを実際に見てみるのが一番いいと思うけど。
ファイル名からだいたい推測できると思うし。

947:nobodyさん
07/06/05 11:31:56 p4EFLF7/
Wikipedia専用みたいだけど、ソース公開してくれないかな?

WikiTool
URLリンク(beyond.2log.net)


948:nobodyさん
07/06/06 01:35:04
あまり意味ないと思うけど・・・

949:nobodyさん
07/06/06 01:40:01 2S+gWUv5
[この項目をパトロール済みにする]って、放っておくと何か問題ありますか?

950:nobodyさん
07/06/06 07:00:58
べつに

951:nobodyさん
07/06/06 09:03:22
>>949さん
パトロールは古いバージョンでがんばろうとした機能のような気がしてますですよ。
新しいバージョンでは徐々に存在が薄れて、今となっては一般ユーザーには特に
意識されない機能になってしまった…といったところじゃないでしょうか。
管理者 "sysop" にとってのフラグ程度の存在といいますか… ちと寂しいですね (´・ω・‘)

In MediaWiki 1.9
this user preference has been removed and replaced by a new "autopatrol" right,
assigned only to sysops by default. Also, users cannot mark their own edits as patrolled.
URLリンク(www.mediawiki.org)

そんでは~


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch