ページを表示する際に「添付ファイルの一覧を表示する」事を止めさせるオプション

  • ページ: BugTrack2
  • 投稿者: henoheno
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: 本体新機能
  • 投稿日: 2005-05-16 (月) 22:11:02
  • バージョン:

修正

設定 $attach_link を追加しました。この値が1であるときは今まで通りに動作します。この値が0であるときは、ページを表示する際に「添付ファイルの一覧」を表示しません。そのための処理も行いませんから、閲覧時の負荷が添付ファイルの数に影響されなくなります。

注意点
第三者に編集(機能や操作)を許可している場合、どんな添付ファイルが添付されているかを調べる手段をWikiのユーザーから「完全に」奪うのは危険です。この場合上下のメニューにある「添付」プラグインへのリンクは消さない方が良いでしょう。さもなくば、悪意のある人がこっそり添付機能を悪用できるようになってしまいます(それを他のユーザーがチェックすることが困難になります)。*1

メッセージ

official:質問箱3/64 より。

特定のページを表示する際、そのページにファイルが沢山添付されていると、添付ファイル一覧の作成にそれなりのオーバーヘッド(時間、ファイル処理、そしてメモリ)がかかることが解りました。「添付ファイルの一覧を作る」処理にボトルネックがあるようです。

  • これをオフにすることで、表示速度が効果的に早くなる(遅くならない)事が解りました。
  • 携帯電話などで表示した際に使われるkeitaiスキンはそもそも 添付ファイルの一覧 を表示しませんから、明確にこの処理をオフにすることで、処理がより軽くなる事が期待できます。
  • デザイン上の理由で添付ファイルの一覧を表示させたくない場合にもこの機能は有用でしょう。
  • 上記処理自体にも改善の余地があるかもしれません。

  • これは完了したんですか? -- 2005-06-05 (日) 18:52:42
    • 一段落していますし、特に問題もフィードバックされていないので、完了にしておきましょう :) -- henoheno 2005-06-05 (日) 19:27:43
  • 関連: attach プラグインの md5 計算、mimetypeのチェックによる負荷の問題(BugTrack2/264) -- 2009-08-13 (木) 00:16:32
  • オプションの関連: BugTrack/407(編集時の添付ファイル名参照の簡略化) -- 2010-10-01 (金) 00:24:42

noattachプラグイン

  • (余談) #noattachプラグインとかに需要はあるのだろうか・・・ #norelatedプラグインをちょっと改造するだけで作れますので、興味のある方はお試し下さい。 -- henoheno 2005-05-16 (月) 22:27:36
  • 自分のwikiに#noattachプラグインを使いたいのですが、PHPの知識が乏しく。。修正方法かソースのダウンロードができる場所があれば、教えていただけないですか? -- pukiwiki利用者? 2006-07-03 (月) 13:02:11
  • 下記の手順で修正してみてください。 -- teanan 2006-07-03 (月) 14:17:35
    • default.ini.phpに $attach_link 追加
      default.ini.php: 77行目付近
        // 関連するリンクを常に表示する(負担がかかります)
        $related_link = 1;
      + $attached_link = 1;
  • lib/html.phpの下記の行を追加、修正。
    lib/html.php: 15行目付近
    	global $_LANG, $_LINK, $_IMAGE;
    +	global $attached_link;
    
    lib/html.php: 99行目付近
    	// List of attached files of the page
    -	$attaches = ($is_read && exist_plugin_action('attach')) ? attach_filelist() : '';
    +	$attaches = ($is_read && $attached_link && exist_plugin_action('attach')) ? attach_filelist() : '';
  • plugin/noattach.inc.php を以下の内容で作成。
    <?php
    function plugin_noattach_convert()
    {
    	global $attached_link;
    	$attached_link = 0;
    	return '';
    }
    ?>
  • すみません、変数名が被ってましたので修正しました (^^; -- teanan 2006-07-08 (土) 18:58:46

*1 第三者に許可しているのが問題であるので、attachディレクトリへの書き込みパーミッションを外したり、atttachプラグインを削除したり、PKWK_READONLYを有効にしている場合は問題ありません

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-21 (木) 01:04:03
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u6. HTML convert time: 0.225 sec.

OSDN