CN102016833A - 使用潜在传送表面来修改文档的技术 - Google Patents
使用潜在传送表面来修改文档的技术 Download PDFInfo
- Publication number
- CN102016833A CN102016833A CN2009801157110A CN200980115711A CN102016833A CN 102016833 A CN102016833 A CN 102016833A CN 2009801157110 A CN2009801157110 A CN 2009801157110A CN 200980115711 A CN200980115711 A CN 200980115711A CN 102016833 A CN102016833 A CN 102016833A
- Authority
- CN
- China
- Prior art keywords
- media content
- document
- transmission
- request
- potential
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
描述了使用潜在传送表面来修改文档的技术。一种装置可包括包含用于将潜在传送表面嵌入到文档中的传送表面创建模块的文档编辑子系统。传送控制模块可通信耦合到传送表面创建模块。传送控制模块可用于接收传送文档的媒体内容的传送请求,并响应于该传送请求使用潜在传送表面来传送媒体内容。对其他实施例也予以描述并要求保护。
Description
背景
诸如文字处理应用程序等的应用程序传统上是安装在个人计算机上的、向存储在本地或基于网络的文件中的文档提供丰富的编辑和格式化功能的独立软件程序。这些应用程序一般非常大,从而需要许多兆字节的驱动器空间来进行安装。然而,最近的趋势是可能不能访问同一独立应用程序的远程的不同用户对文档的协作开发,并且其中这些文档可以存储在可以通过因特网访问的远程网络上。这造成了对可以经由常规万维网(“web”)浏览器传递的应用程序的开发,从而允许远程文档由用户在不需要安装传统独立应用程序的情况下通过网络来编辑。
提供基于web的应用程序功能的一种技术涉及开发利用许多web浏览器程序中可用的编辑特征的网页。这种技术具有小而快的优点,并且开发工作非常少。然而,这些web浏览器所提供的有限编辑特征一般不能与传统的独立应用程序的特征丰富能力相比。此外,可用的编辑特征在不同的web浏览器程序之间可能不同,从而使得难以跨所有web浏览器来提供一致的用户体验。
提供基于web的应用程序功能的另一技术是使用诸如来自SUNMICROSYSTEMS公司的JAVA、来自ADOBE SYSTEMS公司的FLASH、或异步JavaScript与XML(“AJAX”)等跨浏览器运行时技术来实现在浏览器内执行的完整的应用程序。尽管允许开发者完全控制该应用程序的特征和能力,但该方法一般涉及相当大的开发工作并且需要实现低层编辑功能,如按照用户所键入的将文本呈现在窗口中、将闪烁的光标移动通过文本、或用户键入的窗口的内容的恒定回流。另外,因为应用程序是以基于浏览器的运行时技术来执行的,所以在执行时它通常很慢并且可能不能提供充分响应的用户界面。
本发明的改进正是针对这些和其它考虑事项而需要的。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例一般涉及用于从远程设备通过网络修改、改变或以其他方式编辑文档的技术。在一实施例中,例如,一种装置可包括具有web浏览器的客户机设备。客户机设备可使用web浏览器通过网络从服务器检索应用程序,并在客户机设备处执行应用程序以使用web浏览器窗口来呈现文档。用户随后可经由web浏览器窗口来编辑文档,且一旦文档被修改,将修改的文档存储在服务器处。
客户机设备可使用新颖且增强的文档编辑子系统来一般地管理文档的编辑操作。在一实施例中,例如,文档编辑子系统可包括用于将潜在传送表面嵌入到文档中的传送表面创建模块。传送控制模块可通信耦合到传送表面创建模块。传送控制模块可用于接收传送文档的媒体内容的传送请求,并响应于该传送请求使用潜在传送表面来传送媒体内容。传送请求的示例可包括但不限于,复制传送请求、剪切传送请求、粘贴传送请求、粘贴特殊传送请求等。对其他实施例也予以描述并要求保护。
通过阅读以下详细描述并查阅相关联的附图,这些和其他特征和优点将是显而易见的。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的各方面。
附图简述
图1示出第一系统的一实施例。
图2示出文档编辑子系统的一实施例。
图3示出第二系统的一实施例。
图4示出逻辑流程的一实施例。
图5示出计算体系结构的一实施例。
图6示出了制品的一实施例。
详细描述
各实施例包括被安排成执行特定操作、功能或服务的物理或逻辑结构。这些结构可包括物理结构、逻辑结构或两者的组合。物理或逻辑结构使用硬件元件、软件元件或两者的组合来实现。然而,参考特定硬件或软件元件对各实施例的描述旨在作为示例而非限制。使用硬件还是软件元件来实际实施一实施例的决定取决于多个外部因素,诸如所需计算速率、功率级、热容忍度、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度、以及其他设计或性能约束。此外,物理或逻辑结构可具有对应的物理或逻辑连接以便在这些结构之间以电子信号或消息的形式传递信息。连接可包括如适于信息或特定结构的有线和/或无线连接。值得注意的是,任何对“一个实施例”或“一实施例”的引用都意味着结合该实施例所描述的特定的特征、结构、或特性被包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例中”不必全都指的是同一实施例。
各实施例一般涉及被安排成由客户机设备使用诸如web浏览器等的合适的通信界面来执行的基于服务器或基于web的应用程序。基于web的应用程序允许操作者在不需要客户机设备实现独立应用程序的情况下从客户机设备在线创建并编辑文档。此外,基于web的应用程序允许与其他操作者的实时协作。
应用程序可包括能够创建、修改、处理以及以其他方式管理文档的任何类型的应用程序。文档的示例可包括但不限于,文字处理文档、电子表格文档、个人信息管理器文档、演示文档、笔记文档、数据库文档、发布文档、数据条目文档、图文档、项目文档、表格文档、因特网文档、标记语言文档、超文本标记语言(HTML)文档、可扩展HTML(XHTML)、可扩展标记语言(XML)文档、通用标记语言(GML)文档、标准GML(SGML)文档、轻量标记语言(LML)文档、用户界面标记语言(UIML)、矢量图标记语言(VGML)文档、基于web的文档、在线文档、网页等等。应用程序的示例可包括但不限于与华盛顿州雷蒙德市微软公司制作的OFFICE生产性套件包括在一起的任何应用程序。在一实施例中,例如,应用程序可包括诸如MICROSOFT WORD等的文字处理程序。MICROSOFT WORD应用程序可被实现为MICROSOFT OFFICE LIVE或APPS所提供的基于web的应用程序。然而,各实施例不限于该示例。
在一实施例中,诸如文字处理程序等的应用程序是以跨浏览器运行时技术来实现的并且提供可与传统的独立文字处理程序的编辑特征相比的一组丰富的编辑特征。编辑特征可包括涉及各端点之间的媒体内容的传送的任何命令、指令或伪指令。编辑特征的示例可包括但不限于,复制命令、剪切命令、粘贴命令、粘贴特殊命令等。各端点之间的传送的示例可包括但不限于,文档和系统剪贴板之间、两个不同文档之间、应用程序之间、系统程序和应用程序之间、软件对象之间等的媒体内容的传送。应用程序可使用被设计成支持该应用程序的文档编辑子系统来实现编辑特征。文档编辑子系统可在网络的各个部分中实现,诸如服务器执行的基于web的应用程序的一部分、客户机设备执行的基于web的应用程序、诸如web浏览器等的通信界面、另一网络可访问的或客户机可访问的设备、或这些选项的组合。
常规的基于web的编辑工具由于若干原因是不令人满意的。例如,现有的基于web的编辑工具通常具有实现编辑特征的有限能力,尤其是对于导入和导出数据到系统剪贴板而言。这部分地由于web浏览器本身所施加的安全限制。因此编辑文档依赖于web浏览器所提供的编辑命令。例如,当向用户提供可编辑HTML表面时,随后可以将任何任意媒体内容粘贴到该表面中。在这种情况下,文字处理程序对于操作者粘贴的任意媒体内容的样式、格式化、以及布局具有有限的控制。此外,难以检测这种编辑操作并过滤在所有web浏览器中都起作用且现有应用程序正在使用的内容。对将媒体内容复制到系统剪贴板中存在类似的问题。web浏览器使用的选择模型通常是有限的。例如,操作者无法做出对文档的不同部分的同时选择,或做出对横跨诸如内联帧(IFrame)等的任何嵌入式内容的选择。此外,从源文档(例如,呈现为网页的文档)复制的媒体内容可能对于目标端点而言是不合适的格式。
为了解决这些和其他问题,各实施例包括被安排成提供可与独立文字处理程序相比的一组增强的编辑特征的文档编辑子系统。代替使用web浏览器所提供的编辑特征来实现低层编辑功能,文字处理程序可利用文档编辑子系统来实现各种编辑特征。具体地,文档编辑子系统可利用潜在传送表面来实现各种编辑特征。潜在传送表面被嵌入在文档中并被隐藏从而操作者无法查看。潜在传送表面可用作文档和系统剪贴板之间正在传送的媒体内容的中间存储结构。在一方面,潜在传送表面可被实现为HTML IFRAME元素等。
根据本文呈现的一个方面,可以使用潜在传送表面来编辑web浏览器内的文档。就此,在web浏览器中执行的文字处理程序在浏览器窗口中显示文档。只要文档编辑子系统接收到编辑请求(例如,剪切传送请求、复制传送请求、粘贴传送请求、粘贴特殊传送请求等),它就利用嵌入式潜在传送表面来方便或执行该编辑请求。一般地,文档编辑子系统将媒体内容传送到潜在传送表面、处理媒体内容、并随后将已处理的媒体内容传送给目标对象(例如,文档或系统剪贴板)。中间处理阶段允许所选媒体内容被变换或转换成适合于诸如响应于复制传送请求或剪切传送请求的系统剪贴板、响应于粘贴传送请求或粘贴特殊请求的文档等的目标端点的各种格式。各实施例不限于该上下文。
应当理解,上述主题也可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
图1示出系统100的框图。系统100可包括被设计成由单实体环境或多实体分布式环境实现的各种元件。视给定的一组设计参数或性能约束的需要,每一元件可被实现为硬件元件、软件元件、或其任意组合。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括任何软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、接口、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。
如此处所使用的,术语“系统”、“子系统”、“组件”和“模块”旨在指示计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现成,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。
图1中示出的实施例示出使用潜在传送表面130来编辑文档的系统100的不同方面。系统100包括计算机120,计算机120包括能够执行操作系统和一个或多个应用程序的标准台式或膝上型计算机系统。计算机120在操作上连接到显示器104、鼠标108、以及键盘110,以允许用户102与在计算机120上执行的系统和应用程序进行交互。计算机120通过诸如网络160等一个或多个局域网和广域网来互连到服务器计算机162。应该理解,可利用比图1中示出的多得多的网络连接。
计算机120可用于执行web浏览器122,web浏览器122在操作上经由网络160连接到服务器计算机162所执行的web服务器164。在一实施例中,web浏览器122是能够显示HTML文档的应用程序,如来自微软公司的INTERNET来自MOZILLA的FIREFOX、或来自APPLE公司的SAFARI等等。然而,本领域技术人员可以明白,可以使用能够呈现标记语言并执行脚本逻辑的任何类型的应用程序来实现web浏览器122。服务器计算机162可用作web服务器且包括能够向web浏览器122提供文档的任何软件程序。服务器计算机162还连接到包含文档和应用程序140的数据存储168,这将在以下更详细地描述。根据一实施例,这些文档可包括要提供给web浏览器122的文档128。例如,文档128可包括web浏览器122所呈现的HTML文档。在计算机120的用户102请求时,web浏览器122可用于从web服务器164检索文档128并将其呈现在显示器104的窗口106中以呈现给用户102。
如上所简要讨论的,系统100还包括诸如文字处理程序等的应用程序140。应用程序140可用于允许计算机120的用户102编辑窗口106中的文档128的内容。根据一实施例,应用程序140能够在web浏览器122所提供的运行时环境内执行。例如,可以使用AJAX开发技术来创建应用程序140。
在一实施例中,从web服务器164中检索应用程序140连同要编辑的文档128。在替换实施例中,应用程序140可驻留在计算机120本地。应用程序140包括应用程序模块148,应用程序模块148包括用于向用户102提供给定的一组功能(例如,文字处理)的应用程序逻辑。在一实施例中,应用程序140维护在内部文档图像150中编辑的文档的内容。在其他实施例中,应用程序140维护在文档128中直接编辑的文档的内容。显示呈现器124呈现文档128以供显示。例如,显示呈现器124可被实现为HTML呈现器。
在一实施例中,应用程序140包括监视来自用户输入处理器126的用户输入事件的事件处理模块146。如以下将参考图2详细描述的,事件处理模块146可用于检测用户102将插入指针置于并移动到文档128(如在窗口106中显示的)中的一个或多个位置处。事件处理模块146还可用于在编辑文档内容期间监视用户输入事件。例如,事件处理模块146可在准备编辑命令时检测对文档128中的媒体内容的一个或多个部分的选择。
计算机120可使用被安排成一般管理诸如文档128等的文档的编辑操作和编辑特征的改进的文档编辑子系统200。具体地,文档编辑子系统200可利用潜在传送表面130来支持或实现各种编辑特征。文档编辑子系统200按照保持其不可见或隐藏从而用户102无法查看的方式将潜在传送表面130嵌入到文档128中。文档编辑子系统200可将潜在传送表面130用作文档128和系统剪贴板之间正在传送的媒体内容的中间存储结构。
潜在传送表面130可包括适于与显示呈现器124所使用的给定标记语言一起使用以在显示器104上的浏览器窗口106中呈现文档128以便呈现给用户102的可编辑帧。此外,潜在传送表面是隐藏的、潜在的或不可见的,所以用户120在查看浏览器窗口106中的文档128的同时无法查看或感知该可编辑帧。在一实施例中,例如,潜在传送表面130可被实现为HTML IFRAME元素等。也可以使用对用户102不可见的且适于与特定文档一起使用的任何可编辑帧来作为潜在传送表面130。各实施例不限于该上下文。
潜在传送表面130可用作用户102粘贴到文档128中的媒体内容的暂存或临时存储,以及呈现用于复制或剪切命令的所选内容的地方。使用不可见的或潜在的传送表面130允许每一文档128临时地存储正被传送给文档128或正从文档128传送的媒体内容。文档编辑子系统200可监视潜在传送表面130,并检测媒体内容何时已经被暂存入潜在传送表面130。文档编辑子系统200随后可将潜在传送表面130所存储的媒体内容变换或转换成适于目标端点(例如,系统剪贴板或文档)的格式。以此方式,文档编辑子系统200和潜在传送表面130允许应用程序140控制正使用粘贴命令或粘贴特殊命令从系统剪贴板142插入到文档128中的媒体内容,以及正使用复制命令或剪切命令从文档128复制或移动到系统剪贴板142的媒体内容的格式化。这种类型的模型和典型web浏览器实现的编辑特征所提供的默认行为之间的区别在于文档编辑子系统200维持对所选媒体内容的完全控制,这允许文档编辑子系统200操纵媒体内容的样式、格式化、布局和其他格式化方面,而不是限于web浏览器所提供的那些编辑特征和控制。
在一实施例中,例如,文档编辑子系统200可使用潜在传送表面130来处理粘贴和粘贴特殊命令。具体地,文档编辑子系统200可将潜在传送表面130实现为在显示器104的窗口106中呈现为网页的文档128上的新HTML元素。通过程序上将焦点放置在潜在传送表面130中,触发粘贴命令的用户动作会把媒体内容放置在潜在传送表面130中。术语“焦点”指的是给定文档中的插入点或当前选择的位置。可以监视潜在传送表面130的内容来检测粘贴操作何时发生。当发生粘贴操作时,可以检查潜在传送表面130的内容并将其变换成适于文档128的格式。在变换了数据之后,将其插入到文档128的用户视图中。以此方式,可以维持对出现在网页上的媒体内容的控制,且可以保留关于已经对文档128做出的编辑的信息。
在一实施例中,例如,文档编辑子系统200还可使用潜在传送表面130来处理复制、移动和剪切命令。当用户102使用诸如键盘或鼠标等的输入设备来选择文档128中的某些媒体内容时,文档编辑子系统200确定用户想要选择什么媒体内容。文档编辑子系统200随后改变所选媒体内容的格式化来指示其被选择(例如,文本上的蓝色背景)。文档编辑子系统200将潜在传送表面130的内容设为代表用户102所选择的确切数据的HTML代码或其他代码的运行。文档编辑子系统200通过程序将文档128中的焦点设为指向潜在传送表面130的内容。结果,当用户102执行复制命令时,系统剪贴板142将由文档编辑子系统200所生成的媒体内容来填充。
图2示出了文档编辑子系统200的更详细的框图。文档编辑子系统200可包括多个组件和/或模块。在图2中示出的所示实施例中,文档编辑子系统200可包括编辑管理器组件220、存储组件230、和输入/输入(I/O)组件240。这些组件和/或模块可使用硬件元件、软件元件或硬件元件和软件元件的组合来实现。虽然如图2所示的文档编辑子系统200具有呈特定拓扑结构的有限数量的元件,但可以理解,文档编辑子系统200视给定实现所需可包括呈替换拓扑结构的更多或更少的元件。
编辑管理器组件220可被安排成接收事件消息队列222处的各种输入事件消息202。事件消息队列222可包括用于处理事件消息的一个或多个队列。在一实施例中,例如,事件消息队列222可处理带有不同优先级的事件消息。事件处理模块146可使用事件消息队列222来处理各种事件消息202。
编辑管理器组件202可包括控制逻辑224。控制逻辑224可被安排成基于配置信息206来控制编辑管理器组件220的操作。例如,控制逻辑224可执行算法、逻辑流或状态机来对响应于各种输入事件消息202从各种输入子系统接收的输入数据执行各种操作。控制逻辑224可基于配置信息206来处理输入数据。控制逻辑224还可生成各种输出事件消息204,并将输出事件消息204发送到事件调度器和分派器226。
编辑管理器组件220可包括事件调度器和分派器226。事件调度器和分派器226可被安排成启动对其他外部实体的事件,并分派编辑管理器组件220中的内部事件和消息。例如,事件调度器和分派器226将响应于输入事件消息202的各种输出事件消息204发送给系统100的其他系统、子系统、组件或模块。
在一实施例中,文档编辑子系统200可包括存储组件230。存储组件230可被安排成与数据存储和逻辑一起来管理用于编辑管理器组件220的存储操作。存储组件230可将编辑管理器组件220所使用的临时或非事务信息存储在临时数据存储232中。例如,临时或非事务信息可在临时数据存储232中被存储为可扩展标记语言(XML)、二进制文件、或某一其他格式。存储组件230可将编辑管理器组件220所使用的持久或事务信息存储在永久数据存储234中。数据存储232、234可分别包括单独的数据存储,或构成诸如存储区域网络(SAN)等的更大数据存储阵列的一部分的多个数据存储。此外,存储组件230和数据存储232、234在需要满足系统等待时间和容量参数的情况下可实现适当的数据缓存和高速缓存的技术和结构。存储组件230还管理用于日志记录和审计存储的操作。
在一实施例中,文档编辑子系统200可包括I/O组件240。I/O组件240可被安排成与缓冲区和逻辑一起来管理在整个文档编辑子系统200内移动信息的传输和I/O操作。例如,I/O组件240可包括从输入子系统接收并存储输入数据208的一个或多个输入数据缓冲区242。编辑管理器组件220中的一个或多个模块可处理输入数据208来形成已处理的数据,并将其发送到一个或多个输出数据缓冲区246。输出数据缓冲区246可被安排成存储输出数据并将其发送给输出子系统。数据管理器244可实现逻辑和网络接口(例如,web服务接口)来控制并管理数据收集服务和数据分发服务。I/O组件240可实现一个或多个变换缓冲区248来将输入数据208和/或已处理的数据从一种格式、数据模式或协议变换成替换格式、数据模式或协议。
在通用操作中,文档编辑子系统200可利用计算机120所执行的web浏览器122来实现应用程序140的各种编辑特征。更具体地,文档编辑子系统200可使用潜在传送表面130来支持编辑特征。这可以通过使用若干编辑模块228-1-p来实现。在图2示出的说明实施例中,编辑模块228-1-p可包括传送表面创建模块228-1、传送控制模块228-2、以及媒体内容变换模块228-3。虽然在图2中作为示例而非限制地示出特定数量的编辑模块228-1-p,但可以理解,视给定实现所需的各组创新市场运作,可以实现更多或更少的模块。各实施例不限于该上下文。
传送表面创建模块228-1一般可用于创建潜在传送表面130并将其嵌入到文档128中。潜在传送表面130可用作允许文档编辑子系统200控制到和从基于web的应用程序140的媒体内容的导入和导出的临时存储结构。潜在传送表面130是由应用程序140控制的但实际上对应用程序140的用户102不可见的可编辑帧(例如,IFrame)。潜在传送表面130用作用户102、web浏览器122、应用程序、或某一其他实体或对象发出的编辑命令的中间目的地位置。
传送表面创建模块228-1可在各个阶段处创建潜在传送表面130。例如,传送表面创建模块228-1可在用户102启动应用程序140时创建潜在传送表面130。在另一示例中,传送表面创建模块228-1可在显示呈现器124在浏览器窗口106中呈现文档128时创建潜在传送表面130。在任一情形中,一旦创建了潜在传送表面130,应用程序140维持对其的引用。
潜在传送表面130可包括适于与显示呈现器124所使用的给定标记语言一起使用来在显示器104上的浏览器窗口106中呈现文档128以供向用户102呈现的可编辑帧。在一实施例中,例如,潜在传送表面130可被实现为HTMLIFRAME元素等。此外,潜在传送表面是隐藏的或不可见的,所以用户120在查看浏览器窗口106中的文档128的同时无法查看或感知该可编辑帧。
传送控制模块228-2可通信耦合到传送表面创建模块228-1。传送控制模块228-2一般可被安排成使用潜在传送表面130来控制文档编辑子系统200的传送操作。在一实施例中,例如,传送控制模块228-2可接收事件处理模块146所截取的传送文档128的媒体内容的传送请求。随后传送控制模块228-2响应于该传送请求可以使用潜在传送表面130来协调媒体内容的传送。传送请求的示例可包括但不限于,诸如复制传送请求、剪切传送请求、粘贴传送请求、粘贴特殊传送请求等的任何合适的编辑命令。
传送控制模块228-2可用于响应于复制传送请求或剪切传送请求将媒体内容从文档128传送到潜在传送表面130。传送控制模块228-2为文档编辑子系统200提供选择和复制支持。传送控制模块228-2跟踪并处理用户102的键盘和鼠标动作来确定用户102已经选择了文档128中的什么媒体内容。作为对比,常规的web浏览器通常选择基于web的应用程序的内容。然而,传送控制模块228-2在此时介入并维持对用户102正试图选择文档128上的哪些对象(文本、图像等)的跟踪。传送控制模块228-2会在视觉上用某种可感知的方式将此向用户102显示,诸如改变文本上的背景颜色、加亮图像周围的边框、以及其他适当的图形用户界面(GUI)技术。
几乎在同一时刻,传送控制模块228-2会将所选媒体内容呈现在潜在传送表面130中。这可以通过例如在潜在传送表面130内部创建适当的HTML树来实现。这允许应用程序140按照与目标端点所使用的当前格式化特征兼容的方式来呈现媒体内容。例如,假设文档128上的选择包括表格内部的文本串。取决于目标,传送控制模块228-2可任选地选择是否将周围表格作为呈现在潜在传送表面130中的媒体内容的一部分来包括。例如,当周围表格被用于页面上的元素的逻辑关联时,传送控制模块228-2可包括周围表格,如果周围表格仅用于布局目的,则传送控制模块228-2排除周围表格,等等。
一旦传送控制模块228-2确定潜在传送表面130所存储的所选内容的呈现,则传送控制模块228-2可使用javascript代码或某一其他合适的技术来指示web浏览器122将媒体内容标记为已选择。视觉上,该动作对用户102隐藏。相反,用户102将只看到如上所述的选择指示的可视元素。此时,用户102可通过按下键盘快捷方式、使用右击上下文菜单、浏览器编辑菜单等来决定是否发出复制命令或剪切命令。当发出复制/剪切命令时,传送控制模块228-2会将已变换的媒体内容从潜在传送表面130传送到系统剪贴板142。以此方式,传送控制模块228-2可用于精确地确定什么媒体内容要被传递到系统剪贴板142,而非限于web浏览器122所提供的编辑特征。
传送控制模块228-2可用于响应于粘贴传送请求将媒体内容从系统剪贴板传送到潜在传送表面130,并将任何已变换的媒体内容从潜在传送表面传送到文档128。传送控制模块228-2为文档编辑子系统200提供粘贴和过滤支持。在web浏览器122或独立应用程序中,文档128的焦点在任何给定时刻只能存在于一个位置。如前所述,传送控制模块228-2将焦点置于潜在传送表面130内部来允许复制或剪切操作。类似地,潜在传送表面130还可用作粘贴和粘贴特殊操作的目标。当用户发出粘贴或粘贴特殊命令时,传送控制模块228-2通过显式通知或定期检查潜在传送表面130的内容来检测这种情况。当传送控制模块228-2检测潜在传送表面130中的媒体内容时,传送控制模块228-2可发出用于媒体内容变换模块228-3的伪指令。
媒体内容变换模块228-3可通信耦合到传送控制模块228-2。媒体内容变换模块228-3一般可用于将潜在传送表面130所存储的媒体内容从第一格式变换成第二格式。这可以通过例如使用数据管理器244和变换缓冲区248来实现。
因为潜在传送表面130是文档128的隐藏元素,所以用户120最初不能在给出编辑命令之后立即查看媒体内容。这允许媒体内容变换模块228-3有时间将潜在传送表面中的媒体内容从源格式转换或变换成目的地格式。结果,应用程序140响应于粘贴/粘贴特殊命令来维持对文档128的样式和布局的控制,或对从文档128传送到系统剪贴板142的媒体内容的样式和布局的控制。媒体内容变换模块228-3解析传送到潜在传送表面130中的媒体内容,并将该媒体内容转换成该媒体内容所表示的一种适当的数据表示。例如,当文本被传送到潜在传送表面130时,在存储器中创建TextRunNode(文本串节点)。如果所粘贴的媒体内容中的文本用指示加粗文本的HTML<B>标签来格式化,则媒体内容变换模块228-3会在TextRunNode上设置指示文本呈现为粗体的属性,等等。这对于一般应用程序140,尤其是文档编辑子系统200所支持的所有各种类型的HTML节点进行。一旦完成变换操作,媒体内容变换模块228-3通知传送控制模块228-2,传送控制模块228-2随后更新实际文档128来包括以用户102可见的方式新呈现的媒体内容。
通过在编辑操作中间介入,文档编辑子系统200提供应用用户102和/或应用程序140所需的任何格式化的机会。例如,所传送的媒体内容可被变换成匹配当前为文档128实现的默认外观,以剥离不需要的媒体内容,等等。以此方式,应用程序140可维持对文档128的布局和格式化的严格控制。
图3示出系统300的一实施例。系统300示出执行编辑命令时涉及的某些元件之间的逻辑数据流。
如图3所示,文档编辑子系统200可经由web浏览器122从用户102接收对所选内容332的复制传送请求310。传送控制模块228-2可接收复制传送请求310,并将所选内容332从文档128传送到潜在传送表面130。潜在传送表面130可将所选内容332存储为临时内容334。或者,可使用web浏览器122的编辑控件来选择并传送所选内容332。在这种情况下,文档编辑子系统200可经由事件处理模块146来截取来自web浏览器122的控制伪指令。在任一情形中,传送控制模块228-2可检测潜在传送表面130具有准备变换的媒体内容,并相应地通知媒体内容变换模块228-3。
媒体内容变换模块228-3从传送控制模块228-2接收通知并启动变换操作。媒体内容变换模块228-3为临时内容334确定适当的格式。这可以用多个不同的方式来实现。例如,媒体内容变换模块228-3可存储对应于不同目标端点的不同变换模块。媒体内容变换模块228-3可为临时内容334确定目标端点、检索相应的变换模块、并使用所检索的变换模块将临时内容334变换成适于不同目标端点的不同格式。当媒体内容的目的地为多个端点或当其与传统系统一起使用时,这可能是合适的。另外地或另选地,媒体内容变换模块228-3可将临时内容334变换成对于所有目标端点可接受的标准或通用格式。当媒体内容的目的地是具有相同能力的端点时,这可能是合适的。媒体内容变换模块228-3可使用变换缓冲区248来支持变换操作。
一旦完成变换操作,媒体内容变换模块228-3通知传送控制模块228-2。传送控制模块228-2将已变换的媒体内容传送到诸如系统剪贴板142等的目标端点。系统剪贴板142现在存储诸如HTML代码串等格式的内容336,其被设计成按照与最初从文档128复制或剪切的所选内容332类似的方式来呈现所存储的内容336。
类似地,文档编辑子系统200可经由web浏览器122从用户102接收对所存储的内容322的粘贴传送请求312。传送控制模块228-2可接收粘贴传送请求312,并将所存储的内容332从系统剪贴板142传送到潜在传送表面130。潜在传送表面130可将所选内容332存储为临时内容324。或者,web浏览器122的编辑控件可用于传送所存储的内容322。在这种情况下,文档编辑子系统200可经由事件处理模块146截取来自web浏览器122的控制伪指令。在任一情形中,传送控制模块228-2可检测潜在传送表面130具有准备变换的媒体内容,并相应地通知媒体内容变换模块228-3。
媒体内容变换模块228-3从传送控制模块228-2接收通知并启动变换操作。媒体内容变换模块228-3为临时内容324确定适当的格式。这可以通过参考复制传送请求310所描述的类似的方式来实现,但伴有某些例外。然而,因为在这种情况下临时内容324的目标端点是文档128,媒体内容变换模块228-3可将所存储的内容322的不同格式变换成文档128当前所使用的特定格式。这可导致更多的多对一类型的格式变换操作而不是多对多类型的格式变换操作。
一旦完成变换操作,媒体内容变换模块228-3通知传送控制模块228-2。传送控制模块228-2将已变换的媒体内容传送到诸如文档128等的目标端点。文档128随后按照与文档128兼容的样式和格式为用户102显示所粘贴的内容326。
上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。而且,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替换元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。
图4示出逻辑流程400的一个实施例。逻辑流程400可表示由在此所描述的一个或多个实施方式所执行的操作中的部分或全部。
在图4示出的所示实施例中,在框402处,逻辑流程400可以将潜在传送表面嵌入到文档中。例如,传送表面创建模块228-1可创建潜在传送表面130并将其嵌入到文档128中。这可以在启动应用程序140或为应用程序140生成新文档期间发生。传送创建模块228-1可为潜在传送表面130创建引用,并将该引用传送到传送控制模块228-2。
逻辑流程400可在框404处接收传送文档的媒体内容的传送请求。例如,传送控制模块228-1可接收将文档128的媒体内容(322、332)传送到诸如文档128、系统剪贴板142、或其他端点等的目标端点的传送请求(310、312)。传送控制模块228-1可经由事件处理模块146来截取来自web浏览器122的传送请求。
逻辑流程400在框406处响应于该传送请求可以使用潜在传送表面来传送媒体内容。例如,传送控制模块228-1响应于传送请求(310、312)可使用潜在传送表面130来传送媒体内容(322、332)。在许多情况下,媒体内容(322、332)可包括具有与目标端点(128、142)兼容的格式的已变换的媒体内容(324、344)。
图5还示出适于实现各种实施例的计算体系结构510的更详细的框图,如计算机120、服务器计算机162等等。在基本配置中,计算体系结构510通常包括至少一个处理单元532和存储器534。存储器534可以使用能够存储数据的任何机器可读或计算机可读介质来实现,包括易失性和非易失性存储器。例如,存储器534可以包括只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其它类型的介质。如图5所示,存储器534可存储各种软件程序,诸如一个或多个软件程序536-1-t和附带数据。取决于实现,软件程序536-1-t的示例可包括系统程序536-1(例如,操作系统)、应用程序536-2(例如,web浏览器122、应用程序140等)、文档编辑子系统200等。
计算体系结构510还可具有除其基本配置之外的附加特征和/或功能。例如,计算体系结构510可包括可移动存储538和不可移动存储540,这些存储还可包括如上所述的各种类型的机器可读或计算机可读介质。计算体系结构510还可具有一个或多个输入设备544,如键盘、鼠标、笔、语音输入设备、触摸输入设备、测量设备、传感器等。计算体系结构510还可包括一个或多个输出设备542,诸如显示器、扬声器、打印机等。
计算体系结构510还可包括允许计算体系结构510与其他设备进行通信的一个或多个通信连接546。通信连接546可表示,例如用于通信组件116-1-v的通信接口。通信连接546可以包括各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。此处使用的术语机器可读介质和计算机可读介质旨在包括存储介质和通信介质两者。
图6示出了适用于存储包括逻辑流程400在内的用于各实施例的逻辑的制品600的图示。如图所示,制品600可包括用于存储逻辑604的存储介质602。存储介质602的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑604的示例可包括各种软件元件,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。
例如,在一个实施例中,制品600和/或计算机可读存储介质602可存储包括可执行计算机程序指令的逻辑604,这些指令在被计算机执行时使该计算机执行根据所述实施例的方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可使用任何合适的高级、低级、面向对象、可视、已编译和/或已解释编程语言来实现,诸如C、C++、Java、BASIC、Perl、Matlab、Pascal、Visual BASIC、汇编语言等。
各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括如先前关于逻辑设备所提供的任何示例,且还可以包括微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的示例可以包括软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。
要强调的是,提供了本发明的摘要以符合37C.F.R.1.72(b)节,该节要求可使读者快速确定本技术公开的特性的摘要。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施方式中。此公开方法将不被解释为反映所要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施方式的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施方式。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上文所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。
Claims (15)
1.一种方法,包括:
将潜在传送表面(130)嵌入(402)到文档(128)中;
接收(404)传送所述文档的媒体内容的传送请求(310、312);以及
响应于所述传送请求使用所述潜在传送表面来传送(406)所述媒体内容。
2.如权利要求1所述的方法,其特征在于,包括在完成所述传送请求之前将所述媒体内容传送到用于中间数据变换操作的所述潜在传送表面。
3.如权利要求1或2所述的方法,其特征在于,包括将所述潜在传送表面所存储的所述媒体内容从第一格式变换成第二格式。
4.如权利要求1到3中任一项所述的方法,其特征在于,包括接收将所述媒体内容从所述文档复制到系统剪贴板(142)的复制传送请求,或将所述媒体内容从所述文档移动到系统剪贴板(142)的剪切传送请求。
5.如权利要求1到4中任一项所述的方法,其特征在于,包括响应于复制传送请求或剪切传送请求将所述媒体内容从所述文档传送到所述潜在传送表面。
6.如权利要求1到5中任一项所述的方法,其特征在于,包括将已变换的媒体内容从所述潜在传送表面传送到系统剪贴板(142)。
7.如权利要求1到6中任一项所述的方法,其特征在于,包括接收将所述媒体内容从系统剪贴板(142)粘贴到所述文档的粘贴传送请求。
8.如权利要求1到7中任一项所述的方法,其特征在于,包括响应于粘贴传送请求将所述媒体内容从系统剪贴板(142)粘贴到所述潜在传送表面。
9.一种包括包含指令的机器或计算机可读存储介质的制品,所述指令在被执行时使得一系统能够实现如权利要求1到8中的任一项所述的方法。
10.一种装置,包括:
用于管理用于文档(128)的编辑操作的文档编辑子系统(200),所述文档编辑子系统包括:
用于将潜在传送表面(130)嵌入到所述文档中的传送表面创建模块(228-1);以及
通信耦合到所述传送表面创建模块的传送控制模块(228-2),所述传送控制模块用于接收传送所述文档的媒体内容的传送请求(310、312),并响应于所述传送请求使用所述潜在传送表面来传送所述媒体内容。
11.如权利要求10所述的装置,其特征在于,所述传送控制模块用于在完成所述传送请求之前将所述媒体内容传送到用于中间数据变换操作的所述潜在传送表面。
12.如权利要求10或11所述的装置,其特征在于,包括通信耦合到所述传送控制模块的媒体内容变换模块(228-3),所述媒体内容变换模块用于将所述潜在传送表面所存储的所述媒体内容从第一格式变换成第二格式。
13.如权利要求10到12中的任一项所述的装置,其特征在于,所述传送控制模块用于响应于复制传送请求或剪切传送请求将所述媒体内容从所述文档传送到所述潜在传送表面,并将已变换的媒体内容从所述潜在传送表面传送到系统剪贴板(142)。
14.如权利要求10到13中的任一项所述的装置,其特征在于,所述传送控制模块用于响应于粘贴传送请求将所述媒体内容从系统剪贴板(142)传送到所述潜在传送表面,并将已变换的媒体内容从所述潜在传送表面传送到所述文档。
15.如权利要求10到14中的任一项所述的装置,其特征在于,包括具有web浏览器(122)的客户机设备(120),所述客户机设备使用所述web浏览器通过网络(160)从服务器(162)检索应用程序(140),在所述客户机设备处执行所述应用程序以使用web浏览器窗口来呈现所述文档,并使用所述文档编辑子系统来编辑所述文档。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/110,351 | 2008-04-28 | ||
US12/110,351 US9507651B2 (en) | 2008-04-28 | 2008-04-28 | Techniques to modify a document using a latent transfer surface |
PCT/US2009/039388 WO2009134583A2 (en) | 2008-04-28 | 2009-04-03 | Techniques to modify a document using a latent transfer surface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102016833A true CN102016833A (zh) | 2011-04-13 |
CN102016833B CN102016833B (zh) | 2013-08-14 |
Family
ID=41216269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801157110A Active CN102016833B (zh) | 2008-04-28 | 2009-04-03 | 使用潜在传送表面来修改文档的技术 |
Country Status (15)
Country | Link |
---|---|
US (3) | US9507651B2 (zh) |
EP (1) | EP2269146B1 (zh) |
JP (1) | JP5550636B2 (zh) |
KR (1) | KR101782163B1 (zh) |
CN (1) | CN102016833B (zh) |
AU (1) | AU2009241481B2 (zh) |
BR (1) | BRPI0909213B1 (zh) |
CA (1) | CA2718119C (zh) |
ES (1) | ES2616659T3 (zh) |
IL (1) | IL208050A0 (zh) |
MX (1) | MX2010011403A (zh) |
RU (1) | RU2507573C2 (zh) |
SG (1) | SG190604A1 (zh) |
WO (1) | WO2009134583A2 (zh) |
ZA (1) | ZA201006414B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9507651B2 (en) * | 2008-04-28 | 2016-11-29 | Microsoft Technology Licensing, Llc | Techniques to modify a document using a latent transfer surface |
US8656290B1 (en) * | 2009-01-08 | 2014-02-18 | Google Inc. | Realtime synchronized document editing by multiple users |
US8639762B2 (en) * | 2009-03-23 | 2014-01-28 | Google Inc. | Providing access to a conversation in a hosted conversation system |
US8527602B1 (en) | 2009-05-28 | 2013-09-03 | Google Inc. | Content upload system with preview and user demand based upload prioritization |
US9602444B2 (en) | 2009-05-28 | 2017-03-21 | Google Inc. | Participant suggestion system |
US9021386B1 (en) | 2009-05-28 | 2015-04-28 | Google Inc. | Enhanced user interface scrolling system |
US8171390B1 (en) * | 2009-10-22 | 2012-05-01 | Intuit Inc. | Method and system for viewing and transferring data between documents |
US9135312B2 (en) | 2009-11-02 | 2015-09-15 | Google Inc. | Timeslider |
US8555187B2 (en) * | 2010-02-16 | 2013-10-08 | Google Inc. | Server-based data sharing in computer applications using a clipboard |
US8510399B1 (en) | 2010-05-18 | 2013-08-13 | Google Inc. | Automated participants for hosted conversations |
US9026935B1 (en) | 2010-05-28 | 2015-05-05 | Google Inc. | Application user interface with an interactive overlay |
US9380011B2 (en) | 2010-05-28 | 2016-06-28 | Google Inc. | Participant-specific markup |
DE202011110895U1 (de) | 2010-11-02 | 2017-01-31 | Google Inc. | Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen |
US11611595B2 (en) | 2011-05-06 | 2023-03-21 | David H. Sitrick | Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input |
US10402485B2 (en) | 2011-05-06 | 2019-09-03 | David H. Sitrick | Systems and methodologies providing controlled collaboration among a plurality of users |
US9372833B2 (en) * | 2012-09-14 | 2016-06-21 | David H. Sitrick | Systems and methodologies for document processing and interacting with a user, providing storing of events representative of document edits relative to a document; selection of a selected set of document edits; generating presentation data responsive to said selected set of documents edits and the stored events; and providing a display presentation responsive to the presentation data |
US10095663B2 (en) | 2012-11-14 | 2018-10-09 | Amazon Technologies, Inc. | Delivery and display of page previews during page retrieval events |
US9898520B2 (en) * | 2014-03-25 | 2018-02-20 | Open Text Sa Ulc | Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents |
US11169666B1 (en) | 2014-05-22 | 2021-11-09 | Amazon Technologies, Inc. | Distributed content browsing system using transferred hardware-independent graphics commands |
US9454515B1 (en) | 2014-06-17 | 2016-09-27 | Amazon Technologies, Inc. | Content browser system using graphics commands and native text intelligence |
US10318618B2 (en) * | 2014-06-18 | 2019-06-11 | Microsoft Technology Licensing, Llc | Consistent views of partitioned data in eventually consistent systems |
US10491685B2 (en) * | 2015-03-31 | 2019-11-26 | Microsoft Technology Licensing, Llc | Session transfer between resources |
RU2618945C1 (ru) * | 2015-12-07 | 2017-05-11 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Устройство для идентификации типов научных построений |
KR101724076B1 (ko) * | 2016-07-07 | 2017-04-07 | 라온위즈기술 주식회사 | 사용자 서버를 이용한 html 제어 시스템 및 방법 |
RU2642409C1 (ru) * | 2016-09-28 | 2018-01-24 | Общество с ограниченной ответственностью "Аби Девелопмент" | Редактирование текста на изображении документа |
US11003632B2 (en) | 2016-11-28 | 2021-05-11 | Open Text Sa Ulc | System and method for content synchronization |
US11301431B2 (en) | 2017-06-02 | 2022-04-12 | Open Text Sa Ulc | System and method for selective synchronization |
CN107943772A (zh) * | 2017-11-15 | 2018-04-20 | 江苏神州信源系统工程有限公司 | 文档远程编辑方法及装置 |
CN110019279B (zh) * | 2019-04-11 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 在线文档的协同更新方法、装置、设备及存储介质 |
US11256855B2 (en) * | 2019-08-09 | 2022-02-22 | Zave IP, LLC | Systems and methods for collation of digital content |
CN112783666A (zh) * | 2019-11-08 | 2021-05-11 | 珠海金山办公软件有限公司 | 一种电子文档中剪贴板内容编辑方法、装置和存储介质 |
US11611629B2 (en) * | 2020-05-13 | 2023-03-21 | Microsoft Technology Licensing, Llc | Inline frame monitoring |
CN112991160B (zh) * | 2021-05-07 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5604858A (en) | 1992-08-10 | 1997-02-18 | International Business Machines Corporation | Method and system for apparent direct editing of fixed display elements within a data processing system |
US5386564A (en) | 1993-02-24 | 1995-01-31 | Hewlett-Packard Company | Conversion of data and objects across classes in an object management system |
US5581670A (en) | 1993-07-21 | 1996-12-03 | Xerox Corporation | User interface having movable sheet with click-through tools |
CA2124624C (en) | 1993-07-21 | 1999-07-13 | Eric A. Bier | User interface having click-through tools that can be composed with other tools |
DE69535580T2 (de) | 1994-12-13 | 2007-12-06 | Microsoft Corp., Redmond | Datenaustausch mit erweiterten Zwischenablage-Datenformaten |
US5870552A (en) | 1995-03-28 | 1999-02-09 | America Online, Inc. | Method and apparatus for publishing hypermedia documents over wide area networks |
AUPO525497A0 (en) | 1997-02-21 | 1997-03-20 | Mills, Dudley John | Network-based classified information systems |
US6278678B1 (en) | 1999-02-12 | 2001-08-21 | Sony Corporation | Editing apparatus, editing method, and recording medium |
JP2000339312A (ja) | 1999-05-31 | 2000-12-08 | Toshiba Corp | 文書編集システム及びタグ情報管理テーブル作成方法 |
US7124360B1 (en) | 1999-08-04 | 2006-10-17 | William Drenttel | Method and system for computer screen layout based on a recombinant geometric modular structure |
AU2001264895A1 (en) | 2000-06-21 | 2002-01-02 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7259753B2 (en) | 2000-06-21 | 2007-08-21 | Microsoft Corporation | Classifying, anchoring, and transforming ink |
US6662186B1 (en) | 2000-07-14 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | System and method for a data propagation file format |
US6948134B2 (en) | 2000-07-21 | 2005-09-20 | Microsoft Corporation | Integrated method for creating a refreshable Web Query |
US7103838B1 (en) | 2000-08-18 | 2006-09-05 | Firstrain, Inc. | Method and apparatus for extracting relevant data |
AU2002211310A1 (en) | 2000-09-28 | 2002-04-08 | Fatwire Corporation | System and method for in-context editing |
US6941507B2 (en) | 2000-11-10 | 2005-09-06 | Microsoft Corporation | Insertion point bungee space tool |
US7191405B1 (en) | 2000-11-22 | 2007-03-13 | Adobe Systems Incorporated | System and method for editing information |
JP3943830B2 (ja) | 2000-12-18 | 2007-07-11 | 株式会社東芝 | 文書合成方法および文書合成装置 |
US7120868B2 (en) | 2002-05-30 | 2006-10-10 | Microsoft Corp. | System and method for adaptive document layout via manifold content |
US20020099717A1 (en) * | 2001-01-24 | 2002-07-25 | Gordon Bennett | Method for report generation in an on-line transcription system |
TWI251751B (en) * | 2001-02-27 | 2006-03-21 | Ibm | Method and system in an electronic spreadsheet for handling graphical objects referring to working ranges of cells in a copy/cut and paste operation |
US20070028166A1 (en) | 2002-04-10 | 2007-02-01 | Allen Hundhausen | System and processes for dynamic document construction |
US7260771B2 (en) | 2001-04-26 | 2007-08-21 | Fuji Xerox Co., Ltd. | Internet-based system for multimedia meeting minutes |
US20040205488A1 (en) | 2001-11-27 | 2004-10-14 | Fry Randolph Allan | Active web page for editing with any browser |
US7698636B2 (en) | 2002-06-13 | 2010-04-13 | Microsoft Corporation | System and method for in-context editing of components |
US7340673B2 (en) | 2002-08-29 | 2008-03-04 | Vistaprint Technologies Limited | System and method for browser document editing |
US7539940B2 (en) | 2002-10-09 | 2009-05-26 | Microsoft Corporation | System and method for converting between text formatting or markup language formatting and outline structure |
US7000184B2 (en) | 2003-01-24 | 2006-02-14 | The Cobalt Group, Inc. | Remote web site editing in a standard web browser without external software |
US6986105B2 (en) | 2003-01-30 | 2006-01-10 | Vista Print Limited | Methods employing multiple clipboards for storing and pasting textbook components |
US20040202352A1 (en) | 2003-04-10 | 2004-10-14 | International Business Machines Corporation | Enhanced readability with flowed bitmaps |
US7496230B2 (en) * | 2003-06-05 | 2009-02-24 | International Business Machines Corporation | System and method for automatic natural language translation of embedded text regions in images during information transfer |
US20060155821A1 (en) * | 2003-06-13 | 2006-07-13 | Luigi Pichetti | Method and system for sharing information in a network of computers |
US7890852B2 (en) | 2003-06-26 | 2011-02-15 | International Business Machines Corporation | Rich text handling for a web application |
US7478336B2 (en) | 2003-11-06 | 2009-01-13 | International Business Machines Corporation | Intermediate viewer for transferring information elements via a transfer buffer to a plurality of sets of destinations |
JP2005149061A (ja) | 2003-11-14 | 2005-06-09 | Ricoh Co Ltd | 情報処理システム、プログラム、及び記憶媒体 |
US7200816B2 (en) | 2004-01-21 | 2007-04-03 | Altova, Gmbh | Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment |
US8121998B2 (en) * | 2004-03-04 | 2012-02-21 | Parametric Technology Corporation | Method for automatically enabling traceability of engineering calculations |
US7278092B2 (en) | 2004-04-28 | 2007-10-02 | Amplify, Llc | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
US20050262439A1 (en) | 2004-05-20 | 2005-11-24 | Neil Cameron | Automatic web publishing |
US7574048B2 (en) | 2004-09-03 | 2009-08-11 | Microsoft Corporation | Freeform digital ink annotation recognition |
US7509345B2 (en) | 2004-09-29 | 2009-03-24 | Microsoft Corporation | Method and system for persisting and managing computer program clippings |
JP4197313B2 (ja) | 2004-10-15 | 2008-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文章編集方法、文章編集方法を実行するプログラム、及び文章編集システム |
US20060101139A1 (en) * | 2004-11-08 | 2006-05-11 | International Business Machines Corporation | Real-time alerts within a web browser |
US20060277460A1 (en) | 2005-06-03 | 2006-12-07 | Scott Forstall | Webview applications |
US7554576B2 (en) | 2005-06-20 | 2009-06-30 | Ricoh Company, Ltd. | Information capture and recording system for controlling capture devices |
US20070150477A1 (en) | 2005-12-22 | 2007-06-28 | International Business Machines Corporation | Validating a uniform resource locator ('URL') in a document |
US7793231B2 (en) | 2006-01-19 | 2010-09-07 | International Business Machines Corporation | Method and system for providing a primary window overlay |
US8930812B2 (en) * | 2006-02-17 | 2015-01-06 | Vmware, Inc. | System and method for embedding, editing, saving, and restoring objects within a browser window |
CN101038650B (zh) | 2006-03-16 | 2012-06-27 | 印魔网股份有限公司 | 网络线上即时印刷服务系统与方法以及编辑器 |
US20070288859A1 (en) | 2006-06-07 | 2007-12-13 | Siemens Communications, Inc. | Method and apparatus for selective forwarding of e-mail and document content |
US7865905B2 (en) * | 2006-09-11 | 2011-01-04 | International Business Machines Corporation | Context-exchange mechanism for accumulating and propagating contextual information between applications |
US8370732B2 (en) * | 2006-10-20 | 2013-02-05 | Mixpo Portfolio Broadcasting, Inc. | Peer-to-portal media broadcasting |
US7936472B2 (en) * | 2006-11-15 | 2011-05-03 | Sharp Laboratories Of America, Inc. | Driverless image printing |
US20080209311A1 (en) | 2006-12-29 | 2008-08-28 | Alex Agronik | On-line digital image editing with wysiwyg transparency |
US20080177623A1 (en) * | 2007-01-24 | 2008-07-24 | Juergen Fritsch | Monitoring User Interactions With A Document Editing System |
US9128784B2 (en) * | 2007-05-08 | 2015-09-08 | At&T Intellectual Property I, L.P. | Data transfer using a network clipboard |
US8555200B2 (en) * | 2007-08-21 | 2013-10-08 | Wetpaint.Com, Inc. | Representing editable attributes of embedded content |
US8266524B2 (en) | 2008-02-25 | 2012-09-11 | Microsoft Corporation | Editing a document using a transitory editing surface |
US9507651B2 (en) * | 2008-04-28 | 2016-11-29 | Microsoft Technology Licensing, Llc | Techniques to modify a document using a latent transfer surface |
JP2011095394A (ja) | 2009-10-28 | 2011-05-12 | Sharp Corp | 現像装置 |
-
2008
- 2008-04-28 US US12/110,351 patent/US9507651B2/en active Active
-
2009
- 2009-04-03 JP JP2011507516A patent/JP5550636B2/ja active Active
- 2009-04-03 WO PCT/US2009/039388 patent/WO2009134583A2/en active Application Filing
- 2009-04-03 KR KR1020107023870A patent/KR101782163B1/ko active IP Right Grant
- 2009-04-03 CA CA2718119A patent/CA2718119C/en active Active
- 2009-04-03 BR BRPI0909213A patent/BRPI0909213B1/pt not_active IP Right Cessation
- 2009-04-03 EP EP09739385.4A patent/EP2269146B1/en active Active
- 2009-04-03 AU AU2009241481A patent/AU2009241481B2/en active Active
- 2009-04-03 ES ES09739385.4T patent/ES2616659T3/es active Active
- 2009-04-03 RU RU2010144041/08A patent/RU2507573C2/ru active
- 2009-04-03 MX MX2010011403A patent/MX2010011403A/es active IP Right Grant
- 2009-04-03 SG SG2013032693A patent/SG190604A1/en unknown
- 2009-04-03 CN CN2009801157110A patent/CN102016833B/zh active Active
-
2010
- 2010-09-07 ZA ZA2010/06414A patent/ZA201006414B/en unknown
- 2010-09-07 IL IL208050A patent/IL208050A0/en unknown
-
2016
- 2016-10-13 US US15/293,056 patent/US9921892B2/en active Active
-
2018
- 2018-02-06 US US15/889,428 patent/US10152362B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170199773A1 (en) | 2017-07-13 |
WO2009134583A2 (en) | 2009-11-05 |
RU2507573C2 (ru) | 2014-02-20 |
RU2010144041A (ru) | 2012-05-10 |
EP2269146B1 (en) | 2016-11-23 |
US9921892B2 (en) | 2018-03-20 |
WO2009134583A8 (en) | 2010-09-10 |
BRPI0909213A2 (pt) | 2015-10-20 |
KR20100135844A (ko) | 2010-12-27 |
BRPI0909213B1 (pt) | 2020-04-14 |
KR101782163B1 (ko) | 2017-10-23 |
ES2616659T3 (es) | 2017-06-13 |
CA2718119A1 (en) | 2009-11-05 |
WO2009134583A3 (en) | 2010-01-07 |
IL208050A0 (en) | 2010-12-30 |
AU2009241481A8 (en) | 2011-06-09 |
US20180196704A1 (en) | 2018-07-12 |
JP5550636B2 (ja) | 2014-07-16 |
US10152362B2 (en) | 2018-12-11 |
JP2011524033A (ja) | 2011-08-25 |
US20090271806A1 (en) | 2009-10-29 |
EP2269146A4 (en) | 2013-04-10 |
EP2269146A2 (en) | 2011-01-05 |
MX2010011403A (es) | 2010-11-26 |
CA2718119C (en) | 2017-01-17 |
SG190604A1 (en) | 2013-06-28 |
CN102016833B (zh) | 2013-08-14 |
AU2009241481B2 (en) | 2014-06-05 |
US9507651B2 (en) | 2016-11-29 |
ZA201006414B (en) | 2011-12-28 |
AU2009241481A1 (en) | 2009-11-05 |
BRPI0909213A8 (pt) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102016833B (zh) | 使用潜在传送表面来修改文档的技术 | |
RU2328034C2 (ru) | Способ и система сопоставления операций семантическим меткам в электронных документах | |
CN102455913B (zh) | 显示模板的定制 | |
US10572581B2 (en) | System and method for web content presentation management | |
TWI536240B (zh) | 用戶端應用程式與網頁整合 | |
US10318126B2 (en) | Data-driven schema for describing and executing management tasks in a graphical user interface | |
KR101740071B1 (ko) | 컴퓨터 네트워크에서 전자 문서의 렌디션을 배치하기 위한 서버 전처리의 이용 | |
US8495485B2 (en) | System, method, and apparatus for location identification of content | |
US20090150417A1 (en) | Methods and systems for open source collaboration in an application service provider environment | |
US20140380142A1 (en) | Capturing website content through capture services | |
JP2016511883A (ja) | コンテンツキュレーションのためのアプリケーションプログラミングインタフェース | |
JP2006172450A (ja) | フォーマットされた文書をウェブページに変換するためのシステムおよび方法 | |
CN102929867A (zh) | 用于自动化的文档翻译的技术 | |
US20090063946A1 (en) | Anchor store for transmitting multiple dynamic anchors | |
KR101941641B1 (ko) | 동일한 타입의 다수의 메타데이터 표현을 효율적으로 제공하는 기법 | |
EP3356965A1 (en) | Computer-automated generation of application deep links | |
US8719416B1 (en) | Multiple subparts of a uniform resource locator | |
US10902028B2 (en) | Managing a classification system and associated selection mechanism | |
CN112256992A (zh) | 一种融合多链接地址的信息流的原生渲染的方法与设备 | |
US11983490B1 (en) | Spreadsheet interface for a transaction management platform | |
KR101469882B1 (ko) | 가상 프린터를 이용한 모바일 열람 서비스 시스템 및 방법 | |
KR102046922B1 (ko) | 웹페이지 콘텐츠에 강조 및 메모를 추가하는 웹페이지 변경 시스템 및 웹페이지 변경 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150428 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150428 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |