2008年2月8日金曜日

現行からの変更点(予定)

現行のままでは不便が生じるのと管理者が変わったときに大変なので以下のように変更することが自分の中ではほぼ決定。

今のmain.phpは
solver/sdpa/main.php
に移動して管理する予定。
元の場所のmain.phpは各種solverへのリンク集みたいなのと情報ページみたいになるのかな・・。

というわけでShortest Pathであれば、
solver/shortestpath/main.php
になるわけで

基本的にmain.phpというファイルは変数で書けるものは変数で書いてなるべく同じ書式にする。
基本フォーマットにはソルバーに関係なく使えるようなサンプルファイルを用意する。ソルバーの追加や変更を容易にするのとユーザーから見てフォーマットが似てる方が使いやすいという二つの意図があり。
それに伴い、共通の設定は別にcommonファイルを用意。ソルバー独自の設定が別に必要だがなるべくmain.phpのファイルをいじらないで別のphpファイルから読み出せるようにしたい。
最終的な決定は何種類か最適化プログラムの仕様が分かってからにならざるを得ないが・・。

それと前の更新で書いた一方を採用し、
userdata/username/solvername/data(param)
フォルダに入出力データを入れることに変更。
そうしないと一括管理が非常に難しくなるのと、input,output系のファイルが複数にわたるときの管理が面倒になるという理由があり。
今現在、初ログイン時に、必要なフォルダをmkdirコマンドを呼び作成しているのだが、そのままの仕様にするなら作成するフォルダの一覧を変数にして別のファイルに用意しておいた方が良いかな。

インターフェイスも変えたいがこういった仕様を先に決めておかないと後が厄介なのと自分に美的センスがないのとで結構悩みどころ・・。

2008年2月4日月曜日

フォルダの変更

オンラインソルバーを実際に稼働するときにはソルバーが今までのようにSDPA1個ではなくなるのでファイル管理の方式を変えなければならない。

今は一つのフォルダの中にパラメータのフォルダ、データのフォルダになっているのを
param/"solver_name"/
data/"solver_name"/
のように変更するつもりだ。このくらいの変更ならすぐにできるので問題はないはず。
問題があるとすればあるかわからないが他にファイルが必要になるソルバーだろう。あったとしてももう一つフォルダを作るとか逆に
"solver_name"/param/
"solver_name"/data/
"solver_name"/nannka/
のようにすれば良いだろう。
拡張性という意味では後者の方がいいかもしれない。

現行では、初ログイン時に、パラメータとサンプルファイルをコピーしているがこの処理を移項するまでは新フォルダと旧フォルダに両方コピーするようにしておこうと思う・・・。

2008年2月1日金曜日

インターフェイス

オンラインサービスにおいてインターフェイスというのは重要な存在で、技術的でなくても優先順位は高い方になる。美的センスのない自分がどうするかというのは色々考えているが・・。

それはさておき、なんにせよ実際にオンラインソルバーを動かすときも今と配置を結構変えなければならない。左の方にソルバーのリストを置いておき、使用するソルバーのページに飛んでもらって問題を解く形式にしようと思うが。

ほぼ同じような処理で使えるようにしたいので、今何のソルバーを使おうとしてるのかを明確にどこかに表示しないと間違って違うソルバーのページに飛んでしまったときに問題が見つからない等のトラブルでイライラしてしまうだろう。

ファイル管理もソルバーごとにフォルダを作った方がいいだろう。
その方がユーザーも管理しやすいであろうしいいと思うのだが、「グラフ」などの共通の問題に対して何回もアップロードさせるかどうかはちょっと考える余地がありそうだ。ソルバーの入力形式に依存するのでその辺も考慮しなければならないがそこまで共通の書式を取れることは少ないだろうなぁ。