[[PSSdev]] #contents PssとPssEditorで、同じDBとLogを扱うために、同期処理と排他制御が必要となる。 * PssとPssEditorの同期 ** PssEditor でのログの更新タイミング エディタでの変更に応じて、適宜、ログを更新する。更新とは、「ログの入力」「変更」「ログの出力」という一連の処理のことである(この間にPss上でログの変更がないように気を付ければよい)。 - 行の挿入 - 行の削除 - 行の貼り付け - 行の切り取り これらのタイミングで、DBの上書きも行う。 これは、行の挿入等でログの変更を(必然的に)伴うが、これを「セクションの変更時」等の「上書き確認ダイアログ」で「上書きしない」を選んだ場合に、ログの変更状態(上書き済み)とセクションの状態が一致しなくなるのを防ぐためである。 DBの上書きを同時に行うことで''処理速度の低下''が発生してしまったが、行の挿入・削除等の処理は頻繁に行う処理ではないということで、無視できると考えている。 ** Pss でのログの入力タイミング :回答開始直前:PssEditor で変更されている場合があるので。 :DB の再読込時:DBとログは表裏一体であるという考えから。 ** Pss でのログの出力タイミング Pss でのログの出力は、確実に1度だけ、「回答終了時」である。 Pss の終了時にはログを''上書きしない''という点に注意(もし上書きしたら、PssEditorでの変更を上書き=破棄してしまう可能性があるため)。