CN113261023A - 远程访问协作文档的元数据 - Google Patents
远程访问协作文档的元数据 Download PDFInfo
- Publication number
- CN113261023A CN113261023A CN201980087267.XA CN201980087267A CN113261023A CN 113261023 A CN113261023 A CN 113261023A CN 201980087267 A CN201980087267 A CN 201980087267A CN 113261023 A CN113261023 A CN 113261023A
- Authority
- CN
- China
- Prior art keywords
- document
- action
- metadata
- user
- user input
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000009471 action Effects 0.000 claims description 106
- 230000004044 response Effects 0.000 claims description 40
- 230000001360 synchronised effect Effects 0.000 claims description 23
- 238000009877 rendering Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 37
- 230000015654 memory Effects 0.000 description 28
- 238000007726 management method Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 19
- 230000000670 limiting effect Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012553 document review Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 210000004754 hybrid cell Anatomy 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- 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/93—Document management systems
-
- 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
- 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—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于在经由本地应用访问电子内容的同时管理远程的基于元数据的活动的***和方法。该***被配置为接收用户输入,所述用户输入触发用于与远程服务器通信的信号。远程服务器可以向客户端***提供选项,所述选项与当前观看的电子内容的元数据相关或基于当前观看的电子内容的元数据。所公开的***和方法显著提高了针对文档开发和同步***的效率和易用性。
Description
背景技术
云存储帐户允许用户将他们的电子内容项或文件存储在可以从具有网络连接的任何计算设备访问的在线存储帐户中。一些较为知名的云存储服务提供商的示例包括MicrosoftGoogle以及通过这些类型的服务,用户可以将诸如图片、歌曲、文档和其他电子内容之类的内容项从计算设备上传到在线存储帐户。以后可以从不同的计算设备访问这些项目。在某些情况下,例如微软公司的服务提供了与其他人以及跨多个计算设备存储、同步和共享各种文件类型的方法,以及对***设置、视觉定制、主题、应用设置和浏览器选项卡、不同设备的历史记录和保存的密码进行同步的可能性。
一旦内容存储在了在线存储帐户中,用户就能够访问他们的内容项。然而,对内容项进行同步本身可能很耗时。作为一个示例,许多内容项可以包括关于内容项本身(例如,元数据)的大量数据集。传统的内容项同步方法旨在传递整个内容项(包括元数据),这可能导致更长的同步会话和本地存储器存储。因此,在减少数据同步期间的时间延迟以及改善用户与关于给定文档的数据进行交互的体验方面,仍然存在新的和改进的想法的重要领域。
发明内容
根据本公开内容的第一方面,一种访问协作文档动作的内容管理***包括处理器和计算机可读介质,所述计算机可读介质包括指令,所述指令在由所述处理器执行时使所述处理器:在第一客户端***处接收与所述第一客户端***同步的第一协作文档相关联的第一统一资源标识符(URI),并且经由与所述第一协作文档的本地实例有关地在所述第一客户端***上执行的本机应用来接收第一用户输入以显示针对所述本地实例的动作的第一菜单。另外,所述指令还使得所述处理器响应于所述第一用户输入,经由网络取回与所述第一URI相对应的第一可用动作清单,其中,所述第一可用动作清单包括第一动作规范,所述第一动作规范标识可经由远程***获得的第一协作文档动作,以及响应于取回所述第一可用动作清单,动态地生成针对所述第一协作文档动作的菜单项,并且与所述第一菜单一起显示所述菜单项。此外,所述指令使得处理器接收第二用户输入,所述第二用户输入指示对所述菜单项的用户选择,并且然后响应于所述第二用户输入并且基于所述第一动作规范,取回来自所述远程***的第一指令以用于渲染用户界面以执行针对所述第一协作文档的第一协作文档动作。所述指令还使得处理器执行第一指令以针对所述第一协作文档在所述第一客户端***上显示动作用户界面,经由所述动作用户界面来接收第三用户输入,以及响应于所述第三用户输入,将命令从所述第一客户端***发送到所述远程***以对所述第一协作文档执行所述第一协作文档动作。
根据本公开内容的第二方面,一种用于访问协作文档动作的方法包括:在第一客户端***处接收与所述第一客户端***同步的第一协作文档相关联的第一统一资源标识符(URI),以及经由与所述第一协作文档的本地实例有关地在所述第一客户端***上执行的本机应用来接收第一用户输入以显示针对所述本地实例的动作的第一菜单。另外,所述方法包括经由网络并且响应于所述第一用户输入,取回与所述第一URI相对应的第一可用动作清单,其中,所述第一可用动作清单包括第一动作规范,所述第一动作规范标识可经由远程***获得的第一协作文档动作,并且然后,响应于取回所述第一可用动作清单,动态地生成针对所述第一协作文档动作的菜单项并且与所述第一菜单一起显示所述菜单项。此外,所述方法包括接收指示对所述菜单项的用户选择的第二用户输入,并且然后,响应于所述第二用户输入并且基于所述第一动作规范,取回来自所述远程***的第一指令以用于渲染用户界面以执行针对所述第一协作文档的第一协作文档动作,并且然后,执行所述第一指令以针对所述第一协作文档在所述第一客户端***上显示动作用户界面。所述方法还包括经由所述动作用户界面来接收第三用户输入,以及响应于所述第三用户输入,从所述第一客户端***向所述远程***发送命令以对所述第一协作文档执行所述第一协作文档动作。
提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在确定要求保护的发明主题的关键特征或重要特征,也不旨在用于限制要求保护的发明主题的范围。另外,要求保护的发明主题不局限于解决本公开内容的任何部分中指出的任何或所有缺点的实现。
附图说明
附图仅通过示例而非限制的方式描绘了根据本教示的一种或多种实现方式。在附图中,类似的附图标记指代相同或相似的元素。此外,应当理解,附图不一定是按比例绘制的。
图1A和图1B是内容同步环境的实现的概念图示;
图2A和图2B是示出了用于管理内容同步和元数据的分布式计算环境架构的实现的概念图;
图3是具有在经由同步客户端应用访问之后在客户端设备上打开的文档的实现的设备显示器的表示;
图4是具有提供对文档文件和主选项菜单的访问的本机应用的实现的设备显示器的表示;
图5是具有提供对文档文件和次级选项菜单的访问的本机应用的实现的设备显示器的表示;
图6是具有提供对由本机应用访问的针对文档的元数据的访问的基于web的接口的实现的设备显示器的表示;
图7是具有提供对针对文档的元数据选项的访问的客户端文件夹的实现的设备显示器的表示;
图8是具有提供对针对图7中选择的文档的元数据的访问的基于web的接口的实现的设备显示器的表示;
图9是访问针对电子内容项的远程元数据的方法的实现的过程流程图;
图10是示出了用于提供客户端设备对远程元数据的访问的过程的实现的流程图;
图11是示例计算设备的框图,其可以用于提供本文描述的机制的实现;以及
图12是示出了被配置为从机器可读介质读取指令的示例机器的组件的框图。
具体实施方式
在下面的具体实施方式中,通过举例的方式阐述了大量的具体细节以便提供对相关教导的透彻理解。然而,将显而易见的是,可以在没有这些细节的情况下来实施本文的教导。在其他情况下,已经在相对较高的水平上对众所周知的方法、程序、组件和/或电路进行了描述,但没有详细说明,以避免不必要地模糊本文的教导的方面。
一般而言,计算***经常共享和访问来自云计算(或其他远程服务器)环境的信息。例如,一些计算***将文件存储在云计算数据存储***上。然而,在创作和编辑文档期间,这些相同的文件也可以被应用存储在本地磁盘上。类似地,如下文进一步详细讨论的,一些***具有支持文档协作(例如合并、共享、共同创作和其他功能或能力)的应用。在一些情况下,这些***可以依赖于同步引擎(或“同步引擎”),该同步引擎负责检测和同步本地磁盘和云存储***之间的对文件和文件夹的更改。为了实现这一点,同步引擎可以跟踪存储在磁盘上的文件和存储在云中的文件的状态,并在接收到某些内容已更改的信息时协调这些状态。例如,如果在本地磁盘上编辑文件,则同步引擎可能会检测到该更改,意识到需要将更改发送到云、传输更改、等待云进行响应,然后更新其本地状态信息以指示已进行更改。在文件是协作的产物或受协作的情况下,附加和不断发展的元数据可以与文件相关联。在一些实施方式中,***可以被配置为维护和传送针对每个文件的一组协作元数据。换句话说,每个文件可以具有或链接到关于文件的元数据。针对每个文件的这种“协作元数据”可以部分地用于帮助维护文件的各种版本,以及提供关于文件的状态、工作流任务或其他方面的重要信息。然而,保持文件及其相关联的协作元数据的最新同步会导致同步期间的延迟以及消耗大量计算资源。为了帮助同步过程对***和网络资源的影响最小化,以下公开内容提出了一种范例,其中针对文件的协作元数据在对文件的同步和随后在客户端设备上的用户访问期间基本上与文件分离。换言之,当用户经由客户端设备应用下载和/或访问文件并且这些文件继续与云存储***同步时,协作元数据保留在远程位置(例如,在本地设备之外)。在用户在文件中发起需要访问协作元数据的动作的事件中,则建议的内容管理***(CMS)可以通过在本地设备上提供用户可以经由其直接访问存储在云中的协作元数据的门户或其他网络接口来进行响应。因此,针对文件的同步过程不需要将大量、昂贵的协作元数据传输到客户端设备而发生。通过使用户能够根据需要针对文件元数据来“接触”云,***作为整体可以更顺畅、更高效地运行。
通常,内容管理***(CMS)是指用户可以通过它来存储内容项以及执行各种内容管理任务(例如取回、修改、浏览和/或共享内容项,以及使用户能够从多个客户端设备访问内容)的***。通常,用户可以通过连接到网络的一个或多个客户端设备与CMS交互。CMS可以支持来自各种不同客户端设备(例如桌面式计算机、移动计算机、移动通信设备(例如手机、智能手机、平板电脑等)、智能电视、游戏设备、机顶盒和/或任何其他具有网络功能的计算设备)的连接。CMS可以被配置为同时接受来自多个客户端设备的连接并与之交互。通常,用户通过与安装在客户端设备上的客户端应用进行交互,或经由第三方应用(例如Web浏览器应用)来与CMS接合,并被配置为与CMS通信。
此外,作为示例,术语“电子内容项”或“内容项”可以包括可以被呈现(例如,在视觉或听觉上呈现)的任何数字数据,包括但不限于电子文档、媒体流、网页、超文本文档、图像、数字视频或录像、数字音频或音频记录、动画、数字消息、标记语言文档(例如超文本标记语言(HTML)或可扩展标记语言(XML)文档)、具有空白组件以接受输入数据的表单,或者描述GUI的应用的数据,以及其他数字数据。此外,“项目”可以包括电子设备上的任何文件夹、文件、目录或数据对象。作为一个示例,项目可以指目录“文件夹”,其可以包括文档、照片、音乐文件和视频文件。
此外,术语“软件应用”、“软件”或“应用”通常是指执行有用工作的计算机程序,通常与计算机本身无关。软件应用的一些非限制性示例包括文字处理器、电子表格、会计***和电信程序,以及游戏软件、实用工具和生产力工具、移动应用、演示图形以及其他生产力软件。这些是非限制性示例,并且任何其他电子内容编辑或协作应用都可以从所公开的实施方式中受益。因此,在整个说明书中通过名称对软件应用的特定提及不应被理解为限制所提出的***和方法的使用。
此外,以下公开内容将参考文档“工作流”。工作流通常可以被描述为产生结果的一系列任务。在以下公开内容的上下文中,工作流可以例如指通过与业务或其他协作过程相关的动作或任务序列对文档或项目的自动化或基本上自动化的移动。通过使组织能够将业务逻辑附加到共享内容管理***中的文档或项目,工作流经常用于管理组织内的通用业务流程。通常,业务逻辑是指用于指定和控制发生在文档或项目上的动作的一组指令。
工作流通常通过管理和跟踪这些流程所涉及的人工任务来简化对常见业务流程(例如项目批准或文档审查)进行协调所需的成本和时间。例如,在Microsoft站点中,可以将工作流添加到文档库中,该文档库将文档路由到一组人员以供审批。当文档作者在该库中的文档上启动该工作流时,工作流会创建文档审批任务,将这些任务分配给工作流参与者,并且然后向参与者发送电子邮件警报,其中带有对于待审批的文档的的任务指令和链接。当工作流在进行中时,工作流所有者(在本情况中为文档作者)或工作流参与者可以查看“工作流状态”面板以识别哪些参与者已完成其工作流任务。当工作流参与者完成他们的工作流任务时,工作流结束,并自动通知工作流所有者:工作流已完成。换句话说,工作流通常用于驱动过程并且管理关于文档存储库中文件的生命周期。因此,工作流可以促进围绕协作文档的管理过程。
通常,可以理解,这样的工作流严重依赖于与文件相关联的元数据。由于许多用户继续在客户端设备应用而不是基于Web的应用上打开和访问文档,以下实现描述了一种机制,通过该机制,关于文档的工作流状态或历史的协作元数据可以保留在云存储***中。以下***和方法使用户能够在本地工作的同时快速访问该远程协作元数据。换句话说,针对文档的在客户端设备上发生的工作(例如,作为本地实例)可以经由文档访问期间可用的链接与针对文档的协作元数据保持耦合,从而允许用户继续管理工作流以及关于该文档的其他结果信息。在一些实施方式中,取决于其配置,可以生成包含被确定为与文档相关的一些或全部元数据的表单。例如,该表格可以包含一个或多个字段,每个字段映射到一条元数据,如下文将更详细讨论的。
为了更好地向读者介绍这些***和方法,图1A和图1B呈现了用于实施电子内容同步管理***(在图2A和2B中示意性示出)的代表性计算环境(“环境”)150的高级示例。在不同的实施方式中,环境150可以包括一个或多个计算设备终端用户,或简称为“用户”。一个或多个用户可以与经由用户设备呈现的数据进行交互或操作这些数据。结合后面的图呈现了进一步的细节和示例,概括地描述了图1A和图1B中所示的各种特征和活动。
作为示例,图1A中示出了第一用户110。在这种情况下,第一用户110正在访问第一设备120上的同步客户端应用(“同步客户端”)100。第一设备120可以是个人计算机,例如桌面式或膝上型计算机、移动设备或具有文件***的任何其他计算机***。第一设备120执行诸如Microsoft或其他操作***之类的操作***,并且包括存储器、存储、网络接口以及为简单起见未在图1A中示出的其他计算机硬件。第一设备120经由其操作***在其存储***上创建、修改和/或删除文件。此外,如下文进一步描述的,第一设备120包括一个或多个同步文件夹。在图1A中,仅示出了一个设备,但是任意数量的设备可以是经由同步服务的共享同步的文件夹。例如,第一设备120可以连接到服务器、其他设备和/或在线或基于云的计算文档存储库(“云存储库”)190。当第一用户110经由第一设备120添加或修改电子内容时,各种内容或文件可以通过网络连接被更新或保存在云存储中。
在不同的实施方式中,客户端计算设备可以包括传统的客户端类型设备,以及桌面式计算机类型设备、移动类型设备、专用类型设备、嵌入式类型设备和/或可穿戴类型设备。例如,客户端计算设备可以包括计算机导航类型的客户端计算设备,例如基于卫星的导航***,包括全球定位***(GPS)设备和其他基于卫星的导航***设备;电信设备,例如手机、平板计算机、混合手机平板电脑、个人数字助理(PDA)、膝上型计算机、其他移动计算机、可穿戴计算机、植入式计算设备、桌面式计算机、个人计算机、汽车计算机、网络电视、瘦客户端、终端、游戏控制台、游戏设备、工作站、媒体播放器、个人录像机(PVR)、电视机顶盒、数字录像机(DVR)、摄像头、用于包含在计算设备、电器或被配置为接收用户输入的任何其他类型的计算设备中的集成组件。
在该示例中,第一设备120允许第一用户110在客户端的本地文件***上创建、修改和删除文件,并且使这些动作与主机***和/或一台或多台其他客户端计算机上相同文件的版本同步。在一些实施方式中,用户可以创建文件夹并将其指定用于同步。文件的内容部分地由同步客户端100管理以维持所需的同步频率或级别。通常,用户可以通过针对同步客户端100的本机控件或经由网络服务器来创建共享的同步文件夹。
在图1A中,同步客户端100可以被理解为提供UI,该UI被配置为允许第一用户110选择要访问或共享的文件夹或内容。因此,第一用户110正在使用第一设备120来接收或同步云存储库190中可用的一个或多个电子内容。出于该特定示例的目的,电子内容集包括与第一协作元数据内容(“第一元数据”)104相关联的第一电子内容项(“第一项目”)102。第一项目102包括包含文档本身的主要内容,而第一元数据104包括关于文档的信息。
在图1A中,第一用户110经由同步客户端100将与第一项目102对应的文件添加或更新到第一设备120上的本地同步文件夹。操作***可以发送消息以指示同步文件夹发生了更改,以及发生更改的文件夹或者文件夹内的文件的位置(路径)。随着文件夹被同步,与每个项目相关联的数据被发送到云存储服务190和/或从云存储服务190发送。
在许多情况下,普通用户将保持不知道在同步过程期间数据与元数据的分离。如图1B所示,第一用户110继续经由位于第一设备120的计算资源122或以其他方式与第一设备120的计算资源122相关联的本地应用140来访问文档(第一项目102)。在不同的实现中,架构可以包括至少一个网络,包括但不限于诸如互联网之类的公共网络、诸如机构和/或个人内联网之类的私有网络,和/或私有网络和公共网络的某种组合。
第一用户110可以执行工作或对文档进行更改。在对本机应用140进行访问的期间的某个时刻,第一用户110可以发起与需要访问针对文档的元数据的第一项目102相关联的动作。因为该元数据在本地不可用,所以当第一用户110提供发起针对访问元数据的请求的一些输入(这里示为触发130)时,在一些实施方式中,本机应用140可以生成信号142,该信号被发送到CMS 170或其他基于云的服务。该服务可以从云存储服务190取回元数据(第二项目104)并且在第一设备120上呈现基web的界面160以供第一用户110查看和/或与之交互。在其他实施方式中,本机应用140可以向客户端***的某个其他应用发送信号以便发起与远程元数据的通信会话。第一用户110然后能够容易地访问基于元数据的内容,而不管第一设备120上的内容的同步状态。
因此,本公开内容提供了多个技术优势,包括但不限于:可以与多个本地应用接口的同步过程的实现,能够将文档内容数据的同步与针对文档的元数据分离的能力,执行跨应用的数据传输的处理设备的更高效操作(例如,节省计算周期/计算资源),文件同步期间设备之间更有效的通信(例如,设备之间较少重新协商以同步文件数据),能够与具有各种外形因素的设备一起工作的能力,使用文件数据工作进行同步时的可扩展性(包括在无需下载或传输元数据内容的情况下修改与正在同步的文件相关联的元数据的能力),以及减少设备和文件传输之间同步的延迟,以及其他示例。
为了提供关于所公开的实施方式的更清楚的说明,参考图2A和图2B的序列呈现了内容管理***(“***”)的示例,其包括第一客户端***210(与第一用户202相关联)、第二客户端***238(与第二用户204相关联)以及同步服务230。注意,本说明书中其他地方描述的所有特征和功能可以至少由图2A和图2B中描述的***实现。
在图2A中,描绘了用于管理文档同步和协作元数据内容的同步服务230的一种实施方式。在一些实施方式中,同步服务230可以与各种模块通信,模块例如其他服务和储存库,包括元数据服务240、清单服务234和/或协作文档储存库250。尽管在图2A的实现中这些模块被示为与同步服务230分离,但是应当理解,在其他实现中,这些模块中的一个或多个可以是同步服务230本身的一部分或合并在同步服务230本身之内。
在不同的实施方式中,***200的各种组件可以经由至少一个有线或无线网络接口来接收和/或共享信息,该接口能够通过网络232与其他模块以及与基于网络的应用进行通信。网络接口的示例包括IEEE 802.11无线LAN(WLAN)无线接口、全球微波接入互通(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。在本文别处描述了网络接口的另外示例。网络232的一些示例包括局域网(LAN)、广域网(WAN)(例如互联网)、个域网(PAN)和/或通信网络的组合。
为了向读者提供更大的清晰度,包括了第二客户端***230以说明一种机制,通过该机制可以发生文档工作流和协作。在图2A中,第二用户204可以经由网络232访问协作文档252的共享实例和/或与其交互(例如在在线创作或其他基于网络的应用236上)。在线创作应用236表示基于网络的应用的示例,其在一些实例中,其也可以被称为“云”应用或服务。基于网络的应用通常可由计算设备通过网络232访问,可以被配置为执行数据处理和/或数据托管操作,并且可以针对基于元数据的活动和任务(例如,工作流)提供数据。在不同的实现中,这种基于网络的应用可以包括任何类型的网络可访问应用或服务,例如数据库应用、社交网络应用、消息传送应用、金融服务应用、新闻应用、搜索应用、生产力应用、云存储应用、文件托管应用等。此类应用的一些非限制性示例包括网络可访问SQL(结构化查询语言)数据库、Salesforce.comTM、 Finance、The New York(网址为www.nytimes.com)、谷歌搜索、Bing、Google DocsTM、Office365、DropboxTM,等等。尽管图2A示出了一个基于网络的应用,但可以通过网络232访问任意数量的基于网络的应用。
存储在协作文档储存库250中的协作文档252可以包括针对文档本身的电子内容。在一些实施方式中,针对协作文档252的元数据和相应的基于元数据的动作选项可以存储在单独的模块(这里,元数据服务240)中。元数据服务240可以经由第二客户端***238向第二用户204提供在线元数据界面246,以用于参与针对所选文档的各种工作流选项或其他基于元数据的活动。在一些实施方式中,结合基于元数据的活动视差的改变或其他信息可以记录在协作文档元数据存储248中。
在不同的实现中,文档的协作者可以选择将文档作为本地(本机应用)实例或远程或共享(基于网络的)实例来访问。作为示例,第一用户202可以被理解为在同步会话之后从文件存储220访问作为本地实例222的协作文档252。第一客户端***210可以包括针对上文图1A和图1B中的同步客户端应用100和第一设备120描述的任何特征。本地实例222可以经由同步服务230和与第一客户端***210的客户端操作***214相关联的同步客户端212之间的通信来生成,其可以在不同时间将协作文档252的共享实例与本地实例222同步。在一些实施方式中,第一用户202可以选择经由在客户端操作***214上运行的本机应用216来访问本地实例222或与本地实例222交互。本机应用216是在不必通过网络进行通信的情况下可由客户端***访问的应用的示例。例如,本机应用216可以被配置为在由处理器执行时执行数据处理和/或数据托管操作,并且可以被配置为向参考元数据内容开发的工作流提供数据。作为一些示例,本机应用216可以是任何类型的本地应用或服务,例如数据库应用(例如, 电子表格)、电子邮件应用(例如, )、生产力应用(例如等)或其他类型的应用。尽管图2A示出了单个本地应用,但是客户端***中可以存在任意数量的本地应用。
通常,电子内容文件数据或内容包括文件内容(数据流),以及可以包括文件名、时间戳、属性等的相应文件元数据。在一些实施方式中,第一客户端***210可以接收、修改或以其他方式通过清单服务234来访问关于协作文档的该信息。清单服务234可以与元数据服务240的统一资源标识符(URI)或元数据标识符存储224通信以确定适当的标识符以包括在每个协作文档中。一个或多个URI可以经由清单服务234与同步文档链接,使得协作文档与其他客户端***的同步会话将包括合适的和最新的元数据标识符。在第一用户202提供参考文档元数据的输入或以其他方式发起对于针对基于元数据的活动的行动的调用的情况下,可以触发、激活或执行与本地文档相关联的URI以请求来自元数据服务240的信息和/或动作。元数据服务240可以经由元数据API 244从第一客户端***210接收请求,元数据API244被配置为接收和/或与客户端***共享信息。作为响应,元数据API 244可以经由网络232向第一客户端***210上的第一用户202传送或以其他方式显示本地元数据接口模块242。在一些实施方式中,元数据API 244也可以被理解为包括REST API。
此外,在一些实施方式中,本地元数据接口模块242可以生成和/或发送用户界面以显示在客户端***上,用户可以通过该用户界面查看针对所选文档的基于元数据的活动并与之交互。在一些实施方式中,元数据API 244可以被配置为***作/交互以创建工作流形式的附加应用,如上所述。例如,用户可以通过经由能够访问基于网络的应用的本机应用216与本地实例222交互来访问元数据API 244。通过选择与URI链接的文档中的任务或选项,可以向用户提供浏览器来遍历网络地址(例如,统一资源定位符),该网络地址可以访问元数据API 244并进而可以调用浏览器窗口或工作流审查/管理器中的一个或多个工作流设计器GUI(例如,网页),或任何其他基于元数据的选项。然后使用户能够与工作流设计器GUI或管理器交互以开发工作流或对先前开发的工作流进行响应。
在一些实施方式中,元数据API 244可以包括UI生成器和/或工作流逻辑生成器或与其连接。UI生成器可以被配置为将工作流GUI信息(例如,一个或多个网页、图像内容等)发送到浏览器,以便在客户端***的显示屏幕中的浏览器窗口内显示为工作流设计器GUI。然后,用户可以与工作流设计器GUI交互以选择工作流步骤并将其配置到工作流中。例如,用户可以在工作流设计器GUI中***和排列多个工作流步骤,其中一个或多个步骤与本地或基于网络的应用相关联。浏览器可以被配置为将所选择的工作流步骤、相应的配置信息和/或工作流步骤序列信息存储为构建的工作流信息。在一种实施方式中,经由接口做出的任何输入都可以由元数据API 244处理,并记录在协作文档元数据存储248中。
接下来参考图2B,示意性地呈现了实现图2A的***的过程的简化示例。一些***模块显示在该图的顶部附近,并且一系列事件排列在下面。通常,可以看出,图中下半部分所示的事件通过虚线连接到与指定事件的发起相关的模块。应当理解,所描述的步骤是为了简单起见,并且还可以包括其他步骤,或者可以省略其中的一些步骤。
在第一步骤260中,元数据服务240可以注册URI并将该URI提供给文档储存库250。清单服务234可以从文档储存库250获得URI信息并且在第二步骤262中将该信息提交给同步服务230。同步客户端212可以被配置为在第三步骤264中将客户端***210上的数据与和同步服务230相关联的数据(包括针对电子内容的URI)同步。在一些实施方式中,URI可以与电子内容同步(例如,两者同步作数据封装),而在其他实施方式中,电子内容可以在单独的过程或时间与其相应的URI同步。
当用户与客户端***210上的本机应用216交互时,可以在第四步骤266中接收可以触发菜单或其他可致动选项的呈现的第一用户输入。菜单向用户提供一个或多个选项,这些选项可以通过调用菜单处理器来识别或配置,如在可选的第五步骤268中。在第六步骤270中,响应于请求与文档元数据相关联的任务的第二用户输入,同步客户端212可以基于与所选文档相关联的URI从清单服务234请求清单数据。在第七步骤272中,清单服务234可以发送该数据,该数据由同步客户端212接收。在第八步骤274中,同步客户端212可以结合菜单处理器呈现新选项(动作菜单项)以供用户参与利用针对文档的协作元数据的任务。
然后,在第九步骤276中,用户可以选择选项,并且在第十步骤278中,该第三输入可以触发从同步客户端212到元数据服务240的请求,用于部署本地接口。在第十一步骤280中,元数据服务240可以通过提供必要的数据以在客户端***210上生成本地接口来响应该请求。在第十二步骤282中,当用户现在经由在客户端设备上呈现的本地元数据接口242继续与元数据选项交互时,可以结合远程存储的元数据和元数据API 244来执行各种动作。
为了读者清楚起见,图3-图6呈现了一些用户界面的示例,通过这些用户界面可以访问和/或呈现元数据内容。在图3中,第二用户310被示为经由第二计算设备(“第二设备”)300访问第二电子内容项(“文档”)302。当第二用户310经由本机应用340打开文档302时,文档内容304可以呈现在显示器306上。
在不同的实施方式中,显示器306可以被配置为呈现各种图标、界面、图形、应用或其他设备状态信息。作为示例,显示器306包括用于打开或访问与本机应用340相关联的文件的接口的实现。为简单起见,图3中的本机应用340是显示文档304的一部分的文字处理器程序。在一个实施方式中,本机应用340可以被理解为代表Microsoft或其他文字处理程序的某个版本,其他文字处理程序例如AppleCorelGoogleIBM Lotus Word以及其他文字编辑程序。然而,在其他实施方式中,本机应用340可以包括Microsoft Office或产品阵列内的任何其他软件应用,以及任何非基于的应用。
一般而言,“接口”可以被理解为指代用于通过本机应用向应用用户传送内容的机制。例如,界面可以包括可以经由本机应用用户界面(UI)呈现给用户的弹出窗口、控件、可致动界面、交互式按钮或可以通过本机应用UI显示给用户的其他对象,以及用于呈现与这些原生控件相关联的内容的特定应用原生的机制。此外,“致动”或“致动事件”可以指代与经由界面的应用的特定输入或使用相关联的事件(或特定事件序列),其可以触发应用的显示的改变。
此外,“本机控件”通常是指通过本机应用向应用用户传送内容的机制。例如,本机控件可以包括可致动或可选择的选项或“按钮”,这些选项或“按钮”可以经由本机应用UI、触摸屏访问点、菜单项或者可以通过本机应用UI显示给用户的其他对象、较大界面的片段,以及用于呈现与这些原生控件相关联的内容的特定应用的原生机制呈现给用户。作为示例的术语“资产”指的是可以与本机应用中的本机控件相关联地呈现的内容。因此,作为非限制性示例,资产可以包括可致动弹出窗口中的文本、与按钮或其他本机应用对象的交互式点击相关联的音频、与教学用户界面相关联的视频,或其他此类信息呈现。
一旦用户访问本机应用340,他们就能够查看可用文档、关于这些文档的基本信息和/或可以与这些文档或应用相关联地使用的选项或工具。在一些实施方式中,接下来参照图4,***可以接收引发菜单界面形式的响应的用户输入,该菜单界面形式可以向用户提供调用与文档元数据相关或相关联的选项的能力。在图4中,结合第二项302的用户访问呈现了显示306的实现的简化视图,在这种情况下由名为“研究论文”的文件标识。文件名和内容呈现在包括在显示窗口中的应用的文档内容界面(“文档界面”)400内。在一些实施方式中,用户可以提交第一输入(由鼠标光标420表示),并且作为响应,可以呈现新的窗口或菜单界面410(或“菜单项”)。第一输入的范围可以很广,并且可以包括点击、悬停或以其他方式经由文档界面400发出命令或指令。
在一些实施方式中,菜单界面410可以定位或位于在文档界面400的邻近或附近、“上方”或外部,或者可以从文档界面400向外延伸。菜单界面410可以被配置为显示或呈现各种选项,用户可以通过这些选项在应用中导航和/或识别用于促进文档交互的工具。在不同的实施方式中,图4中所示的菜单界面410可以不同,并且可以包括针对当前正在查看的文档和/或关于当前正在查看的文档的细节的各种附加或替代选项。在图4的示例中,菜单界面410提供可致动选项或工具的列表,用户可以通过其选择打印、保存、共享、关闭应用和/或当前访问的文档等。在一种实施方式中,菜单界面可以包括级联型菜单界面,其在被选择时被配置为显示或以其他方式提供子菜单或附加选项。作为一个示例,这些附加选项可以呈现在第一“主”菜单的一侧,或者可以呈现在显示器上的其他地方。在一些实施方式中,这样的级联菜单界面可以被配置为响应于界面中选择的项目而显示不同的子菜单或选项。
如前所述,在不同的实施方式中,***可以包括用于促进访问(例如,经由本地运行的本机应用)远程存储(例如,不在客户端设备上)的文档的元数据内容的供应。在该示例中,菜单界面410呈现多个选项,包括菜单选项412,这里显示在菜单界面410的底部附近。在其他实施方式中,该菜单选项412可以单独呈现(即,没有剩余的菜单选项),可以作为下拉菜单选项提供,和/或可以经由初始本机应用启动窗格查看。此外,虽然菜单选项412在图4中被标记为“工作流选项”,但应当理解,在其他实施方式中,元数据内容访问选项可以与任何其他标签相关联,标签包括图标、符号、字母数字字符或其他指示符,和/或可能提供了若干与元数据相关的选项。
如图5接下来所示,菜单选项412在被选择时可以引起来自***的响应。在一些实施方式中,***可以通过呈现(可选)元数据选项界面510来响应对菜单选项412的选择,该元数据选项界面可以向用户提供可以结合可用元数据内容执行的动作的更具体的范围。因此,在一些实施方式中,元数据选项接口510可以提供多个可致动选项以用于启动各种任务,这些任务以某种方式采用或依赖元数据内容以便在保持本机应用340的上下文或环境“中”的同时被执行。例如,元数据选项界面510包括第一选项512、第二选项514以及第三选项516。第一选项512提供向文档(或文档工作流)“添加动作”的能力,第二选项514(“查看工作流任务”)提供查看先前和/或由文档的其他合作者添加到文档中的动作的能力,并且第三选项516提供查看或访问与文档工作流相关或使用文档元数据的附加选项的能力。仅出于说明目的示出了元数据选项界面510,并且可以响应于触发事件向用户提供或呈现任何其他类型的界面或选项。在一些实施方式中,可以不显示元数据选项界面510,并且对菜单选项412的选择可以直接导致与参考图6所描述类似的布置。
在一些其他实施方式中,菜单选项412可以与本地应用可以用来访问文件数据的统一资源标识符(URI)链接或以其他方式相关联,如上文面参考图2A和图2B所讨论的。在一个示例中,URI可以是统一资源定位符(URL)。在一些实施方式中,本机应用可以配置为:联系URL以获得或以其他方式访问可以托管在单独的服务中的当前文件的元数据内容。本机应用340还可以被配置为部分地基于与选项和文档相关联的协议来自动确定要使用哪种数据传输机制。换言之,本机应用340和/或同步文档协议可以提供针对如何正确使用URL的指示。
在不同的实现中,响应于与文档元数据相关联的选项的选择,本机应用结合CMS可以触发“路由动作”或其他导航过程的执行。换言之,响应于用户输入,***可以将接收方路由到预定义目的地,以便接收、存储和/或共享由可操作选项的选择产生的基于元数据的信息,和/或引导接收方执行工作流过程。
在图6中,至少部分经由与CMS相关联的资源针对第二用户渲染和显示元数据内容界面600。因此,可以看出,除了针对电子内容项本身的原始文档内容“层”(经由本机应用340查看)之外,还显示了第二元数据内容层(这里呈现为元数据内容界面600)。元数据内容界面600可以包括与针对当前查看或选择的文档的元数据具有任何类型关系的任何内容。在这种情况下,元数据内容界面600以多个本机控件或可操作选项620的形式呈现给用户,这些控件或可操作选项显示在与先前选择的选项(“查看工作流任务”)相关联的一般上下文中。该示例中的元数据内容界面600包括主查看窗格610,其中可以表明由先前用户输入触发的任务、动作或过程。因此,在一些实现中,对远程存储的元数据内容的访问包括在本机应用之外或外部对内容的新层的渲染(例如,使用URL调用的网络浏览器或使用地址调用的地图应用,或其他新的界面窗口)。
应该注意的是,在一些其他实施方式中,客户端设备资源可以被配置为对URL进行解释,从而使得渲染发生在本机应用本身之内。在一种实施方式中,可以用各种模式来生成或显示元数据内容层,例如覆盖(浮动在电子内容之上)、替换(浮动在电子内容的特定部分之上,从而“隐藏”该内容)、侧面板(存在于与电子内容相邻的侧面板中,可能以可以与之交互的小预览的形式),以及旁注(存在于电子内容的旁注区域中,可能以非常有限的预览的形式)。
如果用户点击或以其他方式选择了可操作选项620之一,则可以结合可以访问或修改元数据内容的CMS和/或本机应用来发起各种过程。例如,参考图6,指示当前文档需要审批的第一任务630连同关于审批任务的信息一起显示在主查看窗格610中。此外,提供了第一动作612(“批准”)和第二动作614(“拒绝”),从而允许用户快速并且高效地响应所请求的任务。在一些实施方式中,附加任务可以与文档相关联,并且还可以或替代地被显示。在一种实施方式中,用户可以选择例如“显示更多任务”按钮622,以查看针对该文档已经发生的其他工作流选项或事件。在另一实施方式中,元数据内容界面600可以提供附加特征,如“选项”按钮624所表示的。随着用户继续向***提供输入,可能会发生额外的或替代的动作。在一些实施方式中,响应于用户对可操作选项的选择,可以在相同的计算设备上打开额外的界面或网页,以用于管理与元数据内容和相应过程的用户交互。因此,可以看出,在一些实施方式中,***可以被配置为发起或执行涉及多个步骤和/或应用的过程,接收和处理来自各种本地和远程源的输入,和/或整合发生在不同时间点的信息,以提供无缝的用户体验。当用户与元数据内容层交互并参与任何后续步骤时,在不同的实施方式中,***可以可选地被配置为更新针对文档的元数据和/或在一些情况下更新文档内容本身。此外,在一些实施方式中,CMS可以呈现自动消息,该自动消息引导用户完成所需的任务。
出于说明的目的,参考图7和图8示出了***可以通过其促进对针对电子内容项的远程元数据内容的访问的另一实现。在图7中,设备显示器306呈现同步客户端应用702的界面。为简单起见,图7中的同步客户端应用702包括此处显示为同步文件夹750(标记为'OneDrive')的用户界面,其呈现当前存储在客户端设备上的项目的电子内容目录(“目录”)。在其他实施方式中,同步客户端应用702可以包括被配置为促进电子内容的同步的任何其他用户界面或显示单元。
在一些情况下,同步客户端应用702可以被配置为:同步对其指定文件夹及其子文件夹中的内容的任何更改,例如新的、删除的、经修改的、复制的或移动的文件或文件夹。在不同的实施方式中,同步客户端应用702可以是单独的软件应用,和/或可以与操作***中的现有内容管理应用集成。图7呈现了与现有内容管理应用集成的客户端软件的一个示例,使得用户能够直接操作本地文件夹(同步文件夹750)中的内容,而同时后台进程针对变化监测本地文件夹并将这些变化同步到云存储。在其他实现中,后台进程还可以识别已更新的内容并将这些更改同步到本地文件夹。在一些实施方式中,同步客户端应用702可以被配置为提供对同步操作的通知。
在其他实施方式中,用户可以将内容项存储在他们的客户端设备上的某个位置,而不是在同步客户端应用702的指定同步文件夹内。例如,用户可以访问内容管理应用,例如音乐或照片库,该应用将内容项存储在指定同步文件夹之外的位置。客户端设备可以被配置为通过在客户端设备的存储器中搜索与指定文件扩展名相关联的文件来识别这些内容项的位置,该文件扩展名指示该文件是要同步的内容项。在一些其他实现中,客户端设备可以执行对客户端设备的可访问存储(例如本地硬盘驱动器或记忆棒)的完整或部分搜索,以识别内容项的位置。
在存储器中识别出内容项之后,客户端设备可以被配置为将内容项导入到内容管理***。在一些实施方式中,这可以包括创建内容项的副本,然后将内容项的副本存储在指定的同步文件夹中,从而使内容项与内容管理***同步。在一些其他实施方式中,内容项可以替代地直接从所标识的位置上传到内容管理***,而无需将内容项的副本存储在指定的同步文件夹中。
如图7所示,在与同步客户端应用702的各种用户交互期间,用户可以选择与同步文件夹750中的项目交互。作为一个示例,用户可以使用第一输入来选择或以其他方式指定电子内容项752(此处为“Research Paper.docx”),例如经由触摸屏输入或鼠标左键或右键单击。作为响应,可以呈现新窗口或菜单界面708。用户输入的范围可以很广,并且可以包括经由同步文件夹750或同步客户端应用702的其他方面进行点击、悬停或以其他方式发出命令或指令。
在一些实施方式中,菜单界面708可以定位或位于在同步文件夹750的邻近或附近、“上方”或外部,或者可以从同步文件夹750向外延伸。菜单界面708可以被配置为显示或呈现各种选项,用户可以通过这些选项来审阅和/或识别用于促进文件夹和文件交互的工具。在不同的实施方式中,图7中所示的菜单界面708可以不同,并且可以包括针对当前正在查看的文档和/或关于当前正在查看的文档的细节的各种附加或替代选项。在图7的示例中,菜单界面708提供可致动选项或工具的列表,用户可以通过其选择打开、共享、移动、删除、重新命名当前选择的文件等。
在一些实施方式中,菜单界面708包括多个选项,包括菜单选项760,这里显示在菜单界面708的底部附近。在其他实施方式中,菜单选项760可以单独呈现(即,没有剩余的菜单选项),可以作为下拉菜单选项提供,和/或可以经由初始本机应用启动窗格查看。此外,虽然菜单选项760在图7中被标记为“工作流任务”,但应当理解,在其他实施方式中,元数据内容访问选项可以与任何其他标签相关联,其他标签包括图标、符号、字母数字字符或其他指示符。
如图7所示,菜单选项760在被第二用户输入(参见鼠标光标420)选择时可以引起来自***的响应。在一些实施方式中,菜单选项760可以与客户端***可以用来访问文件数据的统一资源标识符(URI)链接或以其他方式相关联,如上文面参考图2A和2B所讨论的。在一个示例中,URI可以是统一资源定位符(URL)。本机应用可以配置为:联系URL以获得可以托管在单独的服务中的当前文件的元数据内容。
此外,在一些实施方式中,***可以通过呈现(可选)元数据选项界面710来响应对菜单选项760的选择,该元数据选项界面可以向用户提供可以结合可用元数据内容执行的动作的更具体的范围。因此,在一些实施方式中,元数据选项接口710可以提供多个可致动选项以用于启动各种任务,这些任务以某种方式采用或依赖元数据内容以便在保持客户端***的上下文或环境“中”的同时被执行。作为示例,元数据选项界面710包括第一选项712、第二选项714和第三选项716,与上文针对图5讨论的那些类似。仅出于说明目的示出了元数据选项界面710,并且可以响应于触发事件向用户提供或呈现任何其他类型的界面或选项。在一些实施方式中,可以不显示元数据选项界面710,并且对菜单选项760的选择可以直接导致与参考图8所描述类似的布置。
在不同的实现中,响应于与文档元数据相关联的选项的选择,本机应用结合CMS可以触发“路由动作”或其他导航过程的执行。换言之,响应于用户输入,***可以将接收方路由到预定义目的地,以便接收、存储和/或共享由可操作选项的选择产生的基于元数据的信息,和/或引导接收方执行相应过程。
在图8中,至少部分经由与CMS相关联的资源针对第二用户渲染和显示元数据内容界面800。因此,可以看出,除了与电子内容项本身相关联的先前文件夹内容之外,还表现出元数据内容层(这里呈现为元数据内容界面800)。换言之,用户可以访问针对文件的基于元数据的选项,而无需经由本机应用打开文件本身。元数据内容界面800可以包括与当前查看或选择的文档的元数据具有任何类型关系的任何内容的显示。在这种情况下,向用户呈现的元数据内容界面800可以理解为类似于参考图6所描述的。
为了清楚起见,图9图示了用于将针对文档的远程元数据内容提供给本地客户端设备(例如,经由内容管理***)的过程900的一种实施方式。在该示例中,第一阶段910包括例如来自云存储文档储存库902的协作文档的同步和/或访问。如前所述,在一些实施方式中,存储库可以包括用于识别和路由不同类型的数据的各种模块。在该示例中,存储库包括文档数据存储和相应的文档元数据存储。协作文档可以在第二阶段920中与客户端同步应用同步,并且该文档的本地副本可以在第三阶段930中由用户访问。
此外,在一些实施方式中,本机应用可以接收用户输入,该用户输入对应于针对需要或参考针对文档的元数据的一些动作或过程的请求(第四阶段940)。该请求可以在第五阶段950中触发标识符(例如,URI)的激活或执行。URI可以将请求路由到被配置为与客户端设备交互和通信的远程位置。例如,交互式浏览器或其他界面可以在第六阶段960中显示在客户端设备上,在第七阶段970中向用户提供用于导航通过所选过程或任务的一个或多个选项。响应于选择,在第八阶段980中CMS可以提供或以其他方式继续提供用于对文档元数据工作的附加选项。在一些实施方式中,作为第九阶段990,用户可以提供输入或进行其他更改,这些更改将记录在***中。
图10是示出了用于访问协作文档动作的方法1000的实现的流程图。在图10中,第一步骤1010包括:在第一客户端***处接收与第一客户端***同步的第一协作文档相关联的第一统一资源标识符(URI),并且第二步骤1020包括:经由与第一协作文档的本地实例有关地在第一客户端***上执行的本机应用来接收第一用户输入以显示针对本地实例的动作的第一菜单。在第三步骤1030中,该方法包括:经由网络并且响应于所述第一用户输入,取回与所述第一URI相对应的第一可用动作清单,其中,所述第一可用动作清单包括第一动作规范,所述第一动作规范标识可经由远程***获得的第一协作文档动作。第四步骤1040涉及响应于取回所述第一可用动作清单,动态地生成针对所述第一协作文档动作的菜单项(层叠的或其他方式的)并且与所述第一菜单一起显示所述菜单项,并且第五步骤1050包括:接收指示对所述菜单项的用户选择的第二用户输入。此外,该方法包括第六步骤1060:响应于所述第二用户输入并且基于所述第一动作规范,取回来自所述远程***的第一指令以用于渲染用户界面以执行针对所述第一协作文档的第一协作文档动作;以及第七步骤1070:执行所述第一指令以针对所述第一协作文档在所述第一客户端***上显示动作用户界面。此外,该方法包括第八步骤1080:经由所述动作用户界面来接收第三用户输入,以及第九步骤1090:响应于所述第三用户输入,从所述第一客户端***向所述远程***发送命令以对所述第一协作文档执行所述第一协作文档动作。
在其他实施方式中,该方法可以包括附加的或替代的步骤或方面。例如,所述第一协作文档的本地实例可以存储在文件***中的所述第一客户端***处,所述本机应用是文件浏览器应用,其被配置为渲染用户界面以用于导航存储在所述文件***中的文件以及选择存储在所述文件***中的文件,以及所述第一用户输入是关于表示所述第一协作文档的本地实例的用户界面元素接收的。在一些情况下,所述第一用户输入包括在所述用户界面元素上执行的右击动作。另一个示例中,所述本机应用是创作应用,其被配置为:在所述第一客户端***处在创作用户界面中渲染存储在所述第一协作文档的本地实例中的电子内容项,以及所述第一用户输入是经由所述创作用户界面接收的。在一些其他实现中,所述动作用户界面可以呈现工作流任务表单。在这些情况下,所述工作流任务表单包括多个可致动选项以用于修改与所述第一协作文档相关联的元数据。因此,响应于用户的选择或其他用户输入,***可以被配置为:显示一个或多个预定义/设计/创建或预选择的表单或界面,所述表单或界面作为用户与各种工作流或其他元数据选项交互的模板。
作为另一示例,所述动作用户界面被配置为显示与所述第一协作文档相关联的元数据项,并且所述命令指定要由所述远程***执行的对所述元数据项的编辑。另外,在不同的实施方式中,该方法还包括以下步骤:在第二客户端***处接收与所述第二客户端***同步的所述第一协作文档相关联的第二URI,其中,所述第二URI不同于所述第一URI。在另一个示例中,该方法可以包括:经由网络取回与所述第二URI相对应的第二可用动作清单,其中,所述第二可用动作清单不同于所述第一可用动作清单。在一些实施方式中,该方法还包括:响应于第三用户输入来修改第一动作规范,以包括经由远程***可获得的第二协作文档动作。在一些情况下,该方法还包括:响应于对元数据项的任意编辑来更新第一可用动作清单。
之前,企业内容的本地副本将与其元数据和用于访问文档元数据的本地交付接口同步。然而,企业内容的规模和复杂度使该过程变得笨拙,并且经常导致文件的本地副本“失去”其与企业元数据存储库的连接。用户发现上下文查看和编辑是不可能的,需要经由直接门户界面进行这些体验,同时暂时与本地编辑会话断开连接。在本文中描述的实现中,已经同步到本地机器的文档可以“发现”与文档相关联的内容管理能力,这可以显著提高计算资源的高效使用。此外,该过程与客户端***协作工作,从而使得打开同步文件的本机应用可以帮助确保元数据引导的行为保持强制执行。当同步会话发生时,同步的文档可以与本文中描述的URL捆绑在一起,以便在本地机器上打开文件时访问内容管理能力服务。因此,创作应用可以从该URL取回内容管理能力,例如元数据、文档的模板、文档的到期日期、关于项目上任何正在运行的工作流程的信息、文档是否已被标记以供审阅,或被标记为违反上级组织的数据政策之一,或者关于该文档的其他此类信息。通过使用该***,用户可以继续可靠地访问和维护文件的同步副本,这些副本也标有URL,可以容易地将客户端***连接到用于显示和编辑文档元数据的云交付界面。通过本地***操作***注册和用户请求获取关于打开了上下文菜单的文件本地副本的更多信息(例如单击鼠标右键),用户可以从本地***查看和编辑关于文档的企业元数据,其中文件接口在运行时流式传输到本地操作***。
在本文中呈现结合图1-图10描述的***、设备和技术的详细示例用于说明本公开内容及其益处。此类使用示例不应被解释为对本公开内容的逻辑过程实现的限制,也不应将相对于本文所述的那些的用户界面方法的变化视为超出本公开内容的范围。在一些实施方式中,图1-图10中描述的各种特征在相应的模块中实施,这些模块也可以被称为和/或包括逻辑、组件、单元和/或机制。模块可以构成软件模块(例如,机器可读介质上包含的代码)或硬件模块。
在一些示例中,硬件模块可以机械地、电子地或以它们任何合适的组合来实现。例如,硬件模块可以包括被配置为执行某些操作的专用电路或逻辑单元。例如,硬件模块可以包括专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路,并且可以包括用于这种配置的机器可读介质数据和/或指令的一部分。例如,硬件模块可以包括包含在被配置为执行一组软件指令的可编程处理器内的软件。将明白的是:在专用和永久配置的电路***中或者在临时配置的电路***(例如,由软件配置的)中机械地实现硬件模块的决定可以由成本、时间、支持和工程考虑因素来驱动。
因此,术语“硬件模块”应该被理解为包括能够执行某些操作并且可以以某种物理方式进行配置或布置的有形实体,其是物理构建的、永久配置的(例如,硬线连接的)和/或临时配置的(例如,编程的)以便以特定方式执行,或者执行本文中描述的某些操作。如本文中所使用的,“硬件实现的模块”指的是硬件模块。考虑其中临时配置(例如,编程的)硬件模块的示例,不需要在任何一个时刻配置或实例化每个硬件模块。例如,在硬件模块包括由软件配置成为专用处理器的可编程处理器的情况下,可编程处理器可以在不同时间被配置为分别不同的专用处理器(例如,包括不同的硬件模块)。软件可以相应地配置特定的处理器或一些处理器,例如,在一个时刻构成特定的硬件模块,并在另一个的时刻构成另一个硬件模块。使用一个或多个处理器实现的硬件模块可以被称为“处理器实现的”或“计算机实现的”。
硬件模块可以向其他硬件模块提供信息并从其接收信息。因此,所描述的硬件模块可以被视为通信地耦合。在同时存在多个硬件模块的情况下,可以通过在两个或更多个硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施方式中,可以例如通过存储和取回多个硬件模块可访问的存储器设备中的信息来实现这些硬件模块之间的通信。例如,一个硬件模块可以执行操作并将输出存储在存储器设备中,然后另一个硬件模块可以访问存储器设备以取回和处理所存储的输出。
在一些示例中,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“作为服务的软件”(SaaS)。例如,至少一些操作可以由多个计算机(作为包括处理器的机器的示例)和/或在多个计算机之间执行,这些操作可以经由网络(例如,互联网)和/或经由一个或多个软件接口(例如,应用程序接口(API))访问。某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭或办公室环境中,或服务器群中),或者可以分布在多个地理位置。
图11是示出示例软件架构1102的框图1100,其各个部分可以与本文中描述的各种硬件架构结合使用,这些硬件架构可以实现上述特征中的任何一个。图11是软件架构的非限制性示例,并且将明白的是:可以实现许多其他架构以促进本文中描述的功能。软件架构1102可以在诸如图1A的设备120之类的硬件上执行,这些硬件包括文档存储1070、处理器、存储器和输入/输出(I/O)组件等。图示了代表性硬件层1104并且其可以表示例如图1的设备120。代表性硬件层1104包括处理单元1106和相关联的可执行指令1108。可执行指令1108表示软件架构1102的可执行指令,包括本文中描述的方法、模块等的实现。硬件层1104还包括存储器/存储1110,其还包括可执行指令1108和伴随数据。硬件层1104还可以包括其他硬件模块1112。处理单元1108持有的指令1108可以是存储器/存储1110持有的指令1108的一些部分。
示例软件架构1102可以被概念化为层,每个层提供各种功能。例如,软件架构1102可以包括层和组件,例如操作***(OS)1114、库1116、框架1118、应用1120和表示层1144。在操作上,应用1120和/或层内的其他组件可以调用API调用1124到其他层并接收相应的结果1126。所示的层本质上是代表性的,并且其他软件架构可以包括附加的或不同的层。例如,某些移动或专用操作***可以不提供框架/中间件1118。
OS 1114可以管理硬件资源并提供公共服务。OS 1114可以包括例如内核1128、服务1130和驱动器1132。内核1128可以充当硬件层1104和其他软件层之间的抽象层。例如,内核1128可以负责存储器管理、处理器管理(例如,调度)、组件管理、网络、安全设置等。服务1130可以为其他软件层提供其他公共服务。驱动器1132可以负责控制底层硬件层1104或与其对接。例如,驱动器1132可以包括显示器驱动器、摄像头驱动器、存储器/存储驱动器、***设备驱动器(例如,经由通用串行总线(USB))、网络和/或无线通信驱动器、音频驱动器等等,取决于硬件和/或软件配置。
库1116可提供可由应用1120和/或其他组件和/或层使用的公共基础设施。库1116通常提供由其他软件模块使用以执行任务的功能,而不是直接与OS 1114交互。库1116可以包括***库1134(例如,C标准库),其可以提供诸如存储器分配、字符串处理、文件操作等的功能。此外,库1116可以包括API库1136,例如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操作)、图形库(例如,用于在显示器上渲染2D和3D图形的OpenGL库)、数据库库(例如,SQLite或其他关系数据库功能)以及Web库(例如,可以提供Web浏览功能的WebKit)。库1116还可以包括各种其他库1138,用于为应用1120和其他软件模块提供许多功能。
框架1118(有时也被称为中间件)提供可以由应用1120和/或其他软件模块使用的更高级别的公共基础设施。例如,框架1118可以提供各种图形用户界面(GUI)功能、高级资源管理或高级位置服务。框架1118可以为应用1120和/或其他软件模块提供广泛的其他API。
应用1120包括内置应用1140和/或第三方应用1142。内置应用1140的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用1142可以包括由除特定平台的供应商之外的实体开发的任何应用。应用1120可以使用经由OS 1114、库1116、框架1118和表示层1144可用的功能来创建用户界面以便与用户交互。
一些软件架构使用虚拟机,如虚拟机1148所示。虚拟机1148提供了执行环境,其中应用/模块可以像在硬件机器(例如图10的机器1000)上执行一样执行。虚拟机1148可以由主机OS(例如,OS 1114)或管理程序托管,并且可以具有虚拟机监视器1146,其管理虚拟机1148的操作和与主机操作***的互操作。可以不同于虚拟机外部的软件架构1102的软件架构在虚拟机1148内执行,例如OS 1150、库1152、框架1154、应用1156和/或表示层1158。
图12是示出示例机器1200的组件的框图,该示例机器1200被配置为从机器可读介质(例如,机器可读存储介质)读取指令并执行本文描述的任何特征。示例机器1200是计算机***的形式,其中可以执行用于使机器1200执行本文描述的任何特征的指令1216(例如,以软件组件的形式)。因此,指令1216可用于实现本文描述的模块或组件。指令1216使未编程和/或未配置的机器1200作为被配置用于执行所描述的特征的特定机器来操作。机器1200可以被配置为作为独立设备操作或者可以耦合(例如,联网)到其他机器。在联网部署中,机器1200可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量,或者作为对等或分布式网络环境中的节点来操作。机器1200可以体现为例如服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、游戏和/或娱乐***、智能手机、移动设备、可穿戴设备(例如,智能手表)以及物联网(IoT)设备。此外,虽然仅示出了单个机器1200,但术语“机器”包括单独或联合执行指令1216的机器的集合。
机器1200可以包括处理器1210、存储器1230和I/O组件1250,它们可以经由例如总线1202通信地耦合。总线1202可以包括经由各种总线技术和协议来耦合机器1200的各种元件的多条总线。在示例中,处理器1210(包括,例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC或其合适的组合)可以包括可以执行指令1216和处理数据的一个或多个处理器1212a至1212n。在一些示例中,一个或多个处理器1210可以执行由一个或多个其他处理器1210提供或识别的指令。术语“处理器”包括多核处理器,其包括可以同时执行指令的核。尽管图12示出了多个处理器,但机器1200可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、分别具有单个核的多个处理器、分别具有多个核的多个处理器,或者它们的任意组合。在一些示例中,机器1200可以包括分布在多个机器中的多个处理器。
存储器/存储1230可以包括主存储器1232、静态存储器1234或其他存储器,以及存储单元1236,两者都可以由处理器1210例如经由总线1202访问。存储单元1236和存储器1232、1234存储体现本文描述的功能中的任何一项或多项的指令1216。存储器/存储1230还可以为处理器1210存储临时的、中间的和/或长期的数据。指令1216在其执行期间还可以完全或部分地驻留在存储器1232、1234内,存储单元1236内,处理器1210中的至少一个内(例如,在命令缓冲器或高速缓存存储器内),I/O组件1250中的至少一个的存储器内,或其任意合适的组合。相应地,存储器1232、1234,存储单元1236,处理器1210中的存储器,以及I/O组件1250中的存储器是机器可读介质的示例。
如本文中所使用的,“机器可读介质”是指能够临时或永久地存储使机器1200以特定方式进行操作的指令和数据的设备。本文中使用的术语“机器可读介质”不包括瞬态电信号或电磁信号本身(例如在通过介质传播的载波上);因此,术语“机器可读介质”可以被认为是有形的和非暂时性的。非暂时性有形机器可读介质的非限制性示例可以包括但不限于非易失性存储器(例如闪存器或只读存储器(ROM))、易失性存储器(例如静态随机存取存储器(RAM)或动态RAM)、缓冲存储器、高速缓存存储器、光存储介质、磁存储介质和设备、网络可访问或云存储、其他类型的存储和/或其任何合适的组合。术语“机器可读介质”适用于用于存储由机器1200执行的指令(例如,指令1216)的单个介质或多个介质的组合,使得当指令由机器1200的一个或多个处理器1210执行时,使机器1200执行本文所述的一个或多个特征。因此,“机器可读介质”可以指单个存储设备,以及包括多个存储装置或设备的“基于云的”存储***或存储网络。
I/O组件1250可以包括适用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的硬件组件。特定机器中包括的特定I/O组件1250将取决于机器的类型和/或功能。例如,移动电话等移动设备可能包括触摸输入设备,而无头服务器或物联网设备可能不包括这样的触摸输入设备。图12中所示的I/O组件的特定示例绝不是限制性的,并且其他类型的组件可以包括在机器1200中。I/O组件1250的成组仅仅是为了简化该讨论,并且分组决不是限制性的。在各种示例中,I/O组件1250可以包括用户输出组件1252和用户输入组件1254。用户输出组件1252可以包括例如用于显示信息的显示组件(例如,液晶显示器(LCD)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动马达或力反馈装置)和/或其他信号发生器。用户输入组件1254可以包括例如字母数字输入组件(例如,键盘或触摸屏)、指点组件(例如,鼠标设备、触摸板或另一个指点工具)和/或触觉输入组件(例如,提供位置和/或触摸力或触摸手势的物理按钮或触摸屏)被配置为接收各种用户输入,例如用户命令和/或选择。
在一些示例中,I/O组件1250可以包括生物特征组件1256和/或位置组件1262,以及其他环境传感器组件的广泛阵列。生物特征识别组件1256可包括例如用于检测身体表情(例如,面部表情、声音表情、手部或身体姿势或眼动追踪)、测量生物信号(例如,心率或脑电波)以及识别人(例如,经由基于语音、视网膜和/或面部识别)的组件。位置组件1262可以包括例如位置传感器(例如,全球定位***(GPS)接收机)、高度传感器(例如,可以推导出高度的气压传感器)和/或方向传感器(例如,磁力计)。
I/O组件1250可以包括通信组件1264,其实现了多种技术,该技术可操作以经由相应的通信耦合1272和1282将机器1200耦合到网络1270和/或设备1280。通信组件1264可以包括一个或多个网络接口组件或用于与网络1270对接的其他合适的设备。通信组件1264可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(NFC)、蓝牙通信、Wi-Fi和/或经由其他模态的通信的组件。设备1280可以包括其他机器或各种***设备(例如,经由USB耦合)。
在一些示例中,通信组件1264可以检测标识符或包括适于检测标识符的组件。例如,通信组件1264可以包括射频识别(RFID)标签阅读器、NFC检测器、光学传感器(例如,一维或多维条形码,或其他光学码)和/或声学检测器(例如,用于识别标记的音频信号的麦克风)。在一些示例中,位置信息可以基于来自通信组件1262的信息来确定,例如但不限于经由互联网协议(IP)地址的地理位置、经由Wi-Fi、蜂窝、NFC、蓝牙的位置,或者其他无线站识别和/或信号三角测量。
尽管已经描述了各种实施方式,但是该描述旨在是示例性的,而不是限制性的,并且应当理解,在这些实施方式范围内的更多的实施方式和实施方式是可能的。尽管在附图中示出并在具体实施方式中讨论了许多可能的特征组合,但是所公开的特征的许多其他组合也是可能的。除非特别限制,否则任何实施方式的任何特征可以与任何其他实施方式中的任何其他特征或元素组合使用或替代任何其他特征或元素。因此,将理解的是,可以以任何合适的组合一起实施本公开内容中示出和/或讨论的任何特征。因此,除非考虑到所附权利要求及其等价物,否则这些实现不受限制。此外,可以在所附权利要求的范围内进行各种修改和改变。
尽管前文已经描述了被认为是最佳模式的示例和/或其他示例,但是应当理解,可以在其中进行各种修改,并且可以以各种形式和示例来实现本文公开的发明主题,并且这些教导可以应用于大量应用中,本文中仅描述了其中的一些。所附权利要求书旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
除非另有说明,否则在本说明书中,包括在所附权利要求书中阐述的所有测量结果、值、额定值、位置、大小、尺寸和其他规格都是近似的,而不是精确的。它们旨在具有与它们所涉及的功能以及它们所相关的领域中的习惯相一致的合理范围。
保护范围仅受所附权利要求书的限制。当根据本说明书和随后的起诉历史进行解释时,该范围旨在并且应被解释为与权利要求中使用的语言的普通含义相一致的范围,并且涵盖所有结构和功能上的等价物。尽管如此,所有权利要求均不旨在包含不满足专利法第101、102或103条要求的主题,也不应以这种方式解释它们。特此不要求保护对此类发明主题的任何非预期的包含。
除以上所述外,没有任何被阐述或说明的内容旨在或应被解释以导致对公众来说任何组成部分、步骤、特征、对象、益处、优势或等效内容的专用,无论权利要求中是否对其有所记载。
将理解的是,除非本文另外阐述了特定含义,否则本文使用的术语和表述具有针对其相应的各自探寻和研究领域的与此类术语和表述相一致的普通含义。诸如第一和第二等的关系术语可以仅用于区分一个实体或动作与另一实体或动作,而不一定要求或暗示在这些实体或动作之间的任何实际的这种关系或顺序。术语“包括(comprises)”,“包括有(comprising)”或任何其他变体旨在覆盖非排他性包括(inclusion),使得包括一系列元素的过程、方法、物品或设备不仅仅包括那些元素,而是可以包括未明确列出的或者此类过程、方法、物品或设备所固有的其他元素。在没有其他限制的情况下,前面带有“一”或“一个”的元素并不排除在包括该元素的过程、方法、物品或装置中存在另外的相同元素。
提供了本公开内容的摘要以使得读者能够快速认定技术公开内容的本质。基于其将不会被用来解释或限制权利要求的范围或含义的理解来提交摘要。此外,在前述具体实施方式中,可以看到:出于精简本公开内容的目的,在各个示例中将各个特征组合在一起。本公开内容的方法不应该被解释为反映了以下意图,即:权利要求需要比明确陈述于每一项权利要求中的更多的特征。而是如同后面的权利要求所反映的,发明主题在于少于单个所公开的示例的所有特征。因此在每项权利要求自身作为单独要求保护的发明主题例前提下,在此将以下权利要求并入具体实施方式。
Claims (15)
1.一种用于访问协作文档动作的内容管理***,包括:
处理器;以及
包括指令的计算机可读介质,所述指令在由所述处理器执行时,使所述处理器用于:
在第一客户端***处接收与所述第一客户端***同步的第一协作文档相关联的第一统一资源标识符(URI);
经由与所述第一协作文档的本地实例有关地在所述第一客户端***上执行的本机应用来接收第一用户输入以显示针对所述本地实例的动作的第一菜单;
响应于所述第一用户输入,经由网络取回与所述第一URI相对应的第一可用动作清单,其中,所述第一可用动作清单包括第一动作规范,所述第一动作规范标识可经由远程***获得的第一协作文档动作;
响应于取回所述第一可用动作清单,动态地生成针对所述第一协作文档动作的菜单项,并且与所述第一菜单一起显示所述菜单项;
接收第二用户输入,所述第二用户输入指示对所述菜单项的用户选择;
响应于所述第二用户输入并且基于所述第一动作规范,取回来自所述远程***的第一指令以用于渲染用户界面以执行针对所述第一协作文档的第一协作文档动作;
执行所述第一指令以针对所述第一协作文档在所述第一客户端***上显示动作用户界面;
经由所述动作用户界面来接收第三用户输入;以及
响应于所述第三用户输入,将命令从所述第一客户端***发送到所述远程***以对所述第一协作文档执行所述第一协作文档动作。
2.根据权利要求1所述的***,其中,
所述第一协作文档的本地实例是存储在文件***中的所述第一客户端***处的;
所述本机应用是文件浏览器应用,其被配置为渲染用户界面以用于导航存储在所述文件***中的文件以及选择存储在所述文件***中的文件;并且
所述第一用户输入是关于表示所述第一协作文档的本地实例的用户界面元素而接收的。
3.根据权利要求1所述的***,其中,所述第一用户输入是在所述用户界面元素上执行的点击动作。
4.根据权利要求1所述的***,其中:
所述本机应用是创作应用,其被配置为:在所述第一客户端***处在创作用户界面中渲染存储在所述第一协作文档的本地实例中的电子内容项;以及
所述第一用户输入是经由所述创作用户界面接收的。
5.根据权利要求1所述的***,其中,所述动作用户界面呈现工作流任务表单。
6.根据权利要求1所述的***,其中:
所述动作用户界面被配置为显示与所述第一协作文档相关联的元数据项;并且
所述命令指定要由所述远程***执行的对所述元数据项的编辑。
7.根据权利要求1所述的***,其中,所述指令还使所述处理器在第二客户端***处接收与所述第二客户端***同步的第一协作文档相关联的第二URI,并且其中,所述第二URI不同于所述第一URI。
8.根据权利要求7所述的***,其中,所述指令还使所述处理器经由所述网络取回与所述第二URI相对应的第二可用动作清单,其中,所述第二可用动作清单不同于所述第一可用动作清单。
9.根据权利要求6所述的***,还包括:响应于对所述元数据项的所述编辑来更新所述第一可用动作清单。
10.根据权利要求5所述的***,其中,所述工作流任务表单包括多个可致动选项以用于修改与所述第一协作文档相关联的元数据。
11.一种用于访问协作文档动作的方法,所述方法包括:
在第一客户端***处接收与所述第一客户端***同步的第一协作文档相关联的第一统一资源标识符(URI);
经由与所述第一协作文档的本地实例有关地在所述第一客户端***上执行的本机应用来接收第一用户输入以显示针对所述本地实例的动作的第一菜单;
经由网络并且响应于所述第一用户输入,取回与所述第一URI相对应的第一可用动作清单,其中,所述第一可用动作清单包括第一动作规范,所述第一动作规范标识可经由远程***获得的第一协作文档动作;
响应于取回所述第一可用动作清单,动态地生成针对所述第一协作文档动作的菜单项并且与所述第一菜单一起显示所述菜单项;
接收指示对所述菜单项的用户选择的第二用户输入;
响应于所述第二用户输入并且基于所述第一动作规范,取回来自所述远程***的第一指令以用于渲染用户界面以执行针对所述第一协作文档的第一协作文档动作;
执行所述第一指令以针对所述第一协作文档在所述第一客户端***上显示动作用户界面;
经由所述动作用户界面来接收第三用户输入;以及
响应于所述第三用户输入,从所述第一客户端***向所述远程***发送命令以对所述第一协作文档执行所述第一协作文档动作。
12.根据权利要求11所述的方法,其中,
所述第一协作文档的本地实例存储在文件***中的所述第一客户端***处;
所述本机应用是文件浏览器应用,其被配置为渲染用户界面以用于导航存储在所述文件***中的文件以及选择存储在所述文件***中的文件;以及
所述第一用户输入是关于表示所述第一协作文档的本地实例的用户界面元素接收的。
13.根据权利要求11所述的方法,其中,所述第一用户输入是在所述用户界面元素上执行的点击动作。
14.根据权利要求11所述的方法,其中,
所述本机应用是创作应用,其被配置为:在所述第一客户端***处在创作用户界面中渲染存储在所述第一协作文档的本地实例中的电子内容项;以及
所述第一用户输入是经由所述创作用户界面接收的。
15.根据权利要求11所述的方法,其中,所述动作用户界面呈现工作流任务表单。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/236,623 US11003630B2 (en) | 2018-12-30 | 2018-12-30 | Remote access of metadata for collaborative documents |
US16/236,623 | 2018-12-30 | ||
PCT/US2019/068211 WO2020142297A1 (en) | 2018-12-30 | 2019-12-23 | Remote access of metadata for collaborative documents |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113261023A true CN113261023A (zh) | 2021-08-13 |
Family
ID=69185743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980087267.XA Pending CN113261023A (zh) | 2018-12-30 | 2019-12-23 | 远程访问协作文档的元数据 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11003630B2 (zh) |
EP (1) | EP3903263A1 (zh) |
CN (1) | CN113261023A (zh) |
WO (1) | WO2020142297A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11386051B2 (en) * | 2019-11-27 | 2022-07-12 | Sap Se | Automatic intelligent hybrid business intelligence platform service |
US11290531B2 (en) * | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US11140283B2 (en) * | 2019-12-20 | 2021-10-05 | Xerox Corporation | Action tags for multi-function devices to build a job |
US11880323B2 (en) * | 2020-01-28 | 2024-01-23 | Relativity Oda Llc | System and method for building and implementing automated workflows |
JP2021144532A (ja) * | 2020-03-12 | 2021-09-24 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
US11210321B2 (en) * | 2020-04-08 | 2021-12-28 | Open Text Holdings, Inc. | Content source integration |
US11537786B2 (en) * | 2020-11-16 | 2022-12-27 | Dropbox, Inc. | Generating fillable documents and fillable templates in a collaborative environment |
US11907387B2 (en) * | 2021-04-07 | 2024-02-20 | Salesforce, Inc. | Service for sharing data insights |
US11853100B2 (en) * | 2021-04-12 | 2023-12-26 | EMC IP Holding Company LLC | Automated delivery of cloud native application updates using one or more user-connection gateways |
US11303647B1 (en) | 2021-04-22 | 2022-04-12 | Netskope, Inc. | Synthetic request injection to disambiguate bypassed login events for cloud policy enforcement |
US11647052B2 (en) | 2021-04-22 | 2023-05-09 | Netskope, Inc. | Synthetic request injection to retrieve expired metadata for cloud policy enforcement |
US11178188B1 (en) | 2021-04-22 | 2021-11-16 | Netskope, Inc. | Synthetic request injection to generate metadata for cloud policy enforcement |
US11336698B1 (en) | 2021-04-22 | 2022-05-17 | Netskope, Inc. | Synthetic request injection for cloud policy enforcement |
US11190550B1 (en) | 2021-04-22 | 2021-11-30 | Netskope, Inc. | Synthetic request injection to improve object security posture for cloud security enforcement |
US11184403B1 (en) * | 2021-04-23 | 2021-11-23 | Netskope, Inc. | Synthetic request injection to generate metadata at points of presence for cloud security enforcement |
US11271973B1 (en) | 2021-04-23 | 2022-03-08 | Netskope, Inc. | Synthetic request injection to retrieve object metadata for cloud policy enforcement |
US11271972B1 (en) | 2021-04-23 | 2022-03-08 | Netskope, Inc. | Data flow logic for synthetic request injection for cloud security enforcement |
US11922156B2 (en) * | 2021-05-27 | 2024-03-05 | Salesforce, Inc. | Systems, methods, and devices for synchronization of content associated with computing platforms |
CN115713297A (zh) * | 2021-08-18 | 2023-02-24 | 北京字跳网络技术有限公司 | 信息处理方法、装置、终端和存储介质 |
US11875311B2 (en) * | 2021-12-30 | 2024-01-16 | Salesforce, Inc. | Communication platform document as a communication channel |
US11943260B2 (en) | 2022-02-02 | 2024-03-26 | Netskope, Inc. | Synthetic request injection to retrieve metadata for cloud policy enforcement |
US11863615B2 (en) | 2022-03-18 | 2024-01-02 | T-Mobile Usa, Inc. | Content management systems providing zero recovery time objective |
US11734501B1 (en) * | 2022-05-22 | 2023-08-22 | Atlassian Pty Ltd. | Electronic document management system with a content status designation interface |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327405A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Enhanced Client And Server Systems for Operating Collaboratively Within Shared Workspaces |
CN102520922A (zh) * | 2011-11-14 | 2012-06-27 | 上海交通大学 | 一种协作环境下的远程开发方法及其*** |
US20150100547A1 (en) * | 2013-10-04 | 2015-04-09 | Alfresco Software, Inc. | Hybrid workflow synchronization between cloud and on-premise systems in a content management system |
US10037339B1 (en) * | 2017-12-28 | 2018-07-31 | Dropbox, Inc. | Synchronized organization directory with team member folders |
US20180267989A1 (en) * | 2015-04-01 | 2018-09-20 | Dropbox, Inc. | Shared Workspaces with Selective Content Item Synchronization |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2666755B2 (ja) * | 1995-01-11 | 1997-10-22 | 日本電気株式会社 | ワークフローシステム |
US7246329B1 (en) * | 2001-05-18 | 2007-07-17 | Autodesk, Inc. | Multiple menus for use with a graphical user interface |
JP4674771B2 (ja) * | 2003-11-12 | 2011-04-20 | トムソン ライセンシング | メニューを構成する方法及び装置 |
US20080040758A1 (en) * | 2006-08-10 | 2008-02-14 | Todd Beetcher | Media system and method for purchasing, downloading and playing media content |
US7933952B2 (en) | 2007-06-29 | 2011-04-26 | Microsoft Corporation | Collaborative document authoring |
US7899922B2 (en) | 2007-09-26 | 2011-03-01 | Sap Ag | Enterprise service oriented architecture for large file handling with document management system |
US8667031B2 (en) | 2008-06-13 | 2014-03-04 | Oracle International Corporation | Reuse of shared metadata across applications via URL protocol |
JP5533117B2 (ja) * | 2009-10-02 | 2014-06-25 | 富士ゼロックス株式会社 | 表示制御システム、表示制御プログラム及び修正表示情報出力方法 |
US9535651B2 (en) * | 2009-12-18 | 2017-01-03 | Oracle International Corporation | Co-browsing systems and methods |
US8965847B1 (en) | 2011-10-28 | 2015-02-24 | Oxygen Cloud, Inc. | Independent synchronization of file data and file metadata |
US9256691B2 (en) * | 2012-07-10 | 2016-02-09 | Recursive Labs, Inc. | Systems and methods for enabling Internet co-browsing experience for multiple users |
US9367646B2 (en) | 2013-03-14 | 2016-06-14 | Appsense Limited | Document and user metadata storage |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US10255023B2 (en) * | 2016-02-12 | 2019-04-09 | Haworth, Inc. | Collaborative electronic whiteboard publication process |
-
2018
- 2018-12-30 US US16/236,623 patent/US11003630B2/en active Active
-
2019
- 2019-12-23 EP EP19839771.3A patent/EP3903263A1/en active Pending
- 2019-12-23 WO PCT/US2019/068211 patent/WO2020142297A1/en active Application Filing
- 2019-12-23 CN CN201980087267.XA patent/CN113261023A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327405A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Enhanced Client And Server Systems for Operating Collaboratively Within Shared Workspaces |
CN102520922A (zh) * | 2011-11-14 | 2012-06-27 | 上海交通大学 | 一种协作环境下的远程开发方法及其*** |
US20150100547A1 (en) * | 2013-10-04 | 2015-04-09 | Alfresco Software, Inc. | Hybrid workflow synchronization between cloud and on-premise systems in a content management system |
US20180267989A1 (en) * | 2015-04-01 | 2018-09-20 | Dropbox, Inc. | Shared Workspaces with Selective Content Item Synchronization |
US10037339B1 (en) * | 2017-12-28 | 2018-07-31 | Dropbox, Inc. | Synchronized organization directory with team member folders |
Also Published As
Publication number | Publication date |
---|---|
US20200210383A1 (en) | 2020-07-02 |
WO2020142297A1 (en) | 2020-07-09 |
EP3903263A1 (en) | 2021-11-03 |
US11003630B2 (en) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003630B2 (en) | Remote access of metadata for collaborative documents | |
CN108292206B (zh) | 具有易于使用特征的工作流开发*** | |
US20220408231A1 (en) | Message extension app store | |
TWI598750B (zh) | 利用特徵的多重編輯器或多數版本之合作之方法及用於紀錄相關指令的電腦可讀儲存媒介 | |
US10769350B2 (en) | Document link previewing and permissioning while composing an email | |
US20170329614A1 (en) | Notifications in multi application user interfaces | |
EP3497561B1 (en) | User interface extender | |
EP3700237A1 (en) | Messaging application interacting with one or more extension applications | |
US20160140139A1 (en) | Local representation of shared files in disparate locations | |
CN104769581B (zh) | 用于提供经链接的笔记记录的***和方法 | |
US20140282371A1 (en) | Systems and methods for creating or updating an application using a pre-existing application | |
US10409634B2 (en) | Surfacing task-related applications in a heterogeneous tab environment | |
JP2016529599A (ja) | コンテンツクリップボードの同期 | |
TW201443670A (zh) | 提供不計內容格式及類型之內容可存取性的虛擬庫 | |
CN112204595A (zh) | 文档状态管理*** | |
US20220164743A1 (en) | Managing projects in a content management system | |
KR20210111294A (ko) | 전자 콘텐츠에서 실행 가능한 주석을 위한 확장 가능한 프레임워크 | |
US20230385363A1 (en) | Web site preview generation based on web site type | |
US9836469B2 (en) | Techniques for processing digital assets for editing in a digital asset editing computer program | |
US10289741B2 (en) | Using relevant objects to add content to a collaborative repository | |
US20230385525A1 (en) | Web site preview generation with action control | |
US11816313B1 (en) | Method and system of managing and displaying document annotation surfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |