suin.io

新扇でプロフィールに更なる自由を

suin2006年5月16日
新扇(仮)は白扇と同類のプロフィールモジュールです。新扇は白扇の短所を改善するためにフルスクラッチで開発しております。

白扇の登場でXOOPSのプロフィール機能が格段に自由になったことは、作者のわたくしとしても意義のあったことだと思っております。しかし、白扇はプロフィールの増減はできるものの、項目はテキストボックス・テキストエリア・チェックボックス・ラジオ・セレクトの5つにかたちが限定されていました。そのため、例えば本名の欄を姓と名にそれぞれひとつずつテキストボックスを用意したフォームや、郵便番号から住所を検索して自動入力するような複雑な機能を持つフォームは、白扇のハックなしに実現できないものでした。このような限られた拡張性が白扇の短所だと言えるでしょう。

その一方で、Eメールや署名などの項目は複雑な機能を持たせなければならないため、白扇のソースにその処理を直接記述しなければなりませんでした。*1その影響で、白扇のコードは分岐処理に分岐処理が重なり、見た目の見苦しさもさることながら、非常に複雑なコードになってしまいました。複雑なコードは、思わぬ脆弱を生みやすくなるという問題もあります。

以上のような問題から脱すべく、新扇の機能の柱として「プラグイン機能」を起用することにしました。Eメールや署名などの項目の処理をモジュールの機能から取り除き、プラグインに移すことを意図しています。コアの項目をプラグインが面倒をみることで、複雑なコードを書かずにみます。さらに、このプラグイン機能はコアの項目以外にもプラグインを適用することが可能です。これはどういうことかというと、生年月日の項目に、年齢を自動で計算するプラグインを作成し適用することができたり、ユーザのブログのRSSを取得するプラグインを盛り込んだりできたりと、複雑な処理を要するオリジナルな項目を設けることがえきるということです。

プラグイン機能をフルに活用すれば、プロフィールの拡張性の自由度がさらに増すことは間違いありません。SNSのまねごとも難しいことではなくなるでしょう。

*1 もう一つの理由として、Eメールなどの項目はコアと非常に密接な項目であり、白扇が責任をもって管理する必要があるという点があげられる。
RELATED POSTS