スマート学習をはじめ、オプションの切り替え機能など、実に様々な機能が搭載されている。整合性がとれていない。考慮していなかったためである。「利用者毎の履歴を切り替えるための機能」であるが、ユーザが期待しているのは「利用者を切り替える機能」であり、明らかに機能不足(名が体を表していない)である。[#mcb66ee0]現状での問題点・要望をまとめると下表のようになる。|項番|機能|問題点・要望|実装上の問題|h|1|スマート学習リスト|利用者を変更してもスマート学習リストが切り替わらない|スマート学習リストが利用者毎に用意されていない||2|オプション切り替え機能|利用者の変更時に、オプションも自動的に切り替わって欲しい|「利用者とオプションファイルとの対応付け」が必要||3|スキン機能|利用者の変更時に、スキンも自動的に切り替わって欲しい|2を実装すれば実現可能||4|学習モード|利用者の変更時に、学習モードも自動的に切り替わって欲しい|利用者毎の「学習モード」を保存する機能が必要。[#waffba4d]下記の手順で実装を行っていく。利用者変更時に、スマート学習リストID(問題集ID)を自動的に切り替え、スマート学習リストを再読込するルーチンを追加する。利用者切り替え時に、学習モードも切り替える。利用者とオプションファイルとの対応表を新たに作る。利用者変更画面に「自動切り替え先オプションファイル」のような項目を追加する。利用者変更時に「自動切り替え先オプションファイル」が(その利用者に)指定されていれば、オプションファイルを自動的に再読込する。利用者のエントリー毎に「プロパティ」を設定できるようにする。デフォルトの学習モードの項目があれば十分。[#gaed0939]''基本方針''利用者毎に「ユーザIDに対応した既定のパス」でスマート学習リストを割り当てる。SmartLearning/user3/1のようなパスを割り当てる。「ユーザの(現在の)スマート学習リストの問題集ID」の2つを保存する。「ユーザIDに対応した既定のパス」でスマート学習リストを生成する。「従来のスマート学習リスト」を「ユーザのスマート学習リスト」にコピーする。テーブルに「ユーザIDに対応したスマート学習リストID」を追加する。''起動時の処理''現在は、スマート学習リストIDは「決め打ち」だが、これを「動的に取得する」ように修正する。これは、「user_propertyテーブル」からユーザIDに対応するスマート学習リストIDを取得する形になる。「ユーザIDに対応するスマート学習リストID」が存在しない場合は、自動的に「既定のパス」でスマート学習リストを生成し、その問題集IDを利用する。ボタン押下後の処理は下記の通り。スマート学習リストを再読込する処理を行う。''利用者新規作成時の処理''利用者変更画面で「利用者の新規作成」を行ったときの処理は下記の通り。実際に必要になった際に、動的に「既定のパス」でスマート学習リストが生成され、その問題集IDが利用されることになる。学習モードをどこに保存し、切り替えるのか?~現状では、学習モードは「前回の終了時のモード」をレジストリに記録している。[#a5eaa9ac]各ユーザ(利用者)に別々のオプションデータを(強制的に)割り当て、切り替える機能を搭載する。