モジュールのレポジトリ
よーするに、ユーザーが体感的にダウンロードするのはXOOPSCubeのエージェントでしかないわけですね。
ここに、モジュールを突っ込むと、自動的にライブラリやなんやかんやも入ると。。。
普通、ライブラリやフレームワークは1つのバージョンしか入んないんで、競合が起こったらエージェントでDenyする。
その発想で行くと、このXOOPSCubeエージェントは、レポジトリリストを持つわけです。
http://www.hodajuku.org/repository.xml
http://xoopscube.org/repository.xml
とかね。
すると、そのXMLから入手可能なXOOPSCubeモジュールやベースのリストが得られる。
ユーザー観点では、ベースなんてなにを選んでいいのかわからないから、リスト上には不要で、あくまで依存関係から自動的にインストールされる。
一気にFTPアップロードまでしちゃおう
で、手元にダウンロードさせるだけだと意味がなくって*1、そこから直接サーバにアップロードしてしまう。アップロード後には、「アップ漏れファイルが無いかチェック」もする。
これによって、「ファイルが多すぎてFTPアップが苦痛」というユーザーの今一番の不満からも解放。
さらに、Chmodしてしまうことで、「どのディレクトリを777していいかわからん」という作業からも解放。
多分、こういうことをしている他のプロジェクトって絶対あるんじゃないかなぁ・・・・。
でも、もしかしたら、無いかも知れない。
こないだのOSCの「CMS大決戦(だっけ?)」でこういうエージェントを作ってるところはなかったから。
議論はしないでいきなり作っちゃおう
XMLの書式がどーこーとかそういう不毛な話はしないで、いきなりつくっちゃうのが良いと思う。
Socketが使えるんで、FTP接続もできるはず。
http://maliboo.pl/projects/FlexFTP/
なんてFTPライブラリもある。
いやー、かなり面白いな。
*1:もちろん、ダウンロードのみって動作モードも必要だろうけど