《绘图工具中的共同创作.pdf》由会员分享,可在线阅读,更多相关《绘图工具中的共同创作.pdf(44页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102981843 A(43)申请公布日 2013.03.20CN102981843A*CN102981843A*(21)申请号 201210448739.X(22)申请日 2012.11.0913/294,943 2011.11.11 USG06F 9/44(2006.01)(71)申请人微软公司地址美国华盛顿州(72)发明人 LT海特非尔德 AG卡尔森LYY翁 MJ史密斯BT希尔 RJ斯塔瓦德森(74)专利代理机构上海专利商标事务所有限公司 31100代理人顾嘉运(54) 发明名称绘图工具中的共同创作(57) 摘要本发明公开了绘图工具中的共同创作。描述了用于在绘图。
2、工具中进行共同创作的方法和系统。一种计算机实现的方法包括与绘图上的第一形状相关联地显示第一用户的第一用户名,并且接收第二用户正在共同创作该绘图的指示。该方法包括接收第二用户已经修改绘图上的第二形状的指示。该方法还包括响应于第二用户已经修改第二形状的指示,与绘图上的第二形状相关联地显示第二用户的第二用户名。这些方法和系统还可包括在某些情况下在共同创作者之间对元数据进行周期性共享以指示其他共同创作者做出的编辑。(30)优先权数据(51)Int.Cl.权利要求书2页 说明书16页 附图25页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 2 页 说明书 16 页 附图 25 页1。
3、/2页21.一种计算机实现的方法,包括:与绘图上的第一形状相关联地显示第一用户的第一用户名;接收第二用户正就所述绘图进行协作的指示;接收所述第二用户已经修改所述绘图上的第二形状的指示;以及响应于所述第二用户已经修改所述第二形状的所述指示,与所述绘图上的所述第二形状相关联地显示所述第二用户的第二用户名。2.如权利要求1所述的计算机实现的方法,其特征在于,与所述第一形状相关联地显示所述第一用户的第一用户名是响应于所述第一用户应用于所述第一形状的编辑而进行的。3.如权利要求1所述的计算机实现的方法,其特征在于,所述绘图包括主要元数据和辅助元数据,并且其中所述辅助元数据包括所述第一用户已经修改所述第一。
4、形状的指示。4.如权利要求3所述的计算机实现的方法,其特征在于,还包括将所述辅助元数据传送到服务器。5.如权利要求1所述的计算机实现的方法,其特征在于,所述绘图包括所述绘图的操作副本、基础副本和下载副本。6.如权利要求5所述的计算机实现的方法,其特征在于,还包括基于接收自服务器的修改来周期性地更新所述绘图的下载副本,接收自所述服务器的所述修改包括所述第二用户应用的修改。7.如权利要求6所述的计算机实现的方法,其特征在于,还包括将所述第一用户和所述第二用户做出的修改合并到所述绘图中。8.如权利要求6所述的计算机实现的方法,其特征在于,合并改变包括:将基础文档与下载文档进行比较以确定除了所述第一用。
5、户之外的用户修改的一个或多个形状的第一列表;将所述基础文档与操作文档进行比较以确定所述第一用户修改的一个或多个形状的第二列表;基于所述第一列表和所述第二列表来创建上传文件;以及将所述上传文件传送到服务器。9.一种可在服务器计算系统上执行的方法,所述方法包括:在服务器处从第一客户机用户接收访问绘图的第一请求;在所述服务器处从第二客户机用户接收访问所述绘图的第二请求;将所述第一和第二客户机用户注册为同时编辑所述绘图;从所述第一客户机用户接收所述第一客户机用户应用于所述绘图中的对象的编辑的指示;将所述指示传送到所述第二客户机用户以便显示在所述第二客户机用户处,所述指示定义对其应用所述编辑的对象,而不。
6、定义被应用于所述对象的编辑。10.一种能够提供协作绘图环境的计算系统,所述计算系统包括:可在所述计算系统的可编程电路上执行的绘图工具,所述绘图工具被配置成允许第一用户修改绘图,所述绘图包括操作副本、基础副本和下载副本,所述绘图工具被配置成:与绘图上的第一形状相关联地显示第一用户的第一用户名;权 利 要 求 书CN 102981843 A2/2页3接收第二用户正就所述绘图进行协作的指示;接收所述第二用户已经修改所述绘图上的第二形状的指示,而不接收对所述第二形状的修改;响应于所述第二用户已经修改所述第二形状的所述指示,与所述绘图上的第二形状相关联地显示所述第二用户的第二用户名;以及基于接收自服务器。
7、的修改来周期性地更新所述绘图的下载副本,所述修改包括所述第二用户做出的修改。权 利 要 求 书CN 102981843 A1/16页4绘图工具中的共同创作技术领域0001 本发明涉及绘图工具中的共同创作。背景技术0002 通常在其中多个用户能够访问服务器上的共同文件集的协作环境中,多个用户经常希望如果可能的话同时编辑同一文档。在这些情况下,会发生许多问题,这是因为可能在各个用户的编辑之间出现的潜在冲突。例如,如果第一用户和第二用户同时编辑一单词或移动绘图对象,则难以确定应将哪一个用户的改变应用于文档。由此,在许多情况下,对文档的“编辑”访问被限于一次一个用户,以避免这样的编辑冲突的可能性。从用。
8、户的观点来看,这是不方便的,因为一次只有一个用户能够编辑文档,而所有其他用户要么被完全锁在文档之外,要么只被主存该文档的服务器或应用软件给予对该文档的“只读”访问。0003 为了克服由于对文档的受限编辑访问而产生的低效率,一些软件系统允许两个用户对同一文件进行编辑访问,但由于冲突编辑发生的高概率,仍然提供某种水平的编辑锁定。例如,在某些情况下,可以对文档进行分段以允许用户编辑(并锁定其他用户以防止他们编辑)该文档的一个特定分段,同时不同的用户将被允许编辑(并锁定其他用户以防止他们编辑)该文档的不同分段。分段锁定方案的这一示例可以在来自华盛顿州雷蒙德市的微软公司的MicrosoftWord创作软。
9、件中看到,其中各分段能够在逐段的基础上定义。在该软件应用中,在进行编辑时不将这些编辑发布给其他用户,并且这些编辑涉及锁定文档的至少该分段(例如,幻灯片或段落)以防止其他用户同时编辑该同一分段,从而导致冲突。0004 在某些情况下,已经尝试各种解决方案,其中任何用户都能够编辑文档的任何部分,并且在主机服务器上基于“最后编辑获胜”基础来解决任何冲突。然而,特别是在到服务器的连接或特定时间戳是不可靠的情况下,可能难以确切地确定每一个编辑何时被应用于文档以解决将要应用对文档中的相同对象的哪一个编辑(例如,在其中最近改变优先于早先的改变的安排中)。此外,甚至在这些情况下,那些用户也可能难以避免冲突,即使。
10、他们小心地避免争相进行编辑。这是因为一个用户的软件难以用其他远程用户可选择不编辑文档的相同部分的足够通知来将正在编辑的用户正在应用的改变告知那些其他用户。0005 在诸如来自华盛顿州雷蒙德市的微软公司的设计和绘图工具之类的绘图工具的情况下,这些冲突问题依旧存在。然而,因为该软件中的每一个绘图元素具有相对较大数量的独立属性,所以可能的情况是两个用户可能希望编辑相同的绘图对象的不同且不相关的属性;在这种情况下,不会发生冲突。这只会恶化上述低效率,因为存在被阻止以避免冲突可能性的并发协作编辑或“共同创作”的更大机率。发明内容0006 根据以下公开,上述和其他问题通过以下各方面来解决:0007 在一方。
11、面,一种计算机实现的方法包括与绘图上的第一形状相关联地显示第一用户的第一用户名,并且接收第二用户正在共同创作该绘图的指示。该方法包括接收第二用说 明 书CN 102981843 A2/16页5户已经修改绘图上的第二形状的指示,并且响应于第二用户已经修改第二形状的指示,与绘图上的第二形状相关联地显示第二用户的第二用户名。0008 在第二方面,一种可在服务器计算系统上执行的方法包括从第一客户机用户接收访问服务器处的绘图的第一请求,以及从第二客户机用户接收访问该服务器处的绘图的第二请求。该方法还包括将第一和第二客户机用户注册为同时编辑绘图。该方法还包括从第一客户机用户接收第一客户机用户应用于绘图中的。
12、对象的编辑的指示,并将该指示传送至第二客户机用户以便显示在第二客户机用户处,该指示定义被应用了编辑的对象,而不定义被应用于对象的编辑。0009 在第三方面,能够提供协作绘图环境的计算系统包括一种绘图工具,该绘图工具可以在该计算系统上执行并被配置成允许第一用户修改绘图。该绘图包括操作副本、基础副本和下载副本。该绘图工具被配置成与绘图上的第一形状相关联地显示第一用户的第一用户名,并且接收第二用户正就该绘图进行协作的指示。该绘图工具还被配置成接收第二用户已经修改绘图上的第二形状的指示,而不接收对第二形状的修改,并且响应于第二用户已经修改第二形状的指示,与绘图上的第二形状相关联地显示第二用户的第二用户。
13、名。该绘图工具被配置成基于接收自服务器的修改来周期性地更新绘图的下载副本,该修改包括第二用户做出的修改。0010 提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也决不旨在用于限制所要求保护的主题的范围。附图说明0011 图1示出了其中可进行绘图工具中的共同创作的示例联网安排。0012 图2示出了根据示例实施例的用于管理绘图工具中的共同创作的示例系统。0013 图3是示出根据示例实施例的用于在接收到保存对绘图的改变的用户请求时解决共同创作的绘图中的冲突的过程的流程图。0014 图4示出了由两个不同用户执行的。
14、对绘图的并发修改的示例。0015 图5示出了由两个不同用户执行的对绘图的并发修改的第二示例,其中在这些修改之间可能发生冲突。0016 图6是示出根据示例实施例的用于将正在共同创作的用户应用的对绘图的修改通知给正在共同创作的用户的过程的流程图。0017 图7是示出根据示例实施例的用于管理关于共同创作者应用的对绘图的修改的用户通知的过程的流程图。0018 图8是示出根据示例实施例的应用于第一和第二客户机计算系统和服务器计算系统处的绘图文件和相关元数据的更新的示意图。0019 图9是示出根据示例实施例的呈现给支持共同创作的绘图工具的用户的通知的示例用户界面。0020 图10示出了根据示例实施例的呈现。
15、给绘图工具的共同创作用户的示例绘图对象和通知特征。0021 图11示出了图10所示的示例绘图对象和通知特征的旋转版本。说 明 书CN 102981843 A3/16页60022 图12示出了根据示例实施例的呈现给绘图工具的共同创作用户的不规则形状的绘图对象和相关通知特征。0023 图13-15示出了根据示例实施例的与两个绘图对象之间的连接符相关联的通知特征。0024 图16示出了图13-15的通知特征相对于各个方向上的连接符的示例定位。0025 图17示出了根据示例实施例的通知特征相对于相邻绘图对象的示例层次分层。0026 图18示出了根据示例实施例的与由绘图工具定义的一组绘图对象相关联的通知。
16、特征。0027 图19-20示出了根据示例实施例的通知特征对于一组用户定义的绘图对象的示例定位。0028 图21-22示出了根据示例实施例的与绘图对象相关联的示出已经修改该对象的用户的详细通知特征。0029 图23示出了根据可能的实施例的用户界面中包括绘图工具中的共同创作用户的列表的部分。0030 图24示出了绘图工具中的用户界面中的提供关于图23所示列表中所包括的共同创作者的联系人信息的部分。0031 图25示出了根据示例实施例的出现在绘图工具中的通知,该通知告知第一用户共同创作用户正在访问绘图。0032 图26示出了根据示例实施例的出现在绘图工具中的通知,该通知告知第一用户共同创作用户结束。
17、对绘图的访问。0033 图27示出了在绘图工具的用户界面中可用的通知,该通知指示共同创作者提交给绘图的改变可供集成到该绘图的本地副本中。0034 图28示出了根据可能的实施例的呈现在绘图工具的用户界面中的进度条,该进度条指示正在绘图中解决本地改变。0035 图29示出了根据示例实施例的呈现在绘图工具的用户界面中的进度条,该进度条指示在绘图的本地副本中提交的改变正被传递至服务器。0036 图30示出了根据示例实施例的当在客户机计算系统处同步时呈现给绘图工具的用户的共同创作者做出的对绘图的修改的通知窗口。0037 图31是可用来实施本发明的各实施例的计算设备的简化框图。0038 图32A和32B是。
18、可用来实施本发明的各实施例的移动计算设备的简化框图。0039 图33是可在其中实施本发明的各实施例的分布式计算系统的简化框图。具体实施方式0040 本发明的各实施例将参考附图来详细描述,其中相同的附图标记表示这些附图中的相同部分和部件。对各实施例的引用不限制本公开的范围,该范围只由所附权利要求书的范围来限制。另外,本说明书中阐述的任何示例都不旨在是限制性的,而是仅仅阐述许多可能的实施例中的某一些。0041 本文描述的本发明的各实施例的逻辑操作被实现为:(1)在计算机中的可编程电路上运行的一系列计算机实现的步骤、操作或过程和/或(2)在目录系统、数据库或编译器说 明 书CN 102981843 。
19、A4/16页7中的可编程电路上运行的一系列计算机实现的步骤、操作或过程。0042 本发明的各实施例涉及被配置成提供对绘图工具中的绘图的并发共同创作的方法、系统和用户界面。一般而言,共同创作将允许绘图工具的用户使用服务器主存的文件和客户机同步过程的组合来在相同的绘图中同时操作。通过使用本文描述的特征,绘图工具中的共同创作用户将得到特定特征正由其他共同创作者编辑的通知,以使得每一个用户都能够选择避免(或不避免)编辑绘图中的相同绘图对象,从而提供了比先前的系统中所提供的更大的灵活性和协作功能,先前的系统在整个文档或分段的基础上被锁定于一次一个用户。本文描述的方法和系统向绘图的共同创作者提供关于可能的。
20、冲突的信息,但一般不阻止共同创作用户盖写彼此对绘图的修改。可以合并共同创作者做出的编辑,以使得能够解决任何这样的冲突。0043 现在参考图1,示出了其中可进行绘图工具中的共同创作的联网安排100的示例。在所示实施例中,联网安排100包括通过诸如因特网等网络106通信地连接到服务器设备104的多个客户机设备102a-c(被统称为或单独地称为客户机设备102)。客户机设备102一般各自包括绘图工具,诸如由华盛顿州雷蒙德市的微软公司提供的绘图和布局软件。服务器104可以是多种类型的计算系统中的任一种计算系统,并且在特定实施例中,该服务器包括诸如也可从微软公司获取的服务器软件之类的协作软件。0044 。
21、一般而言,本发明涉及两个不同客户机设备102的用户想要访问存储在服务器104上的特定绘图文档的情况。在所示实施例中,客户机设备102a和102c已经访问文档108,并将该文档108分别作为本地文档108、108”存储在那些设备上。当那些相应客户机设备102a、102c的用户编辑从服务器104取得的文档时,绘图文档108、108”出现差异。然而,如下文中结合图2-8讨论的,通过经由服务器104跨两个设备102a、102c(以及与共同创作用户相关联的其他设备)同步数据并且通过将其他用户做出的编辑通知给共同创作用户,可管理共同创作者的并发编辑。0045 在本文描述的一些实施例中,服务器104被配置成。
22、管理出于共同创作目的访问绘图文档108的客户机设备的用户的列表。例如,在上文解释的示例中,服务器104将包括设备102a、102c的用户的列表,但不会在列表中包括设备102b的用户。如下文结合图6-7进一步讨论的,与绘图文档相关联的用户的列表可用于在并发共同创作者之间共享绘图修改的通知。另外,访问绘图文档的用户的列表可包括各种联系人信息,由此共同创作用户可以用关于解决每一个用户应用的编辑之间的任何潜在冲突的方法的问题或关注来彼此联系。0046 一般而言,为了实现相对于本文描述的绘图对象的冲突解决和编辑系统,需要维护原始绘图,以及维护每一个共同创作用户的经编辑的绘图以确定何时及哪里发生这些冲突。。
23、如图2所示,示出了根据示例实施例的用于管理绘图工具中的共同创作的系统200。系统200一般包括服务器存储和同步区域202,该区域与本地文档高速缓存204对接,诸如在图1的客户机计算设备102中的任一个和服务器104之间示出的客户机-服务器安排中所提供的。0047 在所示实施例中,系统200包括其中可存储绘图的副本的服务器存储区域206。在这些实施例中,服务器存储区域206可以是诸如也可从微软公司获取的服务器软件之类的数据库或服务器操作流管理系统。客户机102可以从服务器存储区域206中取得绘图的下载副本208。下载副本208对应于服务器存储区域206中可用的最新副本。说 明 书CN 10298。
24、1843 A5/16页8为了使客户机保持对在服务器存储区域202中维护的文档的当前状态的知识,从下载副本208中创建基础副本210,且该基础副本表示在进行客户机和服务器副本的最后一次成功合并之后进行的下载的副本(如下文进一步讨论的)。操作副本212也从下载副本208中创建,并且用于供用户进行本地编辑/修改。当用户编辑绘图的操作副本212时,该用户可能希望将他/她的改变上传回到服务器以便保存。该用户可选择绘图工具中的“保存”选项,该选项进而将创建绘图的上传副本214,该上传副本可被返回到服务器存储区域206。0048 尽管在只有一个用户访问来自服务器存储区域206的绘图时该过程通常是直接的,但当。
25、第二用户同时向服务器存储区域206请求绘图并且在创建下载副本208的时间和上传副本214被返回到服务器的时间之间改变服务器存储区域中的绘图的副本时,出现复杂性。为了解决这些冲突,执行用于解决共同创作的绘图中的冲突的过程。一个示例过程300结合图3示出。0049 现在参考图3,在所示实施例中,在客户机计算设备的本地用户选择保存在该用户正在操作的绘图(即,图2的操作副本212)中做出的编辑时,实例化过程300。一般而言,加阴影的过程步骤可以在绘图工具本身内进行,而未加阴影的过程步骤可以在绘图工具内或绘图工具外进行,例如在客户机计算设备的较大的应用框架或操作系统中进行。一般而言,并且如以下图9的示例。
26、用户界面所示,当存在等待同步的改变时,本地创作者将被提示保存和更新绘图文档的本地版本,并且将只在保存/更新完成后看见来自其他创作者的已更新改变。0050 在所示实施例中,客户机计算设备接收保存请求(步骤302),并且绘图工具创建绘图的上传副本214(步骤304)。绘图工具然后请求将上传副本214传送至服务器存储区域206(步骤306)。同步层尝试建立连接以允许将绘图传送到服务器(步骤308)。在步骤309,可做出判定以确定是否可能存在连接到服务器的错误。例如,客户机设备可能在创建下载副本208之后与服务器断开连接,以使得用户在完全与服务器断开连接时做出多个改变。如果未与服务器重新建立连接,则失。
27、败操作将传达保存改变并将其合并到绘图的服务器版本中失败(步骤310),并且可重试连接,返回到步骤308。如果到服务器存储区域206的连接是成功的,则将基础副本210的版本号与服务器存储区域206处的绘图副本的版本号进行比较,以确定服务器存储区域206处的副本的版本号是否已被改变,这指示服务器副本自从最初被下载以来是否发生过任何改变(步骤312)。如果未发生改变,则将上传副本214保存到服务器并覆盖(copyover)高速缓存的服务器副本(步骤314)。0051 如果发生过改变以使得基础副本210的版本号不匹配存储在服务器存储区域208处的文档副本的版本号,则必须执行合并过程以解决可能发生的任何。
28、冲突。因此,客户机设备将下载绘图文档的服务器副本的已更新版本(步骤316),并再次指示将上传副本214传送到服务器(步骤318)。客户机应用将新服务器副本(即,绘图文档的已更新下载副本208)与绘图文档的基础副本210进行比较以确定其他用户应用的改变,并且将上传副本214与基础副本210进行比较以确定本地用户做出的所有改变,并确定那些修改之间是否存在任何冲突(例如,对相同绘图对象的相同属性的修改或不同绘图对象的重叠布置,如图3所示)(步骤320)。如果在绘图工具中定位到冲突,则绘图工具将通过创建包括如已经解决的远程改变和本地改变的新合并的操作副本212来解决那些冲突(步骤322),此时该过程在。
29、步骤304处重新开始,创建上传副本214并重新尝试同步到服务器存储区域206。然后可向用户说 明 书CN 102981843 A6/16页9呈现绘图的已解决副本。0052 具体参考过程300的步骤322,意识到基于下载副本208、基础副本210和当前操作副本212创建的合并的操作副本212是基于对绘图文档执行的改变的日志来创建的。具体而言,合并过程基于绘图文档中的每一个绘图对象的状态来执行;形状如何到达该状态对于该合并过程而言是不重要的。如结合图9和29进一步讨论的,在合并过程期间不允许对绘图文档进行改变;另外,不管与服务器(例如,服务器104)处的文档相关的用户数量有多少,客户机都将绘图文档。
30、的本地副本与服务器处的绘图文档的最近保存或更新的版本(如在下载副本208中反映的)合并。一般而言,合并的修改在“后进先出”的基础上管理,其中在对于相同或重叠的绘图对象发生冲突的情况下,在比较绘图文档的下载和操作副本时最后做出的改变将取得优先。可任选地,合并冲突可能需要用户干预(例如,在重叠绘图对象的情况下);在这些情况下,可能需要用户干预。0053 一般而言,并且如以下结合图10-30的用户界面特征讨论的,当远程文档改变时,例如当成功地将本地文档更新到服务器存储区域206时,可通知客户机计算系统的用户。另外,可使用图标来指示远程共同创作用户最近已经改变或当前正在编辑的区域,如结合图6-8更详细。
31、地讨论的。0054 大致参考图3所示的过程300,冲突解决(如果有的话)发生在客户机系统上,而不是服务器处。这减轻了多个客户机向服务器上传相同绘图并且服务器需要一次解决多组冲突的潜在问题。而是每一个客户机解决由于在该客户机设备上执行的编辑而造成的任何冲突。另外,可以看到在不同时用绘图文档的服务器副本中表示的改变来更新本地绘图文档的情况下,用户无法将他/她自己的改变保存到服务器;同样,在不同时通过选择将本地绘图文档保存回到服务器来共享他/她对绘图文档的改变的情况下,用户无法只查看来自其他用户的更新。0055 现在参考图4-5,示出了由两个不同的共同创作用户做出的对绘图的示例编辑。图4-5所示的示。
32、例突出显示由于允许多个用户同时编辑绘图文档而遇到的可能的问题以及用于解决这些冲突的可能的方法。0056 在图4中,描绘了原始绘图400,该绘图由第一用户和第二用户(例如,客户机设备102a、102c的用户)同时编辑。图4被分成各个象限,左上象限表示原始绘图400;右上象限表示包括被称为“创作者A”的第一用户做出的绘图改变的经修改的绘图402;左下象限表示包括被称为“创作者B”的第二用户做出的绘图改变的第二经修改的绘图404;以及右下象限包括表示对第一和第二用户的绘图改变的解决的所得绘图406。在该示例中,第一和第二用户两者都对原始绘图400做出了改变。在第一用户对绘图中的两个绘图对象“A”和“。
33、C”做出编辑(重新排列这两个元素)时,第二用户改变与第一用户修改的对象不同的一个对象“B”的位置。0057 在所示示例中,不管做出编辑的次序如何,因为第一和第二用户只编辑单独的对象,所以所得绘图406包括重新排序的绘图,其中“B”对象被向下移动,而“A”和“C”对象被移动成垂直方向。维护对象之间的每一个连接符(即,“A”连接到“B”,“B”又连接到“C”)。0058 现在参考图5,示出了稍微更复杂的示例,其中尽管两个用户未编辑相同的绘图对象,但他们编辑两个不同的绘图对象以使得这些对象完全重叠。在该示例中,原始绘图500包括垂直方向上的三个绘图对象。第一用户可编辑该绘图以将最上面的绘图对象移至相。
34、对说 明 书CN 102981843 A7/16页10于中间对象的水平位置,如绘图520所示。同时(或至少在重新同步第一用户对绘图的编辑之前),第二用户可编辑该绘图以便将最下面的绘图对象移至相对于中间对象的水平位置,如绘图540所示。0059 在该示例中,尽管用户未尝试编辑相同的绘图对象,但用户希望将其编辑的对象放置成彼此完全叠加是不太可能的。在本文讨论的一些实施例中,对该冲突的解决可采取各种形式;在一个示例中,来自原始绘图500的最上面和最下面的对象中的一个可以偏离它被移动到的位置,以允许所有对象可见。或者,第一和第二用户做出的编辑(绘图520、540所示)中的一个或两个可被拒绝。其他冲突解。
35、决方法也是可能的。0060 在某些情况下,可能需要用户交互来解决冲突。例如,这一冲突可能在一个创作者的改变完全消除第二共同创作者的工作时发生。这种情况的一常见情形可能是当第二用户继续对一形状做出改变时,第一用户删除该形状并保存/更新。为了避免被感知为数据丢失的改变,优选地给予其改变被丢失的创作者保存改变的机会。因此,根据本发明的特定实施例执行的合并过程提供了经修改的合并,其中将已删除项目标记成要删除而不是已删除,从而允许这些对象的编辑者确认期望该删除。0061 尽管在图5中示出了一种冲突的一个示例,但也可能发生其他冲突类型,特别是在更复杂的绘图和设计软件中。例如,第一和第二用户可选择修改相同绘。
36、图对象的大小、位置、颜色或其他属性,而不是使不同的绘图对象彼此叠加。在绘图和布局软件中,绘图对象通常是由一系列单元格形成的形状,每一个单元格都表示该形状的属性。特定绘图对象的示例属性包括:前景颜色、背景颜色、线条样式、填充样式、位置、对其他形状的引用、连接点、形状中的几何线条和其他特征。在本发明的上下文中,绘图对象之间的冲突解决可以在逐个属性的基础上执行,而不在逐个对象的基础上执行。因此,如果第一用户改变一形状上的文本,同时第二用户改变该相同形状的背景颜色;则对相同绘图对象的这些修改可以在没有冲突的情况下合并。然而,对相同形状或属性的不一致动作(例如,相同形状的两次移动或移动和调整大小操作)将。
37、导致非预期结果;在这些情况下,特定绘图对象的属性是不相关的,并且整个绘图对象出于该目的被视作一个整体。0062 在某些情况下,无法容易地合并绘图对象之间的冲突,而在其他情况下,可解决冲突。示例类型的冲突包括假冲突、改变冲突、灾难性冲突、删除冲突、不可合并冲突。假冲突涉及多个用户对单个绘图对象做出将在没有非预期行为的情况下合并的改变,例如第一用户改变形状的位置,而第二用户改变该相同形状的颜色。改变冲突涉及看上去表示冲突,但可以在“最后编辑获胜”的基础上解决的改变,诸如第一和第二用户移动同一对象。在被称为“灾难性”或删除冲突的另一种类型的冲突中,数据丢失将以不可接受且不可恢复的方式产生;由此,已被删除或冲突的元素可被保存在单独的文件中。也可存在其他类型的冲突。总而言之,因为难以确定对特定绘图对象的期望动作是否可能是冲突,所以这些决策不受绘图软件限制,而改由共同创作者本身通过在这些共同创作者之间传递共同创作信息来管理。0063 为了方便在共同创作者之间进行通信以使得冲突最少化,如结合图6-8更详细地示出的,示出了关于这些共同创作者之间的改变传递的细节。图6示出了例如由另一共同创作者来将发生在远程客户机上的改变通知给使用客户机计算系统的共同创作者的示例方法600。在方法600中,客户机计算系统接收第一用户已经修改第一绘图对象的指示(步说 明 书CN 102981843 A10。