新扇モジュールをインストールするにあたって、まず最初に突き当たる問題が、DBの構築です。
新扇のDBにはプロフィール項目についてのデータが保管されているわけですが、これはemailなどの項目ためにインストールした瞬間から準備されている必要があります。
そ れならmysql.sqlに最初からINSERTしたい項目をそのまま書き付けておけばいいのではないか?と思う方もいるかもしれませんが、そう簡単には いきません。白扇では安易にそのようにしてしまいましたが、結果的に日本語(EUC-JP)のXOOPSでしかインストールできないという事態になってし まいました。
インストールするときに各言語のファイルを元にSQLを実行できればいいのになあと思っていたところ、GIJOEさんのサイトで"Duplicatable V3"という興味深い記事に出会いました。
この記事はモジュールの複製に関する仕様を書いたもので、新扇とは直接は関係がありません。ですが、そのなかに感心した一文がありました。
(3) テンプレートやCREATE TABLEは、onInstallで面倒見る。(XOOPSコアには任せない)
こ れを読んではっとしました。インストールとりわけデータベースの処理はXOOPSコアに任せるのが当たり前だと思っていました。ところが、実際のところコ アはインストールの補助であって、まるきし依存する必要もなかったのです。このことに気がついて、新扇のインストール時の問題の解決策が見つかりました。
ずばり、新扇もDuplicatable V3同様、コアに任せずインストール処理を実行すれば良かったのです。GIJOEさんの発想に感服ですね。