PolyMoNote Developer
PolyMoNote開発サイドの情報の発信場
Memo
ID: 6 |
作成日: 2011/10/31 [Mon] 23:51:00 |
最終更新: 2019/12/01 [Sun] 00:04:17
FrontPage
/
Memo
| 目次 |
|---|
参考程度のPolyMoNote関連のネタや小話。
そして、作者のメモ書き。
PassWikiとの違い
主だったものは、以下のとおり。
- スクリプトのソースとHTML表示のUTF-8化。
- ログインのセキュリティ面強化。
- 完全一人用、PassWikiにあった"ログインユーザーのみ"or"誰でも自由に編集"の選択機能は削除。
- 出力されるHTMLを調節。
-
ページデータディレクトリのディレクトリネーム命名規則。
- ページごとにディレクトリを作るのはPassWikiと同じですが、ディレクトリ名が短くなっています。 詳しくはこちら。
-
添付ファイル用のディレクトリを用意、保存先をデータディレクトリとは別ディレクトリに。
- これに伴い、テキストファイル(拡張子".txt")が添付可能となりました。
- PHPのセーフモードに対応。 詳しくはこちら。
-
文法の拡張。
- 扱えるWiki記号を追加&記号の変更。
-
プラグインや組み込み系タグの追加&拡張、そして削除されたものもあり。
- プラグイン・組み込み系タグは削除されたものやPassWikiと名称は同じでも機能が違うものもあり。 あとほとんどのプラグインの引数が追加・変更されている。(この辺は、後日もうちょっと詳細に書ければと…)
-
SEARCHコマンドを利用したサイト内検索(検索フォームでの検索)は、よくあるAND・OR検索に。
-
PassWikiでは正規表現での検索でしたが、正規表現の記述に問題があるとエラーになる場合があるので、独自にAND・OR検索を実装。
- 実際、ほとんどの閲覧者は正規表現は使わないし、さらにいうとデフォルトのまま検索ボタンをクリックするのでAND・ORの選択もしない。
- まぁ、わかる人には正規表現検索は便利っちゃあ便利…でも、自分でも正直AND検索しか使わない。
-
PassWikiでは正規表現での検索でしたが、正規表現の記述に問題があるとエラーになる場合があるので、独自にAND・OR検索を実装。
わかっている問題
-
","(カンマ)が含まれるURLを正しくリンクできない。"ver.0.9.01β"で解決。- リンク関連のプラグイン・タグでカンマは引数の区切りとして解釈されるため。
-
パンくずリスト(TOPICPATHプラグイン)で、FrontPageに設定されているページの下位ページがある("FrontPage/AAA"など)と、FrontPageへのリンクがふたつ作られてしまう。"ver.0.9.31β"で解決。 -
リスト系記号のレベル差が二段階以上ある場合に、空のリストタグが作られることになる。
-
ただ、HTML的にはインライン要素のないリストはダメ。
- PukiWikiでは、それを回避するために、いきなりレベル2・3の場合はスタイルシートでレベル差分だけ左に余白をつけてHTMLでは"<li>"一回。 たしか余白を"px"で固定して指定している。
- 不特定多数が参加するコラボレーションツールなWikiエンジンの場合、ユーザーが書き込んだWiki記法が本人が書きたかったHTMLの内容とは違っても、HTML的にはとりあえず正しい書式になっていないといけないので、多少強引でもHTMLの書式としては"<li>"一回、Wiki書式が整形された見た目的には"<li>"二回・三回のような感じになっている必要がある。
-
でも、リスト初登場時にレベル2や3で書くことって実際あるのかなぁ?
- PolyMoNoteは一人用なのでセキュリティ的不備がなければ、HTML的に"どやねん"でも本人がどうしてもそう書きたいのなら、それはそれでもよしにしてもいいかなぁというのが、PolyMoNoteの一応スタンスかなぁ…。
- なので、あえて現状のままで、「これは仕様です !!」としてしまってもいいかも。
-
ただ、HTML的にはインライン要素のないリストはダメ。
-
LINKタグのリンク文字にサイトのドメイン名などの"アルファベット+記号.(ドット)アルファベット"※1の形式の文字を指定できない。- 外部画像や添付ファイル名と解釈して画像付きリンクの処理をするため、たとえばドメイン名をリンク文字にした場合、ファイル名扱いされて「添付ファイルがない」・「拡張子が画像ファイルではない」などのエラーメッセージを返してしまう。
-
原因と対処法は大体わかっているんだけど、いま他のことで色々いそがしくて手を付けられないので、なるべく
早めに修正するようにしたい。とりあえず修正、現在テスト中。 "ver.0.9.50β"で解決。
「たぶんあるだろうなぁ」と予想される要望と、その対応&回答など…
要望がなくても、なんとか実装したいなぁと思っていること
-
ページのプレビュー機能。
-
とりあえず機能を作成、現在テスト中。"ver.0.9.2β"で実装。
-
-
タグクラウド。
- これの実装自体は、たぶん作れるんだけど、方法をプラグインを利用するのか本体の標準機能とするのかで悩み中。
-
Wiki記法をHTML変換したものをキャッシュして表示にかかる負荷を軽量化。
-
プラグインのなかで、ページやサイトが更新されない限り変更されない表示される内容が変わらないものはいいとして、COUNTERプラグインのようにページが編集されなくても表示される内容が変わるものを、どう処理するかが問題。
-
とりあえず機能を作成、現在テスト中。"ver.0.9.3β"で実装。
-
-
プラグインのなかで、ページやサイトが更新されない限り変更されない表示される内容が変わらないものはいいとして、COUNTERプラグインのようにページが編集されなくても表示される内容が変わるものを、どう処理するかが問題。
できれば対応したいんだけど…
-
ページの"下書き"状態。
- 単純にログインユーザーのみページが見られるみたいな形だと、まだ作りやすいんだけど、ページリスト系プラグインや検索の機能で非表示となると、ちょっと手間。
-
日記のカテゴリのリンクを、ブログのエントリーページのように日記ページに表示。
-
とりあえず負担を少なく自動化で悩み中。ためしにプラグインを作成、現在テスト中。"ver.0.9.2β"で実装。
-
要望があっても対応する予定のないもの
-
マルチユーザーの対応、いわゆる複数ユーザーの作成や、そのユーザーのグループ分けによる権限付け。
-
PolyMoNoteは完全一人用のコンセプトで作成しているツールであり、マルチユーザーに対応する予定はありません。
- この機能がほしい場合は、正直他のツールをオススメします。
-
PolyMoNoteは完全一人用のコンセプトで作成しているツールであり、マルチユーザーに対応する予定はありません。
-
PassWikiとの互換バージョンまたはPassWikiから移行するためのツール。
- こちらにも書いているように、互換性を無視した改変をしており、こういった機能やツールの作成が難しいため、対応する予定はありません。
-
トラックバックの送受信。
-
僕個人としては正直、必要性を感じなかったし、これを開発するための環境を調べて整備してまで作りたいとはならないので。
- 以前、ブログを使っていた時は、まぁ人気のないサイトだからというのもあるんだけどトラックバックスパムしかなかったし、実際、本来のトラバ的使い方である"言及し、言及され"というやり取りって、一般的なサイト運営者というかライトユーザーというか、そういう人たちは使わない上にトラバ機能があるためにトラバスパムはされてしまうという状況な気がします。
-
だいたい、トラバって受け付ける側に関係なく勝手にこちらのサイトのリンクを張る機能なわけですから、一部の何かしらかの事象に言及している有名ブログを除いたらトラバスパムにしか利用されないのではないかと。
- そういえば、一頃されていた"ありがとう"返し的な使われ方である"トラックバック返し"って、今でもあるんだろうか?
- どうしても必要な方は、素直にベタな"Movable Type"か"WordPress"を使ってください。
-
僕個人としては正直、必要性を感じなかったし、これを開発するための環境を調べて整備してまで作りたいとはならないので。
PN_SAFEMODEの"0"と"1"の違い
PN_SAFEMODEの値が"0"だとページごとにディレクトリを作成して、"1"の場合は作成しません。
そして、きっちり負荷の検証をしたわけではありませんが、自分でサーバで使ってみたり開発環境で試したりした感覚も踏まえての、"0"と"1"の長・短所を箇条書き。
-
動作については、"0"のほうが(たぶん)早い
- サーバスペックにもよるだろうけど、両方を試していて"0"のほうが軽快みたい。
- ディレクトリで細かくファイルが区切られることで、1ディレクトリ辺りのファイル数が少なくなるためだろう。
-
バックアップや再インストール時の過去ログアップロードは"1"のほうが楽。
- 1ディレクトリに全ファイルが収まっているので、アップ・ダウンロードや手動でのパーミッション再設定が楽になるのはあたりまえですね。
- "PHPセーフモードがオフ"関連によるディレクトリ・ファイル操作の制限を受けない環境で、ディレクトリが多く作成されるのが嫌な方は、よほどパフォーマンスを気にしない限りは、こちらのほうで。
-
作成できるページ数の上限は"0"のほうが上。
- 1ページ辺りに作成されるすべてのファイルを1ディレクトリにまとめて、かつそのディレクトリを200ずつで1ディレクトリにまとめているから。
-
それに対して、"1"は1ディレクトリに全ページの本文・プロパティを作成、さらにBBS・COMMENTプラグインが記述されている場合はそのログも含まれるため。
- サーバによく利用されるOS"Linux"環境でファイルシステムが"ext3"の場合、1ディレクトリに作成できるディレクトリ数の上限が約32,000、1ディレクトリに作成できるファイル数の上限が実質は約10,000~15,000。
- なので、ディレクトリで細かく分割されている"0"のほうがページ数は多く作れる。
REFERERSプラグイン
PolyMoNoteのベースとなったPassWikiに元々あった機能なので、とりあえずそのまま付けていますが、僕個人は正直REFERERSプラグインについては削除してもいい機能だったかなぁと思っている。
近年はリファラスパムも多いので、リンク元を表示する機能はあまり意味を持たないのではないかと。
なので、REFERERSプラグインが起因する不具合が生じた場合、特にセキュリティ上の重大な脆弱性であったときは、プラグインそのものを標準の機能から外す可能性があります。
脚注
※1
たとえば、"polymonote.info"のような。