专利名称:文档内的版本历史的制作方法
技术领域:
本申请涉及文档内的版本历史。
背景技术:
协作是用于提供企业环境内提升的生产力和效率的广泛使用的技术。然而,至少在以下方面存在问题知晓(文档中)正在其上执行工作的内容的版本是协作的一个重要方面。例如,考虑单个文档是在一组用户之间共享的协作的重点。在该典型的情况中,每个用户能对该文档作出更新,并且接着更新将被合并到该单个文档中。然而,更新的时机以及谁对内容的给定部分作出更新会产生问题。一般而言,更新的时序需要被跟踪,使得最终版本包括所有更新并按照何时作出更新具有适当的次序。此外,当使用电子邮件来发送文档更新时,这变得尤其是有问题的。
发明内容
下面提供了简明的发明内容,以便提供对此处所描述的一些新颖实施方式的基本理解。本发明内容不是详尽的概览,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一的目的是以简化形式呈现一些概念,作为稍后呈现的更具体实施方式
的序言。所公开的体系架构提供了一种技术,通过该技术,给定文档的版本信息被跟踪并被呈现在该给定文档中。可使用下拉用户界面(UI)导航模型来呈现或访问版本信息,该导航模型使用动画来帮助用户跟踪哪个用户作出更改以及何时作出该更改。此外,用户可选择特定的版本项来导航回与作出的更改相关联的内容,例如,作为协作的一部分。下拉菜单包括包含用户块、用户姓名、最后保存日期等等的元素。此外,用户可在单个UI内的文档之间跳跃。为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实施本文所公开的原理的各种方式,所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的具体实施方式
,其他优点和新颖特征将变得显而易见。
图1示出了根据所公开的体系结构的计算机实现的版本化系统。图2示出了结合文档协作使用电子邮件的版本化系统的可替换的实施例。图3示出了使用文档中的版本信息的示例性系统。图4示出了用于版本信息的示例性呈现技术400。图5示出了根据所公开的体系结构的计算机实现的版本化方法。图6示出了图5的方法的进一步的方面。图7示出了根据所公开的体系结构执行版本化的计算系统的框图。
具体实施例方式所公开的体系结构帮助由对文档内容作出逐渐增长的更改的多个用户对文档的协作。版本历史信息被呈现,并且当版本历史项被选择时,在文档中相关联的更改被强调 (例如,高亮)。在电子邮件实施例中,可向通过电子邮件通信来作为协作的一部分的用户呈现协作期间所传送的消息的并排(side-by-side)视图以及对文档内容的相应更改。例如,如果对文档的协作使用了六封电子邮件,并且对文档内容作出了六个相应的更改,对文档中版本信息的第四项的选择将激活相关联的第四封电子邮件消息的呈现以协助提供关于为何作出该更改的附加上下文。现在将参考附图,全部附图中相同的参考编号用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见, 可以没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。图1示出了根据所公开的体系结构的计算机实现的版本化系统100。系统100包括应用用户界面102(例如,文字处理器、电子表格等),该应用用户界面允许对应用(例如, 文字处理器、电子表格等等)的文档106的内容的呈现和编辑。版本化组件108基于对内容 104作出的编辑(作为多个用户的协作的一部分)来跟踪并呈现文档106的版本信息110。 版本信息110作为文档106的一部分(例如,在文档内)来呈现。可结合视窗112来执行协作,该视窗112呈现编辑以及与作出该编辑的用户的用户身份信息相关联的对应的版本信息。视窗112可以是结合协作处理用户之间传送的消息的消息收发应用(例如,电子邮件)的用户界面。消息与文档106同时呈现,其中同时性是在消息收发应用(例如,电子邮件)的消息收发用户界面中。版本信息110或其各部分可在协作期间被传入消息中。用户与文档内容104交互的状态被动画为版本信息110的一部分。版本信息110包括以下至少之一文档名称、版本计数、作出编辑的用户的身份信息、日期、时间、相对于其他编辑的时序信息,或共享信息。版本信息110可在文档106中呈现为例如下拉菜单,通过该下拉菜单,可选择文档106的不同版本以供呈现。响应于在该下拉菜单中的给定用户选择,该给定用户的编辑在文档106中被强调。视窗112可以结合应用UI在公共(或单)用户界面中呈现。图2示出了结合文档协作使用电子邮件的版本化系统200的可替换的实施例。系统200包括应用202(例如,文字处理应用)的应用用户界面102,该应用用户界面允许在多个用户的协作期间对文档106的内容104(例如,文本、媒体、链接等)的呈现和编辑。消息收发组件204(例如,电子邮件应用)处理并呈现消息收发UI 208中的消息206(或对话), 消息206在协作期间在用户之间被传递。版本化组件108基于用户对内容作出的编辑来呈现文档106中的版本信息110。文档106和消息收发组件204在协作期间被同时呈现以显示协作用户之间的对话 (消息)以及由协作用户插入文档106中的编辑。版本信息110或其各部分可在协作期间被传入消息(消息206)中。版本信息110可包括以下中的一个或多个用户与内容交互的状态(例如,“用户1正在编辑文档”)、文档名称(例如,文档1)、版本计数(例如,三个版本)、作出编辑的用户(例如,作出编辑的用户1)的身份信息、日期、时间、相对于其他编辑的时序信息(例如,“最新的”)、和/或共享信息(例如,“三个用户正在共享文档1”)。版本信息110可在文档106中通过下拉菜单来呈现,通过该下拉菜单,可选择文档106的不同版本以供呈现。响应于给定用户在下拉菜单中的选择,在文档106中该给定用户的编辑被强调(例如,高亮、通过框外切、对字体进行区分、对样式进行区分等)。可通过消息收发组件204来启动协作,并且在消息收发组件(例如,消息收发UI 208)和文档106之间促进导航。还要注意的是,消息收发UI 208和应用UI 102可被并排呈现为公共(或单)用户界面 210。图3示出了使用文档106内的版本信息110的示例性系统300。在此,消息收发UI 208显示第一用户(用户1)和第二用户(用户2)的两个消息。第一用户将编辑(新文本 1)做进文档内容104(也称为原始文本1)。该编辑事件结合以下信息被记录并呈现在版本信息110中例如,编辑所发生的时间和日期的时戳、由哪个用户作出该编辑、时序信息(例如,最新的)、版本计数信息(例如,两个版本)、文档名称(文档1)、以及所共享的媒体的地址(例如,在驱动X上和三个人员共享)。如图4示出了,版本信息110的各部分(如先前描述的)可被呈现在下拉菜单302中。一旦第一用户已经作出了编辑,则可将通知304与第一用户的对话相关联地插入回消息UI 208中。如果对文档106还没有作出编辑,则版本信息110可以是不可选择的(不可访问的),因为没有其他版本信息可用。图4示出了用于版本信息110的示例性呈现技术400。在此,下拉菜单302扩展到四个文档版本最新版本、原始版本、以及(由用户2和用户4作出的)两个中间版本。 用户对应的编辑被显示在内容104中。第一用户的编辑的状态(例如,草稿-您正在编
辑......)可以是版本信息110的部分402的动画的一部分。如果用户选择版本信息110
的第二部分404,则内容中对应的编辑也可被强调(例如,高亮)。此外,(图3的)消息UI 208中相关联的消息可以被注释或选择以将查看者的注意力集中到相关联的消息。此处所包括的是一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流程图或流程图表形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制, 因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。图5示出了根据所公开的体系结构的计算机实现的版本化方法。在500,呈现文档以供由多个用户协作。在502,应用到文档的编辑(例如,作为协作的一部分)与不同的对应的版本信息相关联。在504,如处理器的执行所促进的版本信息被呈现在文档中。在 506,基于对文档的新的编辑来更新版本信息。图6示出了图5的方法的进一步的方面。注意的是,箭头指示每个框表示可被包括在其他框、与分开框分开或与其他框组合的步骤,其他框如图5的流程图所表示的方法中的其他方面。在600,文档和通信对话被呈现在公共用户界面中,在该文档和通信对话之间导航被促进。在602,版本信息被呈现为可选文档版本的累积列表。在604,版本信息被呈现为包括以下至少之一文档名称、版本计数、作出编辑的用户的身份信息(例如,姓名、 别名等)、日期、时间、相对于其他编辑的时序信息,或共享信息。在606,基于在版本信息中对所选文档版本的选择,将视觉强调应用到用户的编辑。如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、软件和硬件的组合、软件、或者执行中的软件。例如,组件可以是但不限于,诸如处理器、存储器芯片、大容量存储设备(例如,光驱动、固态驱动、和/或磁性存储介质驱动)、以及计算机之类的有形组件,诸如处理器上的进程运行时、对象、可执行程序、数据结构(存储在易失性或非易失性存储介质中)、模块、执行线程、和/或程序之类的软件组件。 作为说明,在服务器上运行的应用和该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。词语“示例性”此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。现在参考图7,图7示出了根据所公开的体系结构执行版本化的计算系统700的框图。为了提供用于其各方面的附加上下文,图7及以下描述旨在提供对其中可实现各方面的合适的计算系统700的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。用于实现各方面的计算系统700包括计算机702,其具有处理单元704、诸如系统存储器706之类的计算机可读存储、以及系统总线708。处理单元704可以是各种市场上可买到的处理器中的任一种,诸如单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其它计算机系统配置来实施,包括小型机、大型计算机、以及个人计算机(例如,台式、膝上型等)、手持式计算设备、基于微处理器的或可编程的消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。系统存储器706可包括计算机可读存储(物理存储介质),诸如易失性(VOL)存储器710 (例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL) 712 (如R0M、EPR0M、 EEPROM等)。基本输入/输出系统¢10 可被存储在非易失性存储器712中,并且包括诸如在启动期间便于在计算机702内的组件之间传递数据和信号的基本例程。易失性存储器 710还可包括诸如静态RAM等高速RAM来用于高速缓存数据。 系统总线708提供到处理单元704的接口,包括但不限于系统存储器706。系统总线708可以是若干种总线结构类型中的任一种,这些总线结构还可使用各类市场上可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及外围总线(例如,?(1汴(16、46 、1^(等)。计算机702还包括机器可读存储子系统714以及将存储子系统716对接到系统总线708和其他期望的计算机组件的存储接口 716。存储子系统714(物理存储介质)可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,⑶-ROM驱动器、DVD驱动器)中的一个或多个。存储接口 716可包括诸如,例如EIDE、ATA、SATA和IEEE 1394等接口技术。一个或多个程序和数据可被存储在存储器子系统706、机器可读和可移动存储器子系统718(例如,闪存驱动器形状因子技术)和/或存储子系统714(例如,光、磁、固态)中,包括操作系统720、一个或多个应用程序722、其他程序模块724以及程序数据726。应用程序722、其他程序模块7 和程序数据726中的一个或多个可包括例如,图 1的系统100的各实体和各组件、图2的系统200的各实体和各组件、图3的系统300的各实体和各组件、图4的技术400的各实体和各组件、以及由图5和图6的流程图表示的方法。一般而言,程序包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作系统720、应用722、模块7M和/或数据726的全部或部分也可被高速缓存在诸如易失性存储器710等存储器中。要意识到,所公开的架构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实施。存储子系统714和存储器子系统(706和718)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。当由计算机或其他机器执行时, 这样的指令可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或可被跨多个介质地存储,使得指令看起来共同地在一个或多个计算机可读存储介质上,而不管所有的指令是否都处于相同的介质上。计算机可读介质可以是可以被计算机702访问的任何可用的介质,并包括是可移动的和不可移动的易失性和非易失性内置和/或外部介质。对于计算机702,介质容纳以任何合适的数字格式对数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动、磁带盒等来存储用于执行所公开的体系结构的新颖方法的计算机可执行指令。用户可以使用诸如键盘和鼠标等外部用户输入设备7 来与计算机702、程序和数据交互。其他外部用户输入设备7 可包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、 照相机识别系统、指示笔、触摸屏、姿势系统(例如,眼移动、头移动等)和/或类似物。在计算机702是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备730来与计算机702、程序和数据交互。这些和其它输入设备通过输入/输出(I/ 0)设备接口 732经由系统总线708连接到处理单元704,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、短范围无线(例如,蓝牙)和其他个人区域网(PAN)技术等。I/O设备接口 732也便于输出外围设备734的使用,如打印机、 音频设备、摄像设备等,如声卡和/或板载音频处理能力。一个或多个图形接口 736(通常也称为图形处理单元(GPU))提供计算机702和外部显示器738(例如,LCD、等离子)和/或板载显示器740(例如,对于便携式计算机)之间的图形和视频信号。图形接口 736也可作为计算机系统板的一部分来制造。计算机702可以使用经由有线/无线通信子系统742到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、 服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点, 并且通常包括以上相对于计算机702描述的许多或所有元件。逻辑连接可包括到局域网 (LAN)、广域网(WAN)、热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司, 并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。当在联网环境中使用时,计算机702经由有线/无线通信子系统742 (例如,网络接口适配器、板载收发机子系统等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备744等通信。计算机702能包括调制解调器或用于通过网络建立通信的其他装置。在联网环境中,相对于计算机702的程序和数据可被存储在远程存储器/存储设备中,如与分布式系统相关联的。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。计算机702可用于使用诸如IEEE 802. xx标准族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802. 11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi (或无线保真)、WiMax和蓝牙 无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc) 通信。Wi-Fi网络使用称为IEEE 802. llx(a、b、g等)的无线电技术来提供安全、可靠、快速的无线连接能力。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802. 3相关介质和功能)。所示出和所描述的各方面还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块能位于本地和/或远程存储和/或存储器系统中。上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
权利要求
1.一种计算机实现的版本化系统000),包括应用用户界面(102),允许在多个用户的协作期间对应用的文档的内容的呈现和编辑;消息收发组件004),处理并呈现在协作期间在用户之间传送的消息; 版本化组件(108),基于由用户对内容作出的编辑来呈现文档中的版本信息;以及执行至少与所述版本化组件相关联的计算机可执行指令的处理器。
2.如权利要求1所述的系统,其特征在于,所述文档和所述消息收发组件在协作期间被同时呈现,以显示协作用户之间的对话以及由协作用户插入文档中的编辑。
3.如权利要求1所述的系统,其特征在于,所述版本信息或所述版本信息的各部分在所述协作期间被传入到所述消息中。
4.如权利要求1所述的系统,其特征在于,所述版本信息包括以下至少之一用户与所述内容交互的状态、文档名称、版本计数、作出编辑的用户的身份信息、日期、时间、相对于其他编辑的时序信息,或共享信息。
5.如权利要求1所述的系统,其特征在于,所述版本信息通过下拉菜单在所述文档中呈现,通过所述下拉菜单可选择所述文档的不同版本以供呈现,并且响应于给定用户对所述下拉菜单的选择,所述给定用户的编辑在所述文档中被强调。
6.一种计算机实现的版本化方法,包括以下动作 呈现文档以供多个用户协作(500);将应用到所述文档的编辑与不同的对应的版本信息相关联(502); 如处理器的执行所促进的,在所述文档中呈现所述版本信息(504); 基于对所述文档的新的编辑,更新所述版本信息(506);以及利用执行存储在存储器中的指令的处理器来至少执行呈现和更新动作。
7.如权利要求6所述的方法,其特征在于,进一步包括将所述文档和通信对话呈现在公共用户界面中,在所述文档和所述通信对话之间导航被促进。
8.如权利要求6所述的方法,其特征在于,进一步包括将所述版本信息呈现为能够被选择的文档版本的累积列表。
9.如权利要求6所述的方法,其特征在于,进一步包括在所述版本信息中呈现以下至少之一文档名称、版本计数、作出编辑的用户的身份信息、日期、时间、相对于其他编辑的时序信息,或共享信息。
10.如权利要求6所述的方法,其特征在于,进一步包括基于在所述版本信息中对所选文档版本的选择,将视觉强调应用到用户的编辑。
全文摘要
提供了文档内的版本历史。体系架构提供了一种技术,通过该技术,给定文档的版本信息被跟踪并被呈现在该给定文档中。可使用下拉用户界面(UI)导航模型来呈现或访问版本信息,该导航模型使用动画来帮助用户跟踪哪个用户作出更改以及何时作出该更改。此外,用户可选择特定的版本项来导航回与作出的更改相关联的内容,例如,作为协作的一部分。下拉菜单包括包含用户块、用户姓名、最后保存日期等等的元素。此外,用户可在单个UI内的文档之间跳跃。在电子邮件实施例中,可向通过电子邮件通信来作为协作的一部分的用户呈现协作期间所传送的消息的并排视图以及对文档内容的相应更改。
文档编号G06Q10/00GK102567799SQ20111036423
公开日2012年7月11日 申请日期2011年11月3日 优先权日2010年11月4日
发明者N·尤尼亚迪 申请人:微软公司