协作者的可视化和预防冲突
Altium Designer 和连接的工作区的结合提供了一个高效的数据共享平台,支持基于版本控制(VCS)项目的团队成员之间的设计协作,这些项目存储在该工作区中。
设计协作过程的一个关键部分是管理共享访问权限和处理数据冲突的潜在可能性,这通常发生在多个用户编辑同一设计文档(他们对基于工作区的文件的“副本”)时。这些数据冲突最终由工作区的VCS在文档保存到工作区时处理,但在那之前,你无法真正了解文档的活动共享状态。
为了满足设计编辑环境中实时文档共享信息和控制的需求,Altium Designer 与连接的工作区一起提供了一个集成系统,用于可视化和响应共享文档的当前状态。该系统通过设计客户端之间的文档共享数据自由流动(通过工作区)来启用,并通过一系列新的状态图标、协作者栏和额外的文件锁定逻辑实现。
为了满足设计编辑环境中实时文档共享信息和控制的需求,Altium NEXUS 设计客户端与其连接的NEXUS 服务器工作区或Altium 365 工作区一起提供了一个集成系统,用于可视化和响应共享文档的当前状态。该系统通过设计客户端之间的文档共享数据自由流动(通过工作区)来启用,并通过一系列新的状态图标、协作者栏和额外的文件锁定逻辑实现。
先决条件
共享文档的实时协作信息和控制在以下条件下可用:
- 要共享的项目作为受管理的项目托管在连接的工作区上,并且在版本控制(VCS)下。
- 协作者是连接工作区的成员,并且已登录。
- 受管理的项目已与所有协作者共享 - 对于需要完全访问权限的用户,具有编辑权。
协作者通知栏
当当前活动文档被另一个用户打开时,协作者通知栏()将出现在Altium Designer文档编辑器的右上角。将光标悬停在栏内的用户图标上,以查看实时共享状态。请注意,“查看”状态表示用户已在Altium Designer中打开文档,但尚未进行任何更改。本地文档的打开状态由项目面板中的图标表示。
编辑状态
除了报告谁在查看文档之外,系统还提供了关于谁在编辑共享文档的关键信息。当文档被另一个用户更改时,即被视为处于“编辑”状态。这由协作者栏指示,它动态地将协作者用户图标分为查看和编辑的两组 - 后者组与图标相关联。
被另一个用户编辑的文档将在项目面板中的其条目旁边有一个图标,或者如果该文档当前在编辑器中打开,则为图标。请注意,悬停文本还将报告多个用户正在编辑(或已编辑)共享文档。
冲突预防
为了管理文件编辑权限并避免数据冲突的可能性,系统有效地将文档锁定给第一个编辑它的用户。或者导致它被修改。这种用户的“软锁定”将与文件关联,直到用户完成编辑 - 提交或撤销更改,或被另一个用户或管理员覆盖。
在下面的示例图像中,两个用户打开了同一个项目原理图,使用下方屏幕的设计师编辑了文档,导致它被(软)锁定给该用户。这种编辑状态通过协作者栏和项目面板文档图标向另一个用户(上方屏幕)指示。
如果另一个用户尝试对该软锁定文档进行更改,其锁定(编辑)状态将触发两个用户的弹出对话框。文档的实际所有者(下图中的下方屏幕)将被告知另一个用户已修改了文档,并且存在冲突修订的相关风险。
相反,编辑了锁定文档的用户(上方屏幕)将被提供取消更改(撤销我的编辑)的选项,或通过保留其编辑来覆盖条件(忽略锁定)。在正常情况下,用户会放弃更改(撤销)并等待另一个用户完成当前的编辑会话。
如果选择了忽略锁定选项,那么这意味着将有多个编辑版本的文档可能被提交到工作区 - 用户编辑可能存在冲突,如两个用户的项目面板中的文档图标所示。
在这种情况下,当多个用户正在编辑一个文档时,如果文档被保存,它的图标将变成。这表示本地编辑已经完成,但文档状态仍然与另一个用户正在编辑的副本冲突。如果文档被关闭,文档图标将变成。
要在这个阶段解决冲突,您可以通过点击图标并从弹出菜单中选择恢复我的编辑以解决冲突命令来撤销您的本地编辑。
最后,如果所有用户坚持将他们的编辑提交到工作区 - 而忽视文件锁定和版本控制警告 - 不同的文件版本将引发VCS 冲突,如项目和存储管理器面板中文件的图标所示。这可以通过采用文件的'头'版本(通过从工作区'拉取'或更新)来解决,或者可以将冲突文件保留为仅本地版本。点击图标选择所需的操作。