
GIJOEさんの講演VTR映像公開(要ログイン)
GIJOE (Customizing XOOPS ~自由にデザイン・自在にHack とPHPサイバーテロの技法―攻撃と防御の実際 )の著者で、たくさんのXOOPSモジュールを公開しています。
「新世代XOOPSモジュールの開発と利用法」 G.I.JOE
古いモジュールと新しいモジュールとで、何がどう違うかという説明
から始めて、新しい設計なら、モジュール開発効率が上がり、かつ、
エンドユーザの利用方法も柔軟になる、なんて話をしようかと思います。
新世代モジュールの開発と利用法
株式会社ピーク 後藤峰陽
GIJOE
http://xoops.peak.ne.jp/
XOOPS - PHPで書かれたCMS
いわゆる本家 http://www.xoops.org/
XOOPS Cube - XOOPSからのフォーク。日本でXOOPSと言えば、事実上これを指す
公式プロジェクトページ http://xoopscube.sourceforge.net/
ユーザグループ http://www.xugj.org/
ちょっと格好良いXOOPSサイトの例 http://study.hodajuku.org/
モジュール - XOOPSにおいてロジックを担当するパーツ
オープンソースとしてのモジュール開発
コードの穴がすぐにバレる → PHPの勉強になる
各種サーバ環境に対応する必要がある → サーバの勉強になる
最低限Englishを用意する必要がある → 英語が勉強できる。外人の知り合いができる
新世代モジュールの条件(作り方)
テンプレートへは、なるべく生データで渡す。
旧世代) <CODE非表示>
新世代) <CODE非表示> ※本当は時差も考える必要がある
テンプレートへは、ガバッと取ってガバっとアサインする。
<CODE非表示>
(各種加工)
<CODE非表示>
言語定数オーバーライド
altsys D3Language Manager
パンくず生成
xoops_breadcrumbs に対応する
本体をXOOPS_TRUST_PATH下に置く
ロジックパーツがDocumentRoot下にあるという時点で非常識
複製/リネームが自由にできること
Duplicatable V3仕様が圧倒的にお勧め
Delegate呼び出し
<CODE非表示>
xmobile対応
独自のMVCフレームワーク
sitemapプラグイン
<CODE非表示>
waitingプラグイン
<CODE非表示>
シンジケーション対応
本文検索対応
新世代モジュールの利用法
何はともあれ、まずはSmartyマニュアルを熟読する
altsysの「高度なテンプレートの操作」を使いこなす
どのテンプレートを編集すべきかを知る
どんな変数がどのような形式でアサインされているかを知る
ギリギリまでHack(PHPソースコード編集)しない方法を考える
言語定数ファイルを書き換えてもそれはHack
preloadを最大限活用する
今後、多くの動作をフックできるモジュールが出てくるはず
セミナースケジュール↓
http://www.ospn.jp/osc2007-fukuoka/modules/eventrsv/index.php?id=1&noform=1