オブジェクトの所有権

マルチユーザ環境では、複数ユーザが同じオブジェクトを編集しようとして、予期せぬ問題を引き起こす可能性があります。

grandMA3 システムには、複数ユーザが同じオブジェクトを編集できないように、一時的にロックするメカニズムがあります。

ユーザがオブジェクトの編集を開始すると、他のユーザに対して、点滅する鍵アイコンと、それを編集しているステーションとユーザに関する情報が表示されます。


他ユーザが Position プリセット1を編集中

別ユーザがオブジェクト全体を編集していると、そのオブジェクトを完全にロックできます。赤い鍵アイコンはこのことを示しています(上の画面例を参照)。また、黄色の鍵アイコンは、オブジェクトが部分的にロックされていることを示しています。これは、オブジェクトの一部だけが編集中で、現在ロックされていることを意味します。オブジェクトの他の要素は引き続き編集できます。


別ユーザがマクロ行を編集中

オブジェクトの編集中にすべてのユーザはそれを使用できますが、編集完了前にそのオブジェクトを使用すると、編集した値が反映されない場合があります。

オブジェクトを編集しているユーザは、オブジェクトが編集されている間、そのオブジェクトの所有権を持ちます。オブジェクトの編集に用いられているステーションでは、その間、関連するウィンドウ枠が緑で表示されます。

編集ユーザが複数のステーションにログインしている場合、このユーザがいる他のステーションでは、別のステーションでオブジェクトの編集を開始したことを示すために、ウィンドウ枠が黄色で表示されます。

一時的にロックされているオブジェクトを別のユーザが編集しようとすると、それに関する情報がポップアップで表示されます。


Ownership Conflict ポップアップ

このポップアップは、10秒のカウントダウンで自動的に閉じます。カウントダウン終了前に、Ok をタップして閉じることもできます。

ユーザは、DropOwnership キーワード を用いて、一時的にロックされたオブジェクトの所有権取得を要求できます。

これによって、オブジェクトを所有しているユーザに属するステーションにポップアップが表示されます。


Drop Ownership ポップアップ

現在の所有者は、このポップアップで Drop Ownership をタップして所有権を解放するか、Keep Ownership をタップして所有権を保持するかを選択できます。

このポップアップにも10秒のカウントダウンがあり、タイムアウトすると所有権が解放されます。これは、ステーションを離れたユーザが所有していたオブジェクトを他のユーザが取得できるようにすると同時に、ユーザが積極的な選択肢として所有権を維持できるようにするためのデフォルト動作です。

ListOwnership キーワード を用いると、セッション内のすべてまたは特定の所有権を一覧表示できます。結果は、Command Line History ウィンドウ に表示されます。

ヒント
ユーザの操作に従って開始される自動プロセスによっても、オブジェクトがロックされる場合があります。 例えば、ユーザがプリセットを更新する場合、処理中に必要なオブジェクトが Total Reference Update メカニズムによってロックされます。自動プロセスは、更新処理中にそのオブジェクトを所有します。