My Jeans CMS:2010年 02月の記事

0.6.7α [一般的なこと]

2010年2月15日

このデモページを、バージョン0.6.7α(SVNリビジョン135)に上げました。

ロードマップとして挙げた機能を、一通り実装しました。画像のアップロードも、下のとおり、可能です。
2010-02-15-Clipboard01.jpg

コメント対策プラグインを導入 [一般的なこと]

2010年2月4日

昨日から今日にかけて、一つだけですがスパムコメントを入れられてしまいました。ほうっておくととんでもないことになりそうなので、とりあえずスパム対策だけは行う必要があります。

Nucleusでの経験で、NP_ProtectByMD5がスパム対策にかなり有効であることが分かっていたので、これをJeansに移植し、同時に、プラグイン周りのコードを少し見直しました。

もともとJeansを作ろうと思ったきっかけは、Nucleusのプラグインを書いていたときに、これをもっと楽に書きたいと思ったことでした。で、実際にJeansでプラグインを書いてみると、まずまず書きやすかったです。ほっと一安心です。

今回作成したプラグインは、jp_ProtectByMD5です。機能は、NP_ProtectByMD5とほとんど同じです。Jeansのプラグインがどんなものかに興味ある方は、SVNで閲覧もしくはダウンロードしてみてください。スキンタグ、イベント、多言語化といったテクニックを用いています。

今回のプラグインで用いていないテクニックは、アクションの実行と管理画面です。アクションの方はすでに実装済みで、これはライブラリクラスでのそれと同様に扱えます(static public function action_post_xxxx()を記述するだけ)。管理画面は未実装ですが、とりあえず考えているのは、管理領域にskin.incを用意すればそれをパースするというやり方です。管理領域でもスキンがそのまま使えるので、Nucleusの管理画面よりも作成しやすくなると思います。

メディアは、DBに保存 [一般的なこと]

2010年2月3日

プラグイン実装部分はほぼ終わって、メール送信機能も作り終えました。現在は、メディアアップロード部分を書いています。色々と考えた結果、Jeans本体では、アップロードされたメディアをDBに保存する事にしました。

動作が軽いツールを目指すのであれば、本来はファイルとして保存して、呼び出す時はApacheから直接(PHPを経由せず)読み込むべきなのですが、DBに入れる形にしたのは、次の理由からです。

1)PHP経由で呼び出すようにしても、jeans.phpとmedia.phpの2つの小さなPHPのパースだけで実装できるため、それほど重くならない。
2)上記の事、eアクセラレータなどを用いればさらに軽くする事が出来る。
3)セキュリティー上の理由で、DBに保存する方が、色々と安心。
4)DBに保存する方法だと、super-adminではないユーザーに画像をアップロードさせるような利用方法が可能。

ファイルに保存するようにしたい場合、別途プラグインを利用する事になると思います。