=== MediaWiki 管理者の集い 第2版 ===at PHP
=== MediaWiki 管理者の集い 第2版 === - 暇つぶし2ch281:nobodyさん
07/11/23 23:43:28 iwWWfONr
>>280
1. LocalSettings.phpをメモ帳で開く
2. 好きなだけ日本語でタイトルを書く
3. メニューから「名前を付けて保存」を選択
4. ダイアログ下部の「文字コード」の欄で、「UTF-8」を選択
5. LocalSettings.phpに上書き保存する

以上。

282:nobodyさん
07/11/24 00:53:40
>>278
MediaWiki の PHPファイルを書きかえるとき、
ファイルの文字コードが今なにになっているのかメモ帳では分からないと思います。

もし、メモ帳のような簡易すぎるテキストエディタを使っていらっしゃるのでしたら、
ファイルを編集中にどんな文字コードで編集しているのかが分かるような
少し機能が拡張されているようなテキストエディタを使われてはいかがでしょう!?

参考リンク:テキストエディタ一覧@窓の杜
URLリンク(www.forest.impress.co.jp)

そのようなエディタを使っていらっしゃらなかったら…ということでご参考までに~

283:278
07/11/24 10:21:59
>281さん、282さん
親切にありがとうございました。
解決致しました。本当にありがとうございます!

284:nobodyさん
07/11/25 00:53:35
>>280
できればバイナリエディタで先頭の3バイト(BOM)を飛ばしたほうがいいと思われ。

285:nobodyさん
07/11/25 07:42:37
wikpedia のxmlダンプファイルからtextを抽出する関数って、
mediawiki に含まれていますか? html を抽出する方法はわかるのですが...

286:nobodyさん
07/11/25 10:51:46
>>242
URLリンク(www.mediawiki.org)
ここを参考にして以下を作成してみました。
===
<!-- External Links in a new Window -->
 <script type="text/javascript">
   var Xterlinks = document.getElementsByTagName('A');
   for (var i=0;i<Xterlinks.length;i++) {
     var eachLink = Xterlinks[i];
     var regexp_isYourdomain="<?php echo $_SERVER["SERVER_NAME"] ?>"; //for example "meta.wikimedia"
     var regexp_ishttp=/(http(.)*:\/\/)/;
     //Check if the link is valid and is external link
     if( (eachLink.href != null) && (eachLink.href.match(regexp_isYourdomain) == null) && eachLink.href.match(regexp_ishttp)!=null ) {
       eachLink.target ="_blank";//make the target for this external link
     }
   }
 </script>
<!-- /External Links in a new Window -->
===
これをMonoBook.phpの</body>の直前に入れればOKです。(全角スペースは適宜tabに置換)

※詳しい人添削よろしく。

287:273
07/11/25 10:54:45
>>273
こうかも
<?php foreach($this->data['personal_urls'] as $key => $item) if(in_array($key , array('login' ,'anonlogin' ,'userpage' ,'preferences' ,'logout')) ) { ?>

288:nobodyさん
07/11/25 17:36:34
メーリングリストの一覧が一新されていました。
URLリンク(www.mediawiki.org)

最近新しく創設されたのはwikitext-lでwikiのマニュアルの執筆が急速に進んでいます。
URLリンク(lists.wikimedia.org)
URLリンク(www.mediawiki.org)

半月ほど前にMediaWikiローカライゼーションのサイトが移転しました。
URLリンク(lists.wikimedia.org)
移転先: URLリンク(translatewiki.net)

ローカライゼーションの進行状態は下記のページで確認できます。
URLリンク(www.mediawiki.org)

289:sage
07/11/27 23:16:19 NEMtzNPd
トップページにアクセスすると、title=つきのページにリダイレクトされてしまいます。

hoge.com

hoge.com/index.php5?title=メインページ

非常にみぐるしくて困ってるのですが、hoge.com だけでメインページを表示するにはhtaccess等を使うしかないのでしょうか?
またページ左上ロゴからのトップへのurlも hoge.com にしたいのですが、こちらもテンプレートを弄る必要があるのでしょうか。

ご存知の方がいましたら、教えてくださいませ。

290:丸川珠代/まるたまのパンチラ
07/11/27 23:58:46
丸 川 珠 代/ま る た ま の パ ン チ ラ
スレリンク(psycho板:117番)
スレリンク(soc板:90番)
スレリンク(seiji板:309番)
スレリンク(sfe板:38番)
スレリンク(seiji板:125番)
スレリンク(kyousan板:99番)
スレリンク(owabiplus板:106番)
 ,イ                    ノヽ
f ヽ_               _,. - '´   ヽ
(  ヽ`ヽ、_____,. -―' ´      、 ヽ
|ヽ  ヽ  レrtう      _,. -――-、 \ヽ
|  ヽ    くハ!    //         \ }
|   ヽ         /             ヽ|
|    \      /                |
|     ヽ-  - /                 |
|      ヽ   ,'                 |
!       ヽ-!                  |
小泉チルドレンの 佐 藤 ゆ か り の パ ン チ ラ がなーーーーい!

291:nobodyさん
07/11/28 03:26:51
mediawiki 1.6.10を使っています。
ログイン状態を記録するcookie(hoge_UserNameとhoge_UserID)の有効期限を
セッション終了までとしたいのですが、
$wgCookieExpirationの値を-3600とかにすると、cookieそのものが作成できませんでした。

includes/User.phpのsetCookies()で
$exp = time()-3600;
とか直接設定してみてもダメでした。

何か良い方法はないでしょうか。

292:nobodyさん
07/11/28 03:32:38
>>285
これ使ってみ。Python製だけど。
URLリンク(svn.razil.jp)

293:nobodyさん
07/11/28 07:30:58
>>289
URLリンク(www.mediawiki.org) で紹介されている方法を試して下さい。
ただ、公式サイトがサブディレクトリで運営している通り、ルートディレクトリでURL短縮して
安定した動作をさせるのは難しいです。

294:nobodyさん
07/11/28 07:39:25
>>285
PHP5であればSimpleXML関数があります。

<?php
// XMLファイルを読み込み解析する
$xml = simplexml_load_file('test.xml');

// 複数のページをダンプして2番目のページを取得する
echo $xml->page[1]->revision->text;

// 一つのページをダンプした場合
#echo $xml->page->revision->text;

// オブジェクトの一覧を表示する(確認用)
#print_r($xml);

295:nobodyさん
07/11/28 07:46:19
>>294 の続き

さらに取得したwikitextを手軽にhtmlに変換したい場合は
Text_Wiki_Mediawikiというのがあります。
URLリンク(pear.php.net)

MediaWiki本体でさえwikitextが正常に変換されないことがあるので
変換後にtidy関数などで整形する必要があるかもしれません。

現在アルファ版しか公開されていないので
PEARのインストールコマンドに-alphaを追加します。

pear install Text_Wiki_Mediawiki-alpha

<?php
require_once("Text/Wiki/Mediawiki.php");

$wiki=new Text_Wiki_Mediawiki();
$wiki->setFormatConf('Xhtml', 'translate', HTML_SPECIALCHARS);

$xml = simplexml_load_file('test.xml');
echo $wiki->transform($xml->page[1]->revision->text);

296:nobodyさん
07/11/28 09:52:52
>>291 $wgCookieExpirationは秒数なので負の値は使えません。
ブラウザが終了した時点でログアウトにするのであれば値を0にします。

297:nobodyさん
07/11/28 18:53:46
知ってる人いますか?
wikipediaは、画像リストに無い画像は、ウィキメディアコモンズの画像を表示するそうです。
[[画像:xxx.png]]で。

設定が可能なんでしょうか?もしくはextensionがありますか?
(自分で簡単なextension書いたほうが早いかも知れないが。。。)

298:nobodyさん
07/11/28 19:47:09
>>297 試したこと無いけど[[Manual:Configuration_settings/ja#共有アップロード]]の
$wgFetchCommonsDescriptionsあたりかな。

調べたついでですが、commonsの画像をWikimediaプロジェクト以外の第三者でも
利用できるようにする計画があるそうです。

URLリンク(commons.wikimedia.org)ファースト・ステップ/リユース
URLリンク(www.mediawiki.org)

299:nobodyさん
07/11/29 10:22:46
>>289に関連して
どうやったら次のことができるかを考えてみた。なるべく手をかけずに
[1] Short URL を使用し(/wiki/$1)
[2] メインページのURLを www.example.com/ にする
[3] ブラウザでアクセスしたときのアドレスバーおよびステータスバーは極力[2]にする
[4] SEOを考慮

300:299
07/11/29 10:27:59
>>299
[1] JavaScriptにて /wiki/メインページ へのaタグのhrefを[2]に変更
[2] httpd or htaccess にて、 /wiki/メインページ を[2]に301リダイレクト

これだけでいけるのかな?

301:299
07/11/29 15:22:14
>>299-300
■httpd.confのShortURLを変更
RewriteEngin On
RewriteRule ^/wiki/メインページ$ / [R=301]
RewriteRule ^/$ /w/index.php?title=メインページ [L]
RewriteRule ^/wiki(.*)$ /w/index.php?title=$1 [PT,L,QSA]
■monobook.phpの</body>の直前に追加(外部リンクの別窓化のJSを使いました)
<!-- External Links in a new Window and Change Main Page URL -->
<script type="text/javascript">
  var sMain = encodeURI("メインページ");
  var Xterlinks = document.getElementsByTagName('A');
  for (var i=0;i<Xterlinks.length;i++) {
    var eachLink = Xterlinks[i];
    var regexp_isYourdomain="<?php echo $_SERVER["SERVER_NAME"] ?>"; //for example "meta.wikimedia"
    var regexp_ishttp=/(http(.)*:\/\/)/;
    var sHref = eachLink.href.slice(eachLink.href.lastIndexOf("/",eachLink.href.length)+1);
    var eHref = escape(sHref);
    //Check if the link is valid and is external link
    if( (eachLink.href != null) && (eachLink.href.match(regexp_isYourdomain) == null) && eachLink.href.match(regexp_ishttp)!=null ) {
      eachLink.target ="_blank";//make the target for this external link
    }else if((sHref == sMain) || (eHref == sMain)){
      eachLink.href = "/";//Change Main Page URL
    }
  }
</script>
<!-- /External Links in a new Window and Change Main Page URL -->

一応、winIEとfirefoxで確認しましたが、間違ってたり冗長なところがあれば、添削よろしくお願いします。


302:299
07/11/29 15:29:19
>>301
スレ汚しすみません。
/が抜けてました。
RewriteRuleの最後
RewriteRule ^/wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]


303:nobodyさん
07/11/29 19:45:48
MediaWikiで、ユーザごとに見られるページと見られないページを設定することって
出来ますか?

もし、知ってる方がいたら教えてください。
お願いします。



304:nobodyさん
07/11/29 20:09:08
>>303
どういった使い方を言っているのかをもうちょっと詳しく。
ユーザーごとっていうのは、どういう単位で分類されるの?個人個人?

305:nobodyさん
07/11/29 20:41:35
>>304
個人個人です。

使い方はこんな感じです。

1,2,3,4  5,6,7 という7つのページがあるとして、

AさんとBさんは、1,2,3,4ページ見られるけど、 5,6,7ページは見れない。
CさんとDさんは、5,6,7ページ見られるけど、1,2,3,4ぺージは見れない。


こんな感じで、
グループ単位で見ることが出来るページと出来ないページ
を設定出来ないかなと思っています。


306:nobodyさん
07/11/29 20:52:08
>>305
このページが参考になりそうだ
URLリンク(www.mediawiki.org)

307:nobodyさん
07/11/29 21:47:00
>>306
わざわざありがとうございます!

見たところ
hidden namespaces patchというのがあるようですね。

しかし、日本語解説サイトがない 。。。。orz
どうにか試行錯誤してみます。

308:nobodyさん
07/11/29 23:53:06
>>293
横からすみません。
その「不安定」という表現が具体的にどういう状態を表しているのかが気になっていました。
自分はそこにある説明の通りの方法で ドメイン.net/記事名 というURLにしていて、
特に何の不具合もなく運用できています。
なにか目に見えない部分でまずいことなどがあるのでしょうか。

309:nobodyさん
07/12/01 12:32:57 g4AkB+ru
ソースにあるけど不可視状態になってるものに、
1.「表示」(サイドバーの上のほう)
2.「個人用ツール」(1のちょっと下)
3.「検索」(本文の上部)
4.「ナビゲーション」(3と並んでいる)
5.「"記事URL" より作成」(本文の下部)
がある。
2,3,4はMonobook.phpから直に削除して消すことがきたんですけど、
1と4の消し方がわかりません。テキストを不可視にするというのは
検索エンジンのペナルティ対象だったと思うのでどうしても消したいのですが、
無理なんでしょうか。

310:nobodyさん
07/12/01 15:13:52
社員数1万人規模の会社のイントラネット内で使おうと思っています。
mediawiki自体はウィキペディアでの実績があるとおり数百万の項目でも
大丈夫と思いますが、ファイルのアップロードを許可する予定なのでサーバー
のHDD容量とデータベースの容量が気になるところです。
mediawikiの設置は複数のサーバーに分けることは可能なのでしょうか。
それと、例えばファイルのアップロード先がデフォルトでimagesフォルダー
になっていると思いますが、アップロード先だけ別ドライブにすることなど
はできるのでしょうか。
Googleでは複数のサーバーを設置していると聞きます。本家のウィキペディア
同一言語であればサーバーを分散させているのでしょうか。
分散が可能とするとどのように行うのでしょうか。

311:nobodyさん
07/12/01 15:46:47
>>296
291です。
ありがとうございました。

$wgCookieExpiration = 0;だとcookieが作成できなかったため、
includes/User.phpで $exp=0; としたところ動作しました。

312:nobodyさん
07/12/01 16:20:13
>>310
MediaWiki 側で出来るかどうかは諸先輩方にお知恵を拝借するとして、
ファイルサーバとか OS的な観点から、別ドライブや別マシンの HDD
領域を任意のディレクトリ(フォルダ)のために使うことは可能ですよ。

UNIX でいうとマウントすれば OK です。
Windows は詳しくないですが、ファイル共有でフォルダ指定したり
アプリケーション等で冗長構成を手伝ってくれるものを導入すれば
可能という気がします。

なにはともあれ UNIXベースでマウントやファイルシステムについて
詳しくなっておくと、おっしゃっている状況から想像するに、後々作業が
楽になるような気がします。

参考になりましたら幸いです。

313:nobodyさん
07/12/01 16:38:23
>>312
ご回答ありがとうございました。UNIX等では
そうですね、CドライブとかDドライブなどといった
表現ではなくファイルのマウント操作なので、目的
とするHDDをアップロード先に指定すれば良いという
ことですね。
ただ、今回はWindowsでの構築予定でしたので 他に方法があれば
と思っています。

314:nobodyさん
07/12/01 17:41:54 Xe0Pn79k
>>309
1と4の消し方がわかりません。
 → 1と5の消し方がわかりません。

でした。

315:nobodyさん
07/12/01 18:59:45
>>308 もっとも大規模な公式サイトがルートディレクトリで運用されていないことから
バージョンが上がった場合の動作が保証されないのでそのリスクを承知した上で
実行して下さいということです。最近の事例でも1.11に対して個別の対応ページが書かれています。
もちろん自分で問題解決できるというのであれば心配いりません。

ちなみに私個人ではログインはできたがログアウトのページが通常のページと誤認識されるというのを体験しました。

316:nobodyさん
07/12/01 19:57:01
>>309 >>314 
1. 表示:以下のh5要素を削除します

MonoBook.php
<div id="p-cactions" class="portlet">
<h5><?php $this->msg('views') ?></h5>

languages/messages/Messages.Ja.php
'views' => '表示',

5.「"記事URL" より作成」:$outの行をコメントアウトします。

SkinTemplate.php
$printfooter = "<div class=\"printfooter\">\n" . $this->printSource() . "</div>\n";
#$out->mBodytext .= $printfooter ;

Skin.php
function printSource() {
global $wgTitle;
$url = htmlspecialchars( $wgTitle->getFullURL() );
return wfMsg( 'retrievedfrom', '<a href="'.$url.'">'.$url.'</a>' );
}

languages/messages/Messages.Ja.php
'retrievedfrom' => ' "$1" より作成',

システムメッセージに関する公式サイトの資料は次のページにあります。
URLリンク(www.mediawiki.org)()
URLリンク(meta.wikimedia.org)

317:nobodyさん
07/12/01 20:57:11
>>313 WikipediaプロジェクトではCommons(URLリンク(commons.wikimedia.org)メインページ)で
ファイルの集中管理をするようにしています。ネットワーク経由でのファイル保存の設定に関しては
URLリンク(www.mediawiki.org) の「共有アップロード」の項目を調べて下さい。
(>>297-298 も参照)

Windowsサーバーでのファイル共有に関してはWindows系のスレで質問するか(「Windows 2003」などでスレタイを検索)
マイクロソフトのサポートページを調べた方が早いと思います。ざっと検索した限りでは
次のサイトでサーバー構築のためのまとまった資料がありました。

Windows Server 2003による社内ネットワークの構築
URLリンク(www.fmmc.or.jp)

Windows 2003とIISのインストールガイドとトラブルシューティングは以下のURLです。
URLリンク(www.mediawiki.org)

企業ユーザー向けのサポートページとメーリングリストがありますが、内容のほとんどが認証関連です。
URLリンク(www.mediawiki.org)

ちなみに現時点でもっとも大規模な企業導入実績例はインテルで社員が10万人以上だそうです。
URLリンク(www.mediawiki.org)

318:nobodyさん
07/12/01 22:00:19
>>316 のついでですが、インクの節約のために
"URL"より作成・最終更新を印刷しないようにするだけなら
commons/commonPrint.cssに以下のセレクタを追加します。

.printfooter, #credits {
display: none;
}

319:nobodyさん
07/12/04 11:41:10
[ケーススタディ] エンタープライズ 2.0の先進企業のシステム事例~カシオの場合~ | エンタープライズ2.0 Forum
URLリンク(e.impressrd.jp)

CsPediaという名前を付けて社内用語の整備に利用。


真の Web 2.0: ユーザー生成型コンテンツの代表格、ウィキペディア
URLリンク(www.ibm.com)

wikiEd(編集支援)が紹介されている
URLリンク(en.wikipedia.org)


Engines of Collaboration: A Look Under the Hood of Wikimedia
URLリンク(whygive.wikimedia.org)

紹介されているエクステンション
URLリンク(www.mediawiki.org)
URLリンク(www.mediawiki.org)

320:nobodyさん
07/12/04 12:17:30
Wiki の方を略したんk…

321:nobodyさん
07/12/05 15:33:35
wikiであることよりもpedia(encyclopedia)であることを前面に押し出したってことか

322:nobodyさん
07/12/05 15:36:22
>>310
WindowsXPでMediaWikiを使っています。

imagesフォルダ以下を別物理ディスクにすることはWindowsの機能で可能です。
また、imagesフォルダ以下は
 images\5\5e
といった具合に、いくつかのフォルダに分けて保存されているので、
それぞれ物理ディスク分けるとさらに大容量&高速化が可能かと思います。

※$wgHashedUploadDirectoryがtrue(デフォールト)になっている必要があります。

323:nobodyさん
07/12/06 12:54:19
>>303 >>305
前のスレでページ名さえ知っていれば読み込み制限されているページでも
{{:ページ名}}でインクルードできる問題が指摘されていましたが
1.10.0以降であれば$wgNonincludableNamespaces変数で
名前空間のインデックスを指定することでインクルードを拒否できるようになります。

例えば通常の記事はMain名前空間に所属してインデックス番号は0なので次のようになります。
$wgNonincludableNamespaces[] = 0;

324:nobodyさん
07/12/06 18:45:42
MediaWikiをサーバー(xreaの無料版)に入れて、インストールも完了しましたが、index.phpに何も表示されません。
正確に言うと"<"だけ表示されてはいるのですが・・・。ちなみにVerは1.9.3です。

どこに原因があるのかさっぱり分からない状態ですが、思い当たる原因が分かる方はいらっしゃいますでしょうか?

325:nobodyさん
07/12/06 19:10:54
>>324に便乗して質問させてください。

ときどき、xrea の名前が出てきますが、
MediaWiki を運用するにあたってオススメでしょうか!?

ssh でログインできる等、他にオススメのレンタルサーバがありましたら
お教えいただけましたらありがたく、よろしくお願いいたします。

326:nobodyさん
07/12/06 20:40:11
>>325
xreaを使うよりは、coreserver.jpのほうが安心だと思う。
URLリンク(www.coreserver.jp)

327:nobodyさん
07/12/06 20:42:21
>>324
過去ログの統計から行くと、文字コード周りを疑ってみると良いと思われます。

328:nobodyさん
07/12/06 22:09:27
>>325
以前、xreaの無料版でMediaWikiインストールして、さあ使おうと思っていたら、
2週間くらいでアカウント削除されてしまったことがある。
広告は表示させていたのだが。

問い合わせてみたところ、自動削除されていたらしく、原因の調査は出来ないとのことだった。
それから自動削除ルールが変わっているかどうか分からないが、細心の注意を払っておいた方がいいと思う。 (´・ω・`)

329:nobodyさん
07/12/06 22:47:10
>>328
xreaで広告免除して使ってるけど、付属のアクセス解析を見ると
リクエストはあってもページビューとしてカウントされないようだった。
CGI呼出のみの利用とみなされて規約違反とされたのかも?

330:328
07/12/06 23:14:54
>>329
2週間以上使えてる?

331:nobodyさん
07/12/07 09:06:28
>>324 XREA無料版の場合、広告の自動挿入がアプリケーションの正常な動作を妨げることがあります。この場合、自動挿入を停止させてMonoBook.phpなどのスキンファイルに広告を手動で貼ります。
それと>>267で1.11.0と1.12αの動作が報告されているので、なるべく新しいバージョンを利用することをお勧めします。

>>328 トップページにindex.html・index.cgi・index.phpなどが存在しないと自動的に削除されます。VALUE-DOMAIN.COMで広告免除を一度でも購入したサーバアカウントは削除されません。

広告付きの無料アカウントの継続方法
URLリンク(sb.xrea.com)

332:nobodyさん
07/12/08 18:21:16
>>322さんありがとうございました。

いろいろやってみて上手く行きました。やったことは次の
ようなことです。

他のドライブやフォルダーにファイルをアップロードする
方法

1 当該フォルダー下のファイルがクライアントからの
リクエストに応じることができるようにapacheの設定を
変更する。apacheの再起動が必要。

<IfModule alias_module>以下に次のように記述

Alias /upfile/ "e:/upfile/"
<Directory "e:/upfile">
Order allow,deny
Allow from all
</Directory>

2 mediawikiが他のドライブやフォルダーにファイルをアップロード
するようにLocalSettings.phpに次のように記述。
$wgUploadDirectory = "E:/upfile";

3 mediawikiが他のドライブやフォルダーを参照できるように
LocalSettings.phpに次のように記述。
$wgUploadPath = "/upfile";

この場合"E:/upfile"のように記述してはいけない。


333:nobodyさん
07/12/10 05:17:29
MediaWikiの各ページにアクセス用のショートカットを
設定するエクステンションがリリースされました

URLリンク(openoffice-ja.org)

こんな感じのURLになります

334:nobodyさん
07/12/10 21:45:02
>>333 最近短縮URLサービスがスパムやセキュリティ問題を抱えているそうなので
それらの対策としてもよさそうですね。

335:nobodyさん
07/12/11 20:32:33
>>327
>>331
遅くなりましたがありがとうございました。
文字コードを変えると上手くいったんですが、今度は何をしてもメインページが表示できず・・・。

最新バージョンに入れ替えて、どうにか事なきを得ましたが・・・難しいです。

336:nobodyさん
07/12/13 15:38:03
履歴の一部を消すプラグインって、ありませんか?

利用者がわりとこまめに保存するために履歴が大量に残ってしまっています。
(例えば同じ人が2~3時間内に10の履歴とか)
履歴が残ること自体はいいのですが、履歴が見づらくなってしまい困っています。
利用者に注意を促していますが、システム側でも対応したいと思っています。

全ての履歴を消してしまうと問題があるので、
短時間内の複数の履歴を1つにまとめるために、
(手動で)履歴の一部を消すプラグイン(テーブルからの物理削除でもOK)って、ありませんか?

ベストなのは、以下のようなものです。
1.自分の履歴しか消せない。(管理者を除く)
2.自分の連続した履歴しか消せない。

皆様のお知恵を拝借したくお願いします。

337:nobodyさん
07/12/13 23:13:24
>>336
それは俺も気になる。

338:nobodyさん
07/12/15 06:20:24
>>336
プラグインは無いが操作とメンテナンススクリプトの組み合わせでできる
削除したいページを一旦消す。
消したページの履歴の上の方にある削除された版の履歴と復帰のリンクを開いて
残したい版だけチェックして復帰。履歴だけならこれできれいになる。
何度も同じページでやろうとすると昔消した版も時系列で並ぶのに注意。
ま、手間はかかるがアーカイブの管理なんて泥臭いもんだ。

DBから削除するときには /maintenance にarchive(削除した版)に入った履歴をDBから消すスクリプトがあるのでそれで。

mediawikiにはいわゆる一般的な意味での削除の機能はない。全て一般利用者からの隠蔽。
mediawikiのインターフェースから削除するとログが増える分DBは肥大する。

まあInnoDB自体が肥大し続けるから強制的にMyISAMにでもしてないと何をしても付け焼き刃だけど。

339:nobodyさん
07/12/15 06:32:21
と書いて思い出したが一時期連続投稿をまとめるスクリプトどっかにあったな。
DB構造変わってなくなったのかね。


340:nobodyさん
07/12/15 07:02:20
たとえば 5分間とか 10分間といったしきい値を設定して、
その時間帯に何回編集しようとも編集したユーザーの編集回数は 1回としてカウントされる
そんな Extension ありそうですけどねぇ…

教えて! Extensions 博士ー!\(^o^)/

341:nobodyさん
07/12/15 13:17:30
ページに毎にskinを変更することはできませんか。
medeawikiをCMSツールとして使い、複数サイトを作成し、
サイト毎に違ったレイアウトにしたいと思っています。



342:nobodyさん
07/12/15 18:33:24
>>251 の本を立ち読みしてきましたが、ページ数が10~20ぐらいしかなくて
完全なCSS初心者用でした。携帯機能については何も書かれていませんでした。
やはり自分で実装しなければならないということですか。

>>341 異なるユーザーグループごとにwikiを提供したいというのであれば
普通にwikiファームを構築した方が早いと思います。

body要素の範囲内でCSSをカスタマイズするのでよいなら
LocalSettings.phpで名前空間を割り当ててクラスセレクタごとのCSSを用意します。

ページごとのskin変更も同じように記事の名前空間ごとにユーザーオプションを変更する
という方法が考えられますが、オプション変更ボタンの下の注意書きの通り
ブラウザのキャッシュはサーバーサイドではクリアできないので、実装は困難だと思います。

ちなみにデフォルトの匿名と新規ユーザーオプションは$wgDefaultUserOptions変数で設定できます。

343:nobodyさん
07/12/15 19:45:53
>>342
ありがとうございます。
>body要素の範囲内でCSSをカスタマイズするのでよいなら
>LocalSettings.phpで名前空間を割り当ててクラスセレクタごとのCSSを用意します。

ということは
if ($hoge):
$wgDefaultSkin = 'cologneblue';
else:
$wgDefaultSkin = 'monobook';
endif;

このような書き方ができるのでしょうか。
リクエストURLを$hogeに入れる方法はどのようになります
でしょうか。

344:342
07/12/15 22:23:59
>>343 独自の名前空間を割り当てるには下記の記事をご覧下さい
URLリンク(www.mediawiki.org)

記事の例ではFoo名前空間にインデックス番号100を割り当てているので
body要素のクラスセレクタはns-100が追加されます。
公式サイトのCSSのカスタマイズ例は下記のページで見ることができます。
URLリンク(www.mediawiki.org)

書いた後に匿名ユーザーと新規ユーザー限定で
skinを切り替えする方法を思いついたので書いておきます。

例えば「メインページ」「Special:Recentchanges」だけを
standard skinにするには次のようになります。

$urls = array(
"/mediawiki/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8",
"/mediawiki/index.php/%E7%89%B9%E5%88%A5:Recentchanges"
);

if(in_array($_SERVER['REQUEST_URI'], $urls)) {
$wgDefaultSkin = 'standard';
}

$_SERVER['REQUEST_URI']から名前空間の部分を取得するには
basename関数とexplode関数を組み合わせます。

$name = '/mediawiki/index.php/Manual:%24wgDefaultUserOptions';
$result = explode(':', basename($name));
echo $result[0];

345:nobodyさん
07/12/16 11:14:46
>>344さんへ

できました。ありがとうございました。
次のようにLocalSettings.phpに記述しました。
この例ではメインページとヘルプページについては
nostalgiaをその他ではmonobookというように目的とすること
はできました。

アドバイスのあった匿名ユーザーと新規ユーザー限定という
ことや名前空間ということを特に考慮はしていないのですが
この例で、全てのユーザーについてnostalgiaとmonobookとに
使い分けできていると思いますが、これでは何かまずい点は
出てくるのでしょうか。

$urls = array(
"/wiki/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8", "/wiki/index.php/Help:%E7%9B%AE%E6%AC%A1"
);

if(in_array($_SERVER['REQUEST_URI'], $urls)):
$wgDefaultSkin = 'nostalgia';
else:
$wgDefaultSkin = 'monobook';
endif;



346:nobodyさん
07/12/16 14:12:23
>>345 うまく動作をしているのであれば気にする必要はありません。
私の環境(1.12α)では管理者権限を持つログインユーザーのオプションで
例えばスタンダードを選択したら$wgDefaultSkinに関係なくスタンダードになりました。

それで$urls変数の方を少し改良したので貼っておきます。create_function内の$kは
各配列のインデックス番号を表します。これは省略しても動作します。
array_walk関数では2つの引数を使うという慣習に合わせるためです。

サブページ(メインページ/サブページ)を一切使わないのでしたら
$_SERVER['REQUEST_URI']をbasename($_SERVER['REQUEST_URI'])に置き換える
というのもありです。

$urls = array(
"%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8",
"%E7%89%B9%E5%88%A5:Recentchanges"
);
array_walk($urls, create_function('&$v,$k', '$v = "/mediawiki/index.php/".$v;'));

347:nobodyさん
07/12/16 15:34:18
さらに試したところブラウザのユーザーエージェントでも切り替えできました。
例えば、OperaとIE7の場合はstandardににするには次のようになります。

$useragents = "/MSIE 7.0|Opera/";
if(preg_match($useragents, $_SERVER{'HTTP_USER_AGENT'})) {
$wgDefaultSkin = 'standard';
}else{
$wgDefaultSkin = 'monobook';
}

携帯のユーザーエージェントの切り替えるためにPEAR::Net_UserAgent_Mobile
というライブラリがありますが、MediaWikiで採用しているGPLと矛盾する
PHPライセンスなので再配布はできません。

あと携帯向けに表示する場合はページ分割が必要になりますが
Pear::Pagerが使えると思います。

348:nobodyさん
07/12/17 06:53:13
前スレでXREAといったPHPがセーフモードのサーバーで
タイムゾーンを補正できないことが話題になっていましたが
代わりに匿名ユーザーのオプションを設定することで対応します。

$wgDefaultUserOptions['timecorrection'] = '09:00';

設定をした後で記事のキャッシュをパージすることを忘れないで下さい。

349:nobodyさん
07/12/17 07:22:27
>>336 投稿を統合するよりもむしろ2chのように
投稿時間の間隔を規制する方がベターだと思います。

連投の表示を隠匿するもしくは投稿時に連投を統合する場合、
追加のSQLを発行する必要がでてくるのでサーバー負担が増えますし
データベースの設計に関わるのでカスタマイズの難易度が上がります。

連投を規制する場合はAPIなどで以前の投稿時間を取得して
規制時間の間は投稿ボタンを表示しないようにするという実装で済みます。

action=submitなどで投稿できる可能性があるので
そこまでやる人はあまりいないだろうという前提の元ですが。

350:nobodyさん
07/12/18 13:19:04 Gx8WPDAu
SVNで最新版にアップデートしたら、下記のようなエラーで表示されないんですが。
from within function "Database::select". MySQL returned error "1146: Table 'hoge.protected_titles' doesn't exist (localhost)".



351:nobodyさん
07/12/18 14:55:35 Gx8WPDAu
>>350
事故解決しました。スマソ

352:nobodyさん
07/12/18 20:17:47
>>347 訂正と追記。
PHPでは多重継承ができないので、自分で実装することにしました。
通常の記事のページの分割方法は次のようなものです。

1 本文を変数として取得するには$this->data['bodytext']を使う。
  ちなみに通常表示は$this->html('bodytext')です。
2 変数として取得した本文を分割して配列として収納する。
3 例えば、$_GET['id']を使って記事名?id=ページ番号でパラメータを取得して
 そのパラメータに対応した本文を収納した配列の要素を表示する。
4 表示の場合分けは上記の$_GET['id']に加えて$_GET['action']などの値を使う。

定義済の変数は
URLリンク(www.php.net)
index.phpに渡すことができるパラメータは
URLリンク(www.mediawiki.org)

を参照して下さい。

編集も携帯でできるようにするにはincludes/EditPage.phpを編集すればよいはずですが未調査です。

分割方法に関して平文のみで文字数で分割する場合、英文ならwordwrap関数が、
日本語の場合は厳密な文字数で分割できませんが、下記の記事が参考になりました。

続:日本語(マルチバイト)でのwordwrap処理 -OKWave
URLリンク(www.mediawiki.org)

ざっと調べた範囲では携帯向けのプロクシサイトのように
一定量のサイズとHTMLブロック単位で分割する方法の解説記事は見つからなかったので、
自分で考える必要があるようです。あとはpuwikiが携帯対応しているのでこちらも参考になるかもしれません。

353:nobodyさん
07/12/19 05:09:12
今さっき、xreaにMediaWikiをインストールして最初のセットアップを完了しました。
そのあとLocalSettup.phpを親ディレクトリに入れたのですが
Warning: require_once(./LocalSettings.php) [function.require-once]: failed to open stream: Permission denied in
/virtual/hoge/public_html/hoge2/mediawiki/includes/WebStart.php on line 86

Fatal error: require_once() [function.require]: Failed opening required './LocalSettings.php' (include_path='.:/usr/local/lib/php') in
/virtual/hoge/public_html/hoge2/mediawiki/includes/WebStart.php on line 86

というエラーが出るのでます。どうすればいいのでしょうか。

354:nobodyさん
07/12/19 06:19:27
>>353
== 質問するときに書いてね ==
>>3-4 をご覧になってお分かりになる範囲の情報を記載しましょう。

回答する方も MediaWiki のバージョンくらいは分からないと困ると思いますので。

xrea に MediaWiki を導入している経験者の方々が多くの情報を残しています。
そちらも参照されると手助けになると思いますのでよければどうぞ。
URLリンク(www.google.co.jp)

355:nobodyさん
07/12/19 08:50:50
すいません
ちなみにver. は1.11.0です。

356:nobodyさん
07/12/19 09:51:13
>>353
とりあえずDocumentRootとLocalSettings.phpのパスを教えてください
/virtual/hoge/public_html/hoge2/
/virtual/hoge/public_html/hoge2/mediawiki/LocalSettings.php
かな?

357:353
07/12/19 10:48:32
>>356
LocalSettup.phpをコンフィグから一度PCにダウソして親ディレクトリにうpしたのでそうだと思います。

そのあとコンフィグは削除しました。

358:nobodyさん
07/12/19 11:01:37
>>357
LocalSettup.php ?
まさか、リネームしてないよね?

359:353
07/12/19 11:42:50
いじらずダウソ、うpしたのでリネームはしてません。

エラーの文章の意味はどういうものなんでしょう?

360:nobodyさん
07/12/19 12:12:42
>>359
パーミッションが無いよと言っている。
LocalSettings.phpの所有者とパーミッション(属性)とindex.php等他のファイルの所有者は何?

361:nobodyさん
07/12/19 14:12:12 I01GQrBL
>>352
phpで動かしてる?
cgiモードだとうまく動くかもよ。


362:nobodyさん
07/12/19 14:12:59 I01GQrBL
>353の間違い

363:353
07/12/19 14:24:47
>360
LocalSettings.phpの属性は600.
index.phpの属性は644でした。
ファイルの所有者ってのはどうやって見るんですか?

>361
cgiモードってのはどうやるんですか?

364:nobodyさん
07/12/19 16:30:28 4oqVnmt9
>>363

XREAでcgiモードは、Mediawiki下の.htaccessに下記を追加
(.htaccessがなければ、新規で作成)

<Files index.php>
AddHandler application/x-httpd-php5cgi .php
</Files>


365:nobodyさん
07/12/19 16:40:15
>>363 私が利用しているXREAサーバーではLocalSettings.phpの属性は707にしています。
さらに動作しなければ属性を755、777で試してみて下さい。

また、ファイルとデータベースのレコードを削除して再度アップロードとインストールをすると
正常に動作するようになることがあります。

ファイルの所有者を調べるにはサーバーの管理のファイルマネージャーの画面を見るか
サーバーを遠隔操作するためにSSH接続をしてls -lもしくはls -allのコマンドを使います。
XREAの仕様ではモジュール版PHPで生成されたファイルの所有者はapacheとなります。

PHPをCGIモードに切り替えるには下記の一行を記した.htaccessファイルを設置します。
AddHandler application/x-httpd-phpcgi .php

PHPをCGIとして動かす方法について
URLリンク(sb.xrea.com)

CGIモードはモジュール版PHPで動かない関数やLinuxコマンドを実行するために利用されます。
セーフモードで動かない関数は以下のページで書かれています。
URLリンク(www.php.net)

366:nobodyさん
07/12/19 16:43:02
>>363
とりあえずLocalSettings.phpを644にしてみて

367:353
07/12/19 16:49:39
>366
とりあえず言われたとおり、644にしてみました。

データベース・エラー
データベース検索の文法エラー。これは恐らくソフトウェアのバグを表しています。 最後に実行を試みた問い合わせ:

(SQLクエリー非表示)

from within function "Article::pageData". MySQL returned error "1267: Illegal mix of collations (ujis_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' (localhost)".

って言われました。

368:353
07/12/19 16:51:48
755 777にしても同じでした。


369:nobodyさん
07/12/19 16:59:12
>>367 データベースを作るときにキャラクタセットはunicodeにしたかな?

370:353
07/12/19 17:05:47
EUC JPっす。
ググッたらこのスレの34でよく似た文章出てきました。
やり直してみます。

371:353
07/12/20 01:09:07
MySQLをUnicodeに属性を644に
変更したら動作しました。
皆さんありがとうございました。
またお世話になるかもしれません。

372:nobodyさん
07/12/20 18:58:18
やっと時間ができたのでスレのまとめページを作りました。
とりあえず>>10-12までを転載しました。

URLリンク(www12.atwiki.jp)

ウィキペディアライクモードがいつの間にか実装されていました。


373:nobodyさん
07/12/21 08:23:19
>>372
すばらしく乙

374:nobodyさん
07/12/21 12:54:32
>>372


ですが、MediaWiki の有用性の分かっているスレ住人のお一人でしたら
MediaWiki を使ったまとめサイトにしていただければ尚嬉しいのですが…
(´・ω・`)

375:nobodyさん
07/12/24 19:28:14
345です。
その節はお世話になりました。

依然としてmediawikiをcmsツールとして利用できないかと
色々TRYしています。

先日は、ページ毎にSkinを変更する手段としてLocalSettings.php
にif文を記載して分岐しましたが、これだとページを作成する度に
LocalSettings.phpに手を加えなくてはなりません。
これを回避するために、ページにSkin名が含まれている場合
当該Skinで表示するということをやろうと思い、次のように
コーティングしましたが上手く行きません。


イベントハンドラをフックに割り当て、フックのイベント
が発生したタイミングでchangeSkinが実行されることを予定してい
ます。
changeSkinでは$wgOut->getHTML()で得たHTML文にSkin名(例ではnostalgia)
が記載されている場合は$wgDefaultSkin = 'nostalgia';となるように
しています。

フックのイベントのタイミングが既にSkinが選択された後であれば
当然上手く行かないでしょうし、また、$wgOutにHTML文が割り当てられて
いない時も上手く行かないと思います。コメント部分で色々と
フックのイベントタイミングを選びましたが、なかなか上手く行きません。

どのようにコーティングすれば当初の目的が果たせるでしょうか。

よろしくお願いします。
なお、書き込みエラーになったのでコードは次に書き込みます。

376:nobodyさん
07/12/24 19:31:37
<?php

//$wgHooks['OutputPageBeforeHTML'][] = 'changeSkin';
//$wgHooks['ArticleAfterFetchContent'][] = 'changeSkin';
//$wgHooks['ParserBeforeTidy'][] = 'changeSkin';
//$wgHooks['ParserBeforeStrip'][] = 'changeSkin';
//$wgHooks['OutputPageParserOutput'][] = 'changeSkin';
//$wgHooks['ArticleFromTitle'][] = 'changeSkin';

$wgHooks['ArticleFromTitle'][] = 'changeSkin';

function changeSkin() {
global $wgDefaultSkin,$wgOut;
if(strpos($wgOut->getHTML(),"nostalgia")!== false) {
$wgDefaultSkin = 'nostalgia';
}
return true;

}
?>



377:353
07/12/24 23:05:57
353です。
インストールのときはお世話になりました。

また質問なのですが、テンプレートや表示の仕様をwikipediaそっくりにしたいのですが
mediawiki:common.css
mediawiki:common.js
のソースをそのままコピペしても全然同じになりません。
infoboxを使ってみたいのですがうまくいかないので
どうしたものかと悩んでいます。
wikipediaのcommon.cssとかはソースの色分けとかもされてたり、
ソースの上の部分の文頭に四角が付いていますがそういうのも付きません。

ver.1.11.0
サーバーはxreaです。

よろしくお願いします。

378:nobodyさん
07/12/25 00:57:46
>>375-376
とりあえず、「CologneBlue:記事名」ならCologneBlueスキンを表示する動作は以下のコードで
確認しました。

$title = str_replace('/mediawiki/index.php/', '', $_SERVER['REQUEST_URI']);
$namespace = explode(':', $title);
$skins = array('Chick', 'CologneBlue', 'MonoBook', 'MySkin', 'Nostalgia', 'Simple', 'Standard');

if(in_array($namespace[0], $skins)){
  $wgDefaultSkin = $namespace[0];
  //$wgDefaultUserOptions['skin'] = $namespace[0];
}

スキン内部のコードならSkin::getSkinNames()スタティックメソッドで
利用できるスキン名の一覧の配列を得ることができますが
LocalSettings.php内ではメソッドを書いただけでは利用できませんでした。

379:nobodyさん
07/12/25 01:29:27
>>377
URLリンク(en.wikipedia.org)

Template:Infoboxのテーブルで指定されているCSSのクラスをお探しなら
MediaWiki:Monobook.cssページで見つかります。
URLリンク(en.wikipedia.org)

念のため書いておきますが、上記のテンプレートは
ParserFunctions拡張機能がインストールされていることが前提条件です。
URLリンク(ja.wikipedia.org)条件文

ソースコードのハイライトに関してはSyntaxHighlight GeSHi拡張機能
を導入してみて下さい。
URLリンク(www.mediawiki.org)

380:nobodyさん
07/12/25 02:44:54
>>378 追記。もし記事の名前空間と記事が異なる場合は
記事の名前空間をキー、スキン名を要素とする配列を用意して
array_key_exists関数で判定します。

$title = str_replace('/mediawiki/index.php/', '', $_SERVER['REQUEST_URI']);
$namespace = explode(':', $title);

$skins = array(
'Chi' => 'Chick',
'Col' => 'CologneBlue',
'Mon' => 'MonoBook',
'MyS' => 'MySkin',
'Nos' => 'Nostalgia',
'Sim' => 'Simple',
'Sta' => 'Standard');

if(array_key_exists($namespace[0], $skins)) {
$wgDefaultSkin = $skins[$namespace[0]];
//$wgDefaultUserOptions['skin'] = $skins[$namespace[0]];
}

381:nobodyさん
07/12/25 02:56:48
もう一つ追記。上記のコードでは記事名の取得はstr_replace関数を使っていますが、
削除する文字列が記事名にも含まれる場合は正常に記事名が取得できなくなりますので
対策をすると下記のようになります。

<?php
$url = '/mediawiki/index.php/mainpage/subpage1/subpage2';
$url = explode('/', $url);
$n = count($url);

for($i=3; $i<$n; $i++){
$title .= $url[$i];
$title .= ($i==$n-1) ? '' : '/';
}

echo $title;

($i==$n-1) ? '' : '/'の部分は三項演算子で単純な条件分岐を簡略化するために使っています。

382:nobodyさん
07/12/25 21:22:36
>>378さんへ
上手くできました。ありがとうございました。
URL引数が名前空間毎に変わることを利用しているのですね。
こちらの方がフックを使うよりもとてもスムーズだと思います。

ところで、$wgDefaultSkin = を使う場合、ログインユーザの
skinは変更できないのですね。これはログインなしで使用する
ことで回避できるので仕様として諦めるしかないのかなと思って
います。ただ、ログインを前提としない場合はデフォルトの検索
は名前空間が標準のみとなってしまいますが、作成した名前空間
をデフォルト検索対象に含めることはできないでしょうか。

383:nobodyさん
07/12/25 23:06:34
>>382 
匿名ユーザーのデフォルトの検索対象となる名前空間は
$wgNamespacesToBeSearchedDefault変数で指定します。

$wgExtraNamespaces[110] = "MonoBook";
でMonoBook名前空間のインデックス番号を110にした場合は
次のようになります。

$wgNamespacesToBeSearchedDefault = array(
NS_MAIN => true,
110 => true
);


せっかくなので名前空間ごとにユーザーグループの編集を制限する方法も書いておきます。
1.10以降なら$wgNamespaceProtection変数、1.10以前ならLockdown拡張機能で行います。

上記のMonoBook名前空間に対してsysopグループだけが編集できるようにするには
次のように設定します。

1.10.0以降
$wgNamespaceProtection[110] = array( 'sysop' );

1.10.0以前
require_once( "$IP/extensions/Lockdown/Lockdown.php" );
$wgNamespacePermissionLockdown[110]['edit'] = array('sysop');

384:nobodyさん
07/12/25 23:21:00
続き。sysopグループだけがMonoBook名前空間を閲覧できるようにする
には以下の通りです。

require_once( "$IP/extensions/Lockdown/Lockdown.php" );
$wgNamespacePermissionLockdown[110]['read'] = array('sysop');
$wgNonincludableNamespaces[] = 110;

以前と比べて$wgNonincludableNamespacesによって
他のページへのインクルードを禁止できるようになりましたが、
特別ページの検索機能で見出しが表示されたり
統計情報が表示されるのは相変わらずです。

385:nobodyさん
07/12/26 11:22:34
ド素人かつ只の利用者なんで恐縮ですが、ページの下部にコメント欄を表示させることは出来ないでしょうか?
最新の10~20件のみ表示されるような物が理想なのですが、情報が見当たりませんでした。

386:nobodyさん
07/12/26 12:19:28
>>385
次回から、スレッド内を全文検索してから質問するよう心がけてください
>>105-107

387:nobodyさん
07/12/26 20:49:31
>>383-384さんへ
上手く行きました。助かりました。大変ありがとうございました。

388:nobodyさん
07/12/28 13:05:59 MBh5CIXS
パスワードで閲覧を制御しているディレクトリと
誰でも見られるディレクトリとあって、
その両方で MediaWiki を使いたいのですが、
このような使い方の場合は
MediaWiki をその数だけインストールしないといけないんでしょうか?


389:388
07/12/28 14:38:08 MBh5CIXS
>388 ですが
URLリンク(www.steverumberg.com)
ここにありました、すみません。


390:388
07/12/28 17:02:15 MBh5CIXS
何回もすみません。
>389のサイトですが、Debian/EtchについてくるMediaWiki1.7.1だと
うまくいかなかったです。
config/index.php内の/path/to/LocalSettings.phpの部分を
./LocalSettings.phpというふうに相対パスにする必要があります。


391:nobodyさん
07/12/28 17:20:42
>>389
できたら日本語で概要を簡単に説明してくれると助かる

392:388
07/12/28 17:38:30 MBh5CIXS
>391
元々インストールされているMediaWikiが
/home/yourdomain/www/wiki
にインストールされていて
/home/yourdomain/www/new/wiki
にもインストールしたい場合、
わざわざファイルまるごとインストールせずに、
シンボリックリンクを作って
データベース名を変えれば
LocalSettings.php
を作るだけでおkという話です。


393:nobodyさん
07/12/29 00:25:24 AJGv2kDc
質問です。
無事にMediaWikiを動作させることは出来たのですが、
カテゴリを編集しようとすると、
「セッションが切断されたため編集を保存できません。もう一度やりなおしてください。
それでも失敗する場合、ログアウトしてからログインし直してください。」
とメッセージが出てしまいます。

23氏のようにログインして他のページに行ってもログアウトされたりはしません。
また、メインページや普通の記事の編集ではこのメッセージは出ません。
問題なく編集できます。
今のところ、あくまでカテゴリを編集しようとしたときだけでます。
どなたかご教授をお願いします。

サーバー:さくら
MediaWiki:1.6.10
OS:FreeBSD 6.1-RELEASE-p10 i386
Apache:1.3.39
PHP:4.4.6
MySQL:4.0.27

あと、さくらでは.htaccessのRewriteEngineなどは使えないんですかね。
URLリンク(example.com)記事名
になるように.htaccessを編集したら500エラーがでます。

394:353
07/12/29 01:19:54
>379
亀レススマソです。
一応、紹介してもらったhelpの通り、三つのphpをうpして、
LocalSettingを書き換えたら
URLリンク(sakuratan.ddo.jp)
こんな感じになりました。
何が原因か自分では分からないのですが。
よろしくお願いします。

395:353
07/12/29 01:22:20
ちなみに左が僕の設置したwikiで右がwikipediaのテンプレです。
自分方の内容はwikipediaのものをそのままコピーしてみました。

396:nobodyさん
07/12/29 04:30:31
>>394-395 「Template:Tnavbar」テンプレートが不足しています。ページで使われている
テンプレートを調べるには編集画面の一番下の「このページで使われているテンプレート:」を見ます。

あと「Template:Infobox プログラミング言語/doc」テンプレート内の多言語間リンクを削除して記事をパージして下さい。
記事をパージするにはURLの一番の記事名の後ろに?action=purgeを追加してEnterキーを押します。

397:nobodyさん
07/12/29 11:43:39
質問です。
SecureHTMLで<html>タグ内にphpをajaxで呼び出すjavascriptを書いています。URLを
example.php?a=xxx&b=yyy
と記述すると、&が&に変換されてしまうようで、($_GET['a']は問題ないのですが)、$_GET['b']に値を送れません。

どなたか解決法をご存知の方はいますか?
(ver1.11)

398:397
07/12/29 11:45:04
>>397
あらら。
「&が&amp;に変換されてしまう」
です。

399:nobodyさん
07/12/29 17:29:33
>>397-398 JavaScriptの方はよくわかりませんが、htmlタグは$wgRawHtmlで設定するものなので
PHPコードは無効にされます。
wiki上でPHPコードを実行したいのであれば同じ作者のExtension:SecurePHP extensionがあります。

400:nobodyさん
07/12/29 18:04:06
>>393 記事をパージする、一時的ではない、どの記事でも、再インストール、
>>25 のsession save pathの設定をするといったことをやっても
セッション切断が再現されるのであれば、ご自分でPHP5をコンパイルして
最新のMediaWikiを導入することもお考え下さい。

さくらインターネットのスレによれば最新のサーバーではPHP5が投入されているそうなので
PHP5の利用を考える場合はPHPのバージョンの確認や公式マニュアルを参照して下さい。

mod_rewriteに関しては設定内容が書かれてないので何も申しようがありませんが、
「さくらインターネット mediawiki」で検索すればURLを短縮したwikiサイトが見つかるので
できるのかという質問に対する回答はできるでしょう。

401:nobodyさん
07/12/29 18:11:28
URLリンク(mediacloth.rubyforge.org)

Ruby製のmediaiwkiのパーサーを見つけました。

gem install mediacloth

でインストールして

require 'mediacloth'
puts MediaCloth::wiki_to_html(input)

でinputのwikitextがhtmlに変換されます。

402:393
07/12/30 03:08:56 JAqNZR9B
>>400
ありがとうございます。
ちょっと大変ですが、試してみます。

403:nobodyさん
07/12/30 15:55:26
アンケートを取れるようなエクステンションはありませんか。

404:nobodyさん
07/12/30 16:08:09
>>403
どういったアンケートを想定されているのか分かりませんが、こういうことですか?

BoardVote
URLリンク(www.mediawiki.org)

405:397
07/12/30 18:15:11
>>399
ちょっと違うんですよね。
phpコードを実行したいのではなくて、複数の引数が入ったURLを記述したいだけなんです。
で、URLの文字列のうち&が実態参照された文字列に変わってしまっているようで。。。

406:nobodyさん
07/12/31 10:50:50
>>404
ありがとうございます。
ページ毎の投票ではなくて、自由にアンケートの設問
(チェックボタン、ラジオボタン、テキストフィルド)
が作れてその結果を表示できるようなものですが、
wikiに求めるのは無理なような気もしていますので
やはりないでしょうね。


407:nobodyさん
07/12/31 14:12:59
phpスクリプトを実行させるということができるそうですが
URLリンク(opentechpress.jp)

うまくいきません。本当にできるのでしょうか。

408:nobodyさん
07/12/31 14:22:49
>>407
自己レスです。できましたすみません。

409:nobodyさん
07/12/31 15:04:13
>>406
MediaWiki が組み込まれた CMS を使えば可能だと思います

410:nobodyさん
07/12/31 15:51:08
>>409
xoops,joomla,nucleus,drupalなども当たってみましたが
残念ながらアンケートができるような機能はありません
でした。
具体的にどのようなCMSを使えば可能でしょうか。

411:nobodyさん
08/01/02 19:15:41
>>392
全部のシンボリックリンクを作るなら
丸ごとコピーでも良いのでは?
デスク容量は喰ってもそのほうが
分かりやすいと思う。

412:388
08/01/03 00:20:28 pOX3gvok
>411
そのへんは好みでよいかと。。
私は気分的にそこはシンボリックリンク、
そこはコピー、と使い分けます^^

413:nobodyさん
08/01/06 08:16:23
>>173
社内LANでの運用はXPを使わない方が良いとのことですがこれは
なぜでしょうか。

414:nobodyさん
08/01/06 08:18:40
編集で改行は<br>を使いますがなぜ自動改行される
仕様になっていないのでしょうか。一行おいての改行
はされるのに。<br>を使わないで済むエクステンション
はないでしょうか。

415:TPkEnflaVjdXidknilI
08/01/06 13:33:09
Very nice and cheap mp3 download

416:nobodyさん
08/01/07 01:02:48
>>414
MonoBook.phpの
<?php $this->html('bodytext') ?>

<?php echo nl2br($this->data['bodytext']) ?>

に置き換えてみるとわかりますが、リストやテーブル、preの部分を正規表現で回避する必要があるので
動作の確認に手間がかかるのとwikiを編集する時点で最小限のHTMLの知識が前提になるので、
改行コードだけを変換するエクステンションを公開する人は考えにくいです。

WYSIWYGが必要であるならFCKeditorなどのエクステンションの導入をお考え下さい。

417:nobodyさん
08/01/07 05:58:20
>>414
そもそも普通の文章を書いていると想定すると、
強制改行を使わなければならない場面なんて
まずあまり考え付かないのだが、どういうことを
意図しているの?

> 一行おいての改行はされるのに。
空行を入れると段落(HTMLの p 要素)が作られるが
これは別に改行を意味しないし、そういう意味では
ないとすると何をいいたいのかわからない。

418:nobodyさん
08/01/07 07:11:47
>>416さんへ
回答ありがとうございます。
skinの部分ではなく、417さんの言っているように
medeawikiの深層部分で段落(HTMLの p 要素)が作られる
のと同じように改行をHTMLの br 要素に置き換えてくれる
と便利なのになぜやってくれないでいるのかなと思いました。

特に、プログラムコードをwikiにメモる場合にはです。

仰るとおりエクステンションを考えてみたいと思います。

419:nobodyさん
08/01/07 10:25:28
>>418 ソースコードの掲載だけなら
preタグかSyntaxHighlightエクステンションで
恐らく間に合います。

実際にエクステンションを作るのであれば
>>207 のエクステンションを下敷きにすればいいでしょう。

420:nobodyさん
08/01/07 18:08:00
> 便利なのになぜやってくれないでいるのかなと
brは強制改行であって改行とはちがうぞ、と。

pre要素使えに一票。
それに、MediaWikiは行頭に半角空白があれば
勝手にpre要素を開始してくれる。
真面目に整形するならリストを使うべきかもね。

421:nobodyさん
08/01/07 22:16:52
すみません。
スレ違いかもしれませんが教えてください。


テーブルタグの背景に画像を埋め込むにはどうすれば良い
でしょうか。ダメもとでこんなふうに書いてみましたが
やっぱりダメでした。

<table>
<tr>
<td background= [[画像:barTop.gif]]>ABC</td>
</tr>
</table>

422:nobodyさん
08/01/08 13:16:56
>>421
URLリンク(www.tagindex.com)

MediaWiki:Common.cssもしくはmonobook/main.cssで
アップロードした画像が実際に存在するURLをbackground-imageプロパティで
指定して動作を確認しました。HTMLの属性ではできないようです。

423:nobodyさん
08/01/12 14:21:46 e0HSB2Xt
質問です。
さくらインターネットのサーバーを使ってるんですが
mysqlのバージョンが4.0です。

最新バージョンのMediaWikiのためにPHPバージョン5.0以降が要求されます
と書かれていますが、最新バージョンをいれることは無謀でしょうか?
動かしている人いたらレス下さい


424:nobodyさん
08/01/12 14:58:05 e0HSB2Xt
インストールしたら1.6系

URLリンク(www.e-manse.net)
これと同じようになったw

Warning: main(maintenance/updaters.inc) [function.main]: failed to open stream: No such file or directory

Fatal error: main() [function.require]: Failed opening required 'maintenance/updaters.inc'

挫折しそうですw

425:nobodyさん
08/01/12 14:58:52
>>423
PHPのバージョンがPHP4って事だよね? それなら無謀。
でもさくらなら順次PHP5に変わってるよ(6月までに全部入れ替わるはず)
鯖によっては既にPHP4とPHP5を選択できるようになってる

426:nobodyさん
08/01/12 15:02:49
>>423
MySQL のことではなく、PHP のバージョンのことでよろしいんですよね?

でしたら、さくらサーバは目下のところ順次 PHP5 へ Ver-up 進行中ですよ
URLリンク(faq.sakuratan.com)

新しく加入された方でしたら、さくらサーバのコントロールパネルから
PHP5 が選択できるようになっているようです
昔から使っているのでしたら、遅くとも 2008/春 以降には PHP5 が使える
ようになる予定らしいですので、それまで待ってみるのが吉だと思います

詳しい状況については上記の Wiki か下のスレをチェックしておけばOKかと

さくらインターネット 質問にマジレスするスレ Part14
スレリンク(hosting板)

427:nobodyさん
08/01/12 16:25:03
>>424 正常にファイルがアップロードされていないので
アップロードし直して下さい。

428:nobodyさん
08/01/13 14:32:45
俺もsakuraで、PHPを4⇒5にしました。
現在はこんな感じ

MediaWiki: 1.6.10
PHP: 5.2.5 (cgi)
MySQL: 4.0.27

WikiMediaのバージョンアップしようと思うんですけど、
いくつがお勧めですか?




429:nobodyさん
08/01/14 22:29:51
>>428
No Time でver1.11

430:nobodyさん
08/01/14 23:09:22
俺もverupしようかな・・・
でもスキーマとか変わってるよね?
その辺の移行ってどうなってるの?
どこかにverupのレポとかないかな?

431:nobodyさん
08/01/15 15:19:35
>>430
URLリンク(www.mediawiki.org)
ここ読めば大体分かるよ。(翻訳感謝)
スキーマは変わっているけど、update.phpで自動的に変換される

ver1.6からのverUPは経験ないけど。
(カスタマイズ具合によっては、データをXML化して、ver1.11インストール⇒importが良いかもね)

432:nobodyさん
08/01/17 00:06:20
さくらの方でPHP5の対応が発表されました。

「さくらのレンタルサーバ」スタンダード・プレミアム PHP5 の提供
URLリンク(www.sakura.ne.jp)

433:nobodyさん
08/01/18 02:38:41 0toCpXbz
data, data/a, data/b というページがあった場合に、
dataページ上で、配下の階層の a, b を一覧表示する方法はあるでしょうか?
pukiwikiのls.inc.phpのような使い方をしたいのですが。

434:nobodyさん
08/01/18 22:30:52
>>433
[[Special:Prefixindex/data/]]
階層と言うより、特定の文字列で始まるページ名の列挙だが。

435:434
08/01/18 22:31:44
あ、ページ上でか。ごめん、読み違えてた。

436:nobodyさん
08/01/19 04:07:42
>>433
SQLのパフォーマンスの観点からカテゴリを活用する戦略を
採用した方が良いと思います。指定したカテゴリの一覧を
ページに埋め込むextensionがあると思います。

それでも機能が必要で自分で作る場合、大まかな手順は
>>207のextensionのgetPages()関数のように
全ページ名を配列で取得し正規表現のふるいにかけます。

437:nobodyさん
08/01/19 11:22:40
>>436 訂正。>>381のようにexplode関数で記事名を分割すればいいので
正規表現は必ずしも必要ないかもです。

438:nobodyさん
08/01/19 17:22:24 1DuJsiWQ
AnyWikiDraw Extension
    URLリンク(www.mediawiki.org)
を導入している方、教えてください。

URLリンク(sourceforge.net)
に挙げられている質問と同じ症状なのですが、このextensionを使って画像を編集しようとすると、
    Couldn't load the drawing.
    java.io.ByteArrayInputStream@1a5f739
というエラーが出ます。どうやればエラー回避できますか?

439:433
08/01/19 17:44:47 KxCdtvlz
>434
全く知らなかったので、参考になりました。
>436
>SQLのパフォーマンスの観点からカテゴリを活用する戦略を
もう少しカテゴリの活用を考えてみます。

ところで、カテゴリのヘルプを調べてみると、
よく考えてカテゴリを決めろという感じで書かれているのですが、
張り捨てのタグみたいに使える機能はないでしょうか?
たとえば、 「日記/2007-01-01」という記事があった場合に、カテゴリ「日記」以外に、
「正月」「TV」「こたつ」「おみくじ」「神社」のようなタグを使いたいです。

>>207のextensionのgetPages()関数のように
調べてみます。ありがとうございます。

440:nobodyさん
08/01/19 19:15:24
>>439=433
張り捨てのタグというのがどんな機能か分かりませんが、
当方が使用している Wiki では、その都度その都度適当だと思うカテゴリを作って
「正月」「TV」だけだったのが、「こたつ」「おみくじ」と追加したりしています

ですので、情報が増える途中で1ページだけに存在する1カテゴリもありますし、
しばらく経って必要が無いと思えばカテゴリを削って運用しています

441:439
08/01/20 02:46:01 I+L3teqs
>440
>張り捨てのタグというのがどんな機能か分かりませんが、
ニコニコ動画のタグのように、いい加減に追加するタグを想定してました。
カテゴリを樹形図のような考え抜いた構成しないといけないと思いこんでました。

>ですので、情報が増える途中で1ページだけに存在する1カテゴリもありますし、
>しばらく経って必要が無いと思えばカテゴリを削って運用しています
運用、参考になりました。とりあえず、もうちょっと気軽に試してみます。

442:nobodyさん
08/01/20 13:31:41
>>441
Mediawikiのカテゴリは、いわゆるタギングに近いことができますよ。
Category:xxxのページが、タグがついている記事一覧という意味合いで利用できると思います。

ちなみに
URLリンク(www.mediawiki.org)
というのもあるみたいです。
これも要はカテゴリの機能をタグという名で提供するらしいです。よく読んでいませんが。
気軽にカテゴライズ(タギング)できるということでいえば、使えるかも。

443:nobodyさん
08/01/21 20:52:14
最近の書き込みを見ているとパフォーマンスの判断が
必要な局面が増えてきていると思うのですが、
データベースに接続するという行為自体が
サーバーにとってコストの高いものであるという認識は
プログラマでない方も持っておくとよいかもしれません。

これはPHPが必要なときに呼び出されるCGIとしてよりも
Apacheモジュールとして使われることが多いの
と同じようなものだと思います。

最近試したORM(オブジェクトリレーショナルマッパー)では
本当に必要になるまでデータベースに接続せず
エミュレーションですませる仕組みを持っていました。

444:nobodyさん
08/01/24 11:42:01
api.phpに関するセキュリティ修正版がリリースされました。

[MediaWiki-announce] MediaWiki 1.11.1, 1.10.3, 1.9.5 released
URLリンク(lists.wikimedia.org)

445:nobodyさん
08/01/26 14:35:54
Firefoxを新規インストールしたら、URLで日本語名が使えなったので
設定方法を書いておきます。URLバーにabout:configを入力し
フィルタツールバーにnetworkかutf8を入力すると
network.standard-url.encode-utf8が表示されるので
この値をtrueに切り替えます。

446:nobodyさん
08/01/29 02:49:59 ybdJW5wA
mediawikiのデータ(というかMySQL)をパソコン間でコピーペーストして、
サービスを立ち上げるために、ib_logfile0, ib_logfile1 あたりを消したら、
(あと、間違ってibdata1を消してしまったことも)
インデックスが壊れてしまったようなのですが、再構築する方法はありますか?
ページの一覧や、ページ表示は問題ないのですが、
mediewikiの検索ボックスから検索かけて、
全然関係ないのがひっかかったり、関係あるのがかからなかったりします。

447:446
08/01/29 16:55:48 6wkk685w
どうも勘違いしてたっぽいのですが、
OSXやMACなどでは検索がうまくいかず、
4文字以上だと検索かかります。
もしかして、そういう制約あります?


448:nobodyさん
08/01/29 17:06:56
>>446-447
447のことでしたら、日本語全文検索に対応していないからですね
>>234-235 に書いてあるような方法で対応する必要があります

449:nobodyさん
08/01/29 17:17:07
>>446-447
インデックスの再構築はmaintenace/rebuildtextindex.phpで行います。
3文字以下を検索できないのはMySQLのデフォルトの設定になっていることが
原因と思われます。変更方法はマニュアルに書かれています。
URLリンク(dev.mysql.com)


450:446
08/01/29 21:08:18 6wkk685w
>448-449
とても参考になります。
ありがとうございました。


451:nobodyさん
08/01/31 22:50:04
MySQL、新データベースエンジンMariaを投入- InnoDBの代わりとなるか - builder by ZDNet Japan
URLリンク(builder.japan.zdnet.com)
The Maria Storage Engine The Maria Storage Engine
URLリンク(forge.mysql.com)

MySQLのサイトでもMediaWikiが使われているのを見つけました。



452:nobodyさん
08/02/03 12:08:01 mJAYVh8L
WikiMediaを1.6→1.11.1にバージョンアップしたいんだけど、
LocalSettings.phpとかスキンとかは1.6のときのをそのまま上書きするだけじゃダメだよね?
差分をチマチマ反映するのでしょうか?

453:nobodyさん
08/02/03 21:40:25
>>452
URLリンク(www.mediawiki.org)
あとUPGRADEも見て下さい。

454:nobodyさん
08/02/03 22:43:46 wIfEub4G
つまり、LocalSettings.phpは自動的に移行してくれるけど、スキンは手作業でアップデートってことですね・・・


455:nobodyさん
08/02/04 13:29:24
そうなんだよねえ。
スキンいじってるとこういうときつらい。

456:nobodyさん
08/02/04 13:53:13
>>454 スキンをカスタマイズしているのであればスキンのディレクトリを変更すれば
影響を受けません。私の環境では次のように変数を設定しています。

$wgStylePath = "$wgScriptPath/myskins";
$wgStyleDirectory = "$IP/myskins";


457:455
08/02/05 00:07:04
>>456
そう。でもそうすると、スキンのアップデートが反映されない。
cssもそうだし、monobook.phpもbodyタグ等が一部変わっている。

cssのclassとかの情報がまとまってるとこ無いのかなあ

458:nobodyさん
08/02/05 01:42:00 nCaJqTyt
俺もsakuraのPHP5に伴って1.6→1.11にしようと思ってる組なんだけど、
スキンいじりまくってるから躊躇してる人間です。
特に不自由もないから、もう少し1.6で我慢しようかな・・・とも思い始めてます。
バージョンアップした方がいいと思わせるような劇的な違いって何があるんですかね?
逆にこれが不要ならいまのままでいいんじゃない?みたいな「これ」があったら教えてください。


459:nobodyさん
08/02/05 02:06:11
豊富なextensionsが使える
これだけでもバージョンアップする価値あると感じている側@さくらユーザー

460:nobodyさん
08/02/05 02:45:09
>>457 そのためには差分ツールを使います。
コマンドツールならdiffもしくは
diff3(MWでも履歴の差分表示に使用)、
WindowsならWinMergeなどがあります。

カスタマイズを続けるならSubvesionやMercurialなどの
バージョン管理ツールを使うことをお勧めします。

私の場合、MWではない別のサイトですが、
ローカルで変更した内容をsvn+ssh(TortoiseSVN+公開鍵認証)で
XREAに設置したリポジトリにコミットして、
一定の期間が経ったらSSH(Putty)で接続して
svn upで更新しています。

461:nobodyさん
08/02/05 10:13:04
>>458
>>459もいうように、基本的にはextensionがらみか新機能の場合が多いと思います。
それらがどれだけ必要かに応じてverUPするかどうか(=スキンを修正する手間をかけるか)が変わってくるだろうねえ。

うちの場合は、内輪で使ってるMWは、SyntaxHighlight使いたくてverUPしたし、外向けのMWは$wgNamespaceProtectionとか{{DEFAULTSORT}}とかsecurehtmlとか使いたくてverUPしたかな。
どれも好き好きだけど。


462:nobodyさん
08/02/05 14:04:05
性能大幅アップの「PostgreSQL 8.3」がリリース
URLリンク(journal.mycom.co.jp)

PostgreSQL 8.3では全文検索のtsearch2が標準装備になったそうです。

463:nobodyさん
08/02/05 14:14:19
ついでなのでWindowsのPostgreSQL8.2系で
MediaWikiを試したときにはまったことを書いておきます。

インストール時にロケールをCにしてPL/pgsqlとTsearch2も
チェックしておけばデータベースを作成すると同時に
pg_ts_cfg、pg_ts_cfgmap、pg_ts_dict、pg_ts_parser
というテーブルも自動的に生成されます。

ただし、それらのテーブルのオーナーがスーパーユーザーに
なっているのでオーナーをwiki用のアカウントに変更する必要が
あります。変更するには次のようなクエリーを実行します

ALTER TABLE pg_ts_cfg OWNER TO MW用のデータベースユーザー;

テーブルの一覧とオーナーを確認するには「\d」コマンドを実行します。

以上の設定をすれば後はMySQLと同様にインストールウィザードと
同じです。

464:nobodyさん
08/02/06 05:35:57
ページの左上隅のロゴの部分について。
デフォルトではトップページへのリンクになっていますが、
ロゴはそのままでリンクだけ無くすにはどうすればよいのでしょうか。
Monobook.phpでソースを見ると、AタグにCSSで指定されていたので、
今はその内のhrefの部分だけ削除している状態です。
AタグをDivタグに変えてみるなどしたのですが、これだとロゴ自体が表示されなくなります。
どんなタグで代替すればいいでしょうか。

465:nobodyさん
08/02/06 10:09:48
>>464
href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"
を削除します。action=purgeもお忘れ無く。

466:nobodyさん
08/02/06 10:25:31
>>465
ありがとうございます。
というか現在その状態なのです。
それだと、IEで表示してロゴ上をポイントするとクリックアイコン(指差しアイコン)になってしまう。
これが気持ち悪くて、464のような質問をさせて頂いた運びになります。

ところでaction=purgeというのは何なのでしょうか。
そんな文字列が見当たらないのです・・

467:nobodyさん
08/02/06 12:31:10
>>466
URLリンク(example.com)

468:nobodyさん
08/02/06 13:19:02
>>466
手元にカスタマイズしたmonobookしかないので詳細は違っているかもだけど。

monobook/main.css内の以下を修正する
#p-logo a,

#p-logo a:hover {

例)aタグをspan class=logologoに変えるとしたら、
#p-logo span.logologo {
とする

469:468
08/02/06 13:25:51
もし>>468がうまくいかずで、単にカーソルの形だけが気になるというのなら、
aタグのstyleにcursor:default;を追加でいけるはず

470:nobodyさん
08/02/07 00:30:16
>>466 MediaWikiは独自の記法で書かれたテキストを正規表現で
HTMLに置き換え(レンダー・描画)しており、
その置き換え作業の負荷を減らすために
一旦キャッシュとして保存してからサイトに表示しているので、
必ずしも変更した内容が即座に反映されません。

ですので最新の変更を表示するためには
>>467のようにPOSTメソッドによってキャッシュを破棄して
新しいテキストを取得するにようにMediaWikiに伝える必要があるわけです。

あともう一つ、ブラウザでも一旦見たページをキャッシュしているので
こちらのキャッシュもパージしないと最新の更新内容が表示されないことがあります。

471:nobodyさん
08/02/07 00:34:44
>>463 を書いた後にPostgres8.3をWindowsで試してみましたが、
tsearch2が本体に取り込まれた結果、データベースに
pg_ts_cfg、pg_ts_cfgmap、pg_ts_dict、pg_ts_parserが
生成されなくなりインストールできませんでした。

ざっと調べた範囲では解決策が見つからなかったので、
現時点では新規導入する場合は8.2.6を使った方が
よいと思います。

472:nobodyさん
08/02/07 03:50:44
Templateに投げたパラメータをTemplate先で
<pre>タグで囲ませるにはどうすればいいんでしょうか?
Template先で<pre>{{{1}}}</pre>とやると
当然ですがただ{{{1}}}と表示されてしまいます。
パラメータの中身をpreタグに囲ませた状態で表示したいのですが
方法はありますか?


473:nobodyさん
08/02/07 09:16:23
>>472
一番確実なのは、extenstion書く、かな。

474:nobodyさん
08/02/07 09:20:41
$wgExtensionFunctions[] = "wfMypreExtension";
function wfMypreExtension() {
global $wgParser;
$wgParser->setHook( "mypre", "renderMypre" );
}
function renderMypre( $input, $argv, &$parser ) {
$output = "<pre>$input</pre>";
return $output;
}


こんな感じかな?<mypre>なんたら</mypre>

475:nobodyさん
08/02/07 13:16:51
>>451 のMySQLに加えてPostgreSQLの開発者も
MediaWikiを利用していることが判明しました。

pgwiki
URLリンク(developer.postgresql.org)

476:472
08/02/07 14:26:04
>>474
そのコードを試したところTemplate内で<pre>タグするのと同じ結果でした。

どうしてそうなるのかまだ理解してないのですが
MediaWikiのManual:Parser_functions/jaのページの必要な部分だけを
書き換えたところパラメータが記事側に整形済テキストとして表示できました。

extensionをいじるのは初めてだったんですが
タグの簡単な拡張くらいならそんなに難しくないんですね。
ありがとうございました。


477:474
08/02/07 19:07:22
>>476
そうか。失礼した。
parser functions使えばよかったのね。

extentionはphpが使えるからホント便利。

478:nobodyさん
08/02/08 11:25:29 fA24gyPl
リンクに関して質問があるのですが、
--------------------------------
==特徴1==

===チェックポイント===

==特徴2==

===チェックポイント===
--------------------------------
みたいな記事があって、同一記事の文中で「特徴1」の「チェックポイント」見出しに内部リンクしたいときって
どうしたらいいんでしょう? 「特徴1」だったら[[#特徴1|特徴1]]でいいんですけど、同一名の見出しが
複数あるなかで特定の1つに飛ばす方法が分からないんです。 よろしくお願いします。


479:478
08/02/08 11:58:12 fA24gyPl
すみません、解決しました。

[[#チェックポイント|チェックポイント]]で良かったですね。

ちなみに、「特徴2」の「チェックポイント」へは

[[#チェックポイント_2|チェックポイント]] でした。


480:nobodyさん
08/02/11 12:39:51
記事名がURLの場合、例えば『xxx.com』という記事名の場合、
その記事のURLが ~/xxx.com となるのは当たり前ですが、
現設定がおかしいのだと思いますがこれそのものが.comドメインのURLだと判断されて、
404NotFoundになってしまいます。
Wikipediaでは問題なく表示されているのを見ました。どうすれば解決できるのでしょうか。

481:nobodyさん
08/02/11 16:56:54 WZdcK4tb
突然質問すいません
URLリンク(www.mediawiki.org) ってどうやって導入すればいいんですか?
Installation Instructionsは分かったんですけど、Contributingの方が良く分からなくて。
どなたか解説していただけませんか?

482:nobodyさん
08/02/12 10:42:05
>>480
>>3を参考に、サーバー環境を教えてください。
また、index.php?title=xxx.comでアクセスしたときはどうなりますか?
URL書き換えのルールはどうなっていますか?

483:nobodyさん
08/02/12 10:55:31
>>481
導入していないので参考にならないかも知れないが。

導入自体は、Installationだけでいけると思うのですが、これは済んでいるのかな?
それとも「Adding a new question type」の仕方を教えてと言っているの?

484:nobodyさん
08/02/12 11:34:48
>>482
御返信ありがとうございます。

まず、index.php?title=xxx.com で表示したところ、表示できてしまいました。
次に、「URL書き換えのルール」というのが、 URLリンク(www.mediawiki.org)
説明されているものを指すとすれば、自分の場合は ドメイン.jp/記事名 です。

MediaWiki のバージョン : mediawiki-1.11.0.tar.gz
MediaWiki をインストールした OS の種類とバージョン : Linux
ウェブサーバの種類とバージョン : Apache 2.0.52
データベースサーバの種類とバージョン : MySQL 4.0.26
PHP のバージョン : PHP4 4.3.9 PHP5 5.1.6

485:nobodyさん
08/02/12 11:55:20
>>484
Short_URLがくさいので、URLリンク(www.mediawiki.org) のどれを使ったかを教えてください。

486:nobodyさん
08/02/12 12:15:43
>>485
どれを参考にしたかが思い出せません。自分が参考にしたときのと構成が変わっているようです。
しかし、URL構成の設定にあたって手を加えたのは.htaccessだけだったと思うので、それ(現状)を以下に。

AddHandler x-httpd-php5 .php .phps

RewriteEngine On
RewriteRule ^[^:]*\. - [L]
RewriteRule ^[^:]*\/ - [L]
RewriteRule ^/*$ /index.php?title=Main_Page [L,QSA]
RewriteRule ^(.+)$ /index.php?title=$1 [L,QSA]

487:nobodyさん
08/02/12 13:59:25
>>486
RewriteRule ^[^:]*\. - [L]

が悪さをしているようですね。

あらかじめドメインが分かっているなら、
↑の前に
RewriteRule ^.+\com$ - [L]
かな?
詳しくないので、もっとエレガントな解決よろしく<他の人

根本的解決策は、多分 example.com/wiki/xxxx 形式のShort URLに変更することだと思う

488:487
08/02/12 14:00:17
.ドットが消えてた
RewriteRule ^.+\.com$ - [L]

489:487
08/02/12 14:46:02
URLリンク(www.mediawiki.org)
こっちのほうが参考になるかも。
(詳しく読んでませんが)

490:nobodyさん
08/02/12 21:34:20
>>488
ありがとうございます。
『↑の前に』とは、『RewriteRule ^[^:]*\. - [L] 』の一段上にそれを加えればよい、ということでしょうか。
だとすれば、それは xxx.com という記事を作る場合、ということでしょうか。
できれば.net/.org/.jp/... といったあらゆるドメインの記事が作れるようにしたいのです。
それが不可能なのであればせめて .com だけでも作れるようにしたいところです。

491:487
08/02/13 10:29:40
>>490
ごめんなさい。上記はうまくいかない気がしてきた。
>>489を参考にして。

■RewriteRule ^[^:]*\. - [L] の代わりに以下を記述。
RewriteRule ^[^:]*\.(php|src|jpg|jpeg|png|gif|bmp|css|js|inc|phtml|pl|ico|html|shtml)$ - [L,NC]
※upload可能なファイルを追加している場合は |pdf のように適宜追加

これで試してみてください。

492:487
08/02/13 10:33:38
追記。
おそらく、この場合、 example.com/index.html のようなページ(末尾が列挙した拡張子になっているタイトルの記事)は、作れないと思います。

493:nobodyさん
08/02/13 13:43:08
>>491
ありがとうございました。その通りの方法で解決することができました。
ただひとつ気になった点が、読み込みが微妙に遅くなったように感じられるところです。
この設定が影響して、ということはあり得るのでしょうか。
いずれにしても、ありがとうございました。

494:nobodyさん
08/02/13 14:45:30
補足です。
その読み込みの遅さというのは、ページの取得の遅さではなく、リンクをクリックした直後―つまり移動の際のそれです。
変更前のものに戻してみたところ、その「遅さ」はやはりなくなりました。
あくまで体感ですが、Encyclopediadramaticaのそれと酷似しています。
URLリンク(www.encyclopediadramatica.com)

495:487
08/02/13 14:54:27
>>493
解決できましたか、良かったです。
読み込みが遅くなる可能性が無いとは言えません。
MediaWikiは、内部で、たくさんのファイルを読み込んでいますが、その都度、上記のRewriteRuleで振り分けを行っていると考えられるからです。
解決策のひとつとして、htaccessではなく、httpd.confに書き直すという手もあります。(多少は改善すると思いますが、気休め程度の可能性もあります)

そのうえで、>>492であげたような問題や、sitemap.xmlを配置した場合など新たな拡張子の追加の可能性を考慮すると、やはり/wiki/xxxのようなURLによる運用がベターであるといえるでしょう。(>>293)

496:nobodyさん
08/02/14 08:29:46
>>495 MWの動作の必須条件にmod_rewriteはなかったので
クラスファイルの読み込みは__autoload関数を通して行われている
はずです。ざっと調べた範囲ではincludes/AutoLoader.phpが
該当するようです。


497:nobodyさん
08/02/14 13:10:25
RentalWikiの作者は広告表示なしで一体どうやって収入を得ているのだろう?
2chねらーで高校生らしいが・・・

498:nobodyさん
08/02/14 15:30:00
>>497
ただの自己満足でしょ

499:nobodyさん
08/02/14 16:47:01
アクセスログを代表として投稿される情報など、
あそこの管理者はそういった情報は販売していないのかもしれませんが、
収集できる情報自体に価値があるということには気がつかないものなのですね

500:nobodyさん
08/02/15 19:32:12
生のHTMLを書きたかったのでエクステンションを書いたんですけど、
そのエクステンションでマジックワードが展開されません。

<ext>{{LOCALDAY}}</ext>

とか。どうすればいいのでしょうか

501:nobodyさん
08/02/16 01:11:28
>>500 $wgRawHtmlでは要件を解決できないということでしょうか?
wikiパーサの処理はフック(Manual:Hooks)を通して制御できますが、
申し訳ないですが今すぐにコードサンプルを挙げられないです。

502:500
08/02/16 01:46:57
>>501
他の人も投稿するので$wgRawHtmlは使いたくなかったんです。

具体的には、pagetitleをキーワードにアフィリエイトの商品ページを表示したかったのですが、
どうにもできなかったので、結局エクステンションの中で $_GET['title'] でひっぱてしまいました。。。。

503:nobodyさん
08/02/18 14:02:56
>>502
global $title;
でいけると思う。

504:500
08/02/18 16:08:37
>>503 でもいけました。

映画に関するWikiで、ページタイトルに映画タイトルが入り、
その映画タイトルでAmazonのアフィリエイトをインラインフレームで表示させてます。

505:nobodyさん
08/02/26 03:34:28
TritonnでSennaを入れましたが、MediaWikiの検索窓をSennaを利用した検索結果がだせるようにするにはどうすればよいのでしょうか。

Sphinxもトライしましたがうまくコンパイルできず、せっかく導入できたSennaでなんとか検索機能を改善したいのですが・・

506:nobodyさん
08/02/26 06:29:57
PHPがCGIでなければ利用できない鯖にこれ設置しようとしてるんだけどやめた方がいい?

507:nobodyさん
08/02/26 15:54:45
>>505 データベース板かSennaの開発者に改めて問い合わせた方が
いいと思います。自分でMediaWikiの拡張機能を書かなければならない
場合、Lucene extensionが参考になると思います。

>>506 業者とサイトの規模次第です。無料鯖は避けた方がいいでしょう。
CGIモードの場合diff3やImageMagickといったコマンドツールが使える鯖が
あるので、用途によっては積極的に選ぶ人もいると思います。

私の場合XREAのセーフモードで一日のリクエスト数が1万数千件ありますが、
アクセスが集中する昼間に編集をするとエラーになることが多いので、
記事の更新作業は夕方以降にしています。

508:nobodyさん
08/02/26 16:01:43
>>507 ありがとうございます。自力でMediaWikiのextensionを書くのは無理っぽいです。トライできる力量があれば是非とは思いますが。

509:nobodyさん
08/02/26 18:58:37
MediaWiki のバージョン : v1.11.1

検索エンジンで調べた際の検索キーワード
「MediaWiki」 「ファイルタイプ」 「ファイル形式」

画像形式以外のファイルをアップロードしても
MediaWiki で「画像」と認識されてしまうことを変更するにはどうすればいいのでしょうか?

例えば、ZIP形式のファイルをアップロードしても「画像」扱いになってしまい、
Wikiの画像一覧などのくくりに属してしまいます
これを画像以外の、たとえば単なる「ファイル」などのようなくくりでまとめたいと思っています

ご存知の方がいらっしゃいましたら教えていただきたく、
よろしくお願いいたします

510:nobodyさん
08/02/27 18:17:14
>>509 Special:ImagelistやSpecial:Log/uploadとは異なる方法で
画像の一覧を表示したいのであれば
それぞれincludes/SpecialImagelist.php、SpecialLog.phpを改造するか、
新たなSpecialページを作ることになります。

Specialページの作り方のチュートリアルは
公式サイトのマニュアルにあります。
URLリンク(www.mediawiki.org)

511:nobodyさん
08/02/27 18:20:32
URLリンク(people.planetpostgresql.org)

開発者によるとrevision 31083からPostgreSQL8.3に対応したとのことです。
試したい人はSVN版を入手して下さい。

512:509
08/02/27 18:38:44
>>510
URLの "p"ages は Capital じゃなかったみたいですね^^;
URLリンク(www.mediawiki.org)

Special:Imagelist のように、
Special:Files といった分類を作ってその中に画像形式以外の、
例えばZIP形式のファイル一覧を作りたいことが目的でしたので、
教えていただきました情報で解決できそうです

早速読みこんでみようと思います
お忙しいところレスしていただきましてありがとうございました

513:nobodyさん
08/03/03 02:05:11
>>510 ども。
>>511 追記です。Windows XP、Pg8.3、MW1.13αで動作を確認しました。

514:nobodyさん
08/03/03 17:55:05
1.11.2、1.10.4、1.9.6がリリースされました。

[Mediawiki-l] MediaWiki 1.11.2 released (security)
URLリンク(lists.wikimedia.org)
[Mediawiki-l] MediaWiki 1.10.4, 1.9.6 released (bug fix)
URLリンク(lists.wikimedia.org)

515:nobodyさん
08/03/05 00:09:14
スキンと本体の分離がもうちょっと進んでくれたらバージョンアップのハードルが下がるんだけどなあ

516:nobodyさん
08/03/06 14:22:22
はじめまして。このスレの情報にはグーグルで経由で何度かお世話になりました。
どうしても行き詰ってしまったので、一つ質問させてください。

■MediaWiki、サーバ関連情報 : (コロンから右に書いた情報はたとえばの情報)
MediaWiki : ver1.11.1
サーバー : Xrea s330
Apache : 1.3.37
PHP : 5.2.5 (セーフモード)
MySQL : 5.1.22-rc

■検索エンジンで調べた際の検索キーワード
「MediaWiki」 「Unable to run external programs in safe mode.」 等々

■分からないこと、発生している問題、やりたいこと、など
SVGファイルが表示されずにエラーが出る。他の形式は今のところ正常に表示されている。
「サムネイルの作成中にエラーが発生しました: Unable to run external programs in safe mode.」

■その他
この記事がそのものずばり・・・なんですが同じようにやってもエラーが出続けています。
URLリンク(blog.cellfan.info)

= includeフォルダ内修正済み関連ファイル =
URLリンク(www-2ch.net:8080)

= local.php =
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgUseImageResize = true;
$wgImageMagickConvertCommand = "/usr/local/php/bin/convert";
$wgFileExtensions = array('png', 'gif', 'jpg', 'jpeg' ,'svg');

以上です。よろしくお願いします。

517:516
08/03/06 14:24:39
local.phpではなくLocalSettings.phpでした。


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