CN107851090A - 可视化文档修订 - Google Patents

可视化文档修订 Download PDF

Info

Publication number
CN107851090A
CN107851090A CN201680039025.XA CN201680039025A CN107851090A CN 107851090 A CN107851090 A CN 107851090A CN 201680039025 A CN201680039025 A CN 201680039025A CN 107851090 A CN107851090 A CN 107851090A
Authority
CN
China
Prior art keywords
document
time
action
fragment
facility
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201680039025.XA
Other languages
English (en)
Inventor
C·L·马林斯
J·E·费
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107851090A publication Critical patent/CN107851090A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

描述了一种用于服务针对文档的请求的设施。设施接收请求,该请求标识文档并且指定文档要被构建的时间。响应于接收到请求,设施对表示在标识的文档上执行的很多编辑动作的信息进行存取。针对所表示的编辑动作中的每个,存取的信息指示在标识的文档上执行该编辑动作的时间。设施使用如下的标识的文档的版本来响应请求:反映所表示的编辑动作中的其指示的时间在所指定的时间之前的全部,并且不反映所表示的编辑动作中的其指示的时间在所指定的时间之后的任何一个。

Description

可视化文档修订
背景技术
电子文档可以包括诸如文本、图像和电子表格之类的内容。电子文档可以在显著的时间段上由多个人修订。诸如某些文字处理器之类的一些文档编辑应用追踪由不同的用户对文档做出的修订,将修订存储在构建文档的文件中,并且显示修订的完全集合,使用红线-下划线格式用于具体化的内容(materialized content),并且使用删除线格式用于删除的内容。
附图说明
图1是示出了在一些实施例中设施在其中运行的环境的网络示图。
图2是示出了典型地并入设施在其上运行的计算机系统和其它设备中的至少一些的组件中的一些的框图。
图3-5是示出了对并入共享文档片段的文档的编辑以及显示的显示示图。
图6是示出了在一些实施例中典型地由设施执行以便将文档片段并入到文档中并且调整文档片段并入的模式的步骤的流程图。
图7是示出了在一些实施例中典型地由设施执行以便具体化包括共享片段的文档的步骤的流程图。
图8是示出了在一些实施例中由设施使用的用于存储关于片段的信息的片段目录表格的样本内容的表格图。
图9是示出了在一些实施例中由设施使用的用于存储关于片段版本的信息的片段版本表格的样本内容的表格图。
图10是示出了在一些实施例中由设施使用的用于存储关于片段版本实例的信息的片段版本实例表格的样本内容的表格图。
图11是示出了在一些实施例中由设施使用的用于存储片段版本实例内容的片段版本实例内容表格的样本内容的表格图。
图12是示出了在一些实施例中典型地由设施执行以记录针对正在编辑的文档的文档修订历史的步骤的流程图。
图13是示出了在一些实施例中由设施使用的用于存储针对一个或多个文档的文档修订历史的文档修订历史表格的样本内容的表格图。
图14是示出了在一些实施例中典型地由设施执行以便在文档创建之后的任意时间点处使文档具体化的步骤的流程图。
图15是示出了在一些实施例中典型地由设施执行以针对在文档上执行的每个编辑动作创建新的文档片段的步骤的流程图。
图16是示出了片段版本表格的样本内容的表格图,该表格反映在一些实施例中由设施创建针对关于片段或其它文档而执行的每个编辑动作的新文档片段版本。
图17是示出了在一些实施例中典型地由设施执行以便在文档维护之后的任意时间点使用每编辑动作片段版本将文档具体化的步骤的流程图。
图18是示出了在一些实施例中典型地由设施执行以便响应于与时间线用户接口控件的用户交互来显示不同的文档的状态的步骤的流程图。
图19是示出了在一些实施例中由设施呈现的其中时间线处于初始状态的样本显示的显示示图。
图20是示出了在一些实施例中由设施呈现的其中以替代形式显示处于初始状态的时间线的样本显示的显示示图。
图21是示出了在一些实施例中由设施呈现的其中时间线处于初始状态具有示出文档的何节在何日被编辑的注释的样本显示的显示示图。
图22是示出了在一些实施例中由设施呈现的其中时间线处于初始状态具有示出了哪个作者在不同的时间点对文档进行了编辑的注释的样本显示的显示示图。
图23是示出了在一些实施例中由设施呈现的其中用户已移动时间线滑块的样本显示的显示示图。
图24是示出了在一些实施例中由设施呈现的其中用户已操纵缩放控件的样本显示的显示示图。
图25是示出了在一些实施例中典型地由设施执行以便使用户能够使用时间线来指定在其期间的编辑动作将在文档内示出时间段的步骤的流程图。
图26是示出了在一些实施例中由设施呈现的以便使用户能够使用时间线来指定在其期间的编辑动作将在文档内示出的时间段的样本显示的显示示图。
图27是示出了在一些实施例中由设施呈现的用于示出在第一时间的文档的片段图的状态的样本显示的显示示图。
图28是示出了在一些实施例中由设施呈现的用于示出在较晚时间的文档的片段图的状态的样本显示的显示示图。
图29是示出了在一些实施例中典型地由设施执行以便针对文档的全集根据文档修订历史来生成分析方法的步骤的流程图。
发明内容
提供本发明内容以简化形式引入一系列概念,在具体实施方式中会对所述概念进一步地进行描述。本发明内容不旨在标识要求保护的主题的关键因数或必要特征,也不旨在用于限制要求保护的主题的范围。
描述了一种用于服务针对文档的请求的设施。设施接收请求,该请求标识文档并且指定文档要被构建的时间。响应于接收到请求,设施对表示在标识的文档上执行的很多编辑动作的信息进行存取。针对所表示的编辑动作中的每个,存取的信息指示在标识的文档上执行该编辑动作的时间。设施使用如下的标识的文档的版本来响应请求:反映所表示的编辑动作中的其指示的时间在所指定的时间之前的全部,并且不反映所表示的编辑动作中的其指示的时间在所指定的时间之后的任何一个。
具体实施方式
概述
发明人已认识到用于使文档修订可视化的传统方法中的显著缺点。特别地,这些传统的方法倾向于将在显著的时间段中做出的修订模糊在一起,使得难以或者不可能辨别做出修订的顺序、确定做出修订的时间相距多远或者查看在特定的时间点的文档的内容。
为了克服这些缺点,本发明已构思出用于使文档修订可视化的软件和/或硬件设施(“设施”)并且将其落实到实践。针对其修订将被可视化的文档,设施维持在文档上执行的编辑动作的完整的历史,将作者身份和时间戳作为每个文档的属性。通过使用该完整的历史,设施可以响应于请求而显示在文档创建以后的任何时间处的文档的状态。
在一些实施例中,设施显示用户可以操控其以选择文档创建以后的任何时间的时间线滑块。这有时被描述为在文档上“具体化时间线滑块视图”。作为响应,设施显示在该时刻的文档的状态。在一些实施例中,当用户移动时间线的滑块时,持续地对显示的文档的状态进行更新。在一些实施例中,设施显示允许用户滚动和缩放时间线的控件,以用于选择文档的生存期内的不同时段以用于显示。在一些实施例中,设施沿着时间线显示文档生存期时间线,文档生存期时间线示出文档的整个生存期以及现在所选择以用于显示的、在文档的生存期期间的特定时段。
在各种实施例中,设施以各种方式对时间线进行注释。例如,在一些实施例中,设施对时间线进行注释以示出编辑动作发生的时间点。这些注释使得用户容易识别在其期间大力在文档上工作和/或显著改变文档的时间段,与在其期间文档的状态稳定的时间段形成对比。在各种实施例中,这些注释视觉地反映出在每个时间处执行编辑动作的作者、在每个时间处在其内执行编辑动作的文档的不同部分、在每个时间处执行的编辑动作的相对量或绝对量等。在各种实施例中,设施追踪影响文档的各种其它动作或事件,例如,查看文档、共享文档、批准文档等。
在一些实施例中,设施使用户能够选择适当的文档的编辑动作的子集,并且经由红线或其它种类的可视修订标示将这些编辑动作显示在文档的上下文中。在一些这样的实施例中,用户可以通过操控设施的时间线以选择文档历史内的时间范围来过滤显示的编辑动作。在一些这样的实施例中,用户可以将显示的编辑动作过滤为由一个或多个作者或者一个或多个组的作者执行的编辑动作。
在一些实施例中,对于文档全集,例如,代表组织或组织的一部分生成的文档,设施对这些文档的修订历史进行分析以生成各种分析测量,例如,在特定时段期间最大力修订的文档或文档的一部分对比在一时段期间最稳定的文档或文档的一部分;在该时段期间最多产或者最不活跃的作者;与一个或多个其它时间段相比在一个时段期间组织或组织的一部分的总生产力等。
在各种实施例中,设施以各种方式表示文档及其修订。在一些实施例中,针对对文档执行的每个编辑动作,设施对文档的新版本进行存储,记录执行编辑动作的作者以及执行该编辑动作的时间。在这些实施例中,为了显示在特定时间的文档的状态,设施仅取回反映不晚于该时间的最新编辑动作的文档的版本。在一些实施例中,设施仅将文档表示为在创建文档时当文档为空时开始的、所执行的一系列的编辑动作,再次记录执行编辑动作的作者以及执行该编辑动作的时间。在这些实施例中,为了显示在特定时间的文档的状态,设施以空文档开始,然后执行在该时间之前发生的所有编辑动作。在一些实施例中,设施对处于各种时间点的不同的文档的版本进行存储,并且还针对每个相邻成对的版本,对发生在该对版本之间的编辑动作进行存储。在这些实施例中,为了显示在特定时间的文档的状态,设施以该时间之前的文档的最新版本开始,并且对除该时间之后发生的那些编辑动作之外的、在该版本与下一个之间执行的编辑动作进行应用。
在一些实施例中,设施使用被称为“文档片段”或者仅“片段”的结构体来存储文档,片段是由设施分离地表示的文档内容的单位。文档包括单个“根片段”,其可以直接包含内容以及包含引用其它片段的片段引用。通过根片段引用的那些片段可以自身直接包含内容以及对其它片段的片段引用等。当打开文档时,设施典型地通过以下来收集和合成其内容:取回根片段,取回通过根片段中的片段引用所引用的其它片段,取回通过那些片段中的片段引用所引用的进一步的片段,等等。在一些实施例中,就可以通过编辑或展示应用将片段作为根片段来打开的意义而言,可以将任何片段当作文档对待。
在一些实施例中,设施将组成用户的文档的片段存储在基于云的服务中,在基于云的服务中可以虚拟地从任何位置对片段进行存取。在一些实施例中,该基于云的服务使用被称为“擦除编码”的技术,在该技术中,该基于云的服务将由文档作者定义的片段分解或“切碎”成多个较小的组成片或“碎块”,设施将组成片或碎块中的每个存储在不同地理位置中的不同数据中心中的多个存储设备上以提供灾难和中断生存能力。当基于云的服务接收到针对片段的请求时,该服务取回并且组合这些碎块以重构片段。
在一些实施例中,设施存储反映片段上执行的每个编辑动作的片段的新版本,每个编辑动作标识有编辑动作执行的日期和时间。例如,在一些实施例中,针对例如通过击键或文本块粘贴在片段中具体化的每个字符或字符组,以及针对例如通过回格键按键或者选择-和-删除操作删除的每个字符或每组字符,设施创建新的片段版本。在一些实施例中,每个片段版本对采取由片段版本反映的编辑动作的作者进行标识。在一些实施例中,在写入之后,这些片段版本不能被更改并且被称为“不可变的”。
在一些实施例中,随着时间,设施删除片段的版本中的一些,使得将两个或更多个编辑动作折叠成未删除的片段的版本。在一些实施例中,通过这样做,设施仅删除如下的连续的片段版本:所有反映由相同作者进行的编辑动并且紧接在也反映由相同作者进行的编辑动作的未删除的片段版本之前。
在一些实施例中,其中内容是从片段感知的源文档并入的,设施确保并入的内容准确地对应于一个或多个完整片段;即,在选择的内容仅跨越源文档中的片段的一部分的情况下,设施将源文档中的片段分成两个片段,第一片段仅包括来自被选择的原始片段的内容,第二片段包括来自未被选择的原始片段的内容,使得可以将第一并入到目标文档中而不将第二并入。在内容是从不感知片段的源文档并入的情况中,设施创建包括并入的内容的新片段。
响应于并入操作,在目标文档中内容被并入的位置处,设施在目标文档中创建片段引用,以表示目标文档中的并入的内容。在一些实施例中,片段引用包含多个成分,例如,当前片段ID成分和/或原始成分。创建的片段引用的当前片段ID成分对引用所引用的片段进行标识,例如通过包含可以用于取回该片段的、该片段的片段ID。原始成分在由设施使用时,在片段引用状态中维持并入的内容所源自的片段的片段ID,该片段ID可以充当用于在整个片段引用的生命中对在目标文档中使用并入的内容的模式进行改变、以及用于追踪片段的来源的基础。在一些实施例中,设施在原始成分中存储片段ID的有序列表以反映引用的片段从其分岔的片段的系列。
在各种实施例中,当用户执行并入操作时,用户可以例如通过在拖动交互期间按压某个键盘键、使用变化的控制键组合以将并入的内容粘贴到目标文档中、对响应于并入操作的由设施显示的上下文菜单或对话框进行响应等来指定在目标文档中针对并入内容的初始模式。在一些实施例中,每个模式具有两个特性:(1)片段的内容在并入文档或片段的上下文中是否可编辑(“在上下文中可编辑”)以及(2)为将引用的片段包含在并入文档或片段中,如何选择引用的片段的版本(“版本选择”)。在一些实施例中,以下种类的版本选择选项是可用的:(a)“最新”——通过引用将具有最近的时间的片段的版本并入;(b)“指定时间”——通过引用将与特定时间相关联的片段的特定版本并入(例如,在一些实施例中,任意指定的时间使得在不晚于指定时间的片段之中选择其时间为最新的片段版本);(c)“特别”——特别规则用于指定片段的哪个版本被选择以用于并入。特别规则的示例为通过有资格的批准机构批准的最新文档,或者体现由特定作者进行的编辑的最早版本。
在各种实施例中,设施支持以下并入模式中的一些或所有:实时模式、跟随模式、可分岔模式、固定模式、特别可分岔模式以及特别跟随模式。
实时模式(1)是在上下文中可编辑的并且(2)使用“最新”版本选择。因此,在实时模式中,作者可以改变片段的内容,这使得片段的新版本被创建以反映每个这样的改变。这些改变将出现在并入相同片段的任何其它包含片段中,并且这些包含片段的版本选择选项以选择该版本为结束,或者是(a)最新,或者是(b)具有选择该版本的选择规则的特别。实时模式典型地用于这样的引用:被包括以修订引用的片段和反映对其它片段的修订二者。凭借使用最新版本选择选项,实时模式中的引用将片段的最新版本并入,无论其内容或者其反映何作者的修订。在实时模式被选择的情况下,设施使用与原始成分相同的片段ID来填充片段引用的当前片段ID成分。片段引用的当前成分标识其内容将被取回以用于包括在目标文件中的片段。
跟随模式(1)是在上下文中不可编辑的,并且(2)使用最新版本选择。在跟随模式中,片段的最新版本总是被并入,但是不能在包含跟随模式引用的文档或片段的上下文中被编辑。跟随模式典型地用于并入由一个或多个其它作者以集中式的方式维持的动态内容。
可分岔模式(1)是在上下文中可编辑的,并且(2)使用时间指定的版本选择。在可分岔模式中,可以根据指定时间时的片段的状态在引用的上下文中编辑片段。执行这样的编辑将引用从可分岔模式转换为实时模式;反映新片段ID的第一版本中的编辑;在引用的上下文中存储新片段ID;并且将原始片段ID存储在引用的原始成分中。可分岔模式典型地在如下情况下使用:其中片段的特定状态是不会对并入原始片段的文档或片段产生影响的编辑的新集合的基础。相似地,可分岔以及产生的实时引用不受到在可分岔引用版本选择时间之后对原始片段的编辑的影响。
固定模式(1)是在上下文中不可编辑的,并且(2)使用时间指定的版本选择。当片段引用处于固定模式中时,并入的内容既不能通过用户对包括固定引用的文档或片段进行编辑(因为在排除由这样的作者进行编辑的上下文中不可编辑)而改变,也不能通过用户在不同的包含文档或片段的上下文中对片段进行编辑(因为这样的编辑将在片段的新版本中反映出来,该新版本不会通过该引用的时间指定选择逻辑来选择)而改变。在选择固定模式的情况下,设施使用原始片段的片段ID来填充片段引用的当前成分。固定模式典型地用于保持引用文档中的片段的特定状态。
特别可分岔模式(1)是在上下文中可编辑的,并且(2)指定特别版本选择规则。并入的片段将在任何给定时间示出:在该时间通过特别版本选择规则所选择的源片段的版本的内容。当作者在上下文中对片段进行编辑时,以上所描述的分岔过程发生。特别可分岔模式可以例如用于使用演进模板,演进模板的编辑受到作为创建新内容的实例的基础的定期批准限制。
特别跟随模式(1)是在上下文中不可编辑的,并且(2)指定特别版本选择规则。因此,特别跟随引用示出了在任何给定时间满足版本选择规则的片段的版本,其在上下文中是不可编辑的。该模式可以例如用于将由内容的作者定期重新发布的集中编写的内容拉到文档或片段中,以反映最新发布之后发生的所有编辑。
用户可以在任何随后的时间、经由各种用户接口技术来改变并入内容的模式,例如通过在并入的内容上右击并且从产生的上下文菜单中选择项目、选择并入的内容并且选择菜单栏菜单项目、与当鼠标光标在并入的内容上悬停时所显示的专用控件进行交互等。在一些实施例中,设施并入机构的系统或与机构的系统进行互操作,并且访问控制以及其它内容管制测量在各种情形中限制由特定用户关于特定文档或片段可以采取的动作,动作包括改变现有片段引用的模式。
在一些实施例中,当针对以固定模式并入的内容而取回时间指定的片段版本时,如果原始片段的版本比只读片段近,则设施通知用户以使得用户能够将模式切换至实时或者保持在固定模式中但是将针对引用中的版本指定的时间替换为与最新版本对应的时间。
在一些实施例中,设备维持关于将片段并入文档的度量以使得能够对各种“热门片段”测量进行报告,该度量标识并入最全文档的片段或者已在最近时间段期间、跨组织或另一组用户、在一组或一类文档之中并入最多文档的片段等。
通过以上所描述的方式中的一些或所有进行操作,设施使用户能够容易且直观地存取关于任何文档的修订历史的有价值、有用的信息。此外,通过以上所描述的方式中的一些或所有进行操作,设施减少需要用于存储文档及其修订的存储空间的量,并且加快对信息的取回和处理。此外,设施使人类用户能够更快地并且更容易地指定他们希望显示的信息并且显示先前不可能的新种类的信息。
图1是示出了在一些实施例中设施在其中运行的环境的网络示图。网络示图示出了客户端110,每个客户端由不同用户使用。客户端中的每个执行使其用户能够创建、修订和呈现电子文档的软件。客户端上的软件还使得客户端能够取回和合成远程存储的文档内容,包括文档片段。特别地,互联网120或一个或多个其它网络将客户端中的每个连接至很多不同的数据中心,例如,数据中心131、141和151,在一些实施例中,数据中心在地理上分布以在数据完整性方面以及在持续可用性方面提供灾难和中断生存能力。在地理上分布数据中心还帮助使与各种地理位置中的客户端的通信延迟最小化。数据中心中的每个包括服务器,例如,服务器132、142和152。服务器对包含文档内容(包括文档片段)的存储设备进行存取并且执行用于响应来自客户端和其它服务器的请求而存储和取回文档内容(再次包括文档片段)的软件。在各种实施例中,设施使用各种不同的分布以负责在客户端与服务器之间取回和组合文档片段。
虽然根据以上所描述的环境对各种实施例进行描述,但是本领域技术人员将认识到的是,设施可以在各种其它环境中实现,包括单个、整体式的计算机系统、以及计算机系统或者以各种方式连接的相似设备的各种其它组合。在各种实施例中,可以将各种计算系统或其它不同的设备用作客户端,包括桌上型计算机系统、膝上型计算机系统、汽车计算机系统、平板计算机系统、智能手机、个人数字助理、电视、相机等。
图2是示出了典型地并入设施在其上运行的计算机系统和其它设备中的至少一些的组件中的一些的框图。在各种实施例中,这些计算机系统和其它设备200可以包括服务器计算机系统、桌上型计算机系统、膝上型计算机系统、上网本、移动电话、个人数字助理、电视、相机、汽车计算机、电子媒体播放器等。在各种实施例中,计算机系统和设备包括以下中的每个的零个或以上:中央处理单元(“CPU”)201,其用于执行计算机程序;计算机存储器202,其用于当程序和数据要被使用时对它们进行存储,程序和数据包括设施以及相关联的数据、包括内核的操作系统、以及设备驱动器;永久性存储设备203,例如,用于永久地存储程序和数据的硬盘驱动或者闪存驱动;诸如软盘、CD-ROM或DVD驱动之类的计算机可读介质驱动204,其用于读取存储在计算机可读介质上的程序和数据;以及网络连接205,其用于例如经由互联网或另一网络及其网络硬件(例如,交换机、路由器、中继器、电缆和光纤、光发射器和接收机、无线电发射机和接收机等)将计算机系统连接至其它计算机系统以发送和/或接收数据。虽然如以上所描述配置的计算机系统典型地用于支持设施的操作,本领域技术人员将认识到的是,设施可以使用各种类型和配置的设备来实现并且具有各种组件。
片段管理
图3-图5是示出了对并入共享文档片段的文档的编辑以及显示的显示示图。图3是示出了在并入共享文档片段之前的时间的样本目标文档的显示示图。目标文档300包括文本301。该文本可以由目标文档的根片段直接包含,或者可以由目标文档的根片段内的片段引用所标识的片段包含。
图4是示出了紧接在并入共享文档片段之后的时间的样本目标文档的显示示图。在该时间,目标文档400,除了包含文本401之外,包括从源文档(未示出)转移来的并入的内容410。并入的内容构成公司的信头,该信头包括公司徽标的图像411以及公司的文本地址412两者。
在用户以固定模式并入信头内容的情况下,信头内容将在目标文档中保持不变,除非并且直至并入被改变为不同的模式为止。在用户以分岔模式并入信头内容的情况下,用户可以在目标文档的上下文中改变信头内容;这样的改变将不会影响源文档中的信头内容,并且对源文档中的信头内容的任何改变将不会反映在目标文档中。在用户以实时模式并入信头内容的情况下,用户可以受限于任何可应用的权限,在目标文档的上下文中改变信头内容,并且这样做将改变源文档以及以实时模式并入该信头内容的任何其它文档中的信头内容。相似地,经由源文档或者以实时模式并入该信头内容的任何其它文档对信头内容的改变将反映在目标文档中。
图5是示出了在以实时模式将共享文档片段并入目标文档之后在源文档的上下文中内容例如被另一作者改变的情况下样本目标文档的显示示图。可以看出,在该时间的目标文档500中,信头内容510包含新的公司徽标511和新的公司地址512,两者在源文档的上下文中被替换,并且依照目标文档以实时模式并入该内容而反映在了目标文档中。
图6是示出了在一些实施例中典型地由设施执行以便将文档片段并入到文档中并且调整文档片段并入的模式的步骤的流程图。在步骤601中,设施接收用于将片段添加到目标文档的用户交互。在各种实施例中,这样的交互例如可以为将选择的内容拷贝到剪贴簿上,然后在目标位置处将其粘贴到目标文档中;将选择的内容从源文档拖动至目标文档中的目标位置;等等。在用户选择不是精确地对应于全部现有的片段的内容以用于添加到目标文档情况中,设施例如通过将出现在源文档中的片段进行细分来创建与选择的内容精确对应的一个或多个片段。在一些情况中,这涉及更改和/或添加源文档中的片段引用,并且在一个或多个其它文档中以实时模式并入相同内容。
在步骤602中,设施创建目标文档中的片段引用。在步骤603中,设施使用添加到文档中的片段的片段ID填充片段引用的原始成分及其当前成分两者。在步骤604中,设施接收指定用于在目标文档中并入片段的模式的用户交互。在一些实施例中,单个交互或交互的相关序列既可以将片段添加到文档也可以指定模式。如果步骤604中接收到的用户动作指定实时交互,则设施在步骤605中继续;如果其指定跟随模式,则设施在步骤606中继续;如果其指定可分岔模式,则设施在步骤607中继续;如果其指定固定模式,则设施在步骤612中继续;如果其指定特别可分岔模式,则设施在步骤613中继续;并且如果其指定特别跟随模式,则设施在步骤614中继续。
在步骤605中,指定实时模式的情况下,设施针对引用将在上下文中编辑设置为是,并且将版本选择设置为最新。在步骤605之后,设施在步骤604中继续以允许用户在之后的时间指定针对该片段的新模式。在步骤606中,指定跟随模式的情况下,设施针对引用将在上下文中编辑设置为否,并且将版本选择设置为最新。在步骤606之后,设施在步骤604中继续。在步骤607中,指定可分岔模式的情况下,设施针对引用将在上下文中编辑设置为是,并且将版本选择设置为当前时间或者由用户选择的较早的时间。在步骤608中,如果用户选择在引用的上下文中对片段进行编辑,则设施在步骤609中继续,否则设施在步骤604中继续。在步骤609中,设施创建新片段,该新片段反映步骤608的编辑向添加的片段的应用。新片段具有与添加的片段相比不同的片段ID。在步骤610中,设施使用新片段的片段ID填充片段引用的当前成分。在步骤611中,设施将引用的模式改变为实时。在步骤611之后,设施在步骤605中继续。在步骤612中,指定固定模式的情况下,设施针对引用将在上下文中编辑设置为否,并且将版本选择设置为当前时间或者由用户选择的较早的时间。在步骤612之后,设施在步骤604中继续。在步骤613中,指定特别可分岔模式的情况下,设施针对引用将在上下文中编辑设置为是,并且将版本选择设置为版本选择规则(例如,经由额外的用户交互指定的版本选择规则、默认版本选择规则、推断的版本选择规则等)。在步骤613之后,设施在步骤608中继续。在步骤614中,指定特别跟随模式的情况下,设施将在上下文中编辑设置为否,并且以类似于步骤613的方式将版本选择设置为版本选择规则。在步骤614之后,设施在步骤604中继续。
本领域技术人员将认识到的是,可以以各种方式对图6中以及以下所讨论的流程图中的每个图示出的步骤进行更改。例如,步骤的顺序可以重排;一些步骤可以并行地执行;示出的步骤可以省略,或者可以包括其它步骤;可以将示出的步骤分成子步骤,或者可以将多个示出的步骤组合成单个步骤等。
图7是示出了在一些实施例中典型地由设施执行以便具体化包括共享片段的文档的步骤的流程图。在各种实施例中,当打开文档时,当需要显示文档时,当用户试图将其添加到文档时,设施对这些步骤进行执行。在各种实施例中,设施对这些步骤的执行是以各种方式分布在客户端与服务器之间的。在步骤701中,设施例如通过取回文档的根片段来对其进行取回。针对出现在文档中的每个片段引用,包括从一个片段至另一片段的传递性的片段引用,设施通过步骤702-704进行循环。在步骤703中,设施使用包括在片段引用的当前成分中的片段ID来取回片段的内容。该取回受限于在片段引用的条件成分包含中的任何版本选择条件;即,关于指定任何包含的版本选择条件的片段的最新版本,或者在没有版本选择条件的情况下关于片段的最新版本,来执行取回。在各种实施例中,设施使用各种形式的片段版本选择逻辑。在一些实施例中,取回片段的过程指示与片段相关联的权限,该权限包括片段是否可以由当前用户来编辑、设施使用权限来指示和控制用户是否可以在文档的上下文中编辑片段。以下结合图8-图11来更详细地对片段取回进行讨论。在步骤704中,设施基于片段引用的模式来使片段在上下文中可编辑。在步骤705中,如果仍然存在额外的片段引用要处理,则设施在步骤702中继续以处理下一个片段引用,否则设施在步骤706中继续。在步骤706中,设施使用步骤703中取回的片段内容使文档具体化。在步骤706之后,这些步骤结束。在一些实施例(未示出)中,不是在循环中执行图7中示出的处理,设施将其作为树形图的递归下降来执行,镜头充当内容节点的父节点并且随着文档具体化而修改渲染行为。
图8是示出了在一些实施例中由设施使用的用于存储关于片段的信息的片段目录表格的样本内容的表格图。在一些实施例中,将片段目录表格以及图9-图11中所描述的其它表格存储在数据中心中,在对执行作为设施的一部分的服务器软件的服务器可存取的存储设备上。在一些实施例中,将这些表格中的一些或所有存储在多个数据中心中以便提供生存能力以及对它们存储的数据的位置的测量。片段目录表格800由诸如行801-802之类的行构成,每行对应于不同的片段。将每行分成以下列:片段ID列811,其包括对行对应的片段进行标识的片段ID;创建者列812,其包括对创建片段的用户进行标识的信息;创建时间列813,其具有指示创建片段的时间的内容;以及存取权限列814,其指定片段可以由各种用户存取的方式。例如,行801指示具有片段ID 894645的片段是由用户vision在9/6/200214:19:01时创建的,并且可以由所有用户进行读取和写入。在一些实施例中,设施采用诸如以格林尼治平时表达的时间之类的地理上不变的时间以便协调位于不同时区的服务器和客户端。在服务器接收到针对片段ID 894645的取回请求的情况下,其使用行801来确定针对该片段的存取权限。
虽然图8以及以下所讨论的表格图中的每个图示出了其内容和组织被设计为使它们更被人类读者理解的表格,但是本领域技术人员将认识到的是,由设施使用的、用于存储该信息的实际数据结构可以与示出的表格不同,因为它们例如可以以不同的方式来组织;可以包括与示出相比较多或较少的信息;可以被压缩、解密和/或索引;可以包括与示出相比大得多的数量的行等。
图9是示出了在一些实施例中由设施使用的用于存储关于片段版本的信息的片段版本表格的样本内容的表格图。特别地,设施使用片段版本表格来对存在的片段的不同版本及其时间顺序进行标识。在一些实施例中,设施仅维持每个片段的单个版本,在该情况中,片段版本表格不是必需的,并且在由设施维持的其它表格中片段ID被替换为片段版本ID。片段版本表格900由诸如行901-903之类的行构成,每行对应于不同的片段版本。将行中的每个分成以下列:片段版本ID列911,其包括针对行对应的片段版本的、唯一标识片段版本的片段版本ID;片段ID列912,其包括对该片段版本对应的片段进行标识的片段ID;以及更新时间列,其指示片段版本最新更新的时间。例如,行901指示具有片段版本ID 65489151的片段版本对应于具有片段ID 894645的片段,并且最新更新于9/15/2002 9:17:12。在服务器接收到针对片段ID 894645的取回请求的情况下,其使用行901和902来标识针对该片段ID存在的两个片段版本。这两行还可以用于确定片段版本中的何版本是较近的。
在一些实施例中,使用片段版本的情况下,一些片段版本是可写入的,使得作者可以在内容被创建之后的时间处改变内容,至少在片段版本不是通过任何固定片段引用来引用的情况下。然而,在一些实施例中,每个片段版本都是只读的,并且对由现有片段版本包括的内容的任何修订使得设施创建新片段版本。在各种实施例中,对新片段版本的创建发生在各种粒度等级,包括针对每个编辑会话的新片段版本,针对每个击键、或者在每隔例如每五秒、每分钟、每15分钟的某个等级处的新片段版本,等等。
图10是示出了在一些实施例中由设施使用的用于存储关于片段版本实例的信息的片段版本实例表格的样本内容的表格图。特别地,设施使用片段版本实例目录表格来针对特定的片段版本对存储在不同服务器上的片段版本的实例进行标识,使得设施可以选择片段版本中的一个以进行取回,并且使得,如果在实施例中片段版本正在被改变(在实施例中这是可能的情况下),则其每个实例可能被改变或无效。片段版本实例目录表格1000由诸如行1001-1008之类的行构成,每行对应于片段版本与片段版本的实例存储在其上的服务器的不同组合。将每行分成以下列:片段版本ID列1011,其包括如对片段版本进行标识的片段版本ID;以及服务器ID列1012,其对片段版本的实例存储在其上的服务器进行标识。例如,行1001指示具有片段版本ID 12345498的片段版本具有存储在具有服务器ID 9103的服务器上的实例。在各种实施例中,设施使用各种其它方法来标识其中存储片段版本的实例的位置,例如,通过使用数据中心ID、存储设备ID等。
图11是示出了在一些实施例中由设施使用的用于存储片段版本实例内容的片段版本实例内容表格的样本内容的表格图。片段版本实例内容表格1100由诸如行1101-1103之类的行构成,每行对应于所有存储在特定服务器上的片段版本实例。特别地,片段版本实例内容表格1100存储在具有服务器ID 9103的服务器上。将行中的每个分成以下列:片段版本ID列1111,其包括对行对应的片段版本进行标识的片段版本ID;更新时间列1112,其指示片段版本实例最新更新的时间;以及片段内容列1113,其包括片段版本实例的内容。例如,行1101指示具有片段版本ID 91285817以及更新时间1/16/1987 16:02:54的片段版本实例包含特定的图像数据。片段1113包含设施响应于片段取回请求而返回的数据。
在一些实施例中,不是如图11中示出的将每个片段版本实例存储为单个实体,设施采用“擦除编码”技术,在该技术中,设施将每个片段版本实例的内容作为可以存储在服务器的任何布置上的任何数量的较小碎块来分布。
历史可视化
图12-图14示出了其中设施维持用于追踪对文档的修订的集中式文档修订历史的实施例。
图12是示出了在一些实施例中典型地由设施执行以记录针对正在编辑的文档的文档修订历史的步骤的流程图。在步骤1201中,设施从用户接收关于文档的文档编辑动作。文档编辑动作包括改变文档的状态的所有操作,例如,删除文档内的位置范围处的内容、在文档中的位置处插入字符、改变文档内的格式属性、在文档中并入片段或者删除之前并入文档的片段等。在步骤1202中,设施显示文档的新状态使得作者可以看到文档的状态是如何受步骤1201中接收到的文档编辑动作影响的。在步骤1203中,设施永久地将文档编辑动作的指示存储在针对文档的文档修订历史中,该指示足以重放将接收到文档编辑动作之前的文档的状态转换至接收到和应用文档编辑动作之后的文档的状态的文档编辑动作。该动作指示包括接收到文档编辑动作的时间,以及从其接收文档编辑动作的用户的身份。在步骤1203之后,设施在步骤1201中继续以接收下一个文档编辑动作。在一些实施例中,针对所有在相同的时间段期间针对相同的文档提交文档编辑动作的多个用户,设施并发地执行图12的步骤。
图13是示出了在一些实施例中由设施使用的用于存储针对一个或多个文档的文档修订历史的文档修订历史表格的样本内容的表格图。文档修订历史表格1300由诸如行1301-1306之类的行构成,每行对应于由设施从用户接收到的不同的文档编辑动作。将每行分成以下列:文档ID列1311,其包括对针对其接收文档编辑动作的文档进行标识的标识符;时间列1312,其包括接收到文档编辑动作的时间,用户列1313,其包括对提交文档编辑动作的用户进行标识的信息;以及编辑动作列1314,其包括执行的特定编辑动作。例如,行1301指示在1/3/2012的11:02:23.034时,由用户BHayes针对具有文档ID 894645的文档执行文档编辑动作以将位置范围77-85中的字符替换为字母“T”。通过行1301-1303表示的编辑动作的总效果是将位置范围77-85中的字符替换为词“The”。行1304-1306示出了,若干分钟之后,用户JMoy将位置范围124-127中的字符替换为字符串“hig”。在各种实施例中,设施结合各种类型的文档进行操作,该类型中的每个具有其自己的编辑动作类型的集合。例如,电子表格文档中的编辑动作可以包括插入或删除列、改变单元格中的公式、更改条件单元格背景阴影规则等。对幻灯片示出文档的改变可以包括插入或删除幻灯片、在幻灯片之间添加动画、将音频剪辑插入到幻灯片中等。
在一些实施例(未示出)中,设施以每片段为基础来存储修订历史。在这些实施例中,设施使用在特定时间点时的文档的片段图来标识在该时间点时组成文档的片段,并且收集来自那些片段中的所有片段的修订历史的编辑动作。在某些实施例(未示出)中,设施的用户接口和/或分析方法的方面与单独的片段有关,与可以包括很多片段的整个文档形成对比。
图14是示出了在一些实施例中典型地由设施执行以便使用文档修订历史在文档创建之后的任意时间点处使文档具体化的步骤的流程图。在步骤1401中,设施接收指定文档的身份以及时间点的文档具体化请求。作为一个示例,设施接收指定文档ID 894645以及时间点1/3/2012的11:07:19.445的文档具体化请求。在步骤1402中,设施应用来自文档修订历史的、在标识的时间点之前接收到的编辑动作,以便使在标识的时间点时的文档的状态具体化。为了继续示例,设施应用图13中示出的编辑动作中的所有这样的动作:行1304对应的编辑动作以上,排除行1305以及之后对应的编辑动作。在一些实施例中,设施对空文档应用开始于文档创建时间的编辑动作。在一些实施例中,设施取回表示在早于文档具体化请求中标识的时间点的时间点的文档状态的文档的版本,并且将在晚于取回的文档的版本所表示的并且早于由文档具体化请求标识的时间点的时间发生的编辑动作中的全部应用于该版本。在步骤1402之后,这些步骤结束。
图15-图17示出了其中设施针对由作者执行的每个编辑动作创建新片段版本的实施例。在一些这样的实施例中,设施省略了如以上结合图12和图13所描述的维持集中式的文档修订历史。然而,在一些这样的实施例中,设施维持这样的文档历史,例如,出于高效生成诸如图26中示出并且以下结合其所描述的特定文档修订可视化的目的。
图15是示出了在一些实施例中典型地由设施执行以针对在文档上执行的每个编辑动作创建新的文档片段的步骤的流程图。步骤1501和1502类似于以上所描述的图12中的步骤1201和1202。在步骤1503中,设施创建其中步骤1201中接收到的文档编辑动作被执行的新的片段的版本;由设施创建的该片段的新版本反映文档编辑动作——即,创建的片段的新版本是由将文档编辑动作应用于片段的之前版本而产生的版本。设施将接收到文档编辑动作的时间以及从其接收到文档编辑动作的用户或“作者”的身份存储在该新的片段中、与该新的片段存储在一起或者针对该新的片段而存储。在步骤1503之后,设施在步骤1501中继续以接收下一个文档编辑动作。如进行图12中的步骤,在一些实施例中,针对所有在相同时间段期间针对相同的文档提交文档编辑动作的多个用户,设施并发地执行图15的步骤。
图16是示出了片段版本表格的样本内容的表格图,该表格反映在一些实施例中由设施创建针对关于片段或其它文档而执行的每个编辑动作的新文档片段版本。片段版本表格1600由诸如行1601-1607之类的行构成,每行对应于不同的片段版本。虽然以上所讨论的图9示出了片段版本表格可以包括多个不同片段的版本,可以看出,此处示出的行1601-1607每个行对应于针对相同片段(具有片段ID 894645的片段)的不同片段版本。特别地,这些行对应的片段版本是这样的的片段版本:每个片段版本反映图13中示出的文档版本历史表格中表示的编辑动作中的一个。例如,行1602指示具有片段ID 894645的片段的版本,该版本具有片段版本ID 79896894,反映了由作者BHayes在1/3/2012的11:02:23.034时执行的编辑动作。因此,片段版本表格中的行1602对应的片段表示与图13中示出的文档修订历史表格的行1301相同的编辑动作。
图17是示出了在一些实施例中典型地由设施执行以便在文档维护之后的任意时间点使用每编辑动作片段版本将文档具体化的步骤的流程图。步骤1701类似于以上所描述的步骤1401。在步骤1702-1704中,设施通过文档中的每个片段引用进行循环。如以上所指出的,片段引用可以凭借存在于文档的根片段中、存在于通过根片段中的片段引用所引用的片段中等而被包括在文档中。由此,在步骤1702中,设施对片段引用的集合进行初始化以包括针对根的片段引用,并且使用该片段引用开始循环。在步骤1703中,设施取回片段引用中引用的片段的版本,即,不晚于步骤1701中接收到的标识的时间点的该片段的最新版本。作为该取回的一部分,设施将由取回的片段版本包含的任何片断引用添加到将在循环中处理的片段引用的集合中。在步骤1704中,如果待处理的片段引用的集合不为空,则设施在步骤1702中继续以处理下一个片段引用,否则这些步骤已使文档具体化而结束。在一些实施例(未示出)中,不是在循环中执行图17中示出的处理,设施将其作为片段节点的树形图的递归下降来执行。
图18是示出了在一些实施例中典型地由设施执行以便响应于与时间线用户接口控件的用户交互来显示不同的文档的状态的步骤的流程图。在步骤1801中,设施显示具有初始时间范围和尺度以及初始具体化时间的时间线。在一些实施例中,初始范围是文档的创建与现在之间的时间段,并且初始尺度是该范围大体上占用时间线的空间的尺度。在一些实施例中,设施通过链接表示为一个或多个片段的时间线的具体化的视图与也由一个或多个片段构成的文档的具体化的视图来显示时间线。
图19是示出了在一些实施例中由设施呈现的其中时间线处于初始状态的样本显示的显示示图。显示1900包括覆盖范围2012年1月1日-1月7日的时间线1910。滑块1911被放置在时间线上的2013年1月3日内使得以下显示的文档将在该时间点具体化。显示还包括滚动控件1941和1942,用户可以激活滚动控件来将显示在时间线中的时间范围分别移位至较早或较晚。显示还包括缩放控件1950/1951,用户可以操控滚动控件来改变时间线的缩放等级。
返回至图18,在步骤1802中,设施在时间线中显示对时间的当前范围的注释。
返回至图19,可以看出,很多编辑量注释1920被显示,指示对显示的日期中的每个日期上采取的编辑动作的相对量。例如,量注释1921示出了在示出的时间段期间编辑注释的最大量是在2012年1月3日执行的。
图20是示出了在一些实施例中由设施呈现的其中以替代形式显示处于初始状态的时间线的样本显示的显示示图。特别地,显示2000还包括文档生存期时间线2060。由文档生存期时间线表示的时间段是文档的整个生存期,以文档的创建开始,并且以诸如当对文档执行最新的编辑动作时之类的时间或者现在的时间结束。此处,可以看出,由文档生存期时间线表示的文档生存期近似为2011年12月26日-2012年3月7日。在文档生存期时间线上,设施显示当前被选择的、用于显示主时间线2010和相关联的注释2020的时间段的指示符2061。此处,可以看出,文档生存期时间线上的指示符2061对应于由主时间线2010表示的时间段2012年1月1日-2012年1月7日。对选择的时间段的改变反映在指示符2061的尺寸和位置中。例如,向着较晚滚动选择的时间段会将指示符移位至右侧;向着较早滚动选择的时间段会将指示符移位至左侧;放大选择的时间段将使指示变窄;并且缩小选择的时间段将使指示变宽。相似地,在一些实施例中,用户可以通过操纵指示符2061来调整选择的时间段。例如,在一些实施例中,用户可以向左或向右拖动指示符中心附近的点来向着较早或较晚滚动选择的时间段,并且可以将指示末尾附近的点拖向或拖离指示的中心以便使选择的时间段变短或变长。在一些实施例(未示出)中,设施结合文档生存期时间线来显示缩减版本的注释。
图21和图22示出了由各种实施例中的设施显示的额外种类的注释。
图21是示出了在一些实施例中由设施呈现的其中时间线处于初始状态具有示出文档的何节在何日被编辑的注释的样本显示的显示示图。文档的节可以包括:一个或多个片段或片段部分;一个或多个页、段落、句子、字符或以标题为界的文档部分;一个或多个图像;一个或多个工作表、表格、列、行或单元;一个或多个幻灯片;等等。例如,在节注释2120之中,节注释2121-2123指示在2012年1月3日对节1、2和3中的所有进行编辑。在一些实施例中,节注释2120中的每个有相同的宽度。
在其它实施例中,加宽或缩窄每个注释的宽度以反映在时间段期间发生的编辑的量、在其期间发生编辑的时间的长度等。
图22是示出了在一些实施例中由设施呈现的其中时间线处于初始状态具有示出了哪个作者在不同的时间点对文档进行了编辑的注释的样本显示的显示示图。可以看出,使用作者编辑注释2220来注释时间线。例如,注释2221和2223示出了作者Bill Hayes和Janice Moy在重叠在2012年1月3日上的时间段对文档进行了编辑,并且注释2222示出了Bill Hayes在作者Janice Moy编辑结束之后的同日再次对文档进行了编辑。如节注释一样,在一些实施例中,作者编辑注释2220中的每个有相同的宽度。在其它实施例中,加宽或缩窄每个注释的宽度以反映在时间段期间发生的编辑的量、在其期间发生编辑的时间的长度等。在一些实施例中,在显示的注释区域内的不同的垂直位置处示出每个作者的编辑注释。例如,在示出的示例中,将Bill Hayes的注释显示在最高的“通道”中,将Janice Moy的注释显示在下一个通道中等等。在其它实施例中,可以将每个作者的编辑注释显示在相同的通道中,但是通过颜色、符号、字符等区别于彼此。由图21示出的节注释2120可能同样如此。
返回至图18,在步骤1803中,设施显示在由滑块的位置反映的当前具体化时间时具体化的文档状态。
返回至图22,可以看出,滑块2211被放置在时间线2210上的2012年1月3日这一日内。因此,文档窗口2230中示出的文档的部分2231反映在2012年1月3日期间的时间处的文档的状态,该时间在由作者Janice Moy进行的由注释2223表示的编辑动作之后,并且在由作者Bill Hayes进行的由注释2222表示的编辑动作之前。
返回至图18,在步骤1804中,设施对从查看文档的用户接收到的用户输入进行接收并且根据该输入而分支;如果用户输入是用于移动滑块,则设施在步骤1805中继续;如果用户输入是用于激活滚动控件,则设施在步骤1806中继续;并且如果用户输入是用于激活缩放控件,则设施在步骤1807中继续。在步骤1805中,用户输入已移动滑块的情况下,设施将具体化时间改变为对应于滑块的新位置的时间。在步骤1805之后,设施在步骤1803中继续以显示针对新具体化时间而重新具体化的文档的状态。
图23是示出了在一些实施例中由设施呈现的其中用户已移动时间线滑块的样本显示的显示示图。可以看出,相对于图22中的时间线2210中的滑块2211,在时间线2310中,用户已将滑块2311移动到2012年1月5日这一天的早些时间。作为响应,设施已从文档在图22中的文档窗口2230中的状态2231更新了文档窗口2330中的文档2331的状态以反映在该新的时间点的文档的状态。此外,可以看出,滚动栏2360中的升降器2361小于图22中的滚动栏2260中的升降器2261的尺寸,这指示文档的长度已在2012年1月3日与2012年1月5日之间增加。
返回至图18,在步骤1806中,用户输入激活滚动控件的情况下,设施将时间线的范围进行移位。在1806步骤之后,设施在步骤1802中继续以显示针对新范围的新注释。例如,如果用户激活滚动控件2242,则时间线将移位至较晚的范围,而如果用户激活滚动控件2241,则时间线将移位至较早的范围。
在步骤1807中,用户输入激活缩放控件的情况下,设施根据用户对缩放控件的操纵来改变时间线的尺度。在步骤1807之后,设施在步骤1802中继续以重新显示针对经改变的尺度的时间线注释。
图24是示出了在一些实施例中由设施呈现的其中用户已操纵缩放控件的样本显示的显示示图。特别地,相对于图22中的缩放控件2251,图24中的缩放控件2451已由用户操控进一步地放大。作为结果,与图22中的2012年1月1日-1月7日的范围相比,时间线2410的时间尺度已改变为对应于2012年1月3日这一天的部分。可以看出,作为结果,用户编辑注释2421-2429与图22中的相对应的注释2221-2223相比,在较精细的时间粒度下发生。
图25是示出了在一些实施例中典型地由设施执行以便使用户能够使用时间线来指定在其期间的编辑动作将在文档内示出时间段的步骤的流程图。在步骤2501中,设施显示时间线。在步骤2502中,设施接收用户输入,该用户输入设置时间线滑块的两个实例的位置以便选择一起形成时间段边界的较早和较晚时间两者。
图26是示出了在一些实施例中由设施呈现的以便使用户能够使用时间线来指定在其期间的编辑动作将在文档内示出的时间段的样本显示的显示示图。可以看出,在时间线2610上,用户已将较早的滑块实例2611设置为在2012年1月2日这一天末尾附近的时间,并且已将较晚的滑块实例2612设置为在2012年1月3日这一天中间附近的时间。
返回至图25,在步骤2503中,设施以如下示出的方式使文档具体化:在处于较早时间(即,2012年1月2日这一天的末尾附近)的文档的状态的上下文中,示出在较早时间与较晚时间(即,在2012年1月3日这一天中间附近)之间执行的编辑动作。在步骤2504中,设施显示在步骤2503中生成的文档具体化。在步骤2504之后,设施在步骤2502中继续以接收移动一个或两个滑块的额外的用户输入。
返回至图26,从作者注释2621和2623中可以看出,作者Bill Hayes和Janice Moy在该时间范围期间执行了编辑动作。还可以看出,文档窗口2630包括文档状态2631,该状态通过删除线反映了在该时间范围期间对存在于较早时间的文本的删除,以及经由下划线反映了在该时间范围期间对未存在于较早时间的文本的插入。在一些实施例中,设施使用颜色编码,或者其它相似的方案,正面地利用采取动作的作者来标识编辑动作。
在各种实施例中,设施在文档窗口2630中显示对文档的各种不同种类的视觉表示。例如,如已在图19-图24以及图26中看出,在一些实施例中,显示在文档窗口中的文档状态的视觉表示是文档的字面内容。在一些实施例中,视觉表示是文档的结构或组织表示。例如,呈现在文档窗口中的文档状态的视觉表示是示出了将片段并入文档的片段图。图27和图28相应地示出了文档的片段图随时间的改变。
图27是示出了在一些实施例中由设施呈现的用于示出在第一时间的文档的片段图的状态的样本显示的显示示图。可以看出,文档窗口2730包括当前针对在由滑块2711选择的时间点(2012年1月5日这一天早些时候)的文档的片段图2731。片段图具有最集中表示文档的根节点2732;该节点为报告片段并且其模式为实时,允许对其进行编辑,既在于在该文档的上下文中对片段的编辑将影响以实时模式并入相同片段的其它文档,也在于在那些其它文档的上下文中对片段的编辑将影响该文档。片段节点2732具有已并入片段节点2732的子片段节点2733。节点2733表示历史片段,该节点的模式为可分岔的——即,当将该片段并入文档时,或者在较晚时间时,对该片段进行调整,使得在该文档的上下文中对片段执行的任何编辑动作将使新片段被替换为该文档中的历史片段。新片段为反映编辑动作向原始片段的应用的片段。将对新片段做出该编辑动作和随后的动作,并且将其示出在该文档的上下文中,但不是在其它文档的上下文中也并入该原始历史片段。
图28是示出了在一些实施例中由设施呈现的用于示出在较晚时间的文档的片段图的状态的样本显示的显示示图。特别地,滑块2811已被移动以选择2012年1月6日这一天的早些时间,使得,相对于图27中的文档窗口2730中示出的文档的状态,文档窗口2830中示出的文档的状态额外地反映作者Gin Leon在2012年1月5日采取的编辑动作。可以看出,那些编辑动作扩展文档的片段图2831以将子片段节点2834添加到片段节点2833。片段节点2834表示以固定模式并入的表格片段——即,以将其状态稳固在特定时间点的这样的方式将该片段并入文档;在该文档的上下文中该片段为不可编辑的,并且对并入其它文档的该片段的版本的改变不会对该文档具有影响。
图29是示出了在一些实施例中典型地由设施执行以便针对文档的全集根据文档修订历史来生成分析方法的步骤的流程图。在步骤2901中,跨全集中的所有文档,设施聚合由每个用户进行的编辑动作。例如,在各种实施例中,设施聚合了由用户执行的编辑动作的数量、在其期间用户以至少某个最小速率执行编辑动作的时间的量等。设施还聚合在每个文档中执行的编辑动作。设施还聚合在很多时间范围的每个中的编辑动作,该时间范围典型地所有都有相同或相似长度,例如,每月、每周、每天、每小时、每分钟、每秒等。在步骤2902中,设施使用在步骤2901中获得的聚合结果来标识执行不寻常大或小等级的编辑动作的用户。设施还使用这些聚合结果来标识其中执行不寻常大或小等级的编辑动作的文档。设施还使用这些聚合结果来标识其中执行不寻常大或小等级的编辑动作的时间范围。在步骤2903中,设施使在步骤2902中标识的用户、文档和时间范围得到显示。在各种实施例中,步骤2903包含将这些结果在应用中、网页上或者Twitter馈送中向单个用户或一组用户显示;将邮件、文本消息或聊天消息等发送至用户或一组用户等。在步骤2903之后,这些步骤结束。
在各种实施例中,设施生成关于片段、不同类型的文档、片段的组和/或不同类型的文档组的各种类型的分析方法。一些示例指示指向以下的分析方法:创建其它类型的片段或文档的数量、频率或最近度;编辑的数量、频率或最近度;评论的数量、频率或最近度;查看的数量、频率或最近度;共享的数量、频率或最近度;并入的数量、频率或最近度;分岔的数量、频率或最近度;与其它用户共享的数量、频率或最近度;移除或删除的数量、频率或最近度;批准的数量、频率或最近度;提升至新状态的数量、频率或最近度;针对排他性编辑而锁住或者用于结束排他性编辑的解锁的数量、频率或最近度;关于由相同作者编写的其它片段的趋势;针对给定文档,关于作者已编写或共同编写的其它文档的趋势;针对片段或其它文档的安全性改变的数量、频率或最近度;例如添加或移除用户权限,关于例如通过搜索技术、机器学习分析而相似定义的其它类型的片段或文档的趋势等。
在一些实施例中,提供了一种用于对随时间改变的选择的文档进行渲染的计算系统。计算系统包括:显示子系统,其被配置为并发地显示(a)时间线,其表示时间段,(b)第一滑块,其能够响应于用户输入而移动到相对于所述时间线的位置,每个位置对应于在第一时间段期间的时间;以及(c)文档内容窗口;文档具体化子系统,其被配置为,针对所述第一滑块被移动到的每个位置,具体化所述选择的文档的、当其存在于所述第一滑块被移动到的位置所对应的时间时的至少一部分;以及窗口填充子系统,其被配置为,响应于所述第一滑块到一位置的每个移动,使用所述文档具体化子系统针对该位置而具体化的所述选择的文档的至少一部分来填充由所述显示子系统所显示的所述文档内容窗口。这些子系统中的每个是计算相关的实体,包括硬件、硬件与软件的组合、软件或者在计算机中执行的软件。
在一些实施例中,提供了一种具有内容的计算机可读介质,所述内容被配置为使得计算系统进行以下操作以便服务针对文档的请求:接收所述请求,所述请求标识所述文档并且指定所述文档要被构建的时间;响应于接收到所述请求:对表示在标识的文档上执行的多个编辑动作的信息进行存取,针对所表示的多个编辑动作中的每个编辑动作,存取的信息指示在所述标识的文档上执行该编辑动作的时间;以及还响应于接收到所述请求,使用如下所述标识的文档的版本来响应所述请求:反映所表示的编辑动作中的其指示的时间在所指定的时间之前的全部,并且不反映所表示的编辑动作中的其指示的时间在所指定的时间之后的任何一个。
在一些实施例中,提供了一种在计算系统中用于分析文档全集的方法。所述方法包括:针对所述文档全集包括的多个文档中的每个文档,存取关于该文档所采取的编辑动作的综合历史,存取的历史标识针对每个编辑动作在该文档上执行该编辑动作的人以及在该文档上执行该编辑动作的时间;跨所述多个文档,聚合针对以下中的至少一个的编辑动作:(1)执行编辑动作的每个人;(2)每个文档;以及(3)多个时间范围中的每个;以及使用所述聚合的结果来标识以下中的至少一个:(1)执行不寻常数量的编辑动作的至少一个人;(2)关于其执行不寻常数量的编辑动作的至少一个文档;以及(3)在其期间执行不寻常数量的编辑动作的所述多个时间范围中的至少一个。
结论
本领域技术人员将认识到的是,以上所描述的设施可以直截了当地以各种方式进行改编或扩展。虽然前述描述对特定的实施例做出了引用,但是本发明的范围仅通过所附权利要求以及其中叙述的元素来定义。

Claims (15)

1.一种用于对随时间改变的选择的文档进行渲染的计算系统,所述系统包括:
显示子系统,其被配置为并发地显示(a)时间线,其表示时间段,(b)第一滑块,其能够响应于用户输入而移动到相对于所述时间线的位置,每个位置对应于在第一时间段期间的时间;以及(c)文档内容窗口;
文档具体化子系统,其被配置为,针对所述第一滑块被移动到的每个位置,具体化所述选择的文档的、当所述选择的文档存在于所述第一滑块被移动到的位置所对应的时间时的至少一部分;以及
窗口填充子系统,其被配置为,响应于所述第一滑块到一位置的每个移动,使用所述文档具体化子系统针对该位置而具体化的所述选择的文档的至少一部分来填充由所述显示子系统所显示的所述文档内容窗口。
2.根据权利要求1所述的计算系统,其中,所述显示子系统被配置为显示这样的时间线:被注释以示出在所述选择的文档上曾执行编辑动作的时间点。
3.根据权利要求1所述的计算系统,其中,所述显示子系统被配置为还并发地显示(d)第二滑块,其能够响应于用户输入而移动到相对于所述时间线的位置,所述第一滑块与所述第二滑块一起定义由所述时间线表示的所述第一时间段的子范围,并且其中,所述文档具体化子系统被配置为具体化的所述选择的文档的至少一部分包括对在所述第一滑块和所述第二滑块定义的由所述时间线表示的所述第一时间段的子范围期间在所述文档上执行的编辑动作的视觉指示。
4.根据权利要求1所述的计算系统,其中,所述显示子系统被配置为还并发地显示(d)第二时间线,其表示第三时间段,所述第三时间段包括所述文档被创建的时间以及在所述选择的文档上曾执行编辑动作的每个时间,所述第二时间线包括对所述第二时间段的视觉指示。
5.一种具有内容的计算机可读介质,所述内容被配置为使得计算系统进行以下操作以便服务针对文档的请求:
接收所述请求,所述请求标识所述文档并且指定所述文档要被构建的时间;
响应于接收到所述请求:
对表示在标识的文档上执行的多个编辑动作的信息进行存取,针对所表示的多个编辑动作中的每个编辑动作,存取的信息指示在所述标识的文档上执行该编辑动作的时间;以及
使用如下所述标识的文档的版本来响应所述请求:反映所表示的编辑动作中的其指示的时间在所指定的时间之前的全部,并且不反映所表示的编辑动作中的其指示的时间在所指定的时间之后的任何一个。
6.根据权利要求5所述的计算机可读介质,其中,所述标识的文档并入存储在所述文档外部的文档片段,并且其中,所述存取还存取表示在并入的文档片段上执行的多个编辑动作的额外信息,针对由存取的额外信息所表示的多个编辑动作中的每个编辑动作,所述存取的额外信息指示在所述并入的文档片段上执行该编辑动作的时间;并且
并且其中,使用其来响应所述请求的所述标识的文档的版本并入如下所述并入的文档片段的版本:反映所述存取的额外信息所表示的编辑动作中的其指示的时间在所指定的时间之前的全部,并且不反映所表示的行为编辑动作中的其指示的时间在所指定的时间之后的任何一个。
7.一种在计算系统中用于分析文档全集的方法,所述方法包括:
针对所述文档全集包括的多个文档中的每个文档,存取关于该文档所采取的动作的综合历史,存取的历史标识针对每个动作在该文档上执行该动作的人以及在该文档上执行该动作的时间;
跨所述多个文档,聚合针对以下中的至少一个的动作:(1)执行动作的每个人;(2)每个文档;以及(3)多个时间范围中的每个;以及
使用所述聚合的结果来标识以下中的至少一个:(1)执行不寻常数量的动作的至少一个人;(2)关于其执行不寻常数量的动作的至少一个文档;以及(3)在其期间执行不寻常数量的动作的所述多个时间范围中的至少一个。
8.根据权利要求7所述的方法,其中,跨所述多个文档,针对执行动作的每个人的动作被聚合,
并且其中,所述聚合的结果用于标识执行不寻常数量的动作的至少一个人。
9.根据权利要求7所述的方法,其中,跨所述多个文档,针对每个文档的动作被聚合,
并且其中,所述聚合的结果用于标识关于其执行不寻常数量的动作的至少一个文档。
10.根据权利要求7所述的方法,其中,跨所述多个文档,针对多个时间范围中的每个时间范围的动作被聚合,
并且其中,所述聚合的结果用于标识在其期间执行不寻常数量的动作的所述多个时间范围中的至少一个。
11.根据权利要求1所述的计算系统,其中,所述显示子系统被配置为显示这样的时间线:被注释(1)以示出在所述选择的文档上执行动作的时间点;并且(2)以执行从以下之中选择的动作:(a)标识在那些时间点执行动作的作者;标识在其内在那些时间点执行动作的所述文档的部分;以及指示在那些时间点执行的动作的量。
12.根据权利要求1所述的计算系统,其中,所述显示子系统被配置为还并发地显示(d)从以下之中选择的控件:(1)用于滚动所述时间线以表示第二时间段的控件,所述第二时间段与所述第一时间段不同但是与所述第一时间段长度相同;以及(2)用于缩放所述时间线以表示第二时间段的控件,所述第二时间段与所述第一时间段相交并且具有与所述第一时间段不同的长度。
13.根据权利要求1所述的计算系统,其中,所述文档具体化子系统被配置为具体化的所述选择的文档的部分包括从以下之中选择的部分:(1)当所述选择的文档存在于所述第一滑块被移动到的位置所对应的时间时所述选择的文档的字面内容;以及(2)在所述第一滑块被移动到的位置所对应的时间处所述选择的文档如何被组织的表示。
14.根据权利要求1所述的计算系统,其中,所述标识的文档包括文档片段的图,所述图中的每个文档片段被存储在所述文档的外部,
并且其中,所述文档具体化子系统被配置为具体化的所述选择的文档的部分包括对在所述第一滑块被移动到的位置所对应的时间处所述文档片段的图的视觉表示。
15.根据权利要求7所述的方法,进一步包括使得标识的方面被显示。
CN201680039025.XA 2015-06-29 2016-06-28 可视化文档修订 Withdrawn CN107851090A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/754,353 US20160378734A1 (en) 2015-06-29 2015-06-29 Visualizing document revisions
US14/754,353 2015-06-29
PCT/US2016/039692 WO2017003970A1 (en) 2015-06-29 2016-06-28 Visualizing document revisions

Publications (1)

Publication Number Publication Date
CN107851090A true CN107851090A (zh) 2018-03-27

Family

ID=56413852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680039025.XA Withdrawn CN107851090A (zh) 2015-06-29 2016-06-28 可视化文档修订

Country Status (4)

Country Link
US (1) US20160378734A1 (zh)
EP (1) EP3314460A1 (zh)
CN (1) CN107851090A (zh)
WO (1) WO2017003970A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543163A (zh) * 2018-10-30 2019-03-29 天津字节跳动科技有限公司 文档修订记录获取方法、装置、存储介质及电子设备
CN110287462A (zh) * 2019-07-01 2019-09-27 上海一者信息科技有限公司 一种基于浏览器的跟踪修订方法及系统
CN111783405A (zh) * 2020-07-30 2020-10-16 腾讯科技(深圳)有限公司 在线文档处理方法、装置、计算机设备和存储介质
CN112084754A (zh) * 2019-06-12 2020-12-15 珠海金山办公软件有限公司 一种审阅处理的方法、装置、计算机存储介质及终端
CN112257391A (zh) * 2020-10-26 2021-01-22 苏宁云计算有限公司 在线文档提交方法、装置、计算机设备和存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275430B2 (en) * 2015-06-29 2019-04-30 Microsoft Technology Licensing, Llc Multimodal sharing of content between documents
JP6547488B2 (ja) * 2015-07-24 2019-07-24 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US10404646B2 (en) * 2016-01-26 2019-09-03 Avaya Inc. Integration of real-time and non-real-time communications
US20170262417A1 (en) * 2016-03-14 2017-09-14 Agreewithme Inc. Summarized document version map
JP6686578B2 (ja) * 2016-03-16 2020-04-22 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP6680026B2 (ja) * 2016-03-23 2020-04-15 富士ゼロックス株式会社 情報処理装置及びプログラム
US10466868B2 (en) 2016-04-27 2019-11-05 Coda Project, Inc. Operations log
US11663235B2 (en) 2016-09-22 2023-05-30 Autodesk, Inc. Techniques for mixed-initiative visualization of data
US20180081885A1 (en) * 2016-09-22 2018-03-22 Autodesk, Inc. Handoff support in asynchronous analysis tasks using knowledge transfer graphs
US20180314680A1 (en) * 2017-04-28 2018-11-01 Microsoft Technology Licensing, Llc Managing changes since last access for each user for collaboratively edited electronic documents
US11244284B2 (en) 2018-05-31 2022-02-08 Microsoft Technology Licensing, Llc Document status management system
US10929365B2 (en) * 2018-06-26 2021-02-23 Fuji Xerox Co., Ltd. Automatic generation of animated previews for presenting document differences in enterprise messaging
US10796086B2 (en) 2018-08-25 2020-10-06 Microsoft Technology Licensing, Llc Selectively controlling modification states for user-defined subsets of objects within a digital document
US11244100B2 (en) * 2019-05-08 2022-02-08 Microsoft Technology Licensing, Llc Visualizing changes based on document scope
JP2021082111A (ja) * 2019-11-21 2021-05-27 富士フイルムビジネスイノベーション株式会社 情報処理システム、情報処理装置、および、プログラム
US20220188283A1 (en) * 2020-12-15 2022-06-16 Sap Se Automatic discovery of executed processes
US20230334240A1 (en) * 2022-04-13 2023-10-19 Google Llc Providing fine-grained version histories of electronic documents at a platform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460379A (zh) * 2009-06-02 2012-05-16 微软公司 恢复用户界面的时间线体验
US20140281875A1 (en) * 2013-03-14 2014-09-18 Appsense Limited Multi-user layer annotation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717869A (en) * 1995-11-03 1998-02-10 Xerox Corporation Computer controlled display system using a timeline to control playback of temporal data representing collaborative activities
US7071934B1 (en) * 1998-03-20 2006-07-04 International Business Machines Corp. Method and apparatus for visually-oriented navigation of compared object versions
US6560620B1 (en) * 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
US7093235B2 (en) * 2002-12-13 2006-08-15 Microsoft Corporation Process for measuring coding productivity
GB2409541A (en) * 2003-12-23 2005-06-29 Mandorla Technology Ltd Editable information management system and method
US8209308B2 (en) * 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US8566301B2 (en) * 2006-05-01 2013-10-22 Steven L. Rueben Document revisions in a collaborative computing environment
US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US8010518B2 (en) * 2007-02-15 2011-08-30 International Business Machines Corporation Method for multicontext XML fragment reuse and validation in a content management system
CA2631828C (en) * 2007-05-25 2022-05-10 Mathieu Audet Timescale for presenting documents
US8010900B2 (en) * 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US9569406B2 (en) * 2008-10-08 2017-02-14 Adobe Systems Incorporated Electronic content change tracking
US20110252301A1 (en) * 2009-10-19 2011-10-13 Meisterlabs Gmbh History view, a graphical user interface for a history view, and a system enabling a history view
US8533595B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories
US20130085811A1 (en) * 2011-09-29 2013-04-04 Scott Darden Work product transparency
US9582481B2 (en) * 2012-09-29 2017-02-28 Apple Inc. Mechanism for partial document restore
US20140123076A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Navigating among edit instances of content
US9256341B2 (en) * 2013-03-20 2016-02-09 Microsoft Technology Licensing, Llc Tracking changes in collaborative authoring environment
US20160147774A1 (en) * 2014-11-20 2016-05-26 Cisco Technology, Inc. System and method for data visualization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460379A (zh) * 2009-06-02 2012-05-16 微软公司 恢复用户界面的时间线体验
US20140281875A1 (en) * 2013-03-14 2014-09-18 Appsense Limited Multi-user layer annotation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543163A (zh) * 2018-10-30 2019-03-29 天津字节跳动科技有限公司 文档修订记录获取方法、装置、存储介质及电子设备
CN112084754A (zh) * 2019-06-12 2020-12-15 珠海金山办公软件有限公司 一种审阅处理的方法、装置、计算机存储介质及终端
CN112084754B (zh) * 2019-06-12 2024-05-10 珠海金山办公软件有限公司 一种审阅处理的方法、装置、计算机存储介质及终端
CN110287462A (zh) * 2019-07-01 2019-09-27 上海一者信息科技有限公司 一种基于浏览器的跟踪修订方法及系统
CN110287462B (zh) * 2019-07-01 2023-03-28 上海一者信息科技有限公司 一种基于浏览器的跟踪修订方法及系统
CN111783405A (zh) * 2020-07-30 2020-10-16 腾讯科技(深圳)有限公司 在线文档处理方法、装置、计算机设备和存储介质
CN112257391A (zh) * 2020-10-26 2021-01-22 苏宁云计算有限公司 在线文档提交方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
EP3314460A1 (en) 2018-05-02
US20160378734A1 (en) 2016-12-29
WO2017003970A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
CN107851090A (zh) 可视化文档修订
JP7460689B2 (ja) スプレッドシートに基づくソフトウェアアプリケーション開発
US10657313B2 (en) Method and system for editing virtual documents
US12020210B2 (en) Digital processing systems and methods for table information displayed in and accessible via calendar in collaborative work systems
JP5443471B2 (ja) 競合の解決
US10185707B2 (en) Aggregate visualizations of activities performed with respect to portions of electronic documents
CN102456067B (zh) 用于传送二次选择反馈的方法和设备
US20140047308A1 (en) Providing note based annotation of content in e-reader
CN107851089A (zh) 变形文档
JP2021508102A (ja) ウェブサイト構築システムにおけるテキストコンテンツの生成及び編集のためのシステム及び方法
US9852117B1 (en) Text-fragment based content editing and publishing
US8595610B2 (en) Method, software and computer system for manipulating aggregated data
CN107710202A (zh) 与旧有工具集成的云原生文档
CN107710189A (zh) 文档间的内容多模式共享
US20160203142A1 (en) Information processing apparatus, information processing method and non-transitory computer readable information recording medium
JP2018501551A (ja) 数式処理方法、装置、デバイス及びプログラム
US20170249073A1 (en) Systems, devices, and methods for dynamic virtual data analysis
CN107710190A (zh) 使用去耦合的呈现资源来呈现内容
JP6898542B2 (ja) 情報処理装置、その制御方法、及びプログラム
US20030177135A1 (en) Multi-user database for computer-based information
US10977428B2 (en) Content transformations
CN113360225A (zh) 用于非分层文件系统的图形化用户界面
CN114375440A (zh) 基于云的内容中心环境内的动态站点编译的自动建议和自动选择的系统和方法
JP2016091081A (ja) 帳票フォーマットインポートシステム及び帳票フォーマットインポート方法
JP2015162170A (ja) 情報処理装置、及び制御方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180327