和田憲幸のブログ

札幌市白石区在住、個人事業のWebエンジニア 和田憲幸(45歳)のブログです。

Perlで開発プラットフォーム(5)

久々に更新第5弾。Perlで作った何かよくわからない感じのWebアプリ。

2008-12-14 03:34:28
入力時間 / 20:54

WebApp Platforms(仮) PerlでコーディングされたWebAppを開発する際のなんか変なのです。

当初は何を思って作っていたのか。管理画面が付く仕事が多い関係でそれの標準化とモジュール等の整備を前提に作っていたような記憶があるのですが、今ではすっかり別物になってきた感が否めません。が、しかしこれは将来的に基礎部分と基礎モジュールだけでも公開したいなと思う反面、脆弱性等の関係であまり人様の目に晒したくない不安があります。

実装した機能は以下の通り。

モジュール管理

モジュールを管理します。あとモジュール毎、モジュールのアクション毎にアクセス権の設定をできるようにしてみました。この部分のせいで、途中でゼロから組み直しを・・・。この部分が一番めんどくさかった。

レジストリ管理

CGI内の変数をいじるのはめんどくさいという事で、共通で使うような変数等の設定はレジストリ管理からダイレクトに変数をいじるという非常にリスキーなことをやっています。念のためレジストリは常時バックアップをとっているので、動かなくなった際は復元できるよう配慮してみました。

権限管理

当初、権限管理はオマケみたいなもので考えていたんですが、構想がふくらむにつれて、権限の追加・変更が多く発生しうると判断したため、急遽モジュール管理と連携で機能を強化。XOOPSやMTなどのCMS系の権限とはちょっと位置づけが違うというか、この権限という部分が会社毎にあるというか、クライアント毎に発生しても大丈夫な感じというのでしょうか。将来実装するであろうタスクマネジメント部分の事を考えてある程度柔軟な設計にアジャスト。

ユーザ管理

ま、こっちこそオマケみたいなもんですが、ユーザ毎でのデータ管理と、権限毎のデータ管理などを前提としたオマケ程度のユーザ管理です。

ブックマーク

ブックマークレット経由でのオンラインブックマークですね。私はサービスが分散するのが非情に嫌なタイプなのではてブとかあまり使う気にならないんですよね。で、以前は自分でこさえたAjax Bookmarkという物をつかっていたんですが、まぁいろいろと管理が面倒でして。で、ブックマークは個人的な要素も大きいですが、やっぱり社内・グループで管理が前提ですよね。ということでグループで管理する形になっております。

メモ帳

オンラインメモ帳は私のホント大切なツール。何かあったらメモ帳にメモるんですが、パソコンの台数が多い関係でどのパソコンでメモったか忘れるわけなんですね。ということでメモ帳の管理もこのツール内で。

Wiki

wikiは使いますよね。セキュリティ的にあんまりよろしく無いのかもしれませんが、設定系、パスワード等は全部wikiに書いてます。wikiとメモ帳の棲み分けがちょっと難しいんですが、メモ帳は個人毎、wikiはグループ毎という事で棲み分けてみました。私は自宅のサーバ内で動かしているのでクローズド環境だったら問題ないですよね。

チャット

ま、これはオマケみたいなもんですけどAjaxでリアルタイムチャット。負荷を軽減するために差分ロードですね。で、ちょっとおもしろい機能としてはノーティスが付いてるんです。なので、wikiを見てようがメモ帳を見ていようが、誰かが書き込むとリアルタイムで通知ペインにアラートが表示されます。ちょっとおもしろいでしょ。

ミニブログ

時間の管理と工数算出の目安、作業日報、備忘録としてのミニブログ。これはユーザ毎ですね。twitterを意識してみました。なるだけ簡単にボソボソっと。ただ、他のユーザと干渉はしないんですけどね。簡単にテクストが時系列で残せるのはやっぱりおもしろいかも。管理者がそれを閲覧できるような仕組みも用意したいなと。

ノーティス

前述したとおり、例えばブックマークに誰かが追加をしたらそれがノーティスされます。wikiで変更があった場合なども常時。ノーティスされた時にアラート音を出すことができて、ピコピコピコッと音がなります。同じ事務所内で使ってたら正直かなりウゼーと思うのですが、ちょっぴりおもしろいかも。狙いは誰が何をやってるか斜め読みでいいから認知させるため。カラーバス効果を狙ってるわけです。自分が携わってる案件に関連する更新があったらやっぱり目に入りますよね。ということで、ミニブログも含めてほとんどノーティスしますね。ノーティスの部分はモジュール化してあるので、今後拡張モジュールを作った際も更新プロセスに1行書き足せば簡単にノーティスします。

ということで、当初の予定から大幅に遅れましたがひとまず第一フェーズ終了と言ってもよいのではないでしょうか。あとはテスターになってくれる方がもしいらっしゃいましたら、ぜひこちらからベータテスターのお申し込みをお待ちしておりますっ!!

拡張モジュールの開発はこれで和田的にかなり楽になりました。一人で作ってる分、文法の整合性もある程度とれてると思うので。でもほかの方にあまりこのソースを見せたくはないなぁ…汚いから…。

P.85