AutoAliasを実現するための改造パッチ

このパッチは、pukiwiki-1.4.4/1.4.5にAutoAlias機能を追加するためのパッチです。

PukiWiki-1.4.6の対応について

本家CVSからAutoAlias対応版1.4.6がダウンロードすることができます。 詳細な説明はdev:BugTrack2/2をご参照ください。

パッチの当て方

  • 次のパッチをlibディレクトリで当ててください。
  • つぎに、pukiwiki.ini.phpファイルを開き、次の定義を追加してください。 「デフォルトのページ名」の最後あたりが適当かと思います。
$autoalias    = 'AutoAliasName';	// AutoAlias の一覧を書くページ

使用方法

  • まず、オートリンクを有効にしてください。具体的には、pukiwiki.ini.phpの $autolink を 0より大きい値に設定します*1
  • 次に「AutoAliasName」というページ名*2を下記の内容で作成してください。
    *AutoAliasName
    AutoAlias用の定義リストです。
     - [[エイリアス名>リンク]] コメント
    の形式で記述してください。
    
    **検索エンジン (定義例)
    -[[yahoo>http://www.yahoo.co.jp/]]
    -[[google>http://www.google.co.jp/]]
  • ここで指定した単語が自動的にエイリアスに置換されるようになります。
  • 下記のようにページ名のリンクやInterWikiを含めた形も指定可能です。
    ** 他ページのエイリアス
    -[[ぷきうぃき>PukiWiki]]
    **InterWikiNameを使ったもの
    -[[質問箱>pukiwiki.org:質問箱]]

その他、注意点など

  • このパッチを当てると、多少、サーバに負荷がかかるかと思いますのでご注意ください。
  • AutoAliasNameの定義は、commentプラグインを使うと簡単に追加できるかも。

負荷について

このパッチを当てると、サーバに多少の負荷がかかります。実測データは次のとおりです。

  • 環境
HTML convert time (sec)
No.パッチなしRev.0.0Rev.0.1
10.3511.2870.795
20.3511.2250.795
30.3561.2280.783
40.3521.2320.788
50.3511.2330.783

コメント

  • できたてホヤホヤなので、まだこのサイトにはパッチ当ててないです。近々あてます。 (^^; -- teanan 2004-12-28 (火) 12:42:09
    • いま当てました〜 -- teanan 2004-12-29 (水) 02:34:00
  • このパッチ大変助かりました。どうもありがとうございます。 :) -- Wances 2004-12-28 (火) 19:55:04
  • 面白そうですね (^^) Plus! でも搭載してみました。 -- みこ 2004-12-29 (水) 14:08:23
    • おおー、嬉しいです :D -- teanan 2004-12-29 (水) 14:31:44
  • 大変申し訳ないのですが、1.4.5向けにパッチを作っていただけないでしょうか。1.4.4→1.4.5で結構変わってるので自力でできそうにありません。 (^^; どうぞよろしくお願いします。 -- Wances 2005-02-05 01:57:03 (土)
  • 作成しますので、ちょっと待っててくださいね。ちなみにこのサイトで1.4.5_rc1のパッチをあてていますので、1.4.5でも同じようにできるはずです。 -- teanan 2005-02-06 23:52:11 (日)
    • アップロードしました。問題がありましたらお知らせください。 -- teanan 2005-02-07 01:56:13 (月)
      • ばっちり動きました〜。どうもありがとうございます。 -- Wances 2005-02-09 20:35:52 (水)
  • static変数にして、少し速くしてみました。 -- teanan 2005-02-12 03:35:58 (土)
    • 早速当てなおしさせてもらいました。以前同様問題は出ていません。当てる前はわかりませんがあてた後はこうなりました:「HTML convert time: 0.068 sec.」 -- Wances 2005-02-13 18:17:16 (日)
    • ご報告ありがとうございます :) -- teanan 2005-02-14 00:39:22 (月)
  • すごいです。これ、いいですね。階層化したページの最下階層を定義しなくてもAutoAliasさせるってのもうまく改造すれば、できそうな気がするけど、どうなんでしょう?そのときは、pukiwiki.ini.phpで最下階層ページにAutoLinkを有効にするとかの設定を追加する? -- 2005-03-04 02:00:34 (金)
    • ありがとうございます。最下位層へのAutoAliasについては少し難しそうです。ページの登録の際にAutoAliasNameへ自動登録するような処理をいれてあげればAutoAliasさせることは出来るかと思いますが、ページが多くなってくると破綻しそうです。また、最下位層として同じページ名が作成された場合なども考慮する必要があります。 -- teanan 2005-03-04 03:05:27 (金)
    • あっ、階層化した場合は、最下階層名に限るとたしかに重複する可能性はありますね。でも、今の仕様でもAutoAliasNameで重複する可能性はありますよね。どういった処理されてるんでしょう?というか、意図的に重複したらどうなります?とすると、新規ページ作成時にチェック機能を設けるって手でページ名の重複は回避できるのではないかとも思う。最下層名の取得は正規表現によってできそうかな?非常に有用で本体に組み込まれてほしい機能だと思いますので、ちょっとコメントしてみました。口だけで申し訳ないですけど・・・ -- uzumaki7 2005-03-05 02:00:12 (土)
    • ちなみに私の環境Win2KSp4、PHP4.3.10、Apache2.0.53だとちゃんと動きませんでした。何でだろう?マニュアルパッチ(手動)当てが原因かもしれません。Win環境でパッチを当てるツールって何があるんでしょう?かなりがんばって調べたけどダメでした。 -- uzumaki7 2005-03-05 02:02:48 (土)
    • もしかして、1.4.5_1にパッチ当てされていませんか? 現状のものだと1.4.5用なので問題があるかもしれません。 -- teanan 2005-03-05 03:13:20 (土)
    • 1.4.5_1でも1.4.5用で問題なさそうです。意外とpukiwiki.ini.phpへ設定追加されてなかったりしませんか?*3 -- teanan 2005-03-05 04:03:49 (土)
      • 1.4.5_1です。肝心なPukiWikiのバージョンを書き忘れていました^^;pukiwiki.ini.phpもちゃんとしています。Autoaliasがちゃんと働かないとかではなく、PukiWki自体がちゃんと動かなくなってしまうので、パッチあての失敗だと思います。職場のイントラで使っていますので、月曜に再チャレンジしてみます。 -- uzumaki7 2005-03-06 03:34:49 (日)
      • patchですか。やっぱり・・・patchまではたどり着いたんですが、試行錯誤してうまくいかなかったので、このツールではダメなの?とかおもいましたが、できるというお話ですので、使い方をちゃんと調べて試してみます。ご丁寧にありがとうございます。 -- uzumaki7 2005-03-06 03:37:46 (日)
      • バッチリできました。ありがとうございます -- uzumaki7 2005-03-06 15:55:45 (日)
  • 1.4.6向けのパッチを作っていただけるご予定はございませんでしょうか?よろしくお願いいたします -- シミジロ 2006-04-02 (日) 22:08:38
  • 本家のCVSにてautoalias対応版1.4.6をダウンロードすることができますので、こちら からどうぞ。 -- teanan 2006-04-03 (月) 00:57:48
  • mapプラグインでサイトマップを表示した場合,AutoAliasって機能しません?? 対応策等ありましたらご教授願いますm(__)m -- chick 2006-04-08 (土) 11:12:04
  • 本日、本家にコミットした差分でmapプラグインが機能するようになると思います :D -- teanan 2006-04-08 (土) 11:14:34
  • 「研究室/○○研究室>○○研究室」というAutoAliasNameの設定をしてあるのですが,最新版に変更したら「○○研究室」という感じに,(AutoLink機能が優先されて?)研究室というWikiページにリンクが張られるようになってしまいました. -- chick 2006-04-08 (土) 16:57:32
  • うーん、手元の環境では問題なさそうなのですが・・・ (^^; 他に何か条件は無いでしょうか? -- teanan 2006-04-08 (土) 18:01:02
  • あれー?再現されませんか??私の環境だけなのですかねぇ... 研究室のリストを作りたいんですが,「研究室」と「研究室/○○研究室」という名前のWikiページがそれぞれ存在してまして,AutoAliasNameには「研究室/○○研究室>○○研究室」と記述してあります.このとき「○○研究室」となって欲しいのに「○○研究室」という具合に「研究室」というキーワードのみリンクが張られてしまうという状況です.何度もお尋ねして申し訳ありませんが,何とか解決できませんでしょうか. -- chick 2006-04-08 (土) 19:08:30
  • もしかして 「○○研究室>研究室/○○研究室」を期待されていませんか? -- teanan 2006-04-08 (土) 21:32:53
  • あ、それです! 順番が前後逆でしたね。失礼しました(^^; 「○○研究室>研究室/○○研究室」をやりたいのですが、これって無理なんですか? -- chick 2006-04-09 (日) 00:46:07
  • AutoAliasNameの設定を変更するだけです :) -- teanan 2006-04-09 (日) 03:21:32
  • 言葉足らずでした.すみません.現在,AutoAliasNameには「○○研究室>研究室/○○研究室」と記述してあるのですが,上記のような現象がおきてます. -- chick 2006-04-10 (月) 11:41:55
  • もしかして、pukiwiki.ini.phpの設定を見直されましたか? ここにあるpatch版と本家CVS-autoalias版では、設定項目が違います。ご確認をお願いします。 -- teanan 2006-04-10 (月) 18:34:08
  • ご対応、本当にありがとうございます。 -- シミジロ 2006-04-11 (火) 16:19:46
  • AutoAlias対応版1.4.6の設置の方法なのですが、素人で申し訳ありませんが、上の「CVSリポジトリからダウンロード」のリンクからpukiwiki.tar.gzのファイルをダウンロードして解凍して、中にある14個のファイルを、既存のPukiWiki 1.4.6のファイルに上書きアップロードすればよろしいのでしょうか?この方法でやってみて、AutoAliasNameというページ名を作成して設定してみたのですが、うまくリンクされませんでした。申し訳ありませんが間違いを教えていただければ幸いです。 -- シミジロ 2006-04-11 (火) 16:25:01
    • すみません、リンクの張り方間違っているようです。調べますので少々お待ちを。 -- teanan 2006-04-11 (火) 16:49:00
    • 取り急ぎ、現在のブランチの最新版を添付しておきます。filepukiwiki_autoalias_20060411.tar.gz -- teanan 2006-04-11 (火) 17:53:05
  • pukiwiki.ini.phpの設定を変える必要があったのですね.すみません,注意不足でした.何度も対応してくださいましてありがとうございました:) -- chick 2006-04-12 (水) 19:33:49
    • 解決してなによりです。紛らわしくてすみません (^^; -- teanan 2006-04-12 (水) 20:03:53
  • 便利に使ってます。なんか普通に見えてるのが嫌なんでファイル名を「:AutoAliasName」にしてみましたが問題なくいけますね。(non_listへ追加でもOKでした。)
    質問なんですが、
    1.「AutoAliasName」ファイルの限界サイズはどのくらいですか?
    2.同じエイリアスで複数ページへのリンクをしても問題ありませんか?また、存在しないページに対するエイリアスを作っても問題ありませんか? -- 2006-09-06 (水) 11:11:46
    • 今までは、alias.inc.php使ってんですが、こちらは存在しないページのエイリアスを記述しても存在するもがあればそちらへ飛んでました。(上から順に評価されるようで。) -- 2006-09-06 (水) 11:14:56
    • うっ、&br;使えないんですね。 [worried] -- 2006-09-06 (水) 11:15:46
      • バグってました、すみません (^^; -- teanan 2006-09-06 (水) 18:59:31
    • 限界のサイズは AutoLink の限界サイズと同じです。かなり大きくても大丈夫だと思いますが、一線を越えると突然表示されなくなりますのでご注意ください (^^;; -- teanan 2006-09-06 (水) 19:00:49
    • 同じエイリアスを作っても問題はありませんが、後優先になってたと思います。存在しないページに対するエイリアスは、未作成のページへのリンク(?が付いたリンク)となります。もちろん ? を選択するとエイリアスで指定したページを作成しにいきます。 -- teanan 2006-09-06 (水) 19:05:59
      • ご回答ありがとうございます。やっぱ、制限はあるんですね。その辺に気をつけて利用させていただきます。大きくなりすぎるとあれなんで書き換えながらと言う使用方法が良さそうですね。文書多すぎていきなり表示されなくなった経験もあるんで。 [sad] -- 2006-09-06 (水) 22:34:31
  • これってページ名AutoLink機能の方を優先させることって出来ませんか? -- 2007-10-14 (日) 00:39:22
    • 現状では対応しておりません。ちょっと調べてみましたが、簡単にはできそうもありませんでした・・・ [sad] -- teanan 2007-10-15 (月) 02:32:32
  • BugTrack2/2を見たのですが、このページで公開されているものよりさらにバージョンアップされているようですね。これの1.4.7用はないのでしょうか?CVS版を使うか1.4.8リリースを待つしかないんでしょうか…?CVSのほうからパッチを作る方法とかあれば、教えて頂ければ幸いです。 -- 2007-12-23 (日) 13:27:16
    • 一番手っ取り早いのはcvs版でしょうか (^^; その他の方法ですと、残念ながら、まとまっているものはありません・・・ -- teanan 2007-12-23 (日) 21:08:19
    • ありがとうございます。ということはcvsのr1_4_7_autoaliasというのを今使っている通常の1.4.7とごっそり置き換えればいいんでしょうか?でもcvs版は外向きには使うべきじゃないという話も…;(おとなしくPukiWikiPlusを使った方がいいのかな(^^; ) -- 2007-12-24 (月) 21:25:54
©teanan/interfair laboratory 1992-2007 all rights reserved.



最終更新のRSS

*1 AutoAliasのバイト数もこの値に依存します。つまり、$autolinkより小さいバイト数の定義は無視されます。
*2 上の$autoaliasで指定したページ名
*3 今やってて自分で罠にはまりました (^^;

添付ファイル: filepukiwiki_autoalias_20060411.tar.gz 521件 [詳細] fileautoalias.diff.0.0.txt 732件 [詳細] fileautoalias.1.4.5.diff.0.1.txt 902件 [詳細] fileautoalias.1.4.5.diff.0.0.txt 270件 [詳細]