* WikiName/BracketName の長さ検査他 [#v0a2b7c6] -ページ: BugTrack -投稿者: [[seagull]] -優先順位: 普通 -状態: 提案 -カテゴリー: 本体バグ -投稿日: 2002-07-12 (金) 23:56:28 -バージョン: **メッセージ [#nd3cb23c] 無効な名前のページを要求すると、「有効なWikiNameではありません」というページが出るまではいいが、そこで「リロード」をクリックするとブラケットが増殖する。これだけならまだ実害になる事は無いのだが、 さらに、そのうち stat できない(ファイル名が長すぎる)というWarnが出る。 ↓こんなん [[sample:http://www.mitsuki.no-ip.com/~seagull/pukiwiki/pukiwiki.php?%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5B%5Bkkk%20kkk%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D%5D]] **ファイル名の最大長 [#va68e09a] -多くのUNIX(?) : 255byte -Windows 95/98/Me(/NT?) : 255byte(SJIS) -Windows 2000/XP : 255byte(UTF-8) ((実際にやったら254だったんですが・・・ -- [[teanan]])) -MacOS8.1以前のHFS : 31bytye -MacOS8.1以後HFS+ : 255byes -FreeBSD UFS/UFS2 : 255byte ---- -BugTrackの一覧で[[BugTrack/84]]のタイトルだけが<pre>で囲まれているのはなぜなんだろう? -- [[reimy]] SIZE(1):2002-07-13 (土) 00:26:57 -タイトルと行頭アスタリスクの間に空白が入っているのが原因かと、、 -- [[seagull]] SIZE(1):2002-07-13 (土) 00:57:49 -ファイル名の長さ制限って何文字でしょうね?プラットホームで違うし、かといってそれを取得する方法はないのか・・・pukiwiki.ini.phpで指定しますか。 -- [[ゆう]] SIZE(10){2002-07-18 (木) 23:23:01} -多くのUNIXやWindowsは255byte、MacOS8.1以前のHFSが31bytyes、以後のHFS+が255byesですね。 -- [[ゆう]] SIZE(10){2002-07-18 (木) 23:29:10} -120文字+.txtとして見ますか?デフォルトは。 -- [[ゆう]] SIZE(10){2002-07-18 (木) 23:31:53} -このバグと関連して、空のページ([[]])が作れてしまうようです。 -- [[reimy]] SIZE(10){2002-08-08 (木) 19:17:01} -ページを階層化していると、ファイル名が長くなってひっかかるみたい(warning)。ページ作成時にファイル名の長さチェックする必要がありそう。UTF-8化すると日本語ページのファイル名が長くなるので、要注意。 -- [[reimy]] SIZE(10){2003-03-06 (木) 18:18:46} Runtime error Error message : cannot write page file or diff file or otherああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ maybe permission is not writable or filename is too long -これはまだ直ってませんね。新規ページ作成で「ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ」というページを作成して、保存しようとするとRuntime Errorが出ますね。実害はないですが。 -- [[reimy]] &new{2003-09-21 (日) 03:36:42}; --また、ページ本文で、この「ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ」をBracketで囲んでBracketNameにすると、キャッシュの書き込みでRuntime Errorが出ます。ページそのものは正常に保存されますが。-- [[reimy]] &new{2003-09-21 (日) 03:39:22}; -ちょっと私のところで問題がおきましたので発掘 (^^;((ファイル名が長すぎるとRuntime Errorが出る。)) ファイルを添付するとattachディレクトリに「ページ名_ファイル名」のファイルを作ろうとしますので、当然ながらかなりきついです。ちなみにFreeBSDのUFS/UFS2のファイル名は最大255byteのようです。 -- [[teanan]] &new{2004-10-26 (火) 09:57:41}; - [[BugTrack2/238]] -- &new{2007-05-22 (火) 22:20:34}; - 「ファイル名の最大長」の呪縛から開放をぜひ[[ロードマップ]]に。 -- &new{2007-07-30 (月) 08:46:24}; -- いろんな切り口があるので、そのイメージされた状態をちょっと書いておいて下さい。 -- [[henoheno]] &new{2007-07-30 (月) 21:59:08}; -- スレ主ではありませんがコメント。ページ名を直接使ってしまうと、どうしても制限にかかってしまいそうですね。読み替えテーブルを用意して、実ファイル名をページ名から切り離す必要があると思います。実ファイル名は単純に通し番号、もしくはmd5(ページ名)等で。もちろん、プラグイン内でファイル名を直接見ているところがありますので、これらを変更する必要がありますが… -- [[teanan]] &new{2007-07-31 (火) 02:47:23}; --- [[teanan]]さんが仰っている内容が現実路線だと思います。変換や逆引き((MD5等のハッシュ系は困難ですね。。。))、一覧表示時の性能についてのバランスが難しいと思いますが・・・。安易にDBMSに・・・とは行きたくないですねぇ。。 -- &new{2007-07-31 (火) 06:54:23}; -- 結局何を「呪縛」とされていて、何を「開放」とされていたのかが不明です。なるべく最初から具体的となるコメントを心がけて下さい(補足の後付でも問題ありません)。 -- [[henoheno]] &new{2007-08-05 (日) 20:59:07}; -- 「RDBMSにすれば永遠のページ名の長さを手に入れられる」という事はありません (^^; 仮に「分割した文字列を後で連結する手法で表現できる」としましょう。しかしその手法はRDBMSでなくとも使えるので、RDBMSでなければいけない理由にはならないのです。 -- [[henoheno]] &new{2007-08-05 (日) 21:00:32}; -- また無限長を許してしまうというのも、軽快さを失う原因になります。100MBの長さのページ名とか見たくないですよね。 -- [[henoheno]] &new{2007-08-05 (日) 21:04:58}; -- ということで、最大長の制限値を設ける、というのはどんなシステムであっても避けられない事だと思いますよ。 -- [[henoheno]] &new{2007-08-05 (日) 21:09:01}; #comment