ToDo
- test
- cardformでの新規作成時の権限指定の自由度を高める
- formdatepicker関連:日付を日付として処理できるようにする(妥当性チェック、範囲比較、曜日変換指定など)
- cardformに%sortby_word%の実装
- AdminTemplate環境設定ページ作成補助スクリプト
2007-3-31
cardformの問題は解決できたっぽい
「}}」のエスケープ関連の修正で一つバグがあった。あと、直接の関係はないがblockプラグインの関連でも一つ。明日、もう一度確認してコミット予定。
それ以外に、幾つかバグっぽい挙動を発見。これに関しては、まだ洗い出しができていないので、もう少しそのあたりをやってみる。解決方法はまだ全然まとまってない。それはMLに投げてみようかともと思う。まぁ、書いている最中に解決する事も、ままあるわけですが。
想定外な例
-{{dummy a},b}} {{dummy "\c""}} {{dummy "a"}b}}
2007-3-23
始動準備
だいぶ落ち着いてきたって事で始動準備。まずはやる事を、とりあえず文字化。久しぶりにtodoプラグインを使ってみた。とりあえず、
- cardformのバグ修正
- AdminTemplate環境設定ページ作成補助スクリプト
- ToDoの拡張版を作ってみる
あたりか。
cardformのバグ修正
cardformつーかブロックプラグイン機能か、その辺りの原因と対策の洗い出しと、修正のテスト反映を。
AdminTemplate環境設定ページ作成補助スクリプト
AdminTemplate使うとそこそこは省力化できるけど、テンプレートファイルの作成は定型なわりに変数名とかなにかと面倒。この辺りの雛型を作ってくれるスクリプトでも作りたい。
問題は、設定項目の順番と、ラベルや表題の付け方。とりあえずの文字を当てはめても良いけれど、どうせなら、どこかで指定したファイルを元にしたい。
いや、yamlみたいなファイルを書くと、プラグイン自体も含めて作ってくれる。って方が便利かな?そこまではいらないかな?
とりあえずevalできるファイルかyamlと、書いたプラグインを与えると、tmpl作る所までは作ってみよう。
ToDoの拡張版を作ってみる
で、こういうのを書くと、自動的にtodoに取り込まれるとか、「済」とかだけじゃなく、終了日時が記録されるとか、カテゴリ分けできるとか、それで階層化されるとか、進捗状況が付けられるとか、こういった日記のような形で書くと、進捗状況とかのステータスが更新されるとか、日記と関連付けられるとか、操作がajax[1]だとか。
他ページとの関連付けはcategory機能を応用するといいかな?あと、ステータスとか持たせるために、リストではなく表敬式にした方がよいかも、とかは思ったけれど、互換とか、階層化とか考えるとリスト形式がよいかもとか思ったり。もしくは、付加情報の拡張性というか、でかくなった時のために、付加情報は別ページ、と言う手もあるかも。この辺りは、作りながら、バランスをみてやってくとよいかな。
そのためにも、記録部を別レイヤにしとく必要あるな。
2007-2-8
spam_hatenaプラグイン
http://d.hatena.ne.jp/keyword/はてなダイアリーコメントURL数取得APIを使ったスパムフィルターです。
- spam_hatena_01.zip(929)
プラグイン自体の設置は簡単で、上記アーカイブを展開してできたディレクトリ "spam_hatena" を、plugin ディレクトリに放りこんでプラグイン設定で有効にするだけです。
ただ、このプラグインは JSON::Syck モジュールを使っているために、それがインストールされている必要があります。ない場合はインストールが必要ですが、JSON::Syck が依存している YAML::Syck はコンパイルが必要なようで、環境によっては使えないかも知れません。あしからず。
2006-11-3
thumbnailプラグイン
とりあえずひっそりと上げてみる。thumbnail_01.zip(1026)
特徴
- リサイズ画像はキャッシュとしてユーザに見えない形で管理
- サイズに名前を付け管理画面で一括管理することにより、途中でのサイズ一括変更も簡単
- リサイズにImage-Thumbnailを使用することにより、GD/ImageMagick/Imager に対応
インストール方法
このプラグインの使用するには GD/ImageMagick/Imager のいずれかをインストールして使用可能にしておかなければなりません。
- zipファイルを展開すると thumbnail ディレクトリができる
- thumbnail ディレクトリの中にある lib/Image/Thumbnail.pm と tmpl/thumbnail.tmpl を、それぞれfswikiの lib/Image と tmpl ディレクトリに移動する。
- 残りの thumbnail ディレクトリをそのまま plugin ディレクトリに移す
2006-1-7
アップグレード補助スクリプト
- 現状認識
- 現状スクリプト位置検出
- 親ディレクトリ以下自身を除くディレクトリからcgi本体の存在場所を探す
- 設定ファイルにて直接設定可
- 設定ファイルにて最大検索階層を設定可
- 設定ファイルにてcgi本体のファイル名を設定可
- 移行用ファイル位置検出
- 自身のディレクトリ中に移行用のファイル一式を収めたディレクトリを探す
- 設定ファイルにて直接設定可
- ディレクトリ名wiki3_*を標準とする
- 現状スクリプト位置検出
- 基本バージョン確認
- cgi内部のバージョン記述から抽出
- 健全性確認
- バージョンに対応したファイル名とmd5ハッシュ値のリストを取得
- wiki3_*.md5をそのリストを保存したファイル名とする
- ファイル・ディレクトリ属性パターンの取得
- 指定ディレクトリ以下を検索して問題点をチェックする
- ファイル過不足
- 所有者
- パーミッション
- ファイル改変
- attach,pdf,docsは存在の報告のみ
- backup,logは存在するfarm(サブディレクトリ)の報告のみ
- config,dataは特定ファイルと存在するfarm(サブディレクトリ)の報告のみ
- 問題点の解析・評価・報告
- バージョンに対応したファイル名とmd5ハッシュ値のリストを取得
2005-10-29
wikiネタメモ:Graphviz
Graphvizによる作図プラグイン。
- ブロックプラグインによりdotを書くと作図して表示する。
- 作った画像は添付ファイルへ
- ブラグインから添付ファイルを作る方法を調べる必要あり
- プラグイン自体は添付ファイルを表示するref_imageプラグイン記述を返す
- 作った画像は添付ファイルへ
- 添付したdotを作図して画像として表示するref_graphvizプラグイン
- on the flyだと重くなるかも知れないので画像はキャッシュする
2005-10-23
サブスタイル設定プラグイン
追加のスタイルシートとalternative stylesheetを追加するプラグインを作ってみた。とりあえず機能は低めだけど、叩き台的になればという事で公開してみる。
インストール方法は、
- 上記ファイルを展開して出来たファイルをアップロード
- プラグイン設定でsubstyleプラグインを有効にする
- スタイル設定でサイトテンプレートをsubstyleにする
- サブスタイル設定で追加のスタイルシートやalternativeにするテーマを設定する
といった所。
サイトテンプレートの変更は、標準のスタイルシートの挿入場所と、title属性がついていないために、このプラグインが期待通りの動作をしないために必要になった。変更点は少ないので、defaultサイトテンプレート以外を使用している場合も、同様の変更を加えれば使える。
追加のスタイルシートは、標準ではtheme/substyleディレクトリに入れれば使えるようになる。このディレクトリも変更する事が出来る(サブスタイル設定の3つ目の設定項目)。
2005-10-16
codeプラグインに行番号を引き継げる様にするパッチを作った
これ作っている時に思いついたネタとして、こういうdiff/patchを色分けするようなのもいいかなと思った。
--- Code.pm.orig Sun Sep 4 03:14:16 2005 +++ Code.pm Sun Oct 16 13:27:02 2005 @@ -22,6 +22,15 @@ return bless $self,$class; } +use vars qw($maxline $place); +#=========================================================== +# フックメソッド(initialize用) +#=========================================================== +sub hook { + $maxline = 1; + $place = 1; +} + #=========================================================== # ブロックプラグイン #=========================================================== @@ -62,8 +71,16 @@ # 行番号表示 if ($line eq 'false') {$line='0';} elsif ($line eq 'true' || $line =~ /^ *$/ ) {$line='1';} - if ($line !~ /[^ 0-9]/ && $line !~ /^ *0$/){ - my $maxline = split(/\n/,$source) + $line-1; + if ($line !~ /[^-+ 0-9]/ && $line !~ /^ *0$/){ + if ($line =~ /[+-]/){ + if ($line < 0 or $line =~ /\+/ and $line == 0){ + $line++; + } + $line = $maxline+$line; + $line = " "x($place - length $line) . $line; + } + $place = length $line; + $maxline = split(/\n/,$source) + $line-1; $html .= "<td class=\"line\"><pre>"; for(my $i=$line;$i<=$maxline;$i++){ $html .= "$i<br>"; --- Install.pm.orig Sun Oct 16 01:07:16 2005 +++ Install.pm Sun Oct 16 13:26:21 2005 @@ -10,6 +10,7 @@ my $wiki = shift; $wiki->add_block_plugin("code","plugin::code::Code","HTML"); $wiki->add_paragraph_plugin("ref_code","plugin::code::RefCode","HTML"); + $wiki->add_hook("initialize","plugin::code::Code"); } 1;
2005-10-13
blockプラグイン差し替え
blockプラグインのためのパッチが、プラグイン版になったためここに導入してみた。
兄弟wikifarm、code:FrontPageでcodeプラグインを使用しているため、そのwikifarmのみで有効にし、これまでのblockプラグインのためのパッチがあたっていた部分を、あたっていない物に置き換えた。通常ならばパッチがあたっていても害はないが、ここではテストもかねているため、念のためにあたっていない物に差し替えている。ただし、元に戻したファイルの内、「lib/Wiki.pm」はオリジナルの物になったが、それ以外の「lib/Wiki/HTMLParser.pm」と「lib/Wiki/Parser.pm」は、先のHatenizeプラグイン関連でパッチがあたっていたため、オリジナルにパッチをあて直した物で差し替えている。
さて、ここで一つ気が付いた事がある。今回の場合は、Hatenize用のスタイル関連のパッチと、_ex_blockプラグインは干渉し合う事なく共存できているが、そうでない場合でfarmを運営する場合は、パッチを本体とプラグインの双方にあてなければならないかもしれない。なぜならば、プラグインを有効にしているfarmと無効にしているfarmでは走るソースの場所が違うからである。ただ、たとえばプラグインを有効にする事でパッチが無効となる事を承知の上ならば問題ない。
このことは、逆に、パッチでは、これまでfarm間で有効無効が変えられなかったが、そのパッチをプラグイン方式に変えればfarm間でも有効無効を変えられるようになる、つまり自由度があがるという事でもある。
2005-9-28
Hatenizeプラグイン更新
幾つかバグフィクスした。今の所、バージョン番号はつけない。
最終更新時間:2006年11月26日 13時24分20秒