CN105144153B - 用于内容组织的方法和系统 - Google Patents
用于内容组织的方法和系统 Download PDFInfo
- Publication number
- CN105144153B CN105144153B CN201480006843.0A CN201480006843A CN105144153B CN 105144153 B CN105144153 B CN 105144153B CN 201480006843 A CN201480006843 A CN 201480006843A CN 105144153 B CN105144153 B CN 105144153B
- Authority
- CN
- China
- Prior art keywords
- document
- content
- address
- service
- identified
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 39
- 230000004048 modification Effects 0.000 claims description 52
- 238000012986 modification Methods 0.000 claims description 52
- 238000003860 storage Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 description 40
- 238000012545 processing Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 23
- 230000015654 memory Effects 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 10
- 210000003811 finger Anatomy 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 238000004321 preservation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 1
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 1
- 102100021662 Baculoviral IAP repeat-containing protein 3 Human genes 0.000 description 1
- 102100037024 E3 ubiquitin-protein ligase XIAP Human genes 0.000 description 1
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 1
- 101000896224 Homo sapiens Baculoviral IAP repeat-containing protein 3 Proteins 0.000 description 1
- 101000804865 Homo sapiens E3 ubiquitin-protein ligase XIAP Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000005243 fluidization Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 210000004276 hyalin Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000005619 thermoelectricity Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Classifications
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
可通过用于创建内容块在文档中的经由位置标识符来标识的地址的应用编程接口(API)以及用于从所创建的地址检索内容并将内容推送或合并回到所创建的地址的API来方便内容组织。可使用包括转换和合并服务的访问服务来提供适于各客户端的格式的内容块。描述了文档视图,其中即使多个内容块可使用至少两个统一资源定位符(URL)来检索,这些内容块也被呈现为单个文档。
Description
技术领域
本申请一般涉及用于实现对来自各种源的内容的组织和呈现(或共享)的技术。
背景技术
随着协作软件改进,协作和文件共享正变得更容易。然而,不是每个设备都能支持共同创作和协作。一些设备没有准备好协作或要求访问和修改数字内容的所有系统运行相同的程序。一人访问、共享和共同创作数字内容的能力可部分取决于该人是否具有识别数字内容的格式的适当软件程序以及以下设备:该设备能执行该程序使得数字内容能被查看、修改并使得这些修改传播并当被另一人访问时(或另一平台上的同一人)反映为数字内容的一部分。
随着使用不同平台的设备的增长,对于使用运行仅能够访问和显示一格式或仅能够使用特征的较早版本编辑内容的程序的设备来共享、访问和编辑不同格式的内容可能是个挑战。此外,随着新特征被添加到某些应用的新版本,这些新版本必须支持向后兼容性和/或内置可扩展性以支持将来的版本。此外,可能期望组合来自多个文件的内容,其中一些内容可能具有不同的文件格式或版本。
发明内容
提供了应用编程接口和访问服务,其中来自一个或多个资源的内容可作为单个文档被呈现给用户。该文档或视图可包括可通过访问服务来单独寻址和访问的应用(例如,查看器、编辑器)定义的内容块或用户定义的内容块。可通过允许从较大文档框架中创建可寻址内容块并对可寻址内容块进行内容检索的应用编程接口(API)来方便内容组织。
根据一实施例,通过执行转换和合并服务的系统提供给客户端的文档是体验集合和该文档内的内容。文档或文档中的所选内容块可作为第一文件格式的主文档被存储在可由系统检索的位置,并且当被客户端请求时,该文档可被转换成适当的文件格式并被提供到客户端。所提供的文档还可将在客户端处支持的特征的版本考虑在内。
所提供的文档可被显示在客户端设备处。服务扩展文档的可达范围(到跨各种平台的设备)并创建针对该文档的适合于客户端设备的体验。文档不需要在每个客户端上看上去完全相同。相反,文档可针对用户的体验并适合设备来被定制。一旦在客户端设备处被显示,用户可本地地修改该文档。修改可包括对于内容以及对于与该文档相关联的数据的修改。例如,可作出注释、评论、文本编辑、图像编辑以及其他修改。用户可接着将修改保存回服务器上。服务器可合并修改,即使在用户修改的文档具有不同的文件格式或包含特征的不同版本的情况下。
除了将修改合并回到主文档中之外,显示在客户端设备处的文档的全部或所标识的部分还可被保存为另一主文档并由地址服务来分配地址。
根据一实现,可显示第一文档的第一视图。第一文档可通过从第一地址检索来被提供给客户端并且在需要时被转换成适当的格式或特征版本。在显示在客户端处的文档视图内工作的用户可选择内容子集来进行编辑或其他附加动作。所选部分可以是所标识的内容。所标识的内容可使用诸如段落标识符、行标识符、字符标识符、范围、部分标识符或这些标识符的组合等位置标识符来标识。可调用地址服务来获取所标识的内容的第二地址。该内容子集然后可通过该第二地址来访问并单独修改。
根据另一实现,可将包括来自至少两个资源的内容的一文档视图提供给客户端。例如,访问服务可以用对来自第一地址的第一内容块以及来自第二地址的第二内容块的请求来调用。第一内容块和第二内容块可以组合。组合的内容块包括可用于创建新地址的位置标识符。
可提供(或供应)一文档视图,该文档视图包括具有位置标识符的多个内容块以及使用至少两个统一资源定位符(URL)来检索的内容。一个或多个内容块(以及甚至内容块的子集)可被选择以供分配新URL并且可通过该新URL来单独访问。
提供本概述是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1示出了其中可实现某些实施例的操作环境的图示。
图2示出了根据本发明的一实施例的端点的操作环境。
图3示出了根据本发明的一实施例的计算环境。
图4示出了根据本发明的一实施例的用于转换和合并服务的示例过程流。
图5A-5D示出了转换和合并服务的示例场景。
图6示出了根据本发明的一实施例的由编辑器实现的过程的示图。
图7示出了根据本发明的一实施例的用于使用多个编辑器在文档上协作的方法的过程流图。
图8示出了解说在一些实施例中使用的计算设备的各组件的框图。
图9示出了根据本发明的一实施例的具有可寻址内容块的文档视图的图示。
图10示出了根据本发明的一实施例的用于内容组织的系统的图示。
图11示出了创建文档中的内容子集的新地址的示例场景。
图12示出了用于使用从文档中创建的内容子集来协作的方法的过程流程图。
图13显示了示出一示例实施例的操作环境的图。
图14示出了用于访问经组织的内容的方法的过程流程图。
具体实施方式
提供了应用编程接口和访问服务,其中来自一个或多个资源的内容可作为单个文档被呈现给用户。该文档或视图可包括可通过访问服务来单独寻址和访问的应用(例如,查看器、编辑器)定义的内容块或用户定义的内容块。可通过用于创建文档中的可标识区域的地址并且从所创建的地址检索内容的应用编程接口(API)来方便内容组织(以及分发)。
内容组织是对来自各种源的内容的组织和呈现(或共享)。
即使特定内容片段可以彼此分开地定位且甚至以彼此不同的格式存储,这些内容片段也可被组合为可被阅读器、编辑器或其他客户端视作内聚片段的单个文档。
这可通过具有针对所定义的每一个内容块的一地址来实现。访问服务可取得包括一个或多个内容块地址的请求,从该一个或多个内容块地址检索各个内容块,并将组合的内容提供给客户端。在文档视图内,块边界可以在客户端可组合或分解块的程度上可以是动态的。例如,客户端可呈现最初由一个块(具有可通过其访问构成文档的各个元素的单个地址)形成的文档的视图。
在查看该文档时,用户可能想要捕捉内容的至少一个方面以供在另一文档或应用中使用。在该场景中,用户可请求文档的所标识的部分的地址。该部分可使用位置标识符来被标识为内容块。当创建新地址时,另一客户端(或服务器)可通过从地址位置获取内容来访问具有使用所标识的部分来创建的地址的块。在某些情况下,文档可以从这些多个不同块中创建。在某些情况下,当块被更新时,文档被更新。应理解,单个地址可以指涉及多个存储设备和分布式计算环境的资源。
电子文档一般被理解为等同于纸件文档的数字化,其中文档编辑器方便对内容的创建、注释、修改以及(近来的)共享和协作。
修改可包括对于内容以及对于与该文档相关联的数据的修改。例如,可作出评论、文本编辑、图像编辑以及其他修改。文件的修改可包括添加、减少的动作,提供附加的内容、丰富内容的动作,添加评论的动作以及在图像编辑器内修改图像的动作。
本发明的某些实施例将新特征添加到文档——文档即服务,其中文档提供体验的集合以及它内部的内容。该体验的集合对应于服务的集合,该服务的集合包括转换和合并服务的内容访问服务。转换服务使得文档的内容能针对文档在其上被查看的每个客户端来定制并且合并服务使得对文档的修改能与主文档重新整合。主文档可以是内容、元数据以及对文档作出的修改(包括对内容的修改以及对元数据的修改)的聚集。在一些情况下,主文档可看上去为最高保真度文档。
由此,当从较低保真度编辑器中作出的修改或使用特征的较早版本的修改被重新整合到主文档中时,服务可执行保真度再融合。
保真度再融合指取得被特征的较早版本修改的内容——或具有带有较少功能的编辑器的文件格式——并将内容返回到全功能、最新特征版本。作为一个示例,给定图形特征的两个版本——具有丰富图表(诸如3D图表)的第一版本和仅能够将图表解释为静态图像的第二版本,在内容在支持第二版本的编辑器中被编辑之后,静态图像可被再融合回3D图表以供在支持第一版本的编辑器中查看/编辑。第一版本可以是特征的将来或更高版本,而第二版本可以是特征的先前或较早版本。在其他情况下,两个版本可在同时被发布,但具有在可用功能方面的有意区别。
虽然主文档被称为文档,但是主文档可以用合适于跟踪内容和最新编辑特征的任意格式来存储。
通过这些服务,消费者设备可跨各个平台来访问和修改内容,而无需添加复杂性到客户端侧软件或消费设备。
为了促进查看文档的灵活性,文档中的块(用户或应用定义的部分)可被单独访问、查看和修改以便单独地使用或合并回到主文档。
文件格式(针对文档或其他内容以及相关信息)指藉此与文件的内容有关的信息(并且在一些情况下,相关联的信息)被编码并被存储在计算机可读介质上的方式。文件类型可与文件格式互换地使用,但一般指文件格式的分类。例如,文件类型可以是文档文件类型,其包括超文本标记语言(HTML)的文件格式、ADOBE便携文档格式(PDF)、MICROSOFT WORD文档(DOC)、办公开放可扩展标记语言(OOXML)格式(DOCX)等。MICROSOFT WORD是微软公司的注册商标;ADOBE PDF是奥多比系统公司的注册商标。
如本文中使用的,“消费格式”指由特定设备或软件程序支持的文件格式(例如,“支持的文件格式”)。除了是支持的文件格式之外,消费格式还可包括与文件大小、功能等有关的、关于设备(或程序)可如何能够支持各种用户体验的特征。
返回到文件即服务范例,包括转换和合并服务的内容访问服务可作为云服务体验的一部分来提供。通过这种方式,内容可以按一种格式来被创建并接着以可向内容的消费者提供无缝体验的方式来可跨任意平台访问和编辑。
图1示出了其中可实现某些实施例的操作环境的图。
参考图1,操作环境可包括一个或多个云或web服务。本文中描述的内容访问服务100可以是云服务或web服务。
云服务通常指提供可缩放处理和存储能力的托管服务。云计算通常可包括虚拟化的资源。由云计算呈现的资源本身被提供为服务,其中云计算客户从拥有物理基础设施的第三方提供者租用资源的使用。
web服务可由云服务(例如,作为大规模分布式计算环境的一部分)提供和/或主控。web服务是支持通过网络的互操作机器到机器交互并使得软件能够连接到其他软件应用的软件系统。
web服务提供技术标准和协议的集合。例如,web服务提供可由发送和接收消息的软件或硬件代理实现的功能(例如,请求和提供特定服务的计算平台)。应用可经由普遍存在的web协议和数据格式(诸如超文本传输协议(HTTP)、可扩展标记语言(XML)、web服务描述语言(WSDL)、JavaScript对象记法(JSON)以及SOAP(最初是简单对象访问协议的首字母缩略词))来访问web服务。
代表性状态传输(REST)协议在访问命名资源时是有用的并可被用在本发明的某些实施例中。在本发明的其他实施例中可利用SOAP。在一些情况下,可使用来自微软公司的HTTP上的经由SOAP的文件同步服务(FSSHTTP)。
可使用通过网络通信的一个或多个物理和/或虚拟服务器来实现内容访问服务100。网络可包括但不限于蜂窝网络(例如无线电话)、点对点拨号连接、卫星网络、因特网、局域网(LAN)、广域网(WAN)、WiFi网络、自组织网络或其组合。这样的网络可被广泛地应用来连接各种类型的网络元素,诸如集线器、桥接器、路由器、交换机,服务器和网关。网络可包括一个或多个连接的网络(例如,多网络环境),包括诸如因特网之类的公共网络,和/或诸如安全企业专用网络之类的专用网络。可以通过一个或多个有线或无线接入网络来提供对网络的接入,如本领域的技术人员将理解的。
内容访问服务100可包括导入/转换部分102和呈现/转换部分104。来自各个源106的文档可被导入到内容访问服务100。导入/转换部分102可通过减少或移除对将内容变为阅读器需要的特定格式的约束来促进自发布。例如,自发布到书店或其他储存库或商店可在不需要创建者在指定文件格式内工作来实现。通过使创建者更为容易地发布他们的作品,阅读器用户可访问更多的内容。
“阅读器”指主要出于阅读电子书(ebook)和/或其他电子内容的目的而设计的软件应用和/或电子设备。阅读器通常包括至少一些基本编辑能力,诸如注释、突出显示、书签以及划线。
示例软件电子书阅读器(或电子阅读器)包括来自谷歌公司的GOOGLE READER应用、来自苹果公司的APPLE IBOOKS应用、来自奥多比系统公司的ADOBE ACROBAT EBOOKREADER应用以及来自微软公司的MICROSOFT READER应用。示例硬件电子书阅读器(或电子阅读器)包括来自亚马逊公司的AMAZON KINDLE品牌电子阅读器以及可从巴诺书店公司得到的BARNES AND NOBLE NOOK品牌电子阅读器平板。电子书是可被在电子书阅读器上读取的具有数字形式的基于文本和/或图像的出版物。存在用于创建和发布内容的各种电子书和其他数字内容格式,诸如电子出版物(ePub)、HTML、PDF、打印机命令语言(PCL)以及可扩展标记语言(XML)。
在一些情况下,(例如,通过导入/转换部分102)导入的文档可被存储或看上去被存储(通过将地址或统一资源标识符存储)为云的一部分(108)。内容访问服务100可解析存储108上的操作或将某些操作委派到另一服务(其可直接或间接地访问存储108)。
文档文件可从内容访问服务100中导出。在被导出之前,文档文件(诸如被导入的文档之一)可被转换成各种格式以供端点(诸如阅读器110、打印机112、第三方站点114和辅助转换服务116)消费(例如,呈现以供显示、交互、修改或包括打印和进一步转换的附加动作)。
端点指的是消费者藉此访问服务的装置——用于交互的入口点。根据各个实施例,提供端点定制,其扩展了可达范围并改变了内容基于设备被消费的方式。
端点可以是一个或多个消费者设备。
消费者设备指被用于消费(即,用于查看/阅读、编辑或注释)从服务或源检索的或购买的数据或文档的计算设备。消费者设备可以主要是用于阅读电子书的单用途计算设备(通常称为阅读器)或在其上可提供用于阅读电子书或其他电子/数字内容的阅读器或查看器软件的多用途计算设备。
“查看器”指能显示或看上去显示具有与特定程序相关联的格式或文件类型的文档或数据的软件或硬件应用。针对特定文件格式的查看器能够理解该特定文件格式并呈现该文件的可视化。通常,文件格式的“查看器”被假定为能够用高保真度来在视觉上呈现该文件格式,从而维持作者的原始意图。“阅读器”是包括主要与“阅读”体验相关联的功能(诸如提供动画化的翻页、记住最后阅读位置、提供字典来查找单词等)的一种类型的查看器。
服务扩展文档的可达范围(到跨各种平台的设备)并创建针对该文档的适合于客户端设备的体验。文档不需要在每个客户端上看上去完全相同。相反,文档可针对用户的体验并适合设备来被定制。
第三方可使用文档来创建附加用户体验。
通过知晓设备,系统(例如,通过内容访问服务100)可提供定制的文件格式化。作为一个示例场景,NOOK阅读器或KINDLE阅读器用户可使用该设备来浏览可用内容来阅读。内容访问服务100可确定什么设备正被使用并适当地定制内容的呈现。例如,ePub2或ePub3格式可被发送到NOOK阅读器而AZW格式可被发送到KINDLE阅读器。
一旦定制的文件被发送到设备,该文件就可被保存回服务器(经由内容访问服务100)。例如,可相对于提供到客户端的文件采取特定动作(修改,诸如在NOOK阅读器、KINDLE阅读器或运行编辑器应用的平板内注释或编辑),并且这些修改被合并到该文件的主文档。
本发明的特定实施例允许向经改变的块分配单独地址以供独立访问,而不与主文档合并。
在其他实施例中,还通过知晓用户(例如,通过接收来自用户的标识符,诸如当用户从设备登录到他们的帐户时),系统(例如,通过内容访问服务100)还可使得用户能够通过网络在许多设备上访问他们自己的文件,而无需用户必须考虑他们的设备能处理的版本或文件格式。除了使得用户能够访问他们自己的文件外,通过知晓用户,系统还能定制文件以呈现文档中与关联于用户的任务有关的特定内容。例如,在用户具有审阅一段落的任务的情况下,该段落可被提供给所标识的用户而非能访问文档的所有用户。在一个实施例中,这可通过向该特定用户提供到段落块的链接或地址的实现。
端点可具有与内容访问服务100通信的两种一般分类。一种是双向丰富体验,而另一种是更受限的体验。在这两种情况下,通过使用本发明的各实施例,端点不被要求处理文件格式转换、能够呈现所有格式或包括用于内容的共同创作的层。
各种丰富性的端点可被本发明的各实施例支持。如本文中使用的,“丰富性”指使用一应用的可用体验的范围以及该应用的向用户呈现特定内容和功能的能力。例如,最丰富的消费体验可通过支持其中内容的编辑和操纵可用的全特征应用(例如,端点编辑器118)的设备可用。更受限的体验包括其中用于内容的编辑和操纵的某些功能被维持的很小的创作工具(例如,消费和受限端点编辑器120)。更受限的体验(或“轻量编辑”)和全特征编辑器(或“重编辑”)之间的区别是轻量编辑可仅支持注释和评论。
其中内容可被查阅的阅读器(例如,消费设备122)可具有支持的丰富性的范围。所有编辑器类型以及特征的各版本可被支持。
内容访问服务100提供的转换和合并服务可由客户端设备或另一服务器(例如,阅读器110或消费设备122、端点编辑器118或消费和受限端点编辑器120)直接请求。在一些实施例中,服务器(诸如参考图2描述的)或第三方站点(例如,114)或辅助转换服务(例如,116)可代表客户端设备来访问内容访问服务100。打印机112还可直接或通过另一客户端设备接收来自内容访问服务100的内容。
端点编辑器118藉此可与web服务(例如,内容访问服务100)通信的一个框架是经由以下框架:该框架允许客户端应用使用FSSHTTP应用编程接口(API)来有效地同步对文档以及运行在服务器上的文件管理和协作程序(诸如MICROSOFT SHAREPOINT web应用平台)的改变。FSSHTTP协议的客户端侧是直通(pass-through)。例如,由较高层协议(诸如应用层)作出的调用被直接传递到传输层,并且从传输层返回的结果被直接传递回较高层协议或应用。
API一般是用于使得两个或更多个应用能够相互通信的编程指令和标准的集合并且通常被实现为HTTP请求消息的集合和用于响应消息的特定格式或结构。消息可包括信息资源。资源是可通过统一资源标识符(URI)标识的信息并可以是文件、动态生成的查询结果、通用网关接口(CGI)脚本的输出、以若干种语言可用的文档等。
根据一些实施例,提供了用于创建用以访问资源的地址的API。还可提供用以请求所创建的地址处的内容以访问资源的API。对内容的请求可包括对内容的特定格式的请求。还可提供用以允许将内容放回(或“推送”到)该地址的API。该推送可包括合并或盖写。
内容访问服务100可与更宽泛的云服务130以及web应用组件(WAC)132相关联。WAC是使得用户能够在浏览器中查看和编辑文档的组件。WAC既可通过消费和编辑内容来用作端点,也可通过提供某个合并和转换服务功能来用作服务。在这样的实施例中,用户能访问云上的应用软件和数据库,其管理基础设施和平台。终端用户通过浏览器或应用(针对诸如智能电话和平板等移动设备设计的应用)来访问被托管在云上的软件应用。参考图2描述了一示例。
图2示出了根据本发明的一实施例的端点的操作环境。参考图2,客户端210和服务器220经由网络230通信。
网络230可以是互联网、内联网或外联网,并且可以是任何合适的通信网络,包括但不限于,蜂窝(例如,无线电话)网络、因特网、局域网(LAN)、广域网(WAN)、WiFi网络、自组织网络或它们的组合。
如之前描述的,这样的网络可涉及网络元素(诸如集线器、桥接器、路由器、交换机、服务器以及网关)的连接。网络230可包括一个或多个连接的网络(例如,多网络环境),包括诸如因特网之类的公共网络,和/或诸如安全企业专用网络之类的专用网络。可以通过一个或多个有线或无线接入网络(未示出)来提供对网络230的接入,如本领域的技术人员将理解的。
客户端210和服务器220可包括配备有一个或多个中央处理单元(CPU)、存储器、大容量存储和I/O设备(例如,网络接口、用户输入设备)的计算系统。计算系统的元素可经由总线相互通信。计算系统的硬件平台可被体现为多种形式,包括但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备以及包括以上系统或设备中的任意系统或设备的分布式计算环境(例如,基于云的计算系统)(并且其中应用功能、存储器、数据存储和检索以及各种处理功能可通过分布式计算网络(诸如因特网或内联网)彼此远程地操作)。
在某些实施例中,客户端210可被体现为计算设备,包括但不限于,个人计算机、平板、阅读器、移动设备、个人数字助理(PDA)、智能电话、膝上型(或笔记本或上网本)计算机、游戏设备或控制台、台式计算机或智能电视机。
在某些实施例中,服务器220可被体现为计算设备,包括但不限于,服务器计算机、企业计算机、个人计算机、多处理器系统、基于微处理器的系统以及它们的组合。应当理解,客户端计算设备和服务器计算设备的列表不旨在限制并且客户端和服务器可用相同或不同的形式体现。
客户端210被配置成执行操作系统211和一个或多个应用程序,诸如在所示实施例中,文字处理或编辑器应用212、web浏览器应用213、和/或一个或多个其他应用。
操作系统211是用于控制客户端210的操作的计算机程序。应用程序是被配置成在操作系统211之上执行以提供诸如本文所述的各种功能的可执行程序。文字处理应用是通常被配置成促进键入、编辑、格式化、保存、打印和评论的应用程序。编辑器应用可以是提供编辑或注释工具的任意应用并可以是文字处理应用或其他生产力应用,诸如从微软公司可用的MICROSOFT OFFICE,从谷歌公司可用的GOOGLE DOCS,从阿帕奇软件基金会可用的APACHE OPENOFFICE或从卓豪公司可用的ZOHO OFFICE。
生产力应用包括但不限于,文字处理程序、协作程序、演示程序、电子表格程序以及讲故事/做笔记程序。
web浏览器应用213是用于检索和遍历万维网(“web”)上的信息资源以及由专用网络中的web服务器经由网络230提供的资源并向用户呈现信息资源(例如,呈现以供显示)的应用程序。此外,web浏览器应用213允许用户访问服务器提供的信息和各种功能。
所示服务器220被配置成执行服务器操作系统221、一个或多个应用程序(诸如服务器文字处理或编辑器应用222)、和/或一个或多个其他应用。服务器220还可主控服务(并合并web应用组件132(诸如图1中描述的))。
服务器操作系统221是用于控制服务器220的操作的计算机程序,并且应用程序是被配置为在服务器操作系统221之上执行以提供本文中描述的各种功能的可执行程序。在一些实施例中,服务器文字处理或编辑器应用222是与以上描述的文字处理或编辑器应用212类似配置的基于web的应用程序。服务器文字处理或编辑器应用222可提供与文字处理或编辑器应用212相同的功能。
在一些实施例中,服务器220被配置成执行服务器文字处理或编辑器222,并且客户端210被配置成访问服务器220来按照客户端/服务器配置与服务器文字处理或编辑器应用222交互。
客户端-服务器关系下的计算设备之间的通信可以通过由客户端向服务器发送要求访问特定资源或执行特定工作的请求来发起。服务器随后可以执行所请求的动作并且将响应发送回客户端。
在一个实施例中,客户端web浏览器应用213被用于与服务器(例如服务器220)连接以访问基于web的文字处理或编辑器应用212。
客户端210和服务器220可通过网络230访问转换和合并服务240。在客户端210和服务器220上运行的应用可经由普遍存在的web协议和数据格式(诸如HTTP、XML、JSON和SOAP)或经由FSSHTTP协议来访问转换和合并服务240。
图3示出了根据本发明的一实施例的计算环境。如图3中示出的,用户300的计算环境可包括多个客户端(诸如台式计算机311、膝上型计算机312、智能电话313、平板314、阅读器(未显示)、游戏控制台(未显示)、智能电视机(未显示)等)以及通过网络330连接的服务器320。
如以上关于图2的网络230描述的,网络230可以是互联网、内联网或外联网,并且可以是任何合适的通信网络,包括但不限于,蜂窝(例如,无线电话)网络、因特网、局域网(LAN)、广域网(WAN)、WiFi网络、自组织网络或它们的组合。
(诸)客户端310和服务器320可包括被配置的计算系统,诸如关于客户端210和服务器220描述的。
每个客户端310可包括用于查看和编辑(和/或注释)由服务器320通过内容访问服务提供的文档(以及其内容)340的软件应用。
用户300可具有多个客户端310(例如,办公室中的台式计算机311、家里的膝上型计算机312以及移动电话/智能电话313),并可使用在这些客户端310上运行的软件电子书阅读器或文档查看器或编辑器来阅读从服务器320检索的电子书和其他数字内容以及编辑和/或注释该内容。
服务器320是被配置成提供(作为内容访问服务的一部分)转换服务和合并服务的硬件设备和/或软件程序。转换服务使得用户能够访问可以具有不直接被用户正在使用来访问内容的特定客户端310支持的文件格式的内容(甚至是用户自己的内容);并且合并服务将用户300作出的改变重新整合到存储在数据库350中的主文档345。
服务器320提供的服务(或功能)中的一个或多个可在云计算环境中执行。此外,服务器320可包括通过API展示的应用(和/或主控服务)。
根据某些实施例,包括服务器320的、能从客户端310或数据库(诸如数据库350)导入文档的系统可被提供。导入的文档可被认为是主文档345,或主文档345可从导入的文档中创建并被存储在例如与服务器320相关联的数据库350中。
在一个实施例中,在“导入”文档时,可以为该文档创建地址或统一资源定位符(URL)。然后,当客户端(或消费者设备)请求(位于所创建的地址处)的文档时,可检索该文档并将其提供给消费者设备。根据特定实施例,地址创建可以对文档的全部或部分执行。在另一实施例中,地址创建可通过API来展示。
服务器320可将主文档345转换成适用于消费者设备(例如,台式计算机311、膝上型计算机312、智能电话313、平板314、阅读器(未显示)、游戏控制台(未显示)等)的格式。
用户300可跨每个设备(例如,311、312、313、314)访问主文档345的合适版本(例如,具有文档340的形式)。例如,文档340可跨任意设备和平台呈现。例如,在膝上型计算机312上在一个程序内对文档340进行操作的用户300可保存具有这些改变的文档。保存文档可调用合并服务。例如,如图5B-5D中显示的,整个文档(图5B)、改变(增量)(图5C)或特定修改(图5D)可被返回到服务器以供与主文档合并。
实际的物理文件可被或可不被存储在云中(作为云存储——诸如数据库350——的一部分)。文件可被存储在可通过网络被服务访问的服务器或计算机或任意存储位置上。主文档(或其他导入的文件)可被存储在服务器320处作为可寻址文件的集合,其可在请求之际被导入并转换。如参考图11所描述的,可以为文档中的内容子集创建地址,并且这些地址中的每一个被用来获取可被组合或单独导入和/或应请求而转换的新“主文档”(也参见图9)。
客户端设备(诸如膝上型计算机316)上的另一用户360或第二设备(诸如平板314)上的第一用户300可打开文档340,并且他们的体验是文档340是可在设备316(或在其上第一用户300访问文档的第二设备314)内操作的文档。使用设备316的第二用户360(或第二设备上的第一用户300)接着可在编辑后保存该文档并且服务将合并改变。
根据各实施例,每个客户端310都认为它具有以针对该客户端而言适当格式存储的文件。没有必要在客户端处改变文件以便打开文件和访问数据。例如,应用可依然如期望地打开文档——服务器负责客户端是否接收合适的文件格式。在客户端310处,用户(300,360)根据预期的过程来打开、改变并保存文档。服务器理解端点的限制并向设备提供适当的格式。
服务器320和消费者/客户端设备310通信,使得系统知晓在客户端310上什么类型的设备或软件可用并相应地定制用户的体验。
服务器320可被配置成标识端点处的用户代理/客户端特征。该标识可基于从端点(例如,客户端310)发送到服务器320的主动或隐式通知。服务器320还可被配置成定制客户端体验以及持久保存的体验(例如,主文档的存储的副本)。
根据某些实施例,提供的文档340不仅被重新流化以适应更小(或更大)的显示器大小,还可作出附加的调节。
重新流化指针对受限的显示器或窗口对查看内容的调节,其中文本可被保留在其原始大小以容易阅读,而图像在大小上减小,使得它们可一眼被查看。
作为附加调节的一个示例,高分辨率设备可被提供高分辨率内容(较高的形状因子可接收较多对象),而电话可接收较低分辨率的图像(而非例如文档中图片的12百万像素版本)。此外,启用触摸的设备可具有添加到文档的触摸响应特征。还可提供(例如,通过API展示的)其他定制的端点服务,包括但不限于,使得能够在文档上注释和添加工作流元素(诸如待作项)的那些服务。安全性设置和权限管理也可针对客户端来定制。例如,当较旧的版本或某些文件格式被提供给客户端时,文档可被提供来以只读操作以最小化以较低保真度版本保存的破坏性,但允许文档被保存——作为与主文档不同的副本。
在一些实施例中,客户端可通过使用创建地址API请求地址来保存较低保真度(或不同格式或特征版本)。
不仅提供的文档340具有适用于(或甚至被定制)由特定消费者设备呈现的格式,而且对于文档340的修改可与主文档345重新整合。服务器320可通过知晓什么类型的设备和/或软件在客户端处可用来重新整合修改。例如,在客户端设备使用不同平台(以及文件格式)的情况下,服务器320可知晓可在转换中丢失的保真度并在服务器上重建回任何改变。
类似地,在客户端设备使用特征的不同版本时,服务器320可知晓所使用的版本并相应地调整。特征包括但不限于,用于操纵和编辑文本、图表、方程、文本效果和图形(包括MICROSOFT SMARTART图形)、数字内容(包括视频)、目录样式、线程化评论、拼写检查、字典、语言的实用工具以及用于操纵和编辑图形的实用工具。
服务可提供向后和向前兼容性。
例如,MICROSOFT WORD的最新版本的文档可被提供给运行MICROSOFT WORD的较早版本的客户端,而无需客户端必须执行到该较早版本的转换。此外,并非提供只读版本(以避免保存回较低保真度版本产生的问题),运行该较早版本的客户端可编辑文档,这是因为知晓该较早版本如何破化全保真度版本(以及替换高保真度内容的图像表示什么)的服务器可在服务器上重建回数据(即,执行保真度再融合(rehydration))。
保真度再融合可在服务器处执行,这是因为服务器知晓内容被提供的形式以及可在文件具有特定文件格式时关于文件实现的特定约束和动作。
图4示出了根据本发明的一实施例的用于转换和合并服务的示例过程流。参考图4,在操作(402),当服务器接收合并请求时,可提供该请求和文档。服务器可确定文档是新文档还是存在于系统上(404)。如果文档是新文档(或新副本),则系统可根据该文档创建主文档(406)。主文档可以是该文档(使用相同的文件格式和特征版本)或主文档可通过将该文档转换成特定文件格式和特征版本来创建。
通过创建主文档,某些实施例可创建针对用户的文档即服务体验。具体而言,主文档包括由主文档连同创建者和其他人可关于该文档采取的动作的集合组成的内容。定制的体验可被提供给消费者并且编辑内容的能力可被展示为服务的一部分。
在一个实现中,创建主文档涉及创建地址(可涉及创建全局唯一标识符(GUID))。服务对地址的这一创建可以是可扩展的,这表现在其他服务或应用可使用该服务来创建地址。
返回到操作(404),如果文档被确定为不是新文档(例如,因为主文档已经存在于系统上),则服务器可确定该文档是具有与主文档相同的文件格式还是不同的文件格式(408)。响应于确定文件格式是不同的,服务器可将该文档的文件格式转换成主文档的文件格式或系统理解的某一其他格式(410)并接着自动地确定该文档和主文档之间的区别(412)并合并区别(增量)来更新主文档(414)。将增量合并到主文档中使得在一个设备处的用户能够对文档采取些操作并具有与该文档相关联的改变,使得访问该文档的下一人(或第二设备上的同一人)看到那些改变被反映在该第二人(或第二设备)接收到的文档上。
返回到操作(408),如果文件格式是相同的,可作出关于该文档支持的特征版本是否与主文档支持的特征版本相同的确定(416)。响应于确定特征版本是不同的,服务器可确定该文档和主文档之间的非特征相关区别(增量)(418)并使用所确定的增量来在不丢失保真度的情况下更新主文档(420)。
通过确定文件格式和/或特征版本,整个文件以及文件内的内容可被分析以便将一个文档变换成另一文档或将内容从一个版本变换成另一版本。在该文档和主文档之间的文件格式和特征版本之间没有区别的情况下,区别可自动地在主文档处被更新(422)或主文档可被该文档替换。
图5A-5D示出了转换和合并服务的示例场景。参考图5A,转换服务505可访问来自数据库510的文档并向客户端以支持的文件格式来提供该文档,例如作为所显示的文档520。所显示的文档520的内容的实际格式(如存储在数据库510中的)可包括但不限于,PDF、DOC、DOCX和ePub;然而,转换服务505可用客户端支持的——并且甚至为端点定制的——格式来提供内容。
为了访问来自数据库的文档,服务接收文档的地址或资源标识符并检索或请求该地址位置处的该文档。
各实施例提供一系统,其中文档以好像它们具有特定客户端所需的格式那样呈现给用户——即使文档实际上不以该格式或版本存在,直到用户选择该文档来查看(或编辑)。替代于将存储在服务器上的所有文件预先转换成每种类型的文件格式,文档的特定格式在用户请求之际被递送。
各实施例可扩展其中内容可被消费的可达范围并为该内容创建适合于在其上内容被提供的设备(或客户端)的体验。服务器可解释设备和能力以确定什么是用于在特定设备上查看内容的理想或合适的方式。服务可考虑在内的特征包括但不限于,显示器的尺寸、设备的用户输入能力、网络连接的速度和/或带宽以及操作系统和应用约束。
例如,一些文档可能显示在膝上型计算机上看上去不错,但是在较小的屏幕上(诸如在电话或平板上)不那么有用。通过确定客户端是什么(诸如确定适用于该客户端的消费格式),服务基于设备(或软件)来修改消费体验。
在客户端,转换服务505提供的文档520可被编辑。在当前示例中,经编辑的文档525可被合并回主文档以促进跨不同编辑器和特征版本的协作。为了提供合并服务,可使用用于协作和合并服务的一通用API或多个API。API使得客户端能够跨多个平台合并对文档的改变。此外,服务可在以下情况中扩展到第三方适配器:其中可发生到可识别文件格式的中间转换,例如在专用或新格式被开发的情况下。
图5B-5D显示将经编辑的文档525合并回主文档的各种场景。
图5B显示其中具有修改的整个文档530被提供到合并服务540的情况。参考图5B,可使用一通用API。在一个实施例中,客户端可将整个文档与改变(作为文档530)向上发送到服务器(例如,合并服务540)。合并服务540解释文档530,确定区别并接着自动地合并。即使经编辑的文档具有与主文档不同的文件格式,合并依然可实现。文档530可被合并服务540转换成特定格式以促进合并。
图5C显示了其中文档520和经编辑的文档525之间的区别(增量550)(经由通用API)被提供给合并服务560的情况。合并服务560解释增量550并自动地合并。即使经编辑的文档具有与主文档不同的文件格式,合并依然可实现。
图5D显示了其中多个API被使用的情况。API可被捆绑来作为用于合并内容的轻量选项的一部分。API可以是各单独的修改功能并可包括但不限于,突出显示API、字体API、段落API、样式API、翻译API、公式API、表格创建和编辑API;图像插入、创建或编辑API;颜色API、评论API等。API中的一个或多个可对特定客户端可用。
例如,客户端可调用突出显示API并传递段落标识符或文本,并且服务执行突出显示。客户端可调用评论API并提供评论要被插入在其中的句子、段落或单词以及要插入作为评论的文本。设备不需要理解文档的文件格式。例如,文档可被存储为DOCX文件,但是客户端将文档作为PDF文件或ePUB文件来查看(和编辑)。
根据另一实施例,客户端可调用评论API,其可提供评论服务。评论服务(经由例如评论API)可使得受限端点能够将文档的各部分上的评论发送到服务中以供合并到完整文档中。评论服务可接收评论以及关于评论与文档的什么部分相关联的指示并接着修改完整文档以包括评论。
在另一实施例中,评论本身可被分配地址并且然后被例如订阅场景(其中客户端或服务器接收某个人何时评论帖子、消息或其他文档的通知和/或接收或者获取评论)中的其他客户端使用。
在图5D中显示的示例中,经编辑的文档包括第一段落的突出显示、对第三段落中的文本的修正以及添加到与文档相关联的元数据的签名。对于突出显示API,客户端可调用突出显示API并将段落标识符570传递到突出显示服务575。为了修正打字错误,客户端可将位置标识符(例如,第三段落、第一句)和替换文本580传递到文本编辑服务585。为了添加签名,客户端可将位置标识符(例如,元数据)和签名590传递到签名服务595。
位置标识符可包括但不限于,标识文档中的段落的段落标识符、标识文档中的行的行标识符、标识文档中的字符的字符标识符以及标识文档的一部分的部分标识符。部分标识符可提供在文档的各部分(诸如文档内容、评论内容、样式内容等)之间进行区分的位置标识。由部分标识符标识的文档的各部分还可以是文档内结构上描绘的内容。在一个实施例中,部分标识符标识文档的通过具有相关联的元数据的结构化标记来修改的部分。结构化描绘的内容的一个示例如下:
这是一个段落。
<fill-in region>这里是用户可以编辑的一些内容
并且然后发回到服务器以合并</fill-in region>
后续段落。
在以上示例中,其具有内容控件的外观,可被用户修改的内容位于标识的“fill-in region(填充区域)”标记之间的段落中。在一些实施例中,可通过文档中的结构化标记(例如“fill-in region”)来标识文档中要发生修改的部分。
在一些实施例中,来自支持纯文本文件格式的客户端的内容可通过递送文本并调用能取得文本并添加指定格式化的API的服务来将丰富内容添加到文件。类似地,内容可通过调用添加内容到元数据的服务来被添加到元数据。
图6示出了根据本发明的一实施例的由编辑器实现的过程的示图。编辑器指包括用于编辑文本、图像或声音的工具的客户端(硬件或软件)。编辑器可以是生产力应用,包括文字处理应用。
参考图6,在操作(602),编辑器可请求文档。请求可以是打开位于云数据库604上的文件。由于文档可能不具有与编辑器支持的文件格式相同的文件格式,对于文档的请求可调用提供转换服务的访问服务606。访问服务606可从数据库604中检索文档并将文档转换成对于编辑器而言合适的文件格式。在操作(608),编辑器可从访问服务606接收经转换的文档并呈现接收到的文档以供显示。
从数据库604中检索的文档可以是主文档。在使用编辑器的过程期间,用户可修改接收到的文档。当对接收到的文档作出修改时(610),修改可通过调用合并服务(612)被合并到主文档中。
调用合并服务(612)调用访问服务614的合并服务。对合并服务的调用可作为对从用户接收到保存命令的响应来发生。在另一实施例中,对合并服务的调用可作为工作流的一部分来发生。例如,对合并服务的调用可通过特定事件(诸如来自系统的自动保存)来触发。
任选地,确认过程(616、618)可被包括以基于用户的标识提供对于文档和/或访问服务的访问。例如,OATH令牌可被用于针对访问服务(606、614)来确认登录的用户。令牌可由编辑器发送到云数据库和/或访问服务,使得用户可被认证并且文档可被访问。
其他实施例可利用身份管理器来便于服务知晓用户是谁以及用户关注什么文档。通过知晓用户的身份,服务可代表用户来跨多个设备(例如,用户的计算机、膝上型计算机、平板、智能电话、电子书阅读器等)和服务(例如,文件主控服务,诸如来自Dropbox公司的DROPBOX服务以及来自微软公司的MICROSOFT SKYDRIVE服务)检索用户的内容(例如,文档)。
此外,通过知晓文档在其上被提供的客户端,系统可取得具有一种格式的文档并将该文档转换成针对正被用户使用的客户端定制的格式。例如,用户可正在MICROSOFTWORD中对一文档进行操作并想要在她的电子书阅读器上访问该文档。在一种这样的情况下,当用户从她的电子书阅读器中浏览可用的文件时,服务可向用户呈现该文档(例如,所以用户能在电子书阅读器上阅读它)。这可移除用户目前采取的将文档发送到电子书阅读器(以便将文档转换成适当的格式)的步骤。
文件可在在阅读器设备上打开应用之际可用。应用可具有能在阅读器上运行的相关联的文档中枢。在另一实施例中,阅读器提供的服务(诸如由亚马逊公司为Kindle阅读器提供的)可经由可扩展性层来集成用户的体验,以使得它们的用户能从本发明的某些实施例的访问服务中访问文档。
根据一实施例,用户可简单地对文档操作,保存文档(或文档的地址)并关闭文件。通过知晓用户是谁以及接着文档要对什么平台可用的身份管理器,当被相同或不同客户端再次访问时,文档将以适当的格式存在以供用户访问。
图7示出了根据本发明的一实施例的用于使用多个编辑器在文档上协作的方法的过程流图。协作的方法可基于被访问服务管理的主文档700。第一编辑器(编辑器1)可在操作(710)向访问服务请求文档700。主文档700可被存储在与访问服务相关联的数据库中或由访问服务从已知的位置中检索。在这个示例中,第一编辑器可以是支持ePub格式的阅读器并且主文档具有DOCX格式。访问服务可确定用于第一编辑器的合适的格式(715)并将文档提供给第一编辑器(720)。由于第一编辑器支持ePub格式而不是主文档的DOCX格式,所以服务可以用ePub格式向第一编辑器提供文档。
第一编辑器可接收ePub格式文档(725)并显示文档(730)。第一编辑器的用户可例如通过包括评论来修改ePub文档(735)。当保存命令(或其他指定情况)发生时,第一编辑器可向访问服务请求合并(740)。请求可包括具有修改的整个ePub文档(例如,文档和评论)或修改的位置标识符以及修改(例如,评论的位置以及要作为评论被添加的文本)。
访问服务可接收合并请求(745)并执行操作来将修改合并到主文档(750)。主文档可保留在其原始格式和版本。
第二编辑器可向访问服务请求文档(755)。在这个示例中,第二编辑器可以是支持DOCX文件扩展名、但处于与主文档的特征版本不同的特征版本的计算设备。作为说明性示例,主文档可以处于版本5,但第二编辑器可处于版本1。移至操作(760),访问服务可确定用于第二编辑器的合适的格式,并将文档提供到第二编辑器(765)。第二编辑器可接收DOCX(特征版本1)格式文档(770)并显示文档(775)。第二编辑器的用户可修改文档(780)。当保存命令(或其他指定情况)发生时,第一编辑器可向访问服务请求合并(785)。
访问服务可接收合并请求(790)并执行操作来将修改合并到主文档(795)。修改可以是针对使用两个版本均支持的特征的内容的一部分。由于第二编辑器支持DOCX的较老版本而不是较新版本,到较新版本的保真度再融合可通过使用服务来实现——并且使用较新特征的内容将不被合并破坏。
如果修改是针对使用不被两个版本均支持的特征的内容的一部分,则可通过包括代表用户作出的改变以及响应于用户作出的决定来作出的改变的任何合适的方式来解决冲突。例如,在一些情况下,服务作出的决定可关于如何、何处以及是否合并修改来作出。对于其中决定不能(或没被达成)来作出决定的情况下,服务可向一个或多个设备提供查看所有冲突和可能性的选项。用户可接着选择用于解决冲突的选项。
访问服务使得多个编辑器能查看和编辑同一文件。此外,第二编辑器和第一编辑器两者在访问主文档时跨不同的平台访问文档。
根据各实施例,文件可以是包括用户可将其视作内容并且可单独寻址的各部分(此处被称为“块”)的“文档”。这些可单独寻址的块可包括文本、段落、段落集合、表格、对象、图片、图表、音频、图像以及各种其他单元和集合。根据一些实施例,每一块和/或块集合可被单独寻址。此外,文档中的每一个可单独寻址的块可使用转换和合并服务来转换和合并。在某些情况下,这在用户编辑文档中的具有可能不同于文档如何被存储的格式的部分时可以是有帮助的。
一个或多个文本块(与格式化分开或组合)和/或图像可以在文档视图中组合并呈现给用户。
图9示出了根据本发明的一实施例的具有可寻址内容块的文档视图的图示。如图9所示,用户看见由各内容块(诸如B1 901、B2 902和B3 903)构成的单个文档-“文档”900。即使这些内容块中的至少两个可以从不同服务或资源位置获取,这些分量也可被组合成看似是内聚文档。
在图9所示的示例中,文档视图900可包括文本910、图像920和表格930。文档视图900中的一些内容可被单独寻址(并且可能已经由访问服务或提供文档的其他服务从不同服务或资源位置获取)。例如,文档视图900中的句子或段落可包括来自可寻址内容块B1901的内容;并且表格930可包括其中可包括来自内容块B2 902和B3 903的内容的一个或多个可单独寻址的单元格。
在特定实现中,该文档视图可包括其中构成该文档视图的子块可以在该文档视图中可视化的共享块视图。可视化可通过突出显示、字体颜色、评论或用户可用来确定文档视图中的一部分已经从共享块获取或者从不同的地址获取的其他区别来示出。
图10示出了根据本发明的一实施例的用于内容组织的系统的图示。参考图10,用户可将由内容访问服务从多个资源和/或服务(1001、1002、1003)检索的内容视作单个内聚文档1000。根据一实施例,用户可使用访问服务来访问文档1000,该访问服务将文档1000呈现为对用户设备可用的具有适当格式的单个文档。在呈现文档1000时,访问服务可以从文档存储1010检索多个分量。
例如,客户端可请求包括将从多个资源检索的内容的文档。在这种情况下,可以对不同资源(或服务)做出用以检索内容片段的相应API调用。尽管用户将第一内容块C11021、第二内容块1022和第三内容块1023“视作”单个文档1000,但云(或文档存储)“看见”通过API1 1031、API2 1032和API3 1033从相应的资源或服务1001、1002和1003检索到的这三个子分量。
访问服务可通过从文档存储1010获取适当的子分量C1 1021、C2 1022和C3 1023并将这些子分量布置成适当格式以供在客户端查看来响应接收到对文档的请求。
文档中的各部分可被单独寻址。当另一个人将审阅或评论文档的仅仅一部分时,用户可以向这个人发送到该文档中的将被审阅或评论的特定部分的链接,而不是通过电子邮件将文档发送给该另一个人或将整个文档提供给这个人。服务可用于请求文档的特定部分的地址(和URL);并且一旦用户接收到该地址,该用户就可将该地址发送到另一个人。当在文档视图内工作时,用户可选择一部分并请求创建地址。
在一个实施例中,一旦获取地址,该地址就可被分发给人们和系统并且例如以URL的形式取回数据。
在一些实施例中,地址可作为链接或呈现块的URL的其他形式返回到客户端。根据各实施例,地址服务可被具体化在一个或多个服务器上并且访问一个或多个数据库和/或数据仓库。地址服务可以被实现为具有SOAP API的XML Web服务。
根据特定实施例,可创建URL以允许访问由服务创建的地址处的内容。返回内容块的URL可包括块的GUID。在一些实施例中,可包括输出文件类型以指示存储块的格式。
通过经由例如GET HTTP请求来访问URL,可获取该地址处的数据。URL可由第三方服务用来向订阅者提供特定内容。
一旦创建地址,就可使用该地址来检索数据。数据可采用原生XML、规范HTML或文本。“规范”链接指的是资源的优选版本。规范链接关系从资源集中指定优选的国际化资源标识符(IRI),该资源集以重复形式返回上下文IRI的内容(即,在具有重复内容的资源上是优选的IRI)。
图11示出了创建文档中的内容子集的新地址的示例场景。参考图11,可调用创建地址API 1100以创建经由例如位置标识符来标识的文档视图的内容块1110的地址(例如,GUID)。位置标识符可包括但不限于,标识文档中的段落的段落标识符、标识文档中的行的行标识符、标识文档中的字符的字符标识符以及标识文档的一部分的部分标识符。部分标识符可提供在文档的各部分(诸如文档内容、评论内容、样式内容等)之间进行区分的位置标识。由部分标识符标识的文档的各部分还可以是文档内结构上描绘的内容。
一旦创建地址服务生成GUID,该GUID就可作为与内容块相关联的元数据返回到客户端。
传递GUID的URL可用于访问该内容块。在某些情况下,文档视图可以在显示文档内容时利用该新内容块地址。
当内容块被一个客户端更新时,可更新包括该块且由另一客户端查看的文档。在一些场景中,更新可以看上去是同时的,因为当内容块在一个客户端处被更新时,查看包括该可寻址内容块的文档的另一客户端可以看见变更,就像这些变更是本地地执行的那样。在一些其他场景中,用户可控制经更新块何时被共享(且对访问该可寻址内容的其他用户可用)。这可例如通过将一版本存储到URL中并且发送指向文档的特定版本的指针来实现。例如,用户可发送草稿版本以供审阅并保持致力于最新版本。接收到草稿版本的人将不会看到变更,直到最新版本通过发送经更新指针来共享。
在一个示例中,客户端可调用创建地址API 1100并传递段落标识符1112或范围(在某些情况下是文本或图像),并且服务为该段落或范围生成(并存储)GUID-1 1114。在某些情况下,当提供文本或图像时,服务可生成地址,就像段落标识符或范围已被提交。
作为另一示例,客户端可调用创建地址API 1100并传递表格1122的一个或多个单元格,以使得服务为该表格的一个或多个单元格生成(并存储)地址(例如,GUID-21124)。在一个场景中,这一内容块可由电子表格客户端访问以供在计算中使用。在另一场景中,特定于具有图或数学总和函数(诸如由电子表格应用创建)的单元格内容块的地址可用于在博客中或作为文字处理或演示文稿文档的一部分来提供该内容。
作为又一示例,客户端可调用创建地址API 1100并传递元数据1132以获取该元数据专用的地址(例如,GUID-3 1134)。当然,元数据可被包括在其他位置标识的内容的一个或多个块中。其中元数据在经由独立地址访问时可能是有用的一个场景是针对版本信息或签名信息。该元数据可以在稍后被访问以显示文档的协作历史。在一些实现中,当稍后被访问时,历史数据可包括由URL标识的块的各个版本的列表以及与特定版本相关联的内容。
还可实现用于可寻址块的权限管理。例如,当客户端调用创建地址API时,关于谁能够访问、编辑、查看和共享的信息可以与请求一起传递,并且这一信息可由服务器例如作为元数据来存储以供在访问该地址处的内容时对照其进行检查。这可用于控制对范围或文档的其他可标识部分的访问或许可。在一个场景中,块可包括由特定用户或(诸如由权限管理系统分配)角色访问的控件。在另一场景中,块可包括诸如一部分是否是只读之类的许可。在另一场景中,访问和许可两者都可被包括以使得具有各种角色的用户可具有各种相应许可。
图12示出了用于使用从文档中创建的内容子集来协作的方法的过程流程图。参考图12,主文档1200可由访问服务来管理。第一客户端(用户1)可在操作(1210)向访问服务请求主文档1200。主文档1200可被存储在与访问服务相关联的数据库中或由访问服务从已知的位置中检索。响应于来自第一客户端的请求,访问服务可将文档以合适的格式提供给第一客户端(1215)。
第一客户端可接收并显示文档(1220)。第一客户端的用户可任选地例如通过改变文本行中的排版错误、添加评论或执行某一其他编辑功能来修改文档(1225)。在查看文档时,用户可选择一个或多个内容块(1230)并向访问服务请求该选择的地址(1235)。请求可包括位置标识符和/或用户选择的内容。
访问服务可接收地址请求并创建该选择的地址(1240)。所选块(或其位置)可由访问服务存储在数据存储中,并且块的地址被提供给客户端。客户端接收地址(1245)并且可将块的地址包括在文档的元数据中。可以对包括具有新分配的地址的部分的文档做出修改(1250),并且可将块中的数据(连同修改,如果有的话)推送回到服务器并由访问服务存储在地址B1(1255)。尽管未示出,但原始文档(和/或对该文档的修改)也可被合并回到主文档1200,且主文档保持其原始格式和版本。
第二客户端(用户2)(可能已经被给予关于所创建的内容块B1的信息)可请求地址B1处的内容(1260)。向访问服务的请求可包括内容的地址和期望格式两者。在某些情况下,访问服务可通过其他方法来确定内容格式。访问服务能够以合适的格式向第二客户端提供内容块B1(1265)。第二客户端可接收B1内容并在文档视图中显示该内容(1270)。第二客户端可单独地、作为也由访问服务访问的另一较大文档的一部分或作为由第二客户端生成或创建的另一较大文档的一部分显示该内容块。第二客户端的用户可修改该文档,包括来自B1的内容块(1275)。当保存命令(或其他指定状况)出现时,第二客户端可向访问服务请求合并(1280)。
访问服务可接收合并请求(1285)并执行用以合并对地址B1处的内容块的修改的操作(1290)。
图13显示了示出一示例实施例的操作环境的图。内容访问服务1300可以在云上提供可扩展性层,(第二服务的)第三方(或同一方)提供者可将该可扩展性层集成到其用户体验中。
例如,第二服务1305可以用对特定文件部分的请求1312来调用内容访问服务1300。文件部分可以从可由内容访问服务1300访问且被主存在云上的文档存储1320中检索。响应于接收到请求1312,内容访问服务1300可以按对于第二服务1305是合适的格式将文档数据块返回到第二服务1305。数据格式可由内容访问服务1300转换或者按现状提供给第二服务1305。第二服务1305可将该内容提供给用户1310。在一些实施例中,该请求可包括多个请求和/或资源。一旦第二服务1305接收到该数据,就可组合数据并以任何合适的方式将该数据提供给用户1310。
例如,第二服务1305可以是内容访问服务,用户订阅并以某一其他方式利用该服务来接收包括该用户或其他用户组织的内容的内容。
图14示出了用于访问经组织的内容的方法的过程流程图。内容块1400可由访问服务管理。内容块1400可被存储在与访问服务相关联的数据库中或由访问服务从已知的位置中检索。客户端(用户3)可以在操作(1410)向可以是订阅服务的第二服务请求出版物/文档。该出版物/文档可包括经组织的内容。第二服务可接收订阅者请求(1415)并且然后在操作(1420)向访问服务请求内容块1400。访问服务可将文档以合适的格式提供给第二服务(1425)。一旦第二服务接收到内容块(1430),就可将该内容块B1与可由第二服务请求或生成的其他数据相组合(1435)。出版物/文档可由客户端接收(1440)。
可利用通知服务来将对内容的更新向外推送给订阅者。或者,内容可以周期性地刷新或者在接收到已经做出变更的通知之际刷新。
通过创建内容块的地址(例如,创建可寻址实体或对象),从服务器获取指定对象、查看和/或编辑指定对象的定制视图并利用服务来处理合并和转换问题是可能的。
以下示例场景被呈现来提供对于本发明的某些实施例以及其许多益处的更好的理解。以下示例场景仅仅用于说明本发明的实施例的应用和变型中的一些。当然,它们不以任何限制本发明的方式被考虑。
示例场景A:
KINDLE阅读器或NOOK阅读器的用户正在阅读文档并想要对文档作出贡献——要么通过评论、修正打字错误、突出显示,要么通过执行某个其他修改或注释。这些阅读器可具有一些编辑能力——即使阅读器主要不是编辑器。因此,本发明的某些实施例允许用户利用阅读器的能力(例如,注释和编辑能力)并接着将这些修改合并回文档中。替代于每个设备或应用必须包含共同创作能力,文档即服务“”合并服务可自动地将编辑/内容合并回文档中——即使来自不同的平台。
在一个实施例中,当阅读器执行同步操作(诸如被用于使得用户能够在从所能达到的最远位置中拾取数字内容的同时跨多个设备阅读电子内容)时,合并可被实现。在一个这样的情况中,在对针对同步服务更新位置的调用期间,对文档的修改可被发送到本发明的一实施例的转换和合并服务。
在另一实施例中,阅读器可在用户作出主动步骤之际(例如当用户选择保存文档时)调用转换和合并服务。在又一实施例中,自动保存特征可被用于保存改变。
由于客户端不被要求包括能理解并执行共同创作的层,因此设备可以是“哑的”或将设备资源集中到其他应用和功能。
示例场景B:
文档可被创建为具有针对从微软公司可用的MICROSOFT WORD文档和文字处理软件的最近版本的DOCX格式,但是创作者想要在阅读器上查看并且可能评论或编辑该文档,该阅读器诸如可使用ePub文件格式的NOOK阅读器或可使用专用AZW和KF8格式的AMAZONKINDLE阅读器。通过使用服务,该人能以针对NOOK阅读器或KINDLE阅读器而言适当的格式访问文档并接着通过例如添加一些评论来对文档作出改变。评论可被保存回主文件,在这个情况下是DOCX文件格式。
示例场景C:
当前,在与被用于创建MICROSOFT WORD文档的版本不同的版本中打开MICROSOFTWORD文档文件可导致该文档没有显示所有特征。例如,某些字体和格式化可改变并且丰富或复杂特征可消失,例如脚注能力和一些宏。在一些情况下,版本方面的改变也是文件格式方面的改变,诸如在使用MICROSOFT WORD 97(其使用DOC文件格式扩展名)和MICROSOFTWORD 2010(其使用DOCX文件格式扩展名)的情况下。在其他情况下,版本方面的改变提供附加的功能和/或特征,诸如在使用MICROSOFT WORD 2007和MICROSOFT WORD 2010的情况下。
当文档在较老版本中创建并接着在较新版本中打开时,较少的问题会出现,但是依然存在其中特征在较高版本中被逐步淘汰或不被完全支持的错误。除了显示在与被用于打开文档的版本不同的版本中创建的文档所发生的问题之外,当在较高版本中创建的文档在较早的版本中被打开和保存时,较高版本特征可能丢失——即使在文档在较高版本中被重新打开时。例如,MICROSOFT WORD 2010文字处理应用包括用于创建和操纵图形的特征。如果文档在MICROSOFT WORD 2010中被创建为具有精美的图形,但在MICROSOFT WORD 97中被打开以修正在文档的第一页上的一些文本中的打字错误并接着被保存,则所保存的文档回复到较老版本(具有文件格式扩展名DOC)——从而丢失了精美的图形。仅仅是因为一个单词给改变,整个文档就回复到图形图像的较老版本。
根据某些实施例,用户在较老版本中的有意改变可按保留较新特征的方式被识别并合并到新版本支持的文档中。
示例场景D:
通过使用内容访问服务,内容可针对现有产品的较老版本来定制。例如,用户可以能够延迟到软件应用的最新版本的升级或要求下一版本可向后兼容以便读取较老/较新文件格式扩展名,这是因为用户(运行最新程序并反之亦然)会接收到的文件可基于端点来定制。
例如,运行MICROSOFT OFFICE 2013的客户端可要求具有所有可用特征的完整视图,但是当同一文档从运行MICROSOFT OFFICE 2007的客户端打开时,服务可针对消费视图来打包内容、但针对MICROSOFT OFFICE 2007来优化。优化可包括将某些特征用具有适当保真度的那些来替换。作为一个示例,在一个版本中提供的公式编辑器可能不是向后兼容的。因此,服务可将文档包中的公式用公式的图像或可在适合于其中文档被提供的版本的公式编辑器中编辑的形式来替换。
类似的体验可针对其他生产力应用(包括文字处理应用)来提供。例如,运行MICROSOFT OFFICE 2013的客户端可接收具有所有可用特征的完整视图,但是当同一文档从运行另一生产力应用(诸如从谷歌公司可用的GOOGLE DOCS、从阿帕奇软件基金会可用的APACHE OPENOFFICE或从卓豪公司可用的ZOHO OFFICE)的客户端中打开时,服务可针对消费视图来打包内容、但针对GOOGLE DOCS、OPENOFFICE或ZOHO OFFICE来优化。
示例场景E:
主文件可以用最高保真度格式来存储。例如,主文档可被存储为MICROSOFT WORD的最近版本。运行MICROSOFT WORD的较早版本的客户端可被提供具有DOC格式而非DOCX格式的文件。当用户对DOC文档作出改变并保存文档(要么作为自动保存的一部分要么通过主动步骤)时,对DOC文档的改变可被保存回具有DOCX格式的主文件中。在一个实施例中,整个DOC文档在服务器处被再融合成DOCX格式。在另一实施例中,只有被用户修改的部分(并且不简单的是当将DOC文件提供到客户端时对内容作出的区别的部分)在保存之际被返回到服务器。这个部分可接着与全保真度文档重新关联。
示例场景F:
各实施例可促进相同产品的不同版本之间的向前和向后兼容性。当前,保存在MICROSOFT WORD程序中的文件可针对多个目标来保存。例如,当用于公式的经更新的特征版本被用在文件中并且文件被保存时,本机公式数据被保存出(使得它可用适当的保真度来读回以供编辑)并且公式的图片被保存出,使得文字处理器的先前版本显示公式看上去什么样——即使公式编辑器不被支持。较老版本可包括关于如何让较新版本取回它的全保真度的信息。例如,较老版本可处于显示模式并不允许编辑。
文字处理器的每个版本都包含关于如何往返某个特征的信息,使得特征版本可取回它的全保真度。往返指文档从一个版本去往另一个版本并接着返回到原始版本。例如,特征A可在版本X中、但不在版本Y中,特征A可被表示为特征A-主(A-prime)。当特征A-主从版本X被查看或访问时,特征回到A。这种安排对将来版本施加压力以基于较早版本如何能往返特征(以及可能要求附加的数据被保存)来创建向下兼容性。
本发明的各实施例移除或最小化对于使版本知晓如何往返各个特征的压力以及减少被保存来支持多个版本的数据量。各实施例使得产品的较老版本能阅读并保存来自产品的新版本的内容。
示例场景G:
丰富文本格式(RTF)是对各个文档、文本和图形格式化属性进行编码以用作适用于多个文字处理应用的跨平台文档交换的文件格式。当前,RTF文件保存文件中图片的多个单独版本以支持该文件的潜在客户端/消费者。例如,一个文件提供该图片的当前版本,第二(或更多)文件提供该图片的一个或多个先前版本,另一文件提供WORD 2.0版本,并且又一文件提供WORDPAD版本。通过提供转换和合并服务,文字处理应用不需要支持多个文件格式或具有同一内容的多个文件。
示例场景H:
合并服务可被应用来自动地在已经被电子邮件发送的文档内合并改变。在这样的情况下,电子邮件服务或服务器可与合并服务通信。合并服务可就像电子邮件服务(或电子邮件服务器)是编辑器那样来管理合并。
例如,一群人可在文档上协作。该群中的一人可将该人离线作出的改变用电子邮件作为电子邮件的附件发送到其他人。知晓该文档的标识符的服务和系统可代表用户通过用电子邮件发送到其电子邮件服务或电子邮件服务器被配置成与合并服务通信的收件人的动作来自动地将改变合并到主文档。
在另一示例中,该群人中的一人可使用与第一电子邮件服务相关联的电子邮件帐户来向其他人发送电子邮件并添加加该文档作为附件。收件人中的一些可使用不连接到第一电子邮件服务的第二电子邮件服务。例如,第一电子邮件服务可以是来自微软公司的HOTMAIL电子邮件服务,而第二电子邮件服务可以是来自谷歌公司的GMAIL电子邮件服务。
当第二电子邮件服务(其与第一电子邮件服务断开连接)的用户之一编辑文档并用经编辑的文档作为附件来回复时,第一邮件服务可将改变(其被离线地作出)合并回主文档中。当第一电子邮件服务接收附件并标识文档(以及文档的世系)时,第一电子邮件服务可发起与合并服务的通信。合并服务可就像第一电子邮件服务是编辑器那样来管理合并。
示例场景I:
用户可接收文档以供使用可具有受限计算能力和受限带宽(诸如由于等待时间)的设备(诸如电话)来审阅。当前,如果用户想要在这个环境中在文档上进行评论,即使单个评论或改变也会导致整个文档被传送回服务器。根据一个实施例,访问服务可提供针对用户设备的限制的调节并合并改变被批准的评论复选框(具有是或否)。接着,只有复选框响应的指示可被返回到服务器。通过这种方式,设备从服务获得它需要的数据并能回调服务来更新被批准的评论。服务可取得该指示并执行高保真度修改和/或插入评论。受限设备上的用户相信他/她具有完整的共同创作体验,但是不具有将整个共同创作软件/技术递送到该设备的代价。
示例场景J:
针对消费者设备调节内容的一个示例是其中消费者设备是启用触摸的设备,而文档没有准备好启用触摸。服务可通过例如提供缩放或放大特征来使得文档更加准备好来启用触摸。作为说明性示例,原始在大屏幕设备上创建的、但被提供为在小屏幕设备上呈现的文档中的表格可添加允许表格被放大(以供查看)的触摸方面。
替换地或附加地,通过将小设备的尺寸考虑在内,服务可确定存在只供三列表格中的一列的空间并将以针对小屏幕而言合适的形式来呈现表格。这可包括添加缩放特征或一次仅显示一列。
示例场景K:
用户可通过使用创建地址API来指定可寻址区域。在示例场景中,可以在电子表格应用中访问、查看和修改表格。该表格可以从从中将表格创建和制作到可寻址区域中的文字处理应用获取。一旦在电子表格应用中做出变更,表格就可被发回到文字处理文档(在需要时转换)并合并。表格可去往多个文档-一旦对象被定义(并被提供地址),被向上推送回到服务器的对该对象的变更就可以在将该对象(具有该地址)用作整体的一部分的所有“文档”中可见。
用户可通过为内容的一版本创建单独地址来“冻结”该版本。在某些情况下,附加许可可以与对被冻结版本的访问相关联。
用户还可以在编辑内容块的同时提供临时版本,以使得对块的变更在用户选择时更新。在一个实现中,这可通过具有其中用户在客户端标识该用户正临时保存对块的变更的单独推送能力来实现。在一种这样的情况下,服务可将先前版本或临时变更与指针相关联。
示例场景L:
在一个示例场景中,编辑器可请求html文档。在查看和/或编辑用HTML提供的文档时,服务可被调用以创建可寻址子区域。即,地址服务可以为内容块(可包括或可不包括相关联的元数据)创建地址。例如,可请求对查看页面的地址以及查看页面中所显示的数据的请求。例如,请求可将区域定义为查看页面并且该查看页面内的数据可被存储在新创建的地址(或者与该地址相关联)。根据各实施例,查看页面可被进一步细分并且为特定区域创建地址。在任一种情况下,请求捕捉查看页面的一部分的客户端无需能够处理由于对正查看的文档做出的修改而导致的数据大小变化。客户端可改为调用创建地址API,该API处理合并和转换问题。
例如,编辑器/查看器接收到的文档的版本可呈现200字符串中的字符55到字符75的范围之间的内容。然而,如果对文档(无论是否在范围内)做出修改,则供查看的检索到的范围可能未覆盖用户想要的部分。
通过为范围内的文本创建地址,如果范围由于关联于同一地址的文本的变化而变化,则范围变更问题不是问题,因为变更可以与可用于检索所有内容的地址相关联。在某些情况下,创建地址API可以有如下的隐式理解:在做出请求以将特定范围内的文本给予客户端时请求地址。
范围指的是HTML文档中的内容的一部分并且可以开始和结束于任何点。一般而言,范围对象包括范围的起点和终点,从而允许复制、删除和替换范围内的内容(诸如文本或HTML元素)。标记指的是可用于标识和定位一个或多个对象的昵称或名称。HTML还可包括可通过地址服务来变得可寻址的锚和已命名区域。
示例场景M:
(第二服务的或具有web在场的)第三方(或同一方)提供者可使用地址创建服务来提供其自己的应用。例如,按揭公司(或其他厂商)可使用地址创建服务来提供web应用,从而使其web应用的用户能够尝试用于获取贷款的不同选项。可由贷款选项的用户调整的变量可包括期限(例如,30年、15年、7年)、利率、总金额、月度还款额等。这种逻辑可使用电子表格应用来实现。如果按揭公司仅仅向客户提供了电子表格,则容易丢失对实现这一程序的电子表格应用的工作簿的控制。可用于实现这一程序的另一选项是按揭公司(或厂商)是否创建其自己的web应用和计算引擎。
按揭公司可利用本文描述的一个或多个服务来提供分期还款或其他贷款场景选项,而不是提供电子表格或构建新web应用。根据示例实现,电子表格应用的工作簿可由按揭公司来创建,并且特定单元格作为针对用户的定制视图的一部分变得对客户可用。例如,web应用(或网页)可访问电子表格文档并基于按揭公司使其变得可寻址的部分来向用户呈现视图。在一个实现中,按揭公司可创建从客户收集信息、创建电子表格并用从客户收集到的信息来填充电子表格的web应用。“电子表格”可通过电子表格API来调用,该电子表格API创建工作簿、向电子表格添加范围并允许更新工作簿(或单元格或范围)(例如,经由添加范围API或修改/更新范围API)。
一旦创建电子表格,按揭公司的应用就可启动电子表格以允许用户查看和操纵数据或者在专门创建的用户界面中呈现信息(例如,来自可单独寻址的总金额单元格)。电子表格视图或专门创建的用户界面视图可以从用户接收输入并且然后调用服务来执行计算和/或更新结果(例如,通过计算API或调用来在合并后从单元格获取数据)。
在另一实现中,与特定数据输入和计算输出相关联的电子表格的单元格可被单独寻址(通过使用创建地址服务)并由文字处理或其他应用访问以生成例如可用作贷款应用的一部分的文档视图。
图8示出了解说在一些实施例中使用的计算设备的各组件的框图。例如,系统800可被用于以能运行一个或多个应用的台式或笔记本计算机或平板计算机或智能电话之类的形式来实现客户端设备、编辑器或阅读器。在某些实施例中,系统800是集成计算设备,诸如集成的PDA和无线电话。应当理解在此描述的系统的各方面适用于移动和传统台式计算机两者以及服务器计算机和其它计算机系统。例如,触摸屏或启用触摸的设备(包括但不限于,启用触摸的轨迹板或鼠标)可对移动和台式设备两者可用。
系统800包括根据一个或多个应用程序810的指令处理数据的处理器805,和/或操作系统820。处理器805连同一个或多个其它组件诸如传感器(例如,磁力计、环境光传感器、邻近度传感器、加速计、陀螺仪、全球定位系统传感器、温度传感器、震动传感器)和网络连接组件(例如,包括无线电/网络接口835)可以是或者被包括在片上系统(SoC)中。
一个或多个应用程序810可被加载到存储器815中并在操作系统820上或与操作系统820相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、PIM程序、文字处理程序、电子表格程序、因特网浏览器程序、消息收发程序、游戏程序等等。其他应用程序可被加载到存储器815中且在设备上运行,包括各种客户端和服务器应用。
可以理解,存储器815可涉及一个或多个存储器组件,包括集成的和可移动的存储器组件,并且一个或多个存储器组件可存储操作系统。根据各个实施例,操作系统包括但不限于来自塞班(Symbian)有限公司的SYMBIAN OS、来自微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自惠普(Hewlett-Packard)公司的PALM WEBOS、来自运动研究有限公司(Research IN Motion Limited)的BLACKBERRYOS、来自苹果公司的IOS、以及来自谷歌公司的ANDROID OS。构想了其他操作系统。
系统800还包括存储器815内的非易失性存储825。非易失性存储825可被用于存储在系统800断电时不会丢失的持久信息。应用程序810可使用信息并将信息存储在非易失性存储825中,诸如在生产力应用中的内容的创建或修改期间执行的命令记录。同步应用也可被包括并作为应用程序810的一部分驻留,以与在主存机计算机(诸如服务器)上的对应同步应用进行交互,以保持存储在非易失性存储825中的信息与存储在主存计算机上的对应信息相同步。
系统800具有可被实现为一个或多个电池和/或能量收集器(环境辐射、光伏、压电、热电、静电等等)的电源830。电源830还可包括外部功率源,诸如补充电池或对电池重新充电的AC适配器或加电对接托架。
系统800还可包括执行发射和接收无线电频率通信的功能的无线电/网络接口835。无线电/网络接口835通过通信运营商或服务供应商方便了系统800与“外部世界”之间的无线连接。去往无线电/网络接口835的传送在操作系统820的控制下进行,将由无线电/网络接口835接收的通信传播到应用程序810,反之亦然。
无线电/网络接口835允许系统800通过网络与其他计算设备(包括服务器计算设备和其它客户端设备)通信。
音频接口840可被用于向用户提供听觉信号并从用户接收听觉信号。例如,音频接口840可被耦合到扬声器以提供听觉输出,并被耦合到话筒以接收听觉输入,诸如便于电话对话。扬声器也可被合并,使得用户可经由语音命令与计算设备交互。
系统800可进一步包括允许可选相机(未示出)的操作来记录静止图像、视频流等的视频接口845。相机还可被用于捕捉被用于与计算设备交互的姿势。
可经由显示器855提供视觉输出。显示器855可以是触摸屏显示器。在一些情况中,显示器可能不是触摸屏,且用户输入元素,诸如按钮、键、滚轮等被用来选择作为显示器855上的图形用户界面的一部分来显示的各项。
还可以包括键区860用于用户输入。键区860可以是物理键区或者在触摸屏显示器855上生成的“软”键区。在一些实施例中,显示器和键区是组合的。在一些实施例中,包括音频接口840和视频接口845的两个或更多个输入/输出(I/O)组件可被组合。分立的处理器可被包括有I/O组件,或者处理功能可被内建到处理器805中。
显示器855可呈现图形用户界面(“GUI”)元素、预测性上下文工具栏用户界面、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器855是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器855是有机发光二极管(“OLED”)显示器。当然,构想了其他显示器类型。
(可与显示器相关联的)触摸屏是被配置成检测触摸的存在和位置的输入设备。触摸屏可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏结合到显示器的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器上所呈现的对象或其他信息交互。
在其他实施例中,触摸垫可结合到不包括显示器的计算设备的表面上。例如,计算设备可具有结合到显示器的顶部的触摸屏以及与显示器相对的表面上的触摸垫。
在一些实施例中,触摸屏是单点触摸触摸屏。在其他实施例中,触摸屏是多点触摸触摸屏。在一些实施例中,触摸屏被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为手势。现在将描述若干手势。应当理解,这些手势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的手势、附加手势、和/或替换手势可在软件中实现以与触摸屏一起使用。由此,开发者可创建特定应用程序专用的手势。
在一些实施例中,触摸屏支持叩击手势,其中用户在显示器上所呈现的项目上叩击触摸屏一次。出于各种原因,可使用叩击手势,这些原因包括但不限于打开或启动用户叩击的任何事物。在一些实施例中,触摸屏支持双叩击手势,其中用户在显示器上所呈现的项目上叩击触摸屏两次。出于各种原因,可使用双叩击手势,这些原因包括但不限于多级放大或缩小,以及选择文本单词。在一些实施例中,触摸屏支持叩击并保持手势,其中用户叩击触摸屏并维持接触达至少预定义时间。出于各种原因,可使用叩击并保持手势,这些原因包括但不限于打开上下文特定的菜单。
在一些实施例中,触摸屏支持平移手势,其中用户将手指放置在触摸屏上并维持与触摸屏的接触,同时在触摸屏上移动手指。出于各种原因,可使用平移手势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移手势。在一些实施例中,触摸屏支持轻拂手势,其中用户在用户想要屏幕移动的方向上滑刷手指。出于各种原因,可使用轻拂手势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏支持捏合和张开手势,其中用户在触摸屏上用两个手指(例如,拇指和食指)进行捏合运动或者将两个手指张开。出于各种原因,可使用捏合和张开手势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上手势,但是诸如脚趾、鼻子、下巴之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏交互。如此,以上手势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
应当理解,任何移动或台式计算设备实现系统800可具有比所描述的更多或更少特征,并且不限于在此描述的配置。
例如,在一些实施例中,可在各种类型的用户界面和信息被投射到的墙壁表面上显示和交互各种类型的用户界面和信息。
在各实现中,通过系统800存储的数据/信息可包括本地地存储在设备上的数据高速缓存,或数据可被存储在可由设备通过无线电/网络接口835或通过设备和与设备相关联的一分开的计算设备(例如,分布式计算网络(诸如因特网)中的服务器计算机)之间的有线连接访问的任何数量的存储介质上。如应理解的,此类数据/信息可通过设备经无线电/网络接口835或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
此处所述的特定技术可以在由一台或多台计算设备执行的诸如程序模块之类的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、和数据结构。
各实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。在此描述的特定方法和过程可被具体化为代码和/或数据,其可被存储在一个或多个计算机可读介质上。本发明的特定实施例构想了以计算机系统的形式的机器的使用,其中一组指令在执行时,可使得系统执行本文所讨论的任意一种或多种方法的指令集。特定计算机程序产品可以是计算机系统可读并且编码指令的计算机程序以执行计算机进程的一个或多个计算机可读存储介质。
计算机可读介质可以是能由计算机系统访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。通信介质(尤其是载波和可包含可被计算机系统使用的数据的其他传播信号)不被包括为计算机可读存储介质。
作为示例而非限制,计算机可读存储介质可包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任意方法和技术中实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读存储介质包括但不限于,诸如随机存取存储器的易失性存储器(RAM、DRAM、SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM)以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。“计算机可读存储介质”不由载波或传播信号构成。
此外,在此描述的方法和过程可被实现在硬件模块中。例如,硬件模块可包括,但不限于应用专用的集成电路(ASIC芯片)、现场可编程门阵列(FPGA),和其它现在已知或今后开发的可编程逻辑设备。当硬件模块被激活时,硬件模块执行包括在硬件模块内的方法和过程。
本说明书中对“一个实施例”、“一实施例”、示例实施例摂等的任何引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在说明书中各个地方的这样的短语的出现不必全都指的是同一实施例。此外,在此揭示的任何发明或实施例的任何元素或限制可与任何和/或全部其它元素或限制(单独地或以任何组合)或任何在此揭示的其它发明或实施例进行组合,且全部这样的组合以本发明的范围来构想而没有限制。
应当理解,在此描述的各示例和实施例仅仅是解说目的,鉴于此各种变化或改变可向本领域技术人员建议,并且被包括在这个应用的精神和范围内。
Claims (8)
1.一种用于内容组织的方法,包括:
检索第一文档,所述第一文档包括经由至少两个不同地址检索的内容块,所述至少两个不同地址至少包括第一地址;
显示所述第一文档的第一视图,其中所述第一视图包括经由所述至少两个不同地址所检索的内容块;接收对所述第一文档中的所标识的内容的选择;
接收针对所述第一文档中的所标识的内容创建地址的请求;
响应于接收到对创建地址的所述请求,调用地址服务来创建所述第一文档中的所标识的内容的第二地址并且发起在所述第二地址处存储所标识的内容的拷贝;
接收对所标识的内容中的部分内容的修改;以及
在所述第二地址处存储所标识的内容的拷贝和所述修改。
2.如权利要求1所述的方法,其特征在于,所标识的内容的拷贝被认为是所标识的内容的主文档,所述方法还包括接收用于所述第二地址的统一资源定位符URL,所述URL访问所述所标识的内容的主文档。
3.如权利要求1所述的方法,其特征在于,所述所标识的内容使用段落标识符、行标识符、字符标识符、范围和部分标识符中的至少一个之类的位置标识符来标识。
4.如权利要求1所述的方法,其特征在于,还包括:
调用合并服务来请求将对所述第一文档中的所标识的内容的修改与主文档合并;其中所述主文档能任选地位于所述第二地址。
5.一种用于内容组织的系统,包括:
显示器;
处理器;
一个或多个存储介质;以及
存储在所述一个或多个存储介质上的应用,当所述应用由所述处理器执行时,指导所述处理器进行以下操作:
检索第一文档,所述第一文档包括经由至少两个不同地址检索的内容块,所述至少两个不同地址至少包括第一地址;
在所述显示器处,显示所述第一文档的第一视图,其中所述第一视图包括经由所述至少两个不同地址所检索的内容块;
接收对所述第一文档中的所标识的内容的选择;
接收针对所述第一文档中的所标识的内容创建地址的请求;
响应于接收到对创建地址的所述请求,调用地址服务来创建所述第一文档中的所标识的内容的第二地址并且发起在所述第二地址处存储所标识的内容的拷贝;
接收对所标识的内容中的部分内容的修改;以及
在所述第二地址处存储所标识的内容的拷贝和所述修改。
6.如权利要求5所述的系统,其特征在于,所标识的内容的拷贝被认为是所标识的内容的主文档,所述系统还包括接收用于所述第二地址的统一资源定位符URL,所述URL访问所述所标识的内容的主文档。
7.如权利要求5所述的系统,其特征在于,所述所标识的内容使用段落标识符、行标识符、字符标识符、范围和部分标识符中的至少一个之类的位置标识符来标识。
8.如权利要求5所述的系统,其特征在于,调用合并服务来请求将对所述第一文档中的所标识的内容的修改与主文档合并。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/753,527 | 2013-01-30 | ||
US13/753,527 US9471556B2 (en) | 2013-01-30 | 2013-01-30 | Collaboration using multiple editors or versions of a feature |
US13/892,314 | 2013-05-13 | ||
US13/892,314 US9946691B2 (en) | 2013-01-30 | 2013-05-13 | Modifying a document with separately addressable content blocks |
PCT/US2014/013254 WO2014120625A1 (en) | 2013-01-30 | 2014-01-28 | Application programming interfaces for content curation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105144153A CN105144153A (zh) | 2015-12-09 |
CN105144153B true CN105144153B (zh) | 2019-05-10 |
Family
ID=50231491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480006843.0A Active CN105144153B (zh) | 2013-01-30 | 2014-01-28 | 用于内容组织的方法和系统 |
Country Status (11)
Country | Link |
---|---|
US (2) | US9946691B2 (zh) |
EP (1) | EP2951733A1 (zh) |
JP (1) | JP6624932B2 (zh) |
KR (1) | KR102283274B1 (zh) |
CN (1) | CN105144153B (zh) |
AU (1) | AU2014212646B2 (zh) |
BR (1) | BR112015017709B1 (zh) |
CA (1) | CA2896804C (zh) |
MX (1) | MX354431B (zh) |
RU (1) | RU2666302C2 (zh) |
WO (1) | WO2014120625A1 (zh) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
WO2021144656A1 (en) | 2020-01-15 | 2021-07-22 | Monday.Com | Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems |
EP2729877A4 (en) | 2011-07-08 | 2015-06-17 | Box Inc | DESKTOP APPLICATION FOR ACCESS AND INTERACTION WITH JOBS IN A CLOUD-BASED CONTENT MANAGEMENT SYSTEM AND SYNCHRONIZATION MECHANISMS THEREFOR |
US9773051B2 (en) | 2011-11-29 | 2017-09-26 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
EP2757491A1 (en) | 2013-01-17 | 2014-07-23 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
US9946691B2 (en) | 2013-01-30 | 2018-04-17 | Microsoft Technology Licensing, Llc | Modifying a document with separately addressable content blocks |
US10621277B2 (en) * | 2013-03-16 | 2020-04-14 | Transform Sr Brands Llc | E-Pub creator |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
US10243899B2 (en) * | 2013-05-30 | 2019-03-26 | Dropbox, Inc. | Content-item relationship messaging system |
GB2515192B (en) | 2013-06-13 | 2016-12-14 | Box Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US20140368737A1 (en) | 2013-06-17 | 2014-12-18 | Spotify Ab | System and method for playing media during navigation between media streams |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US10110649B2 (en) | 2013-08-01 | 2018-10-23 | Spotify Ab | System and method for transitioning from decompressing one compressed media stream to decompressing another media stream |
US9817804B2 (en) * | 2013-09-12 | 2017-11-14 | Wix.Com Ltd. | System for comparison and merging of versions in edited websites and interactive applications |
US9654532B2 (en) | 2013-09-23 | 2017-05-16 | Spotify Ab | System and method for sharing file portions between peers with different capabilities |
US9529888B2 (en) | 2013-09-23 | 2016-12-27 | Spotify Ab | System and method for efficiently providing media and associated metadata |
US9063640B2 (en) | 2013-10-17 | 2015-06-23 | Spotify Ab | System and method for switching between media items in a plurality of sequences of media items |
US20150301806A1 (en) * | 2014-04-16 | 2015-10-22 | The Mathworks, Inc. | Tentative program code in an editor |
US10530854B2 (en) * | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US11210455B2 (en) * | 2014-06-11 | 2021-12-28 | Red Hat, Inc. | Shareable and cross-application non-destructive content processing pipelines |
US10275505B2 (en) * | 2014-06-24 | 2019-04-30 | Adobe Inc. | In-application conversion of file versions using cloud services |
US9430141B1 (en) * | 2014-07-01 | 2016-08-30 | Amazon Technologies, Inc. | Adaptive annotations |
US20160026614A1 (en) * | 2014-07-24 | 2016-01-28 | KCura Corporation | Methods and apparatus for annotating documents |
US20160048542A1 (en) * | 2014-08-14 | 2016-02-18 | Tamr, Inc. | Data curation system with version control for workflow states and provenance |
US9535883B2 (en) | 2014-10-24 | 2017-01-03 | Dropbox, Inc. | Modifying native document comments in a preview |
US20160140654A1 (en) * | 2014-11-13 | 2016-05-19 | Blue Igloo, Inc. | Automated process workflow for the entire mortgage loan and closing process |
US9972000B2 (en) | 2014-11-25 | 2018-05-15 | International Business Machines Corporation | Remote document generation |
JP6246146B2 (ja) * | 2015-02-22 | 2017-12-13 | 株式会社オプティム | 電子書籍端末、情報共有方法及び電子書籍端末用プログラム |
US10521569B2 (en) * | 2015-04-01 | 2019-12-31 | Flexera Software Llc | Method and apparatus for automatic license configuration updates |
US10282255B2 (en) | 2015-07-15 | 2019-05-07 | Microsoft Technology Licensing, Llc | Coordinating file synchronization between a sync engine and another application that supports document collaboration |
US10169592B2 (en) | 2015-10-13 | 2019-01-01 | International Business Machines Corporation | Security systems GUI application framework |
US9696967B2 (en) * | 2015-11-09 | 2017-07-04 | Microsoft Technology Licensing, Llc | Generation of an application from data |
US10740297B2 (en) | 2015-12-17 | 2020-08-11 | Box, Inc. | Adaptive tool selection for conflict resolution in a multi-session collaboration setting |
US10108688B2 (en) | 2015-12-22 | 2018-10-23 | Dropbox, Inc. | Managing content across discrete systems |
US10193975B2 (en) * | 2016-03-10 | 2019-01-29 | Microsoft Technology Licensing, Llc | Managing multiple cloud stores through a web service |
AU2017210597B2 (en) * | 2016-08-04 | 2019-02-07 | Lulu Software Holdings | System and method for the online editing of pdf documents |
US20180191825A1 (en) * | 2016-12-30 | 2018-07-05 | Cerner Innovation, Inc. | Migrating, editing, and creating content between different collaboration systems |
WO2018154976A1 (ja) * | 2017-02-27 | 2018-08-30 | アウタボックス株式会社 | サーバ装置 |
US10372830B2 (en) * | 2017-05-17 | 2019-08-06 | Adobe Inc. | Digital content translation techniques and systems |
US20190005007A1 (en) * | 2017-06-30 | 2019-01-03 | Microsoft Technology Licensing, Llc | Merging client content with cloud services |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
CN109150990B (zh) * | 2018-07-27 | 2019-08-06 | 掌阅科技股份有限公司 | 笔记分享方法、设备及计算机存储介质 |
AU2019210538A1 (en) * | 2018-08-01 | 2020-02-20 | Accenture Global Solutions Limited | Digital content management platform |
US10664319B1 (en) | 2018-11-06 | 2020-05-26 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US11227101B2 (en) * | 2019-07-05 | 2022-01-18 | Open Text Sa Ulc | System and method for document translation in a format agnostic document viewer |
US10788957B1 (en) * | 2019-08-22 | 2020-09-29 | Intel Corporation | Web page designing with sandboxed custom editors |
CN110705209A (zh) * | 2019-09-29 | 2020-01-17 | 武汉海昌信息技术有限公司 | 一种在线修改稿件的方法及其系统 |
US11308261B2 (en) * | 2019-11-14 | 2022-04-19 | Bluebeam, Inc. | Systems and methods for synchronizing graphical displays across thin client devices |
US11361156B2 (en) | 2019-11-18 | 2022-06-14 | Monday.Com | Digital processing systems and methods for real-time status aggregation in collaborative work systems |
US11290531B2 (en) * | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US20240184989A1 (en) | 2020-05-01 | 2024-06-06 | Monday.com Ltd. | Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems |
IL297858A (en) | 2020-05-01 | 2023-01-01 | Monday Com Ltd | Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices |
US11249715B2 (en) * | 2020-06-23 | 2022-02-15 | Switchboard Visual Technologies, Inc. | Collaborative remote interactive platform |
KR102226193B1 (ko) * | 2020-07-10 | 2021-03-11 | 주식회사 데카몬 | 콘텐츠 유통 관리 방법 및 그 장치 |
US11531558B2 (en) | 2020-07-21 | 2022-12-20 | Bank Of America Corporation | System for hybrid computing application with desktop and web-based components |
US11221727B1 (en) * | 2020-09-08 | 2022-01-11 | Avaya Management L.P. | Visual interlocking block based programming method and system |
US11475215B2 (en) | 2021-01-14 | 2022-10-18 | Monday.com Ltd. | Digital processing systems and methods for dynamic work document updates using embedded in-line links in collaborative work systems |
CN114997117A (zh) * | 2021-03-02 | 2022-09-02 | 北京字跳网络技术有限公司 | 文档编辑的方法、装置、终端及非暂时性存储介质 |
US12056664B2 (en) | 2021-08-17 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems |
US20230328122A1 (en) * | 2022-04-07 | 2023-10-12 | Sigma Computing, Inc. | Live editing a workbook with multiple clients |
US20230386649A1 (en) * | 2022-05-24 | 2023-11-30 | Memoro LLC | System and method for multidimensional collection and analysis of transactional data |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
US12056255B1 (en) | 2023-11-28 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773496A (zh) * | 2004-11-08 | 2006-05-17 | 微软公司 | 用于文档组装的方法和系统 |
US8042036B1 (en) * | 2006-07-20 | 2011-10-18 | Adobe Systems Incorporated | Generation of a URL containing a beginning and an ending point of a selected mark-up language document portion |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4012234B2 (ja) | 2002-01-18 | 2007-11-21 | 株式会社インターネットディスクロージャー | 書類作成システム、書類作成方法及び書類作成プログラム |
US7478170B2 (en) | 2002-03-05 | 2009-01-13 | Sun Microsystems, Inc. | Generic infrastructure for converting documents between formats with merge capabilities |
JP3944014B2 (ja) | 2002-07-09 | 2007-07-11 | 株式会社東芝 | 文書編集方法、文書編集システム及び文書処理プログラム |
US7228496B2 (en) | 2002-07-09 | 2007-06-05 | Kabushiki Kaisha Toshiba | Document editing method, document editing system, server apparatus, and document editing program |
JP2004326176A (ja) | 2003-04-21 | 2004-11-18 | Matsushita Electric Works Ltd | 情報サーバ、情報サーバ用プログラムおよび情報システム |
US20050044145A1 (en) | 2003-08-20 | 2005-02-24 | International Business Machines Corporation | Collaboration method and system |
US7577906B2 (en) | 2004-11-08 | 2009-08-18 | Microsoft Corporation | Method and system for document assembly |
JP5172073B2 (ja) | 2004-12-08 | 2013-03-27 | 大日本印刷株式会社 | 編集システム、サーバ及びプログラム |
JP2006315801A (ja) | 2005-05-12 | 2006-11-24 | Hitachi Omron Terminal Solutions Corp | 紙葉類搬送装置 |
US9098597B2 (en) * | 2005-06-03 | 2015-08-04 | Apple Inc. | Presenting and managing clipped content |
US8054496B1 (en) * | 2005-07-13 | 2011-11-08 | Adobe Systems Incorporated | Previewing a compound document |
US20070067336A1 (en) | 2005-09-20 | 2007-03-22 | Innodata Isogen, Inc. | Electronic publishing system and method for managing publishing requirements in a neutral format |
US20070079236A1 (en) | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Multi-form design with harmonic composition for dynamically aggregated documents |
US7917845B2 (en) * | 2005-12-22 | 2011-03-29 | Xerox Corporation | System and method for managing dynamic document references |
WO2009147704A1 (ja) * | 2008-06-04 | 2009-12-10 | 株式会社 アテナテレコムラボ | テーブルとテーブル項目の平行編集プログラム |
US20110296291A1 (en) | 2007-11-15 | 2011-12-01 | Olya Melkinov | System and method for transforming documents for publishing electronically |
US8028229B2 (en) * | 2007-12-06 | 2011-09-27 | Microsoft Corporation | Document merge |
US7954058B2 (en) * | 2007-12-14 | 2011-05-31 | Yahoo! Inc. | Sharing of content and hop distance over a social network |
US20090235161A1 (en) * | 2008-03-15 | 2009-09-17 | Microsoft Corporation | Lossless Web-Based Editor For Complex Documents |
US20090249224A1 (en) | 2008-03-31 | 2009-10-01 | Microsoft Corporation | Simultaneous collaborative review of a document |
US8275880B2 (en) | 2008-05-06 | 2012-09-25 | Microsoft Corporation | Media content programming, delivery, and consumption |
US20090307762A1 (en) * | 2008-06-05 | 2009-12-10 | Chorus Llc | System and method to create, save, and display web annotations that are selectively shared within specified online communities |
WO2009152499A2 (en) * | 2008-06-13 | 2009-12-17 | Skribel, Inc. | Methods and systems for handling annotations and using calculation of addresses in tree-based structures |
US8346768B2 (en) * | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
US20100332401A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
US8924569B2 (en) | 2009-12-17 | 2014-12-30 | Intel Corporation | Cloud federation as a service |
US9158778B2 (en) * | 2010-08-27 | 2015-10-13 | Novell, Inc. | Techniques for content services |
US8843616B2 (en) | 2010-09-10 | 2014-09-23 | Intel Corporation | Personal cloud computing with session migration |
US20120136764A1 (en) * | 2010-11-29 | 2012-05-31 | Intuit Inc. | On-line tax preparation application screen navigation using url bookmarks |
EP2458548A1 (en) | 2010-11-30 | 2012-05-30 | France Telecom | System and method for implementing dynamic access control rules to personal cloud information |
US9424362B2 (en) | 2010-12-17 | 2016-08-23 | Microsoft Technology Licensing, Llc | Storing and publishing contents of a content store |
US20120185759A1 (en) * | 2011-01-13 | 2012-07-19 | Helen Balinsky | System and method for collaboratively editing a composite document |
US9367530B2 (en) | 2011-01-21 | 2016-06-14 | Jive Software | Distributed document co-authoring and processing |
US9098719B2 (en) * | 2011-02-03 | 2015-08-04 | Apple Inc. | Securing unrusted content for collaborative documents |
US20120209907A1 (en) | 2011-02-14 | 2012-08-16 | Andrews Anton O A | Providing contextual content based on another user |
US8635220B2 (en) | 2011-04-22 | 2014-01-21 | Iris.Tv, Inc. | Digital content curation and distribution system and method |
US20130254259A1 (en) * | 2012-03-20 | 2013-09-26 | Fast Track Technologies Limited | Method and system for publication and sharing of files via the internet |
US9946691B2 (en) | 2013-01-30 | 2018-04-17 | Microsoft Technology Licensing, Llc | Modifying a document with separately addressable content blocks |
US9471556B2 (en) | 2013-01-30 | 2016-10-18 | Microsoft Technology Licensing, Llc | Collaboration using multiple editors or versions of a feature |
-
2013
- 2013-05-13 US US13/892,314 patent/US9946691B2/en active Active
-
2014
- 2014-01-28 MX MX2015009822A patent/MX354431B/es active IP Right Grant
- 2014-01-28 CA CA2896804A patent/CA2896804C/en active Active
- 2014-01-28 CN CN201480006843.0A patent/CN105144153B/zh active Active
- 2014-01-28 KR KR1020157020638A patent/KR102283274B1/ko active IP Right Grant
- 2014-01-28 AU AU2014212646A patent/AU2014212646B2/en active Active
- 2014-01-28 BR BR112015017709-3A patent/BR112015017709B1/pt active IP Right Grant
- 2014-01-28 RU RU2015131617A patent/RU2666302C2/ru active
- 2014-01-28 EP EP14708132.7A patent/EP2951733A1/en not_active Ceased
- 2014-01-28 WO PCT/US2014/013254 patent/WO2014120625A1/en active Application Filing
- 2014-01-28 JP JP2015556074A patent/JP6624932B2/ja active Active
-
2018
- 2018-03-07 US US15/915,030 patent/US10162805B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773496A (zh) * | 2004-11-08 | 2006-05-17 | 微软公司 | 用于文档组装的方法和系统 |
US8042036B1 (en) * | 2006-07-20 | 2011-10-18 | Adobe Systems Incorporated | Generation of a URL containing a beginning and an ending point of a selected mark-up language document portion |
Also Published As
Publication number | Publication date |
---|---|
AU2014212646A1 (en) | 2015-07-16 |
WO2014120625A1 (en) | 2014-08-07 |
US20180196788A1 (en) | 2018-07-12 |
MX354431B (es) | 2018-03-05 |
KR20150111935A (ko) | 2015-10-06 |
AU2014212646B2 (en) | 2019-01-17 |
MX2015009822A (es) | 2015-10-05 |
CN105144153A (zh) | 2015-12-09 |
US10162805B2 (en) | 2018-12-25 |
EP2951733A1 (en) | 2015-12-09 |
JP6624932B2 (ja) | 2019-12-25 |
CA2896804C (en) | 2020-09-08 |
BR112015017709A2 (pt) | 2017-07-11 |
BR112015017709B1 (pt) | 2022-05-17 |
US20140215303A1 (en) | 2014-07-31 |
US9946691B2 (en) | 2018-04-17 |
JP2016511883A (ja) | 2016-04-21 |
KR102283274B1 (ko) | 2021-07-28 |
RU2015131617A (ru) | 2017-02-03 |
CA2896804A1 (en) | 2014-08-07 |
RU2666302C2 (ru) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144153B (zh) | 用于内容组织的方法和系统 | |
CN105051730B (zh) | 使用多个编辑器或特征的各版本的协作 | |
CN110520859B (zh) | 更智能的复制/粘贴 | |
US10474740B2 (en) | Virtual library providing content accessibility irrespective of content format and type | |
CN105793840B (zh) | 在撰写电子邮件的同时文件预览和许可 | |
CN108140012A (zh) | 实现网络内容生成所见即所得(wysiwyg)的方法和系统 | |
CN110168539A (zh) | 混合应用中的快速页面加载 | |
US10740367B2 (en) | Displaying an indication of changes made to content at a source | |
CN107077345A (zh) | 用于在当前应用中插入内容的个性化上下文菜单 | |
US20190250780A1 (en) | Selective user notification of actions taken to content by other users | |
Sun et al. | The exploration and practice of mvvm pattern on android platform | |
Gunasekaran et al. | Dynamic Webpage Management System | |
Kumar et al. | ASP. NET Web API |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |