社会人2年目Blog

すれた人間にならないように

Webアプリ修正4

2005年09月22日 23時22分00秒 | Weblog
先日、SDPAの別の研究者の方から、新たにアドバイスのメールを頂いたので、それに基づきWebアプリを修正した。
まず簡単なものから、Solver、Cluster、CPUについてはログインしたときには、選択ミスなどで誤作動しないように既にセレクトされているようにしてあったが、パラメータに関しても、これはおそらくデフォルトで使う人が多いのでは、ということでセレクトされている状態にした。
次に、前回の修正でユーザーがアップロードした、パラメータファイルやデータファイルをログアウトした後も残して置くようにしたのだが、いらないファイルを消せるようにしたほうが良いというアドバイスを頂いた。確かに、残して置くことで、どんどん増えていくし選択するのが大変になるかもしれない。結果ファイルと同じように削除出来るようにした。
時間がかかる問題を解いた時など、メインページからもダウンロードページへ行けるようにした。今まで、実行後か、メールアドレスを入力して指定されたURLにアクセスしてダウンロードや削除を行っていたが、ログインしてすぐにどちらの作業も出来るようにした。
また、途中でマニュアルを読めるように、リンクしておいた。全てのページにトップページへのリンクがあったほうが良いとの事だが、ログアウトせずに終了することがありそうなので、少し様子を見たいと思う。考えすぎかもしれないが・・・。
ダウンロードのページで解いた問題が分かるほうが良い言うことなので、それにも対処した。セッションを使ってパラメータやデータを残しておこうかと思ったが、これだとログイン時のみになってしまう。ということで、MySQLを使うことにした。最初一つのテーブルで行おうと思ったが、セキュリティー的に問題なくてもアクセス数やデータベースの容量などがまずいので、ログインと同時にユーザ固有のテーブルを作成するようにした。計算実行後、ユーザ名、パスワード、パラメータとデータのファイル名、結果ファイル名を保存する。ダウンロードページにて確認できる。結果ファイルがキーになっているので、同一ファイル名はupdateで上書き、なければ新規作成されるようになっている。
URLにてダウンロードするほうは、カレントディレクトリをパスにしていたので、ちょっと面倒だが、絶対パスを取得し、それからパスの文字列を分割して抽出しユーザのIDを取得する。そのあと、IDをもとにユーザは自分のテーブルにアクセスして、Webから結果や情報を知ることが出来る。また、ダウンロードと削除も出来るようにした。削除は、結果ファイルとIDをもとに、同時にデータベース側も削除できるようにした。修正後は見た目がおかしいことがあるかもしれないので、一度今までのファイルを削除してもらえば大丈夫だと思う。