共同作業者の表示と競合の防止
Altium Designer と 接続されたWorkspace を組み合わせることで、Workspace に保存されたバージョン管理(VCS)プロジェクトを基盤として、チームメンバー間の設計コラボレーションを支援する非常に効果的なデータ共有プラットフォームが提供されます。
設計コラボレーションプロセスの重要な要素は、その共有アクセスを管理し、データ競合の可能性に対処することです。これは通常、複数のユーザーが同じ設計ドキュメント(Workspace ベースのファイルの各ユーザーの「コピー」)を編集している場合に発生し得ます。こうしたデータ競合は最終的に、ドキュメントが Workspace に保存される際に Workspace の VCS によって処理されますが、それまではドキュメントの共有状態が現在どうなっているかを実質的に把握できません。
設計編集環境におけるリアルタイムのドキュメント共有情報と制御のニーズを満たすため、Altium Designer は接続された Workspace と連携し、共有ドキュメントの現在の状態を可視化し、それに応じて対応できる統合システムを提供します。このシステムは、(Workspace を介した)設計クライアント間でのドキュメント共有データの自由な流通によって有効化され、新しい一連のステータスアイコン、Collaborators Bar、そして追加のファイルロックロジックとして実現されています。
前提条件
共有ドキュメントに対するリアルタイムのコラボレーション情報と制御は、次の条件下で利用できます。
- 共有するプロジェクトは、接続された Workspace 上で、バージョン管理(VCS)下の Workspace プロジェクトとしてホストされている必要があります。
- コラボレーターは Workspace のメンバーであり、Workspace に接続している必要があります。
- Workspace プロジェクトはすべてのコラボレーターに共有されている必要があります。完全なアクセスが必要なユーザーには編集権限を付与してください。
-
コラボレーターは、Advanced Settings dialog で
System.Softlocksオプションを有効にしている必要があります。
Collaborators Notification Bar
Collaborators 通知バー(
)は、現在アクティブなドキュメントが別のユーザーによって開かれているときに、Altium Designer のドキュメントエディタ右上に表示されます。バー内のユーザーアイコンにカーソルを合わせると、ライブの共有ステータスを確認できます。なお、「viewing」ステータスは、そのユーザーが Altium Designer でドキュメントを開いているものの、変更は行っていないことを示します。ローカルドキュメントのオープン状態は、Projects panel の
アイコンで示されます。
Editing Status
誰がドキュメントを viewing しているかの報告に加えて、このシステムは共有ドキュメントを editing しているのが誰かについての情報も提供します。ドキュメントは、別のユーザーによって変更された場合に「editing」ステータスと見なされます。これは Collaborators バーで示され、コラボレーターのユーザーアイコンが「閲覧中」と「編集中」に動的に分けられます。後者のグループには
アイコンが関連付けられます。
上:マウスをホバーするとアニメーションがトリガーされます。
別のユーザーが編集中のドキュメントには、Projects panel のエントリに
アイコンが関連付けられます。該当ドキュメントが現在エディタで開かれている場合は
アイコンになります。なお、ホバーテキストには、共有ドキュメントを編集している(または編集した)複数ユーザーの名前も表示されます。
Conflict Prevention
ファイル編集アクセスを管理し、データ競合の可能性を回避するために、このシステムは実質的に、最初に編集した(または変更を発生させた)ユーザーにドキュメントをロックします。このユーザーの「ソフトロック」は、ユーザーが編集を完了する(変更をコミットまたはリバートする)まで、あるいは別のユーザーまたは管理者によって上書きされるまで、ファイルに関連付けられたままになります。
以下の例では、2 人のユーザーが同じプロジェクトの回路図を開いており、下側の画面の設計者がドキュメントを編集したため、そのユーザーに(ソフト)ロックされています。この編集ステータスは、Collaborators バーと Projects panel のドキュメントアイコンを通じて、もう一方のユーザー(上側の画面)に示されます。
別のユーザーがソフトロックされたドキュメントに変更を加えようとすると、そのロック(編集中)ステータスにより、両ユーザーにポップアップダイアログが表示されます。ドキュメントの実質的な所有者(以下の画像の下側画面)には、別のユーザーがドキュメントを変更したこと、および競合したリビジョンが発生するリスクがあることが通知されます。
一方、ロックされたドキュメントを編集してしまったユーザー(上側画面)には、変更を取り消す(Revert My Edits)か、編集を保持して条件を上書きする(Ignore Lock)かの選択肢が提示されます。通常は変更を破棄(Revert)し、もう一方のユーザーが現在の編集セッションを完了するのを待ちます。
ただし Ignore Lock オプションを選択した場合、Workspace にコミットされ得る編集済みバージョンが複数存在することになります。ユーザーの編集は競合している可能性があり、そのことは両ユーザーの Projects panel におけるドキュメントの
アイコンで示されます。
この状況(複数ユーザーがドキュメントを編集している状況)では、ドキュメントがローカル保存されると、そのアイコンは
に変わります。これはローカル編集が完了したことを示しますが、ドキュメントの状態は、別のユーザーが編集しているコピーと依然として競合したままです。ドキュメントを閉じると、ドキュメントアイコンは
に変わります。
この段階で競合を解決するには、アイコンをクリックしてポップアップから Revert My Edits to Resolve Conflict コマンドを選択し、ローカル編集をリバートできます。
すべてのユーザーが、ファイルロックやバージョン管理の警告を上書きしながら編集内容を Workspace にコミットし続けると、異なるファイルバージョンにより VCS の Conflict Prevention が発生します。これは、Projects および Storage Manager パネルにおけるファイルの
アイコンで示されます。これは、(Workspace からの「pull」または更新によって)ファイルの「head」バージョンを採用することで解決できます。あるいは、競合したファイルをローカル専用バージョンとして維持することも可能です。必要なアクションを選択するにはアイコンをクリックしてください。
Conflict Prevention 状態(
)のドキュメントを含むプロジェクトを Workspace に保存しようとすると、Action Required 情報ダイアログが表示され、解決が必要な競合ドキュメントが一覧表示されます。これらのドキュメントは Conflict Detected 状態となり、
VCS アイコンが付与されます。Conflict Detected 状態のドキュメントの VCS コンテンツメニューを使用して、Workspace から最新リビジョンに更新するか、ローカルドキュメントを使用することで競合を解決してください(または PCB ドキュメントの場合は、PCB CoDesign 機能を使用して変更を比較・マージします)。

