CN106471487A - 用于使用应用引擎来编辑非本原应用中的文件的系统和方法 - Google Patents

用于使用应用引擎来编辑非本原应用中的文件的系统和方法 Download PDF

Info

Publication number
CN106471487A
CN106471487A CN201580036224.0A CN201580036224A CN106471487A CN 106471487 A CN106471487 A CN 106471487A CN 201580036224 A CN201580036224 A CN 201580036224A CN 106471487 A CN106471487 A CN 106471487A
Authority
CN
China
Prior art keywords
file
application
engine
user
feature
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.)
Granted
Application number
CN201580036224.0A
Other languages
English (en)
Other versions
CN106471487B (zh
Inventor
纳加拉扬·哈里哈兰
乔弗里·迈克尔·库尔茨
瑞安·塔伯恩
莎拉·库伯
多米尼克·马林·埃斯皮诺萨
乔纳森·罗谢勒
大卫·哈尔平
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN106471487A publication Critical patent/CN106471487A/zh
Application granted granted Critical
Publication of CN106471487B publication Critical patent/CN106471487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • 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/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • 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/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

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

Abstract

本文公开了通过非本原应用使用应用引擎编辑文档的系统和方法。从用户接收使用非本原应用打开文档文件的请求。选择非本原应用的引擎,该引擎被配置为编辑该文件的格式。由该非本原引用引擎接收对该文档的修改,并且使用该文件的格式来将该文档保存至该文件,而无需将该文档转换为不同的格式。

Description

用于使用应用引擎来编辑非本原应用中的文件的系统和方法
相关申请的交叉引用
本申请要求于2014年11月24日提交的美国申请序列号14/552384的优先权,其通过引用全部并入本文。
技术领域
大体上,本公开涉及使用与被用来创建文件的应用不同的应用来访问该文件。
背景技术
应用通常具有其自己的相关联的本原(native)文件格式,所述格式指定了该应用支持的特征的编码。应用通常将仅加载被该应用的本原格式所支持的那些特征。不被应用的本原格式所支持的任何特征都将在加载时遇到问题或者将不正确地被加载。因此,使用一种软件应用对利用不同软件应用所创建的文件进行编辑和保存经常在该文件和文件格式可能具有并不被该应用所支持的特征时致使数据损失。能够对此进行处理的一种方式是应用将会把文件转换为另一种格式—其本原格式。当应用保存文件时,仅所加载的特征被保存,并且因此任何不被支持的特征都不被保存。这种数据损失在文件由多个用户编辑或者由一个用户利用多个应用所编辑时会造成问题。
发明内容
因此,本文描述了用于使用具有多个引擎的非本原应用来提供文件访问和使用的系统和方法。在某些方面,本文所描述的系统和方法涉及使用非本原应用对处于本原格式的文档进行编辑。运行第一应用的处理器接收来自用户的打开使用第二应用以第一格式创建的文件的请求。该处理器可以确定该文件的第一格式。该处理器可以从与该第一应用相关联的多个引擎中选择一个引擎,其中所选择的引擎被配置为编辑该第一格式。该处理器可以使用第一应用中所选择的引擎来打开该文件,而无需将该文件的格式转换为与该第一应用相关联的第二格式。该处理器可以使得该第一应用中所选择的引擎渲染该文件的内容以用于在用户设备上向用户进行显示。该处理器可以使得该第一应用中所选择的引擎处理对处于第一格式的该文件的编辑。然后,该处理器可以使用该第一应用以第一格式将所编辑的文件保存至数据库。在一些实施方式中,该处理器可以向用户呈现包括所选择的引擎的特征编辑工具的用户界面。
在一些实施方式中,该处理器可以确定所选择的引擎被配置为对该文件的特征进行编辑。然后,该处理器可以使得该第一应用中的所选择引擎渲染该特征以用于在用户设备上向用户进行显示。然后,该处理器可以使得该第一应用中的所选择的引擎处理对处于第一格式的所渲染特征的编辑。然后,该处理器可以使用该第一应用以第一格式将对该文件编辑的特征保存至数据库。
在一些实施方式中,该处理器可以确定所选择引擎没有被配置为对该文件的第一特征进行编辑。然后,该处理器可以使得该第一应用中的所选择的引擎渲染该第一特征以用于在用户设备上向用户进行显示。然后,该处理器可以阻止用户对该第一特征进行修改。然后,该处理器可以确定所选择的引擎被配置为对该文件的第二特征进行编辑。然后,该处理器可以使得该第一应用中的所选择的引擎渲染该第二特征以用于在用户设备上向用户进行显示。然后,该处理器可以使得该第一应用中的所选择的引擎处理对处于第一格式的该第二特征的编辑。然后,该处理器可以使用该第一应用以第一格式将对该文件的所编辑的第二特征保存至数据库。
在一些实施方式中,该处理器可以使得所选择的引擎将与该第一特征相对应的数据置于文档对象模型的节点中,以及将所选择的引擎没有被配置为对该第一特征进行编辑的特性与该节点进行关联。然后,该处理器可以使用该第一应用以第一格式将对所述文件放置的数据保存至数据库。
在一些实施方式中,该处理器可以确定所选择的引擎没有被配置为渲染该文件的特征。然后,该处理器可以将与该特征相对应的数据置于文档对象模型的节点中,以及将所选择的引擎没有被配置为渲染该第一特征的特性与该节点进行关联。然后,该处理器可以使用该第一应用以第一格式将对所述文件放置的数据保存至数据库。
在一些实施方式中,该文件可以被存储在远离用户的服务器上。在一些实施方式中,为了选择引擎,该处理器可以定位该数据库中的第一格式,确定该引擎与该第一格式相关联,以及选择相关联的引擎。在一些实施方式中,为了确定该文件的第一格式,该处理器可以读取该文件的一部分,从所读取的部分中提取文件类型,以及基于所提取的文件类型来确定该文件的第一格式。
在一些实施方式中,该处理器可以确定多个引擎与该文件格式相关联。然后,该处理器可以向用户渲染多个名称,每个名称与多个引擎中的一个相对应。然后,该处理器可以从用户接收来自该多个名称中的所选择的名称。然后,该处理器可以选择与所选择的名称相关联的引擎。在一些实施方式中,该处理器可以以第三格式保存该文件。
附图说明
本公开的包括其属性及其各种优点的以上和其它特征根据结合附图来对具体实施方式的考虑将变得更加显而易见,其中:
图1是根据说明性实施方式的用户设备的框图;
图2描绘了根据说明性实施方式的、运行被配置来编辑文字处理文档的引擎的应用的用户界面;
图3描绘了根据说明性实施方式的、运行被配置来编辑电子表格文档的引擎的应用的用户界面;
图4是根据说明性实施例方式的、经由网络与服务器进行通信的用户设备的框图;
图5是根据说明性实施方式的、包含引擎与文件格式的关联的数据库的框图;
图6是根据说明性实施方式的文档对象模型的框图;
图7是根据说明性实施方式的、应用通过其启动被配置来编辑所请求的文件的格式的方法的流程图;
图8A-8B描绘了根据说明性实施方式的、引擎通过其从文件读取数据、将数据置于文档对象模型的节点之中、并且处理对文档作出的编辑的方法的流程图;
图9是根据说明性实施方式的、引擎通过其以用户所指定的格式创建文件的方法的流程图;
图10是根据说明性实施方式的云计算服务的框图;以及
图11是根据说明性实施方式的、用于执行本文所描述的任何过程的计算设备的框图。
具体实施方式
为了提供对本公开的全面理解,现在将对某些说明性实施方式进行描述,包括用于以本原格式对文件进行编辑的系统。具体的,描述了一种系统,其中能够利用非本原应用或者创建文件的应用以外的应用来以本原格式对文件进行编辑。然而,本领域技术人员将要理解的是,本文所描述的系统和方法可以被调整和修改从而适合于正在设法解决的应用,以及本文所描述的系统和方法可以在其它合适的应用中被采用,以及这样的其它添加和修改将并不背离其范围。一般地,本文所描述的计算机化的系统可以包括一个或多个组件,其包括一个或多个处理设备,诸如计算机、微处理器、逻辑设备,或者利用硬件、固件、和软件进行配置以实现本文所描述的一种或多种计算机化的方法的其它设备或处理器。
图1图示了可以被用来以本原格式来对文档进行编辑的用户设备100。用户设备100可以包括:处理器105、显示器110、用户输入设备115,以及包含一个或多个文件125—例如文件125a-125n—的一个或多个数据库。用户设备100可以包括一个或多个应用130,例如应用130a-130n。处理器可以包括一个或多个计算机、微处理器、逻辑设备、服务器,或者利用硬件、固件、和软件进行配置来实施本文所描述的计算机化的技术中的一个或多个的其它设备。处理器和处理设备还可以包括用于存储输入、输出、以及当前所处理的数据的一个或多个存储器设备。每个用户设备100可以包括诸如个人计算机、膝上型计算机、平板计算机、智能电话、个人数字助理的设备,或者任何其它合适的类型的计算机或通信设备。
示例文件125可以具有文件格式,其确定该文件的信息被编码为存储器中的位的方式,并且进一步确定该信息从存储器被解码并呈现给用户的方式。一般来讲,文件具有基于被用来创建该文件的应用的文件格式,诸如该应用的本原文件格式。文件格式可以是简单或复杂的。简单文件格式是美国信息交换标准代码(ASCII),其对纯文本和一些简单字符进行编码。复杂文件的示例是被用来在文字处理文档中对信息进行编码的格式。例如,文字处理格式可以指定对于以下的编码方法:字体、字体大小、字体样式、字体颜色、制表符、段落、项目符号列表、带编号列表、表格、文本环绕、文本对齐、文本高亮、行距、分页符、页面大小、边距、列、页眉、页脚、脚注、尾注、交叉引用、内容表格、索引,以及诸如图像和视频的嵌入的内容。电子表格格式也是复杂的并且可以规定对于以下的编码方法:单元格内容、公式运算、字体、字体大小、字体样式、字体颜色、单元格边框、单元格颜色、和图表。演示格式也是复杂的并且可以规定对于以下的编码方法:字体、字体大小、字体样式、字体颜色、文本框、形状、幻灯片大小、幻灯片内的项目的位置和布置、幻灯片排序、幻灯片切换、动画,以及诸如图像、视频、和电子表格的嵌入的内容。例如,文字处理格式、电子表格格式、和演示格式全部都将包含ASCII格式来对文本进行编码,但是可以使用特定于格式的附加编码方法来对文本以外的特征进行编码。包含文档的文件可以根据适合于该文档的格式进行编码。文件可以包含文字处理文档、电子表格文档、演示文档、绘图文档、数据库文档、超文本标记语言(HTML)文档、可扩展标记语言(XML)文档、图像文档、文本文档,或者包含用户数据的任何其它文档。在打开并编辑文件时,应用利用文件的格式来对存储器中所存储的位进行解码,并且将所解码的信息呈现给用户。
在一个示例中,应用130可以是浏览器扩展,其是被设计为对浏览器应用的功能进行补充的应用。应用130包含多个引擎135,其中每一个引擎被配置为对一个或多个文件格式进行编辑。用户设备100的用户可以通过用户设备115提供输入以供应用130打开文件125a。在一个示例中,输入可以是用户将文件图标拖放(drag and drop)至浏览器窗口之中。在另一个示例中,用户可以打开附加至电子邮件的文件,所述电子邮件通过使用浏览器与基于web的电子邮件服务通信来访问。在另一个示例中,用户可以打开附加至电子邮件的文件,所述电子邮件使用桌面电子邮件应用来访问。在另一个示例中,用户可以使用浏览器来导航至基于web的协同文档托管服务,并且打开托管于该服务上的文件。在另一个示例中,用户可以与应用的用户界面进行交互以使用该应用打开文件。这些示例是说明性的,并且用户可以提供不同类型的输入来打开文件,而并不背离本发明的范围。无论输入的形式如何,在接收到输入时,应用130可以使用若干方法中的一个来确定文件125a的格式。在一个示例中,应用130可以基于文件125a的文件扩展名来确定文件格式。在另一个示例中,应用130可以读取文件125a的头部信息的一部分。然后,应用130可以对文件125a的头部的已读取部分进行解释以确定文件125a的格式。应用130可以基于指示该头部中所包含的文件类型的字符串来执行该确定。文件类型的示例是多用途互联网邮件扩展(MIME)类型。基于对文件格式的确定,应用130可以选择被配置为对文件125a的所确定格式进行编辑的引擎135a。被配置来编辑格式的引擎被配置为从存储器读取数据以及向存储器写入数据,在该存储器中根据该格式来对数据进行编码。被配置来编辑格式的引擎不需要完全支持该格式;因此,该引擎可以被配置为仅读取根据该格式进行编码的文件的子集。此外,被配置来编辑格式的引擎可以被配置为仅使用该格式的编码方法的子集来写入数据。然后,应用130可以启动所选择的引擎135a,该引擎135打开文件125a、显示文件125a、并且允许对文件125a进行编辑。
当引擎135a打开文件125a中所包含的文档时,引擎135a根据该文件的本原格式来对文件125a的数据进行解码,并且渲染所解码数据中所包含的文档以用于向用户进行显示。渲染该文档可以包括:将文件125a中的数据变换为二维图像以用于经由显示器110在用户设备100上进行显示。用户可以查看所渲染的文档并且可以经由用户输入设备115来提供用户输入以修改该文档。对文档的修改可以包括以下中的一个或多个:文本录入或删除、文本样式改变、图像和其它媒体的插入、以及其它文档编辑操作。用户可以将所渲染的文档保存至文件125a,例如,引擎135a可以根据文件125a的本原格式来将文档保存至文件125a。通过以本原格式进行保存,引擎135a防止由于格式转换所导致的数据损失。引擎135a可以在没有来自用户的输入的情况下以预定间隔将文档保存至文件125a。这样的自动保存减少了由于用户设备100或应用130的故障所导致的数据损失。如果用户设备100或应用130发生故障,则应用130可以经由显示器110向用户提供崩溃恢复对话。这样的崩溃恢复对话可以:包括故障概述、在故障之前的页面位置处最新近编辑的文档的视图、以及包括先前打开的调色板和对话的状态信息,从而允许用户指示用于对由该故障引起的任何冲突进行协调(reconcile)的动作过程。通过使用适当的引擎135a来编辑文件125a,应用130为用户提供了文档编辑能力,而不会由于格式之间的转换而损失数据。
应用130可以向用户提供文件管理能力。当引擎135a被启动并且编辑文档时,引擎135a可以接收用户输入以将文档保存至数据库120中的不同文件。在一个示例中,引擎135a可以以与原始文件125a相同的格式来保存文件,但是保存在不同文件位置,诸如保存至文件125b。在另一个示例中,引擎135a可以接收用于对文件125a进行重命名的用户输入。在该示例中,引擎135a将会改变文件125a的文件名。在该示例中,文件125a的内容可以保持不变,或者它们可以被更新以反映与文件125a相关联的文档中的更新。在一些示例中,应用130接收用以对文件125a进行重命名的用户输入并且改变文件125a的文件名。在另一个示例中,引擎135a可以接收用户输入已将经修改的文件125a附加至电子邮件。在该示例中,经修改的文件125a被附加至其的电子邮件可以是对最初创建该文档的另一个用户的回复。以这种方式,接收用户能够使用应用130来打开来自发送用户的电子邮件中所接收到的文档,对所接收的文档将进行修改,并且将经修改的文档发送回发送用户,即使该接收用户并不具有由发送用户使用来最初创建该文档的应用。替选地,经修改的文件125a被附加至其的电子邮件可以不是回复电子邮件,而可以是诸如向不同用户的新电子邮件。在该示例中,经修改的文件125a可以在用户设备100上本地创建以及也在服务器设备420上创建。该文件管理能力可以与本文所描述的其它能力进行组合。通过提供重命名并保存新文件的能力,应用130允许用户对用户设备100上的文件进行管理。
应用130可以向用户提供文件格式转换能力。当引擎135a被启动并且编辑文档时,引擎135a可以接收用户输入以在数据库120中将文档保存为不同格式。在一个示例中,引擎135a可以将文件以不同于原始文件125a的格式进行保存,并且将其保存至不同的文件位置,诸如保存至文件125b。该文件格式转换能力可以与本文所描述的其它能力进行组合。通过提供保存为不同格式的能力,应用130允许用户将文件从一种格式转换为另一种格式。
在一些示例中,将多个引擎连锁(chain)以将文件从一种格式转换为另一种格式。在这些示例中,应用130使得两个或更多引擎135按顺序对文件进行转换从而达到所期望的格式。例如,引擎135a可以将文件格式从125a的格式转换为125b的格式,并且然后诸如135b的另一个引擎可以启动、打开文件125b并且将其中的数据保存为处于不同格式的不同的文件125c。这种连锁必要时可以多次重复以导致所期望格式的文件。
应用130可以向用户提供文件创建能力。在一个示例中,应用130可以接收用以创建文件的用户输入,并且在接收到该输入后向用户呈现一个或多个文件格式。所呈现的文件格式可以是与应用130的引擎135相关联的格式。应用130可以接收用户对所呈现文件格式中的一个的选择,并且启动与所选择文件格式相关联的引擎135a。在适当的引擎135a被启动的情况下,用户然后可以修改文档并且将该文档保存为文件125a。用户可以在生成文档时选择以给定格式创建文件以发送至其它用户。在这种情况下,用户可以选择将与接收者可能用来打开并编辑文件的应用兼容的格式。该文件创建能力可以与本文所描述的其它能力相结合。以这种方式,该应用向用户提供了以给定格式创建文件的能力。
应用130可以接收请求以打开被标定(designate)为只读的文件125a。这样的只读标定可以指示文件125a可以被打开并查看,但是文件125a不可以被修改。在一个示例中,应用130可以选择本文所描述的适当的引擎135a,并且应用130可以以只读模式启动所选择的引擎135a。在只读模式中,引擎135a可以打开文件125a并且渲染其内容以用于在显示器110上进行显示,但是可以防止文件125a被修改。引擎135a可以允许用户如本文所描述的来对所渲染的文档进行编辑,但是可以将经更新的文档保存为不同的文件125b。应用130可以在不同文件位置中并且以不同格式来创建、打开、本原地编辑、以及保存文档。该只读能力可以与本文所描述的其它能力相结合。如本文将要描述的,通过提供其中每个引擎被配置为编辑一个或多个文件格式的多个引擎135,应用130能够本原地对多个文件格式进行编辑。
图2图示了应用130的用户界面200的示例。在该示例中,文件125a包含文字处理文档205,并且引擎135a被配置来对文件125a的格式进行编辑。用户界面200可以在浏览器210中提供。浏览器210可以具有一个或多个选项卡215,从而允许从多个打开的文档或网页中选择待显示的文档205。界面200可以包括图标220以指示使用中的引擎。文档205的文本225被显示在用户界面200的中央。在一些示例中,文本225并不处于中央而是在用户界面200的不同区域。在一个示例中,与文本225相关联的特征中的一些或全部可能不受引擎135a支持。在该示例中,不被支持的特征可能没有被正确显示,或者可能根本不被显示。然而,引擎135a将在保存文件125a时保留不被支持的特征,以使得该特征仍然将能够对可能支持该特征的另一个应用或引擎可用。在该示例中,引擎135a将不允许对不被支持的特征进行编辑以确保这样的特征被保留。
用户界面200包含用于对文档205的特征进行编辑的工具230。例如,文本225以其进行显示的字体可以利用工具230a来选择。字体大小可以利用工具230b来选择。字体样式可以利用工具230c-230e来选择。字体颜色可以利用工具230f来选择。文本对齐可以利用工具230g-230i来选择。带编号的列表可以利用工具230j来创建和编辑。项目符号列表可以利用工具230k来创建和编辑。文档可以利用打印工具235来打印。用户对文档所作的最新近的改变可以使用撤销工具240来撤回(reverse)。这些和其它工具也可以是在菜单245中可用的。文档的名称可以在文档标题250中被显示。应用130在使用引擎135a时所显示的特征编辑工具230可以仅是与引擎135a所支持的文件格式的特征相对应的那些工具。因此,应用130可以允许编辑比文件125a中所包含的全部特征更少的特征。另一个引擎135b可以被配置为对相似类型的文档的不同文件格式进行编辑。在使用引擎135b时,应用130可以在用户界面210中显示不同于应用130在使用引擎135a时所显示的工具集合。用户界面200出于说明性目的而被示出的,但是该界面的其它配置可以提供相似的功能。通过为用户提供与引擎135a被配置来对其进行编辑的文件格式的特征相对应的特征编辑工具230,应用130允许仅对在使用中的引擎所支持的特征进行编辑。
图3图示了应用130的用户界面300的示例。在该示例中,文件125a包含电子表格文档305,并且引擎135a被配置为对文件125a的格式进行编辑。用户界面300可以在浏览器310中被提供。浏览器310可以具有一个或多个选项卡315,从而允许对电子表格305的选择从多个打开的文档或网页来显示。用户界面300可以包括图标320以指示使用中的引擎。电子表格305中的单元格325被显示在用户界面300的中央。数据可以被包含在某些单元格355中。公式条360可以显示单元格中所包含的公式。例如,所选择的单元格365包含公式“=B9-C9”。电子表格305中的数据可以利用图表370来可视化。图表370可以包含对单元格355中所包含的数据的引用。图表370可以在单元格355中的数据被更新的情况下使用该引用来被自动更新。在一个示例中,与图表370相关联的特征中的一些或全部可能不受引擎135a支持。在该示例中,不被支持的特征可能不会被正确显示,或者可能根本不被显示。然而,引擎135a将在保存文件125a时保留不被支持的特征,以使得该特征仍然将能够对可以支持该特征的另一个应用或引擎可用。在该示例中,引擎135a将不允许对不被支持的特征进行编辑以确保这样的特征被保留。
用户界面300包含用于编辑电子表格305的特征的工具330。例如,单元格文本355a以其进行显示的字体可以利用工具330a来选择。字体大小可以利用工具330b来选择。字体样式可以利用工具330c-330e来选择。字体颜色可以利用工具330f来选择。单元格背景颜色可以利用工具330g来选择。文本对齐可以利用工具330h来选择。用户对文档所作的最新近的改变可以使用撤销工具340来撤回。这些和其它工具也可以是在菜单345中可用的。应用130在使用引擎135a时所显示的特征编辑工具330可以仅是与引擎135a所支持的文件格式的特征相对应的那些工具。因此,应用130可以允许编辑比文件125a中所包含的全部特征更少的特征。另一个引擎135b可以被配置为对相似类型的文档的不同文件格式进行编辑。在使用引擎135b时,应用130可以在用户界面310中显示不同于应用130在使用引擎135a时所显示的工具集合。用户界面300是出于说明的目的而被示出的,但是该界面的其它配置可以提供相似的功能。通过为用户提供与引擎135a被配置来对其进行编辑的文件格式的特征相对应的特征编辑工具330,应用130允许仅对在使用中的引擎所支持的特征进行编辑。
应用130可以支持对诸如图3所示的文字处理文档以及诸如图4所示的电子表格文档以外的文档类型进行编辑。应用130可以支持对以下的编辑:演示文档、绘图文档、数据库文档、HTML文档、XML文档、图像文档、文本文档、或者包含用户数据的任何其它文档。应用130可以提供引擎135,其被配置为对与这样的文档类型相关联的文件格式中的任何或全部进行编辑。
在离线布置中,引擎135a可以在没有与除用户设备100外的设备进行通信的情况下对文档125a进行编辑。在在线布置中,引擎135a可以在用户设备100与其它设备或服务器进行通信的同时对文档125a进行编辑。应用130和引擎135可以根据离线布置和在线布置二者来进行操作。其中的一个示例中,应用130可以在网络连接不可用时根据离线布置进行操作,并且可以在网络连接变为可用时切换至在线布置。例如,在离线和在线布置之间进行切换的能力为移动设备的用户提供了对文档更大程度的访问。
图4图示了可以使得用户设备401能够经由网络415来与服务器420进行通信的系统400。用户设备401可以具有网络接口410,其被配置来充当网络415与用户设备401之间的中介。服务器420可以具有网络接口430,其被配置来充当网络415与服务器420之间的中介。类似于401的多个用户设备可以以用户设备401与服务器420通信的相同方式与服务器420进行通信。为了清楚,图4中仅示出了一个用户设备410。用户设备100和401可以执行类似功能并且可以具有类似特征。例如,用户设备401的特征406、41、416、421、426a-426n、431、和436a-436n可以执行与用户设备100的特征105、110、115、120、125a-125n、130、和135a-135n类似的功能。
在一个实施方式中,服务器420可以通过托管文件并且使得用户能够存储、检索、并修改数据来充当基于web的存储系统。用户可以对位于服务器420上的文件440进行编辑。应用431可以通过经由网络415以及网络接口410和430与服务器420进行通信来读取和访问文件440。应用431可以将文件440保存至位于服务器420上的数据库435。为了诸如在存在慢速或时断时续的网络连接415的情况下改进效能,应用431可选地可以将文件125a保持在用户设备401上以作为文件440的本地副本。以这种方式,如果网络连接415发生中断,使得用户设备401进入到离线状态,则应用431可以继续从用户接收输入并且相应地更新文件125a,并且在网络连接415被重新建立并且用户设备401返回在线状态时,应用431可以将这样的更新传送至服务器420。系统400可以允许用户使用应用431来编辑位于服务器420上的文件440。
在另一个实施方式中,服务器420可以通过传送电子邮件并且存储附加至所传送电子邮件的文件来充当电子邮件服务器。在另一个实施方式中,该服务器可以充当本文所描述的基于web的存储系统和电子邮件服务器二者。
在一个布置中,系统400可以使得存储在用户设备401上的文件426a能够经由网络415来与存储在服务器420上的不同文件440进行同步。用户设备401可以包含同步客户端405。服务器420上的文件440可以由另一个用户、或者由相同用户在不同用户设备上进行编辑。在这种情形中,远程文件440诸如可以由另一个用户进行修改。该服务器可以将与经修改文件440相对应的改变传送至用户设备401。该同步客户端可以基于所传送的变化来更新文件426a。以这种方式,用户设备401上的文件426a可以与服务器420上的远程文件440同步。在该布置中,应用431可以通过与数据库421进行通信来读取和访问文件426a。应用431可以将对文件426a的改变保存至数据库421。同步客户端405可以检测对用户设备401上的文件426a所作出的改变并且将该改变经由网络415传送至服务器420。同步客户端405可以在应用431编辑文件416a的同时进行操作。这样的操作可以包括:向服务器420传送对文件426a的本地改变;从服务器420接收改变并且更新本地文件426a;或者这二者。该布置可以与本文所描述的其它布置和实施方式组合。通过将用户设备401上的文件426a与服务器420上的文件440进行同步,该用户可以在多个设备上对文件进行编辑并且与其它用户协同工作。
在一些示例中,应用431可以位于服务器420上并且经由网络415来与用户设备进行通信。应用431可以打开并编辑存储在本地设备401上的文件426a或者存储在服务器420上的文件440。应用431可以使用服务器的处理器425来渲染文件426或文件440的内容以用于经由显示器411在用户设备401上进行显示,并且可以将该渲染经由网络415传送至用户设备401。通过使用网络415在服务器420与用户设备401之间进行通信,该系统使得用户无论应用431是否被安装在用户设备401上都能够对文档进行编辑。
可以对于文件426a、文件440、或者这二者来提供访问控制。服务器420或者在其上运行的应用可以提供对存储于服务器420上的文件440的访问控制。在诸如同步客户端405的用户设备401上运行的应用可以提供对用户设备401上所存储的文件426a的访问控制。替选地,服务器420或者在其上运行的应用可以通过经由网络415进行通信来提供对存储在本地设备401上的文件426a的访问控制。对文件的访问控制可以包括用户在打开、编辑、或保存该文件之前进行认证的要求。对文件426a或文件440的访问控制可以进一步包括经由网络415来与除服务器420外的服务器—诸如认证服务器—进行通信。用户可以通过经由用户界面输入用户名和密码(或者提供其它识别信息)来进行认证,使得相同用户设备可以由不同用户在不同时间使用。用户可以被提供有对文件的不同水平的访问。例如,用户可以具有对文件的只读访问,其中用户被允许打开并查看文件但是不被允许编辑或保存文件。替选地,用户可以具有对文件的读写访问,其中用户被允许打开、编辑、以及保存文件。用户可以被标定为文件的所有者,并且可以向其它用户授予对该文件的访问。用户可以被授予个体方式的访问,或者用户群组可以被授权访问。与文件相关联的访问控制列表可以确定尝试访问文件的用户的访问权。通过提供对文件的访问控制,系统实现了增强的安全性。
图5图示了包含条目505的数据库500,所述条目505将文件格式510的名称与被配置来编辑该格式的引擎515的名称进行关联。数据库500可以位于用户设备100或服务器420上。条目505还可以包含与格式名称510相关联的一个或多个文件类型515。文件类型的示例是MIME类型。条目505可以包含一个格式名称510以及多个相关联的引擎名称520。替选地,条目505可以包含多个格式名称510以及一个相关联的引擎名称520。替选地,条目505可以包含多个格式名称510以及多个相关联的引擎名称520。在一个示例中,数据库500可以通过格式名称进行查询。在该示例中,查询结果可以包括:包含所查询格式名称的所有条目。在另一个示例中,数据库500可以通过文件类型进行查询。在该示例中,查询结果可以包括:包含所查询文件类型的所有条目。在第三示例中,数据库500可以通过引擎名称进行查询。在该示例中,查询结果可以包括:包含所查询引擎名称的所有条目。因此,这些条目505提供了文件格式与编辑引擎的关联。通过将文件格式与编辑引擎进行关联,数据库500使得能够对被配置为对文件125a的格式进行编辑的引擎135a进行选择。
图6示意性地图示了引擎135a在查看或编辑文档文件时所使用的文档对象模型(DOM)600。文档文件可以指代包含以下的文件:文字处理文档、电子表格文档、演示文档、绘图文档、数据库文档、HTML文档、XML文档、图像文档、文本文档、或者包含用户数据的任何其它文档。在DOM中,文档605的对象被布置为层次结构中的节点。对象可以是文件的特征。,节点可以具有层次结构中在其下方的一个或多个节点,并且一个节点可以具有层次结构中在其上方的一个或多个节点。例如,节点615具有其下方的节点620以及其上方的节点610。类似节点可以在层次结构中处于相同层级。例如,节点630、640、和650可以处于层次结构中的相同层级。在一个示例中,模型视图控制器(MVC)实现被用来创建并编辑DOM 600,并且向用户显示DOM 600的内容。在该示例中,MVC的模型部分对文件进行解析并且将该文件中与文档605的对象相对应的部分置于DOM 600的节点中。例如,段落可以被置于DOM的节点650中,并且该段落中的句子可以被置于节点655中。该句子中的一个词可以被置于节点660中,并且另一个词可以被置于节点665中。该段落中的另一个句子可以被置于节点670中,其中该句子的词被置于节点675和680中。为了图示的清楚,以上以及在图6中仅描述了两个句子节点和四个词节点,但是段落可以具有任何数目的句子以及相对应的句子节点,并且句子可以具有任何数目的词以及相对应的词节点。在另一个示例中,表格可以被置于DOM 600的节点650中,其中表格行元素被置于节点655和670中,表格行中的每个单元格的内容可以分别被置于节点660、665、675、和680中。表格可以具有任何数目的行和行节点,并且行可以具有任何数目的单元格节点,但是为了图示的清楚此处仅描述了两个行节点和四个单元格节点。在另一个示例中,表格可以被置于DOM 660中,其中以列作为主索引。在该示例中,节点655和670对应于表格的列,并且节点660、665、675、和680对应于表格列中的每个单元格的内容。在一个示例中,节点610可以包含文档的页眉信息。节点615可以包含该页眉的句子,并且节点620可以包含该页眉句子中的词。为了图示的清楚,节点610可以仅具有一个从属节点615,所述从属节点自身仅具有一个从属节点620。此外,如所图示的,DOM 600具有四个层次结构层级。然而,DOM中的任何节点都可以具有任何数目的从属节点,并且DOM可以具有任何数目的层次结构层级。
在模型部分创建DOM 600并且将内容置于节点中之后,然后MVC的视图部分可以逐节点地遍历DOM 600并且渲染DOM 600的节点中所包含的对象中的一些或全部。该视图部分可以是渲染引擎,并且可以是引擎135a的组件。在视图部分遍历DOM 600的每个节点时,其将会在被配置为渲染节点的内容的情况下进行该操作。视图部分可以使用硬编码逻辑对其在进行遍历的同时所遇到的每个节点的内容进行解码或解析。如果该硬编码逻辑被配置为对节点的内容进行解码或解析,则该视图部分将会渲染该节点的内容以用于对用户进行显示。如果该硬编码的逻辑并未被配置为对节点的内容进行加密或解析,则该视图部分将不会渲染该节点的内容并且将行进至另一个节点。在一个示例中,该视图部分可以在该模型部分创建或更新DOM 600的同时遍历DOM 600。
MVC的控制器部分可以与该MVC的视图部分和模型部分进行交互以促进对DOM 600所表示文档605的编辑。该控制器部分可以是引擎135a的组件。当用户提供编辑输入时,该控制器接收该输入、确定该输入所对应的DOM 600的节点、并且更新相对应的节点。然后,该控制器指令该MVC的视图部分渲染经更新的节点。对DOM 600的更新必须被验证其正确性。该验证可以在视图部分渲染经更新节点之前或之后进行。在一个示例中,该控制器可以执行对DOM 600的乐观更新。在该示例中,该控制器部分将更新直接发送至视图部分以用于立即渲染,并且以异步方式更新并验证DOM 600。如果该验证成功,则不关于该更新采取进一步的动作。如果该验证未成功,则对DOM 600的更新被撤回,并且该视图部分以其在更新之前所存在的形式渲染DOM 600。这样的乐观更新提供了对用户编辑的更快的显示。
在一个示例中,引擎135a可以不被配置为对DOM 600的所有节点进行编辑。在该示例中,用户可以提供输入以对文档605中、与DOM 600中引擎135a被配置为对其进行编辑的节点相对应的特征进行编辑。这甚至可以在MVC的视图部分被配置为渲染该节点的情况下进行。MVC的控制器部分可以接收该用户输入,并且在确定该控制器部分没有被配置为对该节点进行编辑的情况下可以不对该节点作出改变。可选地,引擎135a可以向用户通知所期望的特征无法被编辑。在一些示例中,如果视图部分被配置为渲染该节点但是引擎135a并未被配置为对该节点进行编辑,则视图部分可以以不正确的方式渲染该节点的内容。然而,由于控制器部分没有对这样的节点进行编辑,所以这些节点的原始内容被保留。以这种方式,完全支持这些节点中所包含的特征的后续应用或引擎可以对所述节点的原始未被修改的内容进行渲染和编辑而不损失数据。
在文档605被保存时,引擎135a可以使用DOM层次结构600根据文档605的格式来进行保存。在一个示例中,DOM 600的节点可以包含已经以最初包含文档605的文件的格式进行编码的数据。在该示例中,DOM 600的节点中所包含的数据在保存之前没有被修改或转换为不同格式。在另一个示例中,引擎135a可以根据文档605的格式来对所支持的特征以及DOM 600中的、它们的相对应的节点进行编码。在该示例中,DOM 600中的、具有引擎135a没有被配置来渲染或编辑的特征的节点包含根据文件的原始格式所编码的数据,并且在保存之前并不进一步被编码。如果引擎135a没有被配置来渲染或编辑的节点被重新格式化,则该节点中的数据中的一些或全部将会由于引擎135a没有被配置来对该节点的格式恰当解码而被损失。此外,如果这些节点在保存时被简单丢弃,则节点的数据也会损失。通过保留具有引擎135a没有被配置来渲染或编辑的特征的节点的格式,原始文件中不被支持的特征被保留而其它特征则被编辑。
图7图示了用于在打开所请求的文件时选择要启动的引擎的方法的流程图700。用户可以在客户端设备处录入请求以打开具有特定文件类型的文件。该请求被诸如应用130的应用接收,这例如在步骤705处进行。该请求可以包含与所要打开的文件相关联的文件标识符。在步骤710,运行应用130的处理器基于在该请求中包含的信息来确定所请求的文件的位置。所请求的文件可以位于用户设备100上、服务器420上、或者处于另一个位置。该位置可以通过检查数据库或存储器中的文件索引来确定。在步骤715,该应用确定所请求的文件的格式。该应用可以基于文件扩展名、头部信息、或者与文件相关联的其它信息来确定格式。如果使用文件扩展名来确定格式,则该应用可以使用所请求的文件、所定位的文件、或这两者的文件扩展名。如果使用头部信息来确定格式,则该应用可以读取所定位的文件的头部的一部分并且从该头部提取指示文件类型的字符串。该文件类型字符串可以是MIME类型的字符串。在一些示例中,头部信息和文件扩展名信息二者都可以被用来确定文件的格式。如果两个确定都提供了对文件格式的类似指示,则所述确定为正确的可能性有所增加。然而,如果确定提供了对格式的不同指示,则存在冲突。这样的冲突可以在文件扩展名已经被用户改变为不同文件扩展名的情况下出现。
在决策框720,应用130查询数据库500来确定引擎是否被配置为打开并编辑与应用相关联的文件。应用130确定数据库500中的任何条目是否包含所定位文件的格式。如果数据库中没有包含所定位文件的格式的条目,则该方法进行至步骤725并且向用户呈现所请求文件无法被打开的消息。此外,如以上所描述,如果多个格式的确定之间存在冲突,则该方法可以进行至步骤725,并且作为步骤725的一部分,可以向用户通知对格式的确定中的冲突。替选地,在这样的冲突的事件中,该方法可以直接进行至步骤740并且提示用户直接选择引擎。该提示可以包括对引擎135中的一些或所有进行列举。在步骤725之后,该方法终止。如果数据库500中的一个或多个条目包含所定位文件的格式,则该方法进行至决策框730。
在决策框730处,应用130确定多个引擎是否与所定位文件的格式相关联。数据库500包含提供引擎与文件格式的关联的一个或多个条目505。条目505可以包含一个格式名称510以及多个相关联的引擎名称520。替选地,条目505可以包含多个格式名称510以及一个相关联的引擎名称520。替选地,条目505可以包含多个格式名称510和多个相关联的引擎名称520。如果应用130通过查询数据库而确定仅一个引擎与所定位文件的格式相关联,则该方法进行至步骤735,在该处与所定位的文件的格式相关联的该一个引擎被选择。如果该应用通过查询数据库确定多个引擎与所定位文件的格式相关联,则该方法进行至步骤740。
在步骤740,应用130经由用设备100上的显示设备110向用户呈现多个相关联的引擎的列表。在步骤745,应用130经由用户输入设备115接收来自用户的对多个相关联的引擎中的一个的选择。在步骤750,应用130启动所选择的引擎,其能够被用来编辑所请求文件。
图8A-8B图示了用于使用引擎135a来加载并编辑文件125a的特征的方法的流程图800。当用户请求打开文件并且引擎例如已经使用流程图700中的步骤而被识别时,文件数据可以使用流程图800中的步骤来被处理。在接收到来自诸如浏览器210的浏览器的用户输入时,应用130可以启动所选择的引擎135a。引擎135a可以在诸如用户界面200的用户界面中经由浏览器210来显示文档。在图8A处开始,在步骤805,引擎135a根据文件125a的格式而从该文件读取数据。在步骤810,运行引擎135a的处理器—诸如处理器105—确定所读取的数据包含特征。在步骤815,引擎135a将特征置于DOM——诸如DOM 600的、与文件125a相关联的节点中。在步骤820处,引擎135a确定是否已经到达文件125a的结尾。如果还没有到达文件125a的结尾,则该方法返回步骤805以继续从文件125a读取附加数据。如果已经到达文件125a的结尾,则该方法继续进行至步骤825。引擎135a的模型部分可以执行步骤805、810、815、和820中的一个或多个。
在步骤825处,引擎135a在遍历DOM 600的同时读取DOM 600的节点。在决策框830处,引擎135a确定其是否被配置来渲染该节点或者该节点中所包含的文件特征。被配置来渲染文件的特征的引擎被配置为从与该特征相关联的存储器读取数据,其中该数据根据该文件的格式进行编码。在一些示例中,引擎135a基于被明确硬编码至引擎135a中的信息作出该确定。如果引擎135a确定其没有被配置来渲染该特征,则该方法继续进行至步骤835,其中引擎135a没有渲染该特征并且然后继续进行至决策框845。如果引擎135a确定其能够渲染该特征,则该方法继续进行至步骤840。在步骤84处0,引擎135a渲染该节点中所包含的特征。然后,该方法继续进行至决策框845,其中引擎135a确定是否已经到达DOM 600的结尾。引擎135a可以通过确定是否已经遍历了DOM的所有节点来作出该确定。如果还没有到达DOM的末尾,则该方法返回步骤825,其中引擎135a继续遍历DOM 600。如果已经到达了DOM的末尾,则该方法继续进行至步骤855。引擎135a的视图部分可以执行步骤825、830、835、840、和845中的一个或多个。
转到图8B,在步骤855处,引擎135a接收用户输入以对DOM 600所表示的文档的特征进行修改。用户可以经由诸如界面200和300的图形用户界面来提供该输入。例如,如果该特征是段落,则该输入可以包括对该段落文本的添加。作为另一个示例,该输入可以包括样式改变指令,诸如将段落的字体样式变为黑体字。这些示例并不是限制性的,并且用户输入可以是修改特征的任何用户输入。在决策框860处,引擎135a确定是否被配置来编辑该特征。被配置来编辑文件的特征的引擎被配置为从存储器读取数据以及向存储器写入数据,其中该数据与该特征相关联并且根据该文件的格式而被编码。在一个示例中,引擎135a通过对DOM中与待被编辑的特征相对应的节点的内容进行解码来作出该确定。在该示例中,如果引擎135a能够成功解码该节点的内容,则引擎135a将确定其能够对该特征进行编辑,并且将在其无法对该节点的内容进行解码的情况下确定其无法编辑该特征。如果引擎135a确定其没有被配置来对该特征进行编辑,则该方法继续进行至步骤865,其中引擎135a没有对该特征进行修改并且直接进行至步骤880。如果引擎135a确定其被配置来对该特征进行编辑,则该方法继续进行至步骤870。在步骤870处,引擎135a对DOM 600中与特征相对应的节点进行修改。引擎135a可以在修改该节点后对DOM 600进行验证。在步骤875处,引擎135a基于经修改的节点的内容来渲染该特征。在乐观更新的示例中,步骤870和875可以并发地或异步地进行。在该示例中,引擎135a的控制器部分可以直接将更新发送至视图部分,并且稍后更新并验证DOM 600。
在决策框880处,引擎135a确定是否需要保存。在用户提供了保存文档的输入的情况下或者在已流逝的时间已经超过预定阈值的情况下需要进行保存。如果引擎135a确定需要保存,则该方法继续进行至步骤885,其中引擎135a根据所定位文件125a的格式将DOM600中所包含的数据保存至文件。对于DOM 600中的、引擎135a没有被配置来对其进行编辑的节点而言,引擎135a以与该数据的原始状态相比无变化的方式保存这些节点中所包含的数据。DOM 600中引擎135a被配置为对其进行编辑的节点中所包含的数据可以与其原始状态相比有所修改,并且引擎135a根据所定位的文件125a的原始格式来对该数据进行保存。在步骤880处,引擎135a可以将DOM 600中的所有节点保存至文件,或者其可以仅保存节点的一部分,诸如被更新的节点。在步骤880处,替选地,引擎135a可以将DOM 600中所包含的数据保存为不同于文件125a的原始格式的格式。对格式的选择可以基于用户经由用户输入设备115所进行的选择来确定。在决策框880处,如果引擎135a确定不需要保存,则方法800继续进行至步骤855,其中引擎135a接收另一个用户输入。在步骤885进行保存之后,该方法返回至步骤855,其中引擎135a接收另一个用户输入。方法800可以以这种方式进行循环直至被用户中断。用户可以通过经由用户界面关闭文档或者通过简单地关闭用户界面来中断方法800。在一个示例中,引擎135a的控制器部分可以执行步骤855、860、865、870、880、和885。在该示例中,引擎135a的视图部分可以执行步骤875。通过保留DOM 600的节点中不被支持的特征并且阻止对那些节点进行修改,文件中不被支持的特征在DOM 600被保存时被引擎135a保留。
图9图示了应用130用来创建文件的方法的流程图900。用户可以经由诸如用户界面200的用户界面来提供输入以创建具有特定文件格式的文件。在步骤905,运行应用130的处理器接收来自用户的创建文件的请求。在步骤910处,该处理器确定引擎135中的一个或多个被配置来创建文件。该确定可以通过查询诸如数据库500的数据库来进行。在步骤915处,应用130向用户呈现与被配置来创建文件的一个或多个引擎相关联的格式的列表。在步骤920处,应用130从用户接收对所呈现的列表中的格式的选择。在决策框925处,应用130确定多个引擎是否被配置为以所选择的格式来创建文档。应用130可以查询数据库500来确定被配置为以所选择的格式创建文件的一个或多个引擎是否与该应用相关联。如果仅一个引擎被配置为以所选择格式来创建文档,则该方法继续进行至步骤935,在该处该一个引擎被选择。如果多个引擎被配置为以所选择的格式来创建文档,则该方法进行至步骤930,在该处应用130向用户呈现与所选择的格式相关联的引擎的列表。在步骤940处,应用130接收对所呈现的引擎的列表中的引擎135a的选择。在步骤945处,应用130启动所选择的引擎135a。在步骤950处,所启动的引擎135a以所选择的格式来创建文档并且渲染该文档以用于经由显示器110向用户进行显示。在步骤955处,所启动的引擎135a从用户接收对所渲染文档的编辑。这些编辑可以根据方法800的步骤来被接收。在步骤960处,所启动的引擎135a将该文档根据所选择的格式保存至文件125a。在一些实施方式中,方法900可以被简化。在这些实施方式中,应用130可以在步骤915处向用户呈现引擎的列表,在步骤920处接收对引擎的选择,并且直接进行至步骤945,在该处应用130打开所选择的引擎。在一些实施方式中,引擎135a能够打开或复制空白模板文件以代替创建新的文件实例。
图10示出了客户端-服务器系统100,其包括云计算服务1002和多个客户端计算机1004a至1004d。云计算服务1002可以包括共同为大量客户端计算机提供云计算服务的一个或多个服务器。云计算服务1002存储可由客户端计算机1004a-1004d访问的多个文件,包括示例性的协同电子表格1006。用户可以创建、编辑、复制、分享、和删除存储在云计算服务1002上的文件。例如,客户端计算机1004a-1004d可以使用web浏览器来同时访问云计算服务1002·上的电子表格1006。云计算服务1002为每个客户端计算机提供电子表格1006的本地副本,用户可以在客户端计算机上对其进行查看和编辑。客户端计算机1004a所进行的编辑—另外被称为变动(mutation)—被自动发送至云计算服务1002并且被传送至其它的客户端计算机1004b-1004d。因此,由一个协作者所作出的变动立即被其它协作者看到。
客户端计算机1004a-1004d可以包括台式计算机、膝上型计算机、平板计算机、智能电话、数字电子设备、或者可以通过远程网络连接至云计算服务1002的任何其它设备。系统1000可以包括与云计算服务1002进行连接的许多客户端计算机。系统1000的云计算服务1002和客户端计算机1004a-1004d通过诸如互联网的远程网络进行连接。网络连接可以通过局域网、广域网、以太网、光纤网络、无线网络、蜂窝网络、交互式电视网络、电话网络、无线数据传输系统、双工线缆系统、定制的专用或公用计算机网络、交互式岗亭网络、直接链路、卫星网络,和/或任何其它的有线或无线连接。
图11是用于执行本文所描述的过程中任何一个的计算设备的框图,其诸如是图1-10的系统中的任何组件。这些系统中的组件中的每一个可以在一个或多个计算设备1100上实现。在某些方面,这些系统的多个组件可以被包括在一个计算设备1100内。在某些实施方式中,组件和存储设备可以跨若干计算设备1100来被实现。
计算设备1100包括至少一个通信接口单元、输入/输出控制器1110、系统存储器、以及一个或多个数据存储设备。该系统存储器包括至少一个随机存取存储器(RAM 1102)以及至少一个只读存储器(ROM 1104)。所有这些部件都与中央处理单元(CPU 1106)进行通信以促进计算设备1100的操作。计算设备1100可以以许多不同的方式进行配置。例如,计算设备1100可以是常规的独立计算机,或者替选地,计算设备1100的功能可以跨多个计算机系统和架构分布。替选地,计算机系统可以被虚拟化以提供多个计算设备1100的功能。在图11中,计算设备1100经由网络或本地网络来链接至其它服务器或系统。
计算设备1100可以以分布式架构来进行配置,其中数据库和处理器被容纳在分离的单元或位置中。一些单元执行主要处理功能并且最低限度地包含一般控制器或处理器以及系统存储器。在分布式架构实施方式中,这些单元中的每一个可以经由通信接口单元1108来被附接至通信集线器或端口(未示出),其充当与其它服务器、客户端或用户计算机以及其它相关设备的主要通信链路。通信集线器或端口自身可以具有最低限度的处理能力,主要充当通信路由器。各种通信协议可以是系统的一部分,包括但并不局限于:以太网、SAP、SASTM、ATP、BLUETOOTHTM、GSM和TCP/IP。
CPU 1106包括处理器,诸如一个或多个常规的微处理器以及一个或多个补充的协同处理器,诸如用于从CPU 1106卸载工作负荷的算术协同处理器。CPU 1106与通信接口单元1108和输入/输出控制器1100进行通信,CPU 1106通过其而与诸如其它服务器、用户终端或设备的其它设备进行通信。通信接口单元1108和输入/输出控制器1110可以包括多个通信信道以用于例如与其它处理器、服务器或客户端终端同时进行通信。
CPU 1106还与数据存储设备进行通信。该数据存储设备可以包括磁性、光学或半导体存储器的适当组合,并且例如可以包括RAM 1102、ROM 1104、闪存驱动器,诸如压缩盘的光盘,或者硬盘或驱动器。例如,CPU 1106和数据存储设备均可以完全位于单个计算机或其它计算设备内;或者通过以下通信介质互连:诸如USB端口、串行端口线缆、同轴线缆、以太网线缆、电话线、射频收发器或者其它类似的无线或有线介质或者以上的组合。例如,CPU1106可以经由通信接口单元1108来连接至数据存储设备。CPU 1106可以被配置来执行一个或多个特定处理功能。
例如,数据存储设备可以存储(i)用于计算设备1100的操作系统1112;(ii)适于依据本文所描述的系统和方法—特别是依据关于CPU 1106来详细描述的过程—对CPU 1106进行指引的一个或多个应用1114(例如,计算机程序代码或计算机程序产品);或者(iii)适于存储信息的数据库1116,其可以被利用来存储程序所需的信息。
例如,操作系统1112和应用1114可以以压缩、未编译和加密的格式进行存储,并且可以包括计算机程序代码。程序的指令可以从计算机可读介质而不是数据存储设备来被读入处理器的主存储器中,诸如从ROM 1104或者从RAM 1102。虽然程序中的指令序列的执行使得CPU 1106执行本文所描述的过程步骤,但是可以替代软件指令或者与之相结合来使用硬连线电路以用于实现本发明的过程。因此,所描述的系统和方法并不局限于硬件和软件的任何特定组合。
合适的计算机程序代码可以被提供以用于执行关于执行本文所描述的过程的一个或多种功能。该程序还可以包括程序元素,诸如操作系统1112、数据库管理系统和“设备驱动器”,其允许处理器经由输入/输出控制器1110来与计算机外围设备(例如,视频显示器、键盘、计算机鼠标等)相接口。
本文所使用的术语“计算机可读介质”指代非暂时性介质,其向计算设备1100的处理器(或者本文所描述设备的任何其它处理器)提供指令或参与提供指令以供执行。这样的介质可以采取许多形式,包括但并不局限于非易失性介质和易失性介质。例如,非易失性介质包括光盘、磁盘、或光磁盘,或者诸如闪存的集成电路存储器。易失性介质包括动态随机存取存储器(DRAM),其通常构成主存储器。例如,计算机可读介质的常见形式包括:软盘、柔性盘、硬盘、磁带、任何其它磁性介质、CD-ROM、DVD、任何其它光学介质、打孔卡、纸带、任何其它具有孔洞图案的物理介质、RAM、PROM、EPROM或EEPRAOM(电可擦除可编程只读存储器)、FLASH-EPROM、任何其它存储器芯片或盒式磁带,或者计算机能够从其进行读取的任何其它介质。
各种形式的计算机可读介质可以涉及向CPU 1106(或本文所描述的设备的任何其它处理器)携载一个或多个指令的一个或多个序列以供执行。例如,指令最初可以被承载于远程计算机(未示出)的磁盘上。该远程计算机能够将该指令加载至其动态存储器中并且通过以太网连接、线缆线路、或者甚至使用调制解调器的电话线来发送该指令。处于计算设备1100(例如,服务器)本地的通信设备能够在相应通信线路上接收数据并且将该数据置于用于该处理器的系统总线上。该系统总线将该数据携载至主存储器,该处理器从该处检索并执行该指令。主存储器所接收的指令可选地可以在被处理器执行之前或之后被存储在存储器中。此外,指令可以作为电、电磁或光学信号而经由通信端口被接收,其是承载各种类型的信息的无线通信或数据流的示例性形式。
将会显而易见的是,本文所描述的系统和方法的多个方面可以以附图所图示的实施方式中的许多不同形式的软件、固件、和硬件来实现。被用来实现与本文所描述的系统和方法的原则相符的方面的实际软件代码或专用控制硬件并不受到限制。因此,该系统和方法的操作和表现在没有引用特定软件代码的情况下来被描述—所要理解的是,本领域技术人员将能够基于本文的描述来设计软件和控制硬件以实现所述方面。
类似地,虽然操作在图中以特定顺序进行描绘,但是这并不应当被理解为要求这样的操作以所示出的特定顺序或连续顺序来执行,或者所有所图示的操作都要被执行,以达到所期望的结果。在某些环境中,多任务和并行处理可能是有利的。

Claims (24)

1.一种用于编辑处于本原格式的文档的计算机实现的方法,所述方法包括:
在运行第一应用的处理器处接收来自用户的打开使用第二应用以第一格式创建的文件的请求;
确定所述文件的所述第一格式;
从与所述第一应用相关联的多个引擎中选择一个引擎,其中,所选择的引擎被配置为编辑所述第一格式;
在所述第一应用中使用所选择的引擎打开所述文件,而无需将所述文件的格式转换为与所述第一应用相关联的第二格式;
在所述第一应用中由所选择的引擎渲染所述文件的内容,以用于在用户设备上向所述用户显示;
在所述第一应用中使用所选择的引擎来处理对处于所述第一格式的所述文件的编辑;以及
使用所述第一应用以所述第一格式将所编辑的文件保存至数据库。
2.根据权利要求1所述的方法,所述方法进一步包括向所述用户呈现包括所选择的引擎的特征编辑工具的用户界面。
3.根据权利要求1所述的方法,所述方法进一步包括:
确定所选择的引擎被配置为对所述文件的特征进行编辑;
在所述第一应用中由所选择的引擎渲染所述特征以用于在用户设备上向所述用户显示;
在所述第一应用中使用所选择的引擎来处理对处于所述第一格式的所渲染的特征的编辑;以及
使用所述第一应用以所述第一格式将对所述文件编辑的特征保存至数据库。
4.根据权利要求1所述的方法,所述方法进一步包括:
确定所选择的引擎没有被配置为对所述文件的第一特征进行编辑;
在所述第一应用中由所选择的引擎渲染所述第一特征以用于在用户设备上向所述用户显示;
阻止所述用户对所述第一特征的修改;
确定所选择的引擎被配置为对所述文件的第二特征进行编辑;
在所述第一应用中由所选择的引擎渲染所述第二特征以用于在用户设备上向所述用户显示;
在所述第一应用中使用所选择的引擎来处理对处于所述第一格式的所述第二特征的编辑;以及
使用所述第一应用以所述第一格式将对所述文件编辑的第二特征保存至所述数据库。
5.根据权利要求4所述的方法,所述方法进一步包括:
由所选择的引擎将与所述第一特征相对应的数据置于文档对象模型的节点中;
将所选择的引擎没有被配置为对所述第一特征进行编辑的特性与所述节点进行关联;以及
使用所述第一应用以所述第一格式将对所述文件放置的数据保存至所述数据库。
6.根据权利要求1所述的方法,所述方法进一步包括:
确定所选择的引擎没有被配置为渲染所述文件的特征;
将与所述特征相对应的数据置于文档对象模型的节点中;以及
将所选择的引擎没有被配置为渲染所述第一特征的特性与所述节点进行关联;
使用所述第一应用以所述第一格式将对所述文件放置的数据保存至所述数据库。
7.根据权利要求1所述的方法,其中,所述文件被存储在远离所述用户的服务器上。
8.根据权利要求1所述的方法,其中,所述选择进一步包括:
定位数据库中的所述第一格式;
确定引擎与所述第一格式相关联;以及
选择相关联的引擎。
9.根据权利要求1所述的方法,其中,所述确定进一步包括:
读取所述文件的一部分;
从所读取的部分中提取文件类型;以及
基于所提取的文件类型来确定所述文件的所述第一格式。
10.根据权利要求8所述的方法,进一步包括:
确定多个引擎与所述文件格式相关联;
向所述用户呈现多个名称,每个名称与所述多个引擎中的一个相对应;
从所述用户接收来自所述多个名称的所选择的名称;以及
选择与所选择的名称相关联的引擎。
11.根据权利要求1所述的方法,其中,所述保存包括以第三格式保存所述文件。
12.一种用于以格式创建文档的计算机实现的方法,所述方法包括:
在运行应用的处理器处接收来自用户的创建文件的请求;
确定与所述应用相关联的一个或多个引擎被配置为创建文件;
向所述用户呈现与所述一个或多个引擎相关联的格式的列表;
从所述用户接收对来自所呈现的列表的格式的选择;
使用与所述应用相关联并且与所选择的格式相关联的引擎来创建文档;以及
将使用所述应用以所选择的格式创建的文档保存至数据库。
13.一种用于编辑处于本原格式的文档的系统,包括处理器,所述处理器被配置为:
在运行第一应用的同时,接收来自用户的打开使用第二应用以第一格式创建的文件的请求;
确定所述文件的所述第一格式;
从与所述第一应用相关联的多个引擎中选择一个引擎,其中所选择的引擎被配置为编辑所述第一格式;
在第一应用中使用所选择的引擎来打开所述文件,而无需将所述文件的格式转换为与所述第一应用相关联的第二格式;
在所述第一应用中使用所选择的引擎渲染所述文件的内容,以用于在用户设备上向所述用户显示;
在所述第一应用中使用所选择的引擎来处理对处于所述第一格式的所述文件的编辑;以及
使用所述第一应用以所述第一格式将所编辑的文件保存至数据库。
14.根据权利要求13所述的系统,其中,所述处理器进一步被配置为向所述用户呈现包括所选择的引擎的特征编辑工具的用户界面。
15.根据权利要求13所述的系统,其中,所述处理器进一步被配置为:
确定所选择的引擎被配置为对所述文件的特征进行编辑;
在所述第一应用中使用所选择的引擎来渲染所述特征以用于在用户设备上向所述用户显示;
在所述第一应用中使用所选择的引擎来处理对处于所述第一格式的所渲染的特征的编辑;以及
使用所述第一应用以所述第一格式将对所述文件编辑的特征保存至数据库。
16.根据权利要求13所述的系统,其中,所述处理器进一步被配置为:
确定所选择的引擎没有被配置为对所述文件的第一特征进行编辑;
在所述第一应用中使用所选择的引擎来渲染所述第一特征以用于在用户设备上向所述用户显示;
阻止由所述用户对所述第一特征的修改;
确定所选择的引擎被配置为对所述文件的第二特征进行编辑;
在所述第一应用中使用所选择的引擎来渲染所述第二特征以用于在用户设备上向所述用户显示;
在所述第一应用中使用所选择的引擎来处理对处于所述第一格式的所述第二特征的编辑;以及
使用所述第一应用以第一格式将对所述文件编辑的第二特征保存至所述数据库。
17.根据权利要求16所述的系统,其中,所述处理器进一步被配置为:
使用所选择的引擎将与所述第一特征相对应的数据置于文档对象模型的节点中;
将所选择的引擎没有被配置为对所述第一特征进行编辑的特性与所述节点进行关联;以及
使用所述第一应用以所述第一格式将对所述文件放置的数据保存至所述数据库。
18.根据权利要求13所述的系统,其中,所述处理器进一步被配置为:
确定所选择的引擎没有被配置为渲染所述文件的特征;
将与所述特征相对应的数据置于文档对象模型的节点中;以及
将所选择的引擎没有被配置为渲染所述第一特征的特性与所述节点进行关联;
使用所述第一应用以所述第一格式将对所述文件放置的数据保存至所述数据库。
19.根据权利要求13所述的系统,其中,所述文件被存储在远离所述用户的服务器上。
20.根据权利要求13所述的系统,其中,所述处理器进一步被配置为:
定位数据库中的所述第一格式;
确定引擎与所述第一格式相关联;以及
选择相关联的引擎。
21.根据权利要求13所述的系统,其中,所述处理器进一步被配置为:
读取所述文件的一部分;
从所读取的部分中提取文件类型;以及
基于所提取的文件类型来确定所述文件的所述第一格式。
22.根据权利要求20所述的系统,其中,所述处理器进一步被配置为:
确定多个引擎与所述文件格式相关联;
向所述用户呈现多个名称,每个名称与所述多个引擎中的一个相对应;
从所述用户接收来自所述多个名称的所选择的名称;以及
选择与所选择的名称相关联的引擎。
23.根据权利要求13所述的系统,其中,所述处理器进一步被配置为以第三格式保存所述文件。
24.一种用于以格式创建文档的系统,包括处理器,所述处理器被配置为:
在运行应用的处理器处接收来自用户的创建文件的请求;
确定与所述应用相关联的一个或多个引擎被配置为创建文件;
向所述用户呈现与所述一个或多个引擎相关联的格式的列表;
从所述用户接收对来自所呈现的列表的格式的选择;
使用与所述应用相关联并且与所选择的格式相关联的引擎来创建文档;以及
使用所述应用以所选择的格式将所创建的文档保存至数据库。
CN201580036224.0A 2014-11-24 2015-11-20 用于使用应用引擎来编辑非本原应用中的文件的系统和方法 Active CN106471487B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/552,384 US9639511B2 (en) 2014-11-24 2014-11-24 Systems and methods for editing a file in a non-native application using an application engine
US14/552,384 2014-11-24
PCT/US2015/061986 WO2016085822A1 (en) 2014-11-24 2015-11-20 Systems and methods for editing a file in a non-native application using an application engine

Publications (2)

Publication Number Publication Date
CN106471487A true CN106471487A (zh) 2017-03-01
CN106471487B CN106471487B (zh) 2021-03-09

Family

ID=54979919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580036224.0A Active CN106471487B (zh) 2014-11-24 2015-11-20 用于使用应用引擎来编辑非本原应用中的文件的系统和方法

Country Status (4)

Country Link
US (1) US9639511B2 (zh)
CN (1) CN106471487B (zh)
DE (2) DE112015002695T5 (zh)
WO (1) WO2016085822A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726379A (zh) * 2018-12-28 2019-05-07 腾讯科技(深圳)有限公司 内容项编辑方法、装置、电子设备及存储介质
CN111414627A (zh) * 2019-01-04 2020-07-14 珠海金山办公软件有限公司 文件打开模式转换方法、装置、电子设备及存储介质
CN111433759A (zh) * 2017-12-12 2020-07-17 谷歌有限责任公司 在基于云的环境中管理对二进制文件预览视图的评论
US20210297495A1 (en) * 2016-10-24 2021-09-23 Palantir Technologies Inc. Automatic discovery and registration of service applications for files introduced to a user interface
CN117312434A (zh) * 2023-10-08 2023-12-29 北京皓宽网络科技有限公司 一种数据交换方法以及平台

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210455B2 (en) 2014-06-11 2021-12-28 Red Hat, Inc. Shareable and cross-application non-destructive content processing pipelines
US10997188B2 (en) 2015-03-23 2021-05-04 Dropbox, Inc. Commenting in shared folder backed integrated workspaces
US10108688B2 (en) 2015-12-22 2018-10-23 Dropbox, Inc. Managing content across discrete systems
JP6432500B2 (ja) * 2015-12-24 2018-12-05 ブラザー工業株式会社 表示装置、及び、印刷装置
CN106406889B (zh) * 2016-09-22 2019-10-25 广州华克力信息科技有限公司 适用于移动客户端的异构应用系统内容智能转换引擎
CN106776511A (zh) * 2016-11-11 2017-05-31 郑州云海信息技术有限公司 一种编辑文档保存方法及装置
US10970656B2 (en) 2016-12-29 2021-04-06 Dropbox, Inc. Automatically suggesting project affiliations
US10719807B2 (en) 2016-12-29 2020-07-21 Dropbox, Inc. Managing projects using references
US10402786B2 (en) 2016-12-30 2019-09-03 Dropbox, Inc. Managing projects in a content management system
US10747728B2 (en) 2017-08-10 2020-08-18 Microsoft Technology Licensing, Llc Edit and share unsupported files through instantly generated preview
CN107632905A (zh) * 2017-09-05 2018-01-26 江苏神州信源系统工程有限公司 一种用于安全u盘的文件防丢失方法和装置
US11226939B2 (en) 2017-12-29 2022-01-18 Dropbox, Inc. Synchronizing changes within a collaborative content management system
US10949272B2 (en) 2018-06-14 2021-03-16 Microsoft Technology Licensing, Llc Inter-application context seeding
US11100053B2 (en) 2018-11-06 2021-08-24 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US12001402B2 (en) * 2021-08-02 2024-06-04 Dell Products L.P. Dynamically selecting an application to open a file
WO2024102004A1 (en) * 2022-11-10 2024-05-16 Xero Limited Methods, systems and computer program products for synchronising data between multiple applications
DE102022213859A1 (de) 2022-12-19 2024-06-20 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Betrieb einer Brennstoffzellenanordnung

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1943192A (zh) * 2004-02-25 2007-04-04 诺基亚公司 用于处理展现语言消息的系统和装置
CN102156709A (zh) * 2011-02-28 2011-08-17 奇智软件(北京)有限公司 一种浏览器引擎模式的切换方法
CN102541939A (zh) * 2010-12-30 2012-07-04 上海量明科技发展有限公司 一种基于输入法的文档建立方法及系统
US20130104031A1 (en) * 2007-05-31 2013-04-25 Research In Motion Limited Method and apparatus for processing xml for display on a mobile device
US20130282755A1 (en) * 2012-04-23 2013-10-24 Google Inc. Associating a File Type with an Application in a Network Storage Service
US20140344247A1 (en) * 2013-05-14 2014-11-20 Google Inc. System and method for identifying applicable third-party applications to associate with a file

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7322013B1 (en) * 2001-10-25 2008-01-22 Adobe Systems Incorporated Launch and edit user interface improvements
US7409405B1 (en) * 2002-12-06 2008-08-05 Adobe Systems Incorporated File dispatcher for multiple application targets
US7752600B2 (en) * 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US8214439B2 (en) * 2005-12-06 2012-07-03 Microsoft Corporation Document object model API for MIME
US7788290B2 (en) * 2007-03-27 2010-08-31 Microsoft Corporation Automatic file conversion to a target format
US9176754B2 (en) * 2008-07-16 2015-11-03 Google Inc. Method and system for executing applications using native code modules
AU2011240695A1 (en) * 2010-04-12 2012-11-01 Google Inc. Real-time collaboration in a hosted word processor
US20110258535A1 (en) 2010-04-20 2011-10-20 Scribd, Inc. Integrated document viewer with automatic sharing of reading-related activities across external social networks
US8892994B2 (en) 2011-03-18 2014-11-18 Google Inc. System, method, and architecture for displaying a document
US20130111336A1 (en) * 2011-11-01 2013-05-02 Griffin Dorman Platform and application independent system and method for networked file access and editing
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1943192A (zh) * 2004-02-25 2007-04-04 诺基亚公司 用于处理展现语言消息的系统和装置
US20130104031A1 (en) * 2007-05-31 2013-04-25 Research In Motion Limited Method and apparatus for processing xml for display on a mobile device
CN102541939A (zh) * 2010-12-30 2012-07-04 上海量明科技发展有限公司 一种基于输入法的文档建立方法及系统
CN102156709A (zh) * 2011-02-28 2011-08-17 奇智软件(北京)有限公司 一种浏览器引擎模式的切换方法
US20130282755A1 (en) * 2012-04-23 2013-10-24 Google Inc. Associating a File Type with an Application in a Network Storage Service
US20140344247A1 (en) * 2013-05-14 2014-11-20 Google Inc. System and method for identifying applicable third-party applications to associate with a file

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210297495A1 (en) * 2016-10-24 2021-09-23 Palantir Technologies Inc. Automatic discovery and registration of service applications for files introduced to a user interface
US12003591B2 (en) * 2016-10-24 2024-06-04 Palantir Technologies Inc. Automatic discovery and registration of service applications for files introduced to a user interface
CN111433759A (zh) * 2017-12-12 2020-07-17 谷歌有限责任公司 在基于云的环境中管理对二进制文件预览视图的评论
CN111433759B (zh) * 2017-12-12 2024-06-11 谷歌有限责任公司 在基于云的环境中管理对二进制文件预览视图的评论
CN109726379A (zh) * 2018-12-28 2019-05-07 腾讯科技(深圳)有限公司 内容项编辑方法、装置、电子设备及存储介质
CN109726379B (zh) * 2018-12-28 2023-01-10 腾讯科技(深圳)有限公司 内容项编辑方法、装置、电子设备及存储介质
CN111414627A (zh) * 2019-01-04 2020-07-14 珠海金山办公软件有限公司 文件打开模式转换方法、装置、电子设备及存储介质
CN117312434A (zh) * 2023-10-08 2023-12-29 北京皓宽网络科技有限公司 一种数据交换方法以及平台
CN117312434B (zh) * 2023-10-08 2024-03-19 北京皓宽网络科技有限公司 一种数据交换方法以及平台

Also Published As

Publication number Publication date
DE112015002695T5 (de) 2017-03-16
DE202015009309U1 (de) 2017-01-30
US9639511B2 (en) 2017-05-02
WO2016085822A1 (en) 2016-06-02
US20160147722A1 (en) 2016-05-26
CN106471487B (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN106471487A (zh) 用于使用应用引擎来编辑非本原应用中的文件的系统和方法
CN108549623B (zh) 协作文档编辑控制方法、装置、电子设备及存储介质
US9060007B2 (en) System and methods for facilitating the synchronization of data
CN101983380B (zh) 文档的同步协作审阅
US20150193492A1 (en) Editing sub-section of an electronic document via notification message
US20100036860A1 (en) Data managment apparatus, data editing apparatus, and data reading apparatus and respective methods thereof
EP1816586A1 (en) Data processing system, data processing method, and management server
US9229920B1 (en) Compound undo/redo manager for mixed model edits
CN108197085A (zh) 一种投稿审稿方法和装置
US10331767B1 (en) Merging table cells via expansion in a collaborative document having row span and column span properties
CN105677646A (zh) 字库生成方法、字库生成系统和服务器
CN108363760A (zh) 基于b/s模型的ietm显示数据生成及离线控制方法
EP1826682A1 (en) Document managing device and document managing method
CN114139502A (zh) 文档内容处理方法、装置、设备及存储介质
CN114139503A (zh) 文档内容处理方法、装置、设备及存储介质
US10956659B1 (en) System for generating templates from webpages
CN110457668A (zh) 简化用户操作的基于b/s架构的表单处理方法及系统
US20160012028A1 (en) Content management system
CN110705209A (zh) 一种在线修改稿件的方法及其系统
JP2010026766A (ja) 情報処理装置、情報処理方法及びプログラム
US11657114B2 (en) Systems for executing an editor application for composing content of a content management system
US11468047B2 (en) Methods for executing an editor application for composing content of a content management system
KR20090017051A (ko) 웹 문서 변환 장치, 방법 및 기록매체
US20220292147A1 (en) Systems for executing an editor application for composing content of a content management system
CN106201337A (zh) 数据存储方法和装置

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
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant