CN112654973B - 跨平台集成云内容项的技术 - Google Patents

跨平台集成云内容项的技术 Download PDF

Info

Publication number
CN112654973B
CN112654973B CN201980057741.4A CN201980057741A CN112654973B CN 112654973 B CN112654973 B CN 112654973B CN 201980057741 A CN201980057741 A CN 201980057741A CN 112654973 B CN112654973 B CN 112654973B
Authority
CN
China
Prior art keywords
content
content item
cloud
management system
item
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
Application number
CN201980057741.4A
Other languages
English (en)
Other versions
CN112654973A (zh
Inventor
J·卡普兰
J·特尔克
S·杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dropbox Inc
Original Assignee
Dropbox Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dropbox Inc filed Critical Dropbox Inc
Publication of CN112654973A publication Critical patent/CN112654973A/zh
Application granted granted Critical
Publication of CN112654973B publication Critical patent/CN112654973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F16/94Hypermedia
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1015Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Technology Law (AREA)

Abstract

本发明提供了用于将基于云和云备份的内容项与内容管理系统集成的系统和方法。在一些示例中,方法可包括:接收用于访问内容管理系统上的智能指针的请求,所述智能指针包括云提供商上的内容项的表示,其中所述内容项的内容和特征通过与所述云提供商相关联的在线应用程序进行访问,所述内容项包括基于云或云备份的内容项。所述方法可包括:响应于所述智能指针被调用,从应用程序的云集成元件向所述云提供商发送对所述内容项的所述内容的请求;在所述云集成元件处,从所述云提供商接收所述内容项的所述内容;并且在所述应用程序处,将所述内容呈现为所述智能指针的渲染实例的一部分。

Description

跨平台集成云内容项的技术
相关申请的交叉引用
本申请要求于2018年11月6日提交的名称为“TECHNOLOGIES FOR INTEGRATINGCLOUD-BASED DOCUMENTS ACROSS PLATFORMS”的美国临时专利申请62/756,367的权益和优先权,其内容据此全文明确地以引用方式并入。
本申请还涉及于2019年9月25日提交的名称为“TECHNOLOGIES FOR INTEGRATINGCLOUD-BASED DOCUMENTS ACROSS PLATFORMS”的美国非临时专利申请16/582,361,代理人案卷号P1328US1_085118-613050;于2019年9月25日提交的名称为“TECHNOLOGIES FORINTEGRATING CLOUD-BASED DOCUMENTS ACROSS PLATFORMS”的美国非临时专利申请16/582,425,代理人案卷号P1328US2_085118-637451;于2019年9月25日提交的名称为“TECHNOLOGIES FOR INTEGRATING CLOUD-BASED DOCUMENTS ACROSS PLATFORMS”的美国非临时专利申请16/582,674,代理人案卷号P1328US3_085118-633792;于2019年9月25日提交的名称为“TECHNOLOGIES FOR INTEGRATING CLOUD-BASED DOCUMENTS ACROSS PLATFORMS”的美国非临时专利申请16/582,685,代理人案卷号P1328US4_085118-633794;于2019年9月25日提交的名称为“TECHNOLOGIES FOR INTEGRATING CLOUD-BASED DOCUMENTS ACROSSPLATFORMS”的美国非临时专利申请16/582,809,代理人案卷号P1328US5_085118-633797;以及于2019年9月25日提交的名称为“TECHNOLOGIES FOR INTEGRATING CLOUD-BASEDDOCUMENTS ACROSS PLATFORMS”的美国非临时专利申请16/582,455,代理人案卷号P1328US6_085118-633798;其内容据此全文明确地以引用方式并入。
技术领域
本技术涉及云内容项与分布式存储、协作和同步系统的集成。
背景技术
云存储系统允许用户在云上存储和访问数据。云存储系统可允许用户维护存储在单个云存储系统上并可从单个云存储系统访问的各种内容项。一些云存储系统允许用户与其他用户共享数据并以协作方式访问数据。此外,一些云存储系统还可支持跨多个客户端设备和服务器的数据副本的同步,因此数据的每个副本都是相同的,并且可从客户端设备本地访问。同步功能可使用户能够在其客户端设备上存储数据的本地副本,并从其客户端设备访问数据的本地副本。数据的本地副本可与云存储系统上的数据同步,以确保数据的本地副本和云副本之间的一致性。数据的本地副本可为用户提供对数据的更快访问,并且可允许用户在其客户端设备脱机时访问数据。
用户越来越多地使用来自不同的基于云的服务的各种基于云或云备份的内容项和应用程序。通常,这种基于云或云备份的内容项存储在与不同的基于云的服务相关联的单独云存储系统中。许多这种基于云的应用程序不在传统文件上运行,而是在通常专门为基于云的应用程序设计的基于云的内容项上运行。例如,基于云的内容项可具有特定的格式和功能,这些格式和功能可仅由与那些基于云的内容项相关联的特定的基于云的应用程序和服务支持。
在许多情况下,基于云或云备份的内容项不能在基于文件的存储系统中表示,并且其内容不能使用其他应用程序(诸如传统文件应用程序)渲染,或者当通过与基于云的文档相关联的特定的基于云的应用程序之外的应用程序来渲染时,可能会丢失一些云备份的特征和功能。不利的是,来自不同的基于云的服务的基于云或云备份的内容项和应用程序的使用日益增加,以及单个存储解决方案对此类内容项的支持不足或有限,导致越来越分散在不同的系统和设备中的内容项的爆炸式增长。
附图说明
通过参考在附图中示出的特定具体实施,本技术的上述和其他优点和特征将变得显而易见。本领域普通技术人员将理解,这些附图仅示出了本技术的一些示例,并且不将本技术的范围限于这些示例。此外,本领域技术人员将通过使用附图,以附加的特征和细节来理解所描述和解释的本技术的原理,其中:
图1A示出了包括内容管理系统和客户端设备的计算环境的示例性配置;
图1B示出了示例性协作内容管理系统;
图2示出了用于在内容管理系统和客户端设备之间同步内容的示例性架构的示意图;
图3示出了用于将来自不同云服务的云功能和内容集成到内容管理系统中的示例性架构;
图4是示出各种类型的内容项之间的功能相似性和差异性的维恩图;
图5A示出了在第三方云服务上的云服务内容项与内容管理系统中的智能指针之间的示例性功能映射;
图5B示出了在第三方云服务上的云服务内容项与内容管理系统中的规范内容项之间的示例性功能映射;
图5C示出了在第三方云服务上的云服务内容项与内容管理系统中的基本指针之间的示例性功能映射;
图6A示出了通过客户端设备上的浏览器应用程序访问智能指针以及通过另一客户端设备上的浏览器应用程序访问云服务内容项的示例性用户体验和使用情况;
图6B示出了通过客户端设备上的浏览器应用程序访问规范内容项以及通过另一客户端设备上的浏览器应用程序访问云服务内容项的示例性用户体验和使用情况;
图6C示出了通过客户端设备上的客户端应用程序访问智能指针以及通过另一客户端设备上的浏览器应用程序访问云服务内容项的另一个示例性用户体验和使用情况;
图6D示出了通过客户端设备上的客户端应用程序访问规范内容项以及通过另一客户端设备上的浏览器应用程序访问云服务内容项的另一个示例性用户体验和使用情况;
图7A示出了用于提供引用云服务内容项的智能指针,并通过智能指针提供客户端设备对云服务内容项的内容和功能的访问的示例性过程;
图7B示出了用于通过智能指针和客户端设备上的客户端应用程序提供客户端设备对云服务内容项的内容和功能的访问的示例性过程;
图7C示出了用于提供与云服务内容项相关联的规范内容项,以及通过规范内容项提供客户端设备对云服务内容项的内容和功能的访问的示例性过程;
图7D示出了用于通过规范内容项和客户端设备上的客户端应用程序提供客户端设备对云服务内容项的内容和功能的访问的示例性过程;
图8示出了用于在内容管理系统和第三方云服务之间交换与云服务内容项相关联的内容、元数据和更新的示例性流程;
图9A示出了用于在第三方云服务上的云服务内容项和内容管理系统上的智能指针中创建内容与元数据之间的关联的示例性流程;
图9B示出了用于在第三方云服务上的云服务内容项和内容管理系统上的规范内容项中创建内容与元数据之间的关联的示例性流程;
图10示出了用于将对客户端设备上的智能指针和规范内容项的本地改变推送到托管与智能指针和规范内容项相关联的内容项的第三方云服务的示例性流程;
图11示出了用于与用户和设备共享存储在内容管理系统中的规范内容项的基于链接的示例性机制;
图12示出了用于将用户路由到实时协作会话的示例性流程;
图13A示出了用于在内容管理系统上实现智能指针的示例性方法;
图13B示出了用于在内容管理系统上实现规范内容项的示例性方法;
图13C示出了用于在内容管理系统上实现基于云的内容项、云备份的内容项和智能指针的示例性方法;
图13D示出了用于在内容管理系统上实现对基于云的内容项和云备份的内容项的访问控制的示例性方法;并且
图14示出了用于实现本技术的各个方面的示例性系统。
具体实施方式
下面详细讨论了本技术的各种示例。尽管讨论了特定具体实施,但是应当理解,这样做仅是出于说明的目的。相关领域的技术人员将认识到,在不脱离本技术的实质和范围的情况下,可使用其他组件和配置。
云存储系统允许用户跨多个设备存储和访问内容项。内容项可包括但不限于文件、文档、消息(例如,电子邮件消息或文本消息)、媒体文件(例如,照片、视频和音频文件)、文件夹或任何其他内容单元。内容项可被多个用户共享、编辑、删除、添加、重命名、移动和/或以其他方式访问或操纵。但是,在许多情况下,单个云存储系统或解决方案可能不能够表示、渲染和/或管理由不同的基于云的服务或提供商托管的特定的基于云的应用程序所创建或支持的内容项,诸如基于云和云备份的内容项。结果,用户经常从不同的云存储和内容系统存储和访问此类内容项,同时在单独云存储系统上维护和访问其他内容项。
此外,如前所述,来自不同的基于云的服务的基于云或云备份的内容项和应用程序的使用日益增加,以及单个存储解决方案对此类内容项的支持不足或有限,导致越来越分散在不同的系统和设备中的内容项的爆炸式增长。用户内容的分散性质可能会严重妨碍用户组织内容、从单个云存储系统获得对内容及其相关联功能的统一或完整访问以及与其他用户协作的能力。随着用户尝试与更多用户进行协作并实现越来越多的基于云和云备份的内容项和应用程序,这些问题会迅速成倍增加,这通常会导致非常难以管理的内容孤岛。
本文的技术可提供解决或克服前述和其他技术问题和限制的集成和统一的解决方案。例如,本文的技术可提供云存储解决方案,该云存储解决方案能够组织、表示和渲染来自各种基于云的应用程序或服务中的基于云和云备份的文档,同时保持对与此类基于云和云备份的内容项相关联的各种基于云或云备份的功能的支持,诸如基于云或云备份的内容项内的内容创建。在一些情况下,本文的云存储解决方案还可扩展此类基于云和云备份的内容项的功能或特征,以包括本文的云存储解决方案提供的附加功能或特征,诸如共享、组织、协作和安全功能或特征。
在一些方面,所公开的技术被部署在具有内容项同步能力和协作特征等的内容管理系统诸如云存储服务的上下文中。内容管理系统和环境的示例性配置100在图1A中示出,其描绘了与客户端设备150交互的内容管理系统110。
账户
内容管理系统110可存储与账户相关联的内容项,以及执行各种内容项管理任务,诸如检索、修改、浏览和/或共享内容项。此外,内容管理系统110可使账户能够访问来自多个客户端设备的内容项。
内容管理系统110支持多个账户。实体(用户、用户组、团队、公司等)可使用内容管理系统创建账户,并且账户详细信息可存储在账户数据库140中。账户数据库140可存储注册实体的配置文件信息。在一些情况下,注册实体的配置文件信息包括用户名和/或电子邮件地址。账户数据库140可包括账户管理信息,诸如账户类型(例如,免费或付费账户的各个层)、分配的存储空间、使用的存储空间、具有驻留在其上的注册内容管理客户端应用程序152的客户端设备150、安全设置、个人配置设置等。
账户数据库140可存储与实体相关联的账户组。组可具有基于组策略和/或访问控制列表的许可,并且组的成员可继承该许可。例如,营销组可有权访问一组内容项,而工程组可有权访问另一组内容项。管理员组可修改组、修改用户账户等。
内容项存储库
内容管理系统110的特征是内容项的存储,其可存储在内容存储库142中。内容项可以是任何数字数据,诸如文档、协作内容项、文本文件、音频文件、图像文件、视频文件、网页、可执行文件、二进制文件等。内容项还可包括集合或用于将具有不同行为的内容项分组在一起的其他机制,诸如文件夹、压缩文件、播放列表、相册等。集合可指一个文件夹,或者多个由公共属性关联或分组的内容项。在一些实施方案中,内容存储库142与其他类型的存储库或数据库组合以处理特定功能。内容存储库142可存储内容项,而关于内容项或与内容项或用户账户相关联的对象的元数据可存储在元数据存储146中。同样,关于内容项在内容存储库142中的存储位置的数据可存储在内容目录144中。另外,关于改变、访问等的数据可存储在文件系统148中。
诸如内容存储库142、内容目录144、文件系统148和元数据存储146的各种存储库/数据库中的每一个可包括一个以上这样的存储库或数据库,并且可分布在许多设备和位置上。其他配置也是可能的。例如,来自内容存储库142、内容目录144、文件系统148和/或元数据存储146的数据可被组合到一个或多个内容存储库或数据库中,或者进一步被分段成另外的内容存储库或数据库。因此,内容管理系统110可包括比图1A所示更多或更少的存储库和/或数据库。
在一些实施方案中,内容存储库142与至少一个内容存储服务116相关联,所述至少一个内容存储服务包括用于管理内容项的存储库的软件或其他处理器可执行指令,其他处理器可执行指令包括但不限于接收用于存储的内容项、准备用于存储的内容项、选择内容项的存储位置、从存储库中检索内容项等。在一些实施方案中,内容存储服务116可将内容项分成更小的块以存储在内容存储库142中。构成内容项的每个块的位置可记录在内容目录144中。内容目录144可包括存储在内容存储库142中的每个内容项的内容条目。内容条目可与标识内容项的唯一ID相关联。
在一些实施方案中,标识内容目录144中的内容项的唯一ID可从确定性散列函数中导出。这种为内容项导出唯一ID的方法可确保内容项重复被这样识别,因为确定性散列函数将为相同内容项的每个副本输出相同的标识符,但是将为不同的内容项输出不同的标识符。使用这种方法,内容存储服务116可为每个内容项输出唯一ID。
内容存储服务116还可在元数据存储146中指定或记录内容项的内容路径。内容路径可包括内容项的名称和/或与内容项相关联的文件夹层次结构。例如,内容路径可包括文件夹或文件夹路径,其中内容项存储在客户端设备上的本地文件系统中。虽然内容项以块形式存储在内容存储库142中,并且可不存储在树状目录结构下,但是这种目录结构对于用户而言是舒适的导航结构。内容存储服务116可定义或记录内容项的内容路径,其中目录结构的“根”节点可以是每个账户的命名空间。在命名空间内可以是由账户和/或内容存储服务116的用户定义的目录结构。元数据存储146可将每个内容项的内容路径存储为内容条目的一部分。
在一些实施方案中,命名空间可包括嵌套在目录结构中的附加命名空间,就好像它们存储在根节点中一样。当账户有权访问共享集合时,可能会发生这种情况。可在内容管理系统110内为共享集合分配它们自己的命名空间。尽管某些共享集合实际上是共享集合的根节点,但它们在目录结构中位于账户命名空间的从属位置,并且可作为账户文件夹内的文件夹出现。如上所述,目录结构对于用户而言仅仅是舒适的导航结构,而与内容项在内容存储库142中的存储位置不相关。
尽管账户查看内容项的目录结构与内容管理系统110上的存储位置不相关,但是目录结构可与客户端设备150上的存储位置相关,这取决于客户端设备150使用的文件系统。
如上所述,内容目录144中的内容条目还可包括构成内容项的每个块的位置。更具体地,内容条目可包括内容指针,该内容指针标识构成内容项的块在内容存储库142中的位置。
除了内容路径和内容指针以外,内容目录144中的内容条目还可包括标识有权访问内容项的用户账户的用户账户标识符和/或标识能够访问内容项的组和/或内容条目所属的命名空间的组标识符。
内容存储服务116可通过标识重复内容项或构成内容项或内容项的版本的重复块来减少所需的存储空间量。代替存储多个副本,内容存储库142可存储内容项的单个副本或内容项的块,并且内容目录144可包括将重复链接到单个副本的指针或其他机制。
内容存储服务116还可将描述内容项、内容项类型、文件夹、文件路径和/或内容项与元数据存储146中的各种账户、集合或组的关系的元数据与内容项的唯一ID相关联地存储。
内容存储服务116还可在文件系统148中存储关于改变、访问等的数据的日志。文件系统148可包括内容项的唯一ID和改变或访问动作的描述,以及时间戳或版本号和任何其他相关数据。文件系统148还可包括指向受改变或内容项访问影响的块的指针。内容存储服务可通过使用内容项版本控件来提供撤消操作的能力,该内容项版本控件跟踪内容项的改变、内容项的不同版本(包括不同的版本树)以及可从文件系统148获取的改变历史。
内容项同步
内容管理系统110的另一特征是内容项与至少一个客户端设备150的同步。客户端设备可采用不同的形式并具有不同的能力。例如,客户端设备1501是具有本地文件系统的计算设备,该本地文件系统可由驻留在其上的多个应用程序访问。客户端设备1502是计算设备,其中内容项仅可被特定应用程序访问或通过特定应用程序给予的许可来访问,并且内容项通常存储在应用程序特定空间或云中。客户端设备1503是经由web浏览器访问内容管理系统110并经由web界面访问内容项的任何客户端设备。尽管示例性客户端设备1501、1502和1503以诸如膝上型计算机、移动设备或web浏览器的形状因素来描绘,但是应当理解,其描述不限于这些示例性形状因素的设备。例如,移动设备诸如客户端1502可具有可由驻留在其上的多个应用程序访问的本地文件系统,或者客户端1502可经由web浏览器访问内容管理系统110。因此,在考虑客户端150的能力时,不应将形状因素视为限制性的。根据设备的特定能力,本文中关于客户端设备150所描述的一种或多种能力可能会或可能不会在每个客户端设备上可用—文件访问模型就是这样一种能力。
在许多实施方案中,客户端设备与内容管理系统110的账户相关联,但是在一些实施方案中,客户端设备可使用共享链接来访问内容并且不需要账户。
如上所述,一些客户端设备可使用浏览器应用程序166诸如web浏览器来访问内容管理系统110。例如,客户端设备150可使用浏览器应用程序166来访问内容管理系统110上的网页和内容。但是,客户端设备还可使用存储在客户端设备150上并运行的客户端应用程序152访问内容管理系统110。客户端应用程序152可包括客户端同步服务156。客户端同步服务156可与服务器同步服务112通信,以在客户端设备150和内容管理系统110之间同步对内容项的改变。
客户端设备150可经由客户端同步服务156将内容与内容管理系统110同步。同步可与平台无关。也就是说,内容可在不同类型、能力、操作系统等的多个客户端设备之间同步。客户端同步服务156可将任何改变(新的、删除的、修改的、复制的或移动的内容项)同步到客户端设备150的文件系统的指定位置中的内容项。
内容项可从客户端设备150同步到内容管理系统110,反之亦然。在其中同步是从客户端设备150到内容管理系统110的实施方案中,用户可直接从客户端设备150的文件系统操纵内容项,而客户端同步服务156可监视客户端设备150上的目录,以查看对被监视的文件夹内的文件的改变。
当客户端同步服务156在其监视的目录中检测到内容的写入、移动、复制或删除时,客户端同步服务156可将改变同步到内容管理系统服务116。在一些实施方案中,客户端同步服务156可执行内容管理系统服务116的一些功能,包括上述功能,诸如将内容项划分为块、对内容项进行散列以生成唯一标识符等。客户端同步服务156可在客户端存储索引164中索引内容,并将结果保存在存储索引164中。索引可包括存储路径以及每个内容项的唯一服务器标识符和唯一客户端标识符。在一些实施方案中,客户端同步服务156从服务器同步服务112学习唯一服务器标识符,并且从客户端设备150的操作系统学习唯一客户端标识符。
客户端同步服务156可使用存储索引164来促进客户端存储库内的至少一部分内容与内容管理系统110上与用户账户相关联的内容的同步。例如,客户端同步服务156可将存储索引164与内容管理系统110进行比较,并检测客户端存储库上的内容与内容管理系统110上与用户账户相关联的内容之间的差异性。然后,客户端同步服务156可通过适当地上传、下载、修改和删除客户端存储库上的内容来尝试调和差异性。内容存储服务116可存储内容项的改变的块或新的块,并适当地更新文件系统148、元数据存储146、内容目录144、内容存储库142、账户数据库140等。
当从内容管理系统110同步到客户端设备150时,记录在文件系统148中的内容项的安装、修改、添加、删除、移动可触发使用通知服务117向客户端设备150发送通知。当客户端设备150被告知改变时,从客户端设备已知的最后一个同步点开始,文件系统148中列出的请求改变。当客户端设备150确定它与内容管理系统110不同步时,客户端同步服务156请求包括该改变的内容项块,并更新其改变后的内容项的本地副本。
在一些实施方案中,存储索引164存储树数据结构,其中一棵树反映根据服务器同步服务112的目录的最新表示,而另一棵树反映根据客户端同步服务156的目录的最新表示。客户端同步服务可通过从服务器同步服务112请求数据或将客户端设备150上的改变提交给内容管理系统110来确保树结构匹配。
有时客户端设备150可能没有可用的网络连接。在这种情况下,客户端同步服务156可监视链接集的内容项改变,并将这些改变排队,以便稍后在网络连接可用时与内容管理系统110同步。类似地,用户可手动开始、停止、暂停或恢复与内容管理系统110的同步。
客户端同步服务156可同步与内容管理系统110上的特定用户账户相关联的所有内容。另选地,客户端同步服务156可选择性地同步与内容管理系统110上的特定用户账户相关联的全部内容的一部分内容。选择性地仅同步一部分内容可保留客户端设备150上的空间并节省带宽。
在一些实施方案中,客户端同步服务156选择性地存储与特定用户账户相关联的内容的一部分,并将占位符内容项存储在客户端存储库中以用于内容的其余部分。例如,客户端同步服务156可将占位符内容项存储在内容管理系统110上,该占位符内容项与其相应的完整内容项具有相同的文件名、路径、扩展名、元数据,但是缺少完整内容项的数据。占位符内容项的大小可为几个字节或更小,而相应的完整内容项可能要大得多。在客户端设备150尝试访问内容项之后,客户端同步服务156可从内容管理系统110检索内容项的数据,并将完整内容项提供给访问客户端设备150。这种方法可提供显著的空间和带宽节省,同时仍然提供对内容管理系统110上的用户内容的完全访问。
协作特征
内容管理系统110的另一个特征是促进用户之间的协作。协作特征包括内容项共享、对内容项进行评论、对内容项进行协作、即时消息传递、提供关于内容项的存在和可见状态信息等。
共享
内容管理系统110可通过共享服务128管理共享内容。通过提供到内容的链接来共享内容可包括使内容项可从与内容管理系统110进行网络通信的任何计算设备访问。然而,在一些实施方案中,链接可与由内容管理系统110和访问控制列表145实施的访问限制相关联。共享内容还可包括使用共享服务128链接内容,以与至少一个附加用户账户(除了与内容项相关联的原始用户账户之外)共享内容管理系统110内的内容,使得每个用户账户都有权访问内容项。附加用户账户可通过接受内容来获得对内容的访问,然后可通过web界面服务124或直接从与他们在客户端设备150上的账户相关联的目录结构内访问该内容。可以与平台无关的方式执行共享。也就是说,内容可在不同类型、能力、操作系统等的多个客户端设备150之间共享。内容也可在不同类型的用户账户之间共享。
为了在内容管理系统110内共享内容项,共享服务128可将一个或多个用户账户标识符添加到与该内容项相关联的访问控制列表数据库145中的内容条目,从而授权添加的用户账户对内容项的访问。共享服务128还可从内容条目中移除用户账户标识符,以限制用户账户对内容项的访问。共享服务128可在访问控制列表数据库145中记录内容项标识符、被授予对内容项的访问权的用户账户标识符以及访问级别。例如,在一些实施方案中,与单个内容条目相关联的用户账户标识符可针对相关联的内容项为相应用户账户标识符指定不同的许可。
为了在内容管理系统110之外共享内容项,共享服务128可生成定制网络地址,诸如统一资源定位符(URL),其允许任何web浏览器在没有任何认证的情况下访问内容管理系统110中的内容项或集合。为了实现这一点,共享服务128可在所生成的URL中包括内容标识数据,该内容标识数据稍后可用于正确地标识并返回所请求的内容项。例如,共享服务128可在生成的URL中包括账户标识符和内容路径或内容项标识代码。在选择URL后,URL中包括的内容标识数据可被传输到内容管理系统110,该内容管理系统可使用接收到的内容标识数据来标识适当的内容项并返回该内容项。
除了生成URL之外,共享服务128还可被配置为在访问控制列表数据库145中记录已创建到内容项的URL。在一些实施方案中,与内容项相关联的内容条目可包括URL标记,该URL标记指示是否已创建到内容项的URL。例如,URL标记可以是最初设置为0或假的布尔值,以指示尚未创建到内容项的URL。共享服务128可在生成到内容项的URL之后将标记的值改变为1或真。
在一些实施方案中,共享服务128可将一组许可与内容项的URL相关联。例如,如果用户尝试通过URL访问内容项,则共享服务128可为内容项提供一组受限许可。受限许可的示例包括用户不能下载内容项、保存内容项、复制内容项、修改内容项等的限制。在一些实施方案中,受限许可包括仅允许从指定域内(即,从公司网络域内)或由与指定域相关联的账户(例如,与公司账户相关联的账户(例如,@acme.com))访问内容项的限制。
在一些实施方案中,共享服务128也可被配置为停用所生成的URL。例如,每个内容条目还可包括URL活动标记,该URL活动标记指示是否应响应于来自所生成URL的请求而返回内容。例如,如果URL活动标记设置为1或真,则共享服务128只能返回生成的链接请求的内容项。因此,通过改变URL活动标记的值,可容易地限制对已为其生成URL的内容项的访问。这允许用户限制对共享内容项的访问,而不必移动内容项或删除生成的URL。同样,共享服务128可通过再次将URL活动标记的值改变为1或真来重新激活URL。用户因此可容易地恢复对内容项的访问而无需生成新的URL。
在一些实施方案中,内容管理系统110可指定用于上传内容项的URL。例如,拥有用户账户的第一用户可请求这样的URL,将URL提供给参与用户,并且该参与用户可使用该URL将内容项上传到第一用户的用户账户。
事件
内容管理系统110可跟踪、创建和存储涉及内容项和/或用户活动的事件。例如,当用户与内容项交互(例如,添加、编辑、发布、共享、删除、评论、移动、重命名等)和/或与另一用户交互(例如,消息传递、评论、协作等)时,事件服务136可生成用于这种交互的事件。当事件服务136检测到用户与内容项和/或另一用户的交互时,事件服务136可创建事件标识符(例如,唯一事件标识符)和事件类型,并将事件标识符和事件类型与用户相关联(例如,用户标识符和命名空间标识符),以创建用于该交互的事件或事件记录。在创建事件之后,事件服务136可将事件标识符和与该事件相关联的任何信息发送到事件存储143以进行存储。
事件存储143可包括一个或多个存储系统,诸如一个或多个数据库,用于存储事件和相关信息。在一些示例中,事件存储143可包括分布式数据库或分布式存储系统。事件存储143可接收并存储事件数据以供内容管理系统110访问。
团队服务
在一些实施方案中,内容管理系统110包括团队服务130。团队服务130可提供用于创建和管理定义的用户账户团队的功能。可为公司创建具有子团队(例如,业务部门或项目团队等)以及为团队和子团队分配的用户账户的团队,或者可为任何定义的用户账户组创建团队。团队服务130可为团队、私人用户账户文件夹和访问受限的共享文件夹提供公共共享空间。团队服务还可为管理员提供管理界面,以管理团队中的集合和内容项,并可管理与团队相关联的用户账户。
授权服务
在一些实施方案中,内容管理系统110包括授权服务132。授权服务132确保尝试访问命名空间的用户账户具有访问该命名空间的适当权限。授权服务132可从客户端应用程序152接收令牌,该令牌遵循访问命名空间的请求,并且可向用户账户返回所允许的能力。对于具有多个访问级别的用户账户(例如,具有用户权限和管理员权限的用户账户),授权服务132还可要求明确的特权升级,以避免管理员的无意操作。
存在和可见状态
在一些实施方案中,内容管理系统可提供关于共享内容项的用户如何与内容项交互或已经与内容项交互的信息。在一些实施方案中,内容管理系统110可报告与之共享内容项的用户当前正在查看该内容项。例如,当客户端设备150正在访问内容项时,客户端协作服务160可通知通知服务117。通知服务117然后可将客户端设备150的用户关于该内容项的存在通知有权访问同一内容项的其他用户的所有客户端设备。内容管理系统110(例如,通过事件服务136)和/或客户端设备150可跟踪用户与内容的交互,例如读取或写入事件,并为用户维护此类事件和交互的历史(例如,事件存储143)。
在一些实施方案中,内容管理系统110可报告用户与共享内容项的交互的历史。协作服务126可查询数据源诸如事件存储143、元数据存储146和文件系统148,以确定用户已保存内容项、用户尚未查看内容项等,并使用通知服务117将该状态信息传播给其他用户,使得他们可知道谁当前正在或已经查看或修改了该内容项。
协作服务126可促进与内容相关联的评论,即使内容项本身不支持评论功能。这样的评论可存储在元数据存储146中。
协作服务126可为用户发起和发送通知。例如,用户可在评论中提及另一个用户,并且协作服务126可向该用户发送他已经在评论中被提及的通知。各种其他内容项事件可触发通知,包括删除内容项、共享内容项等。
协作服务126可提供消息传递平台,用户可借此发送和接收即时消息、语音呼叫、电子邮件等。
协作内容项
在一些实施方案中,内容管理服务还可包括可提供交互式内容项协作平台的协作文档服务134,由此用户可同时创建协作内容项、在协作内容项中进行评论以及管理协作内容项内的任务。协作内容项可以是用户可使用协作内容项编辑器创建和编辑的文件,并且可包含协作内容项元素。协作内容项元素可包括协作内容项标识符、一个或多个作者标识符、协作内容项文本、协作内容项属性、交互信息、评论、共享用户等。协作内容项元素可存储为数据库实体,这允许搜索和检索协作内容项。多个用户可同时或在不同时间访问、查看、编辑协作内容项并就其进行协作。在一些实施方案中,这可通过要求两个用户通过web界面访问内容项来进行管理,并且在那里他们可同时处理该内容项的相同副本。
协作伴侣界面
在一些实施方案中,客户端协作服务160可提供本机应用程序伴侣界面,用于显示与在客户端设备150上呈现的内容项有关的信息。在由客户端设备150上存储和执行的本机应用程序访问内容项的实施方案中,其中该内容项位于客户端设备150的文件系统的指定位置中,使得该内容项由内容应用程序152管理,本机应用程序可能不提供任何本机方式来显示上述寻址的协作数据。在此类实施方案中,客户端协作服务160可检测到用户已打开了内容项,并且可提供具有针对该内容项的附加信息的覆盖,诸如协作数据。例如,附加信息可包括对内容项的评论、内容项的状态、先前或当前查看该内容项的其他用户的活动。这种覆盖可警告用户,因为另一个用户当前正在编辑内容项,所以改变可能会丢失。
在一些实施方案中,可使用公共或私有应用编程接口来访问上面讨论的服务或存储库/数据库中的一者或多者。
某些软件应用程序可代表用户通过API访问内容存储库142。例如,当用户提供认证凭据以读取、写入、创建、删除、共享或以其他方式操纵内容时,软件包诸如在客户端设备150上运行的应用程序可以编程方式直接对内容管理系统110进行API调用。
用户可通过由web界面服务124生成和服务的web界面查看或操纵存储在用户账户中的内容。例如,用户可在web浏览器中导航到内容管理系统110提供的web地址。通过web界面对内容存储库142中的内容进行的改变或更新,诸如上传内容项的新版本,可传播回与用户账户相关联的其他客户端设备。例如,多个客户端设备(每个都有自己的客户端软件)可与单个账户相关联,并且该账户中的内容项可在多个客户端设备中的每个客户端设备之间同步。
客户端设备150可代表用户连接到内容管理系统110。例如,当客户端设备150是台式或膝上型计算机、电话、电视、物联网设备等时,用户可直接与客户端设备150交互。另选地或除此之外,例如当客户端设备150是服务器时,客户端设备150可代表用户进行操作,而用户无需物理访问客户端设备150。
客户端设备150的一些特征由安装在客户端设备150上的应用程序实现。在一些实施方案中,该应用程序可包括内容管理系统特定的组件。例如,内容管理系统特定的组件可以是独立应用程序152、一个或多个应用程序插件和/或浏览器扩展。然而,用户还可经由驻留在客户端设备150上并被配置为与内容管理系统110通信的第三方应用程序诸如web浏览器与内容管理系统110进行交互。在各种具体实施中,客户端应用程序152可为用户呈现与内容管理系统110交互的用户界面(UI)。例如,用户可经由与文件系统集成的文件系统浏览器或经由使用web浏览器应用程序显示的网页来与内容管理系统110交互。
在一些实施方案中,客户端应用程序152可被配置为管理和同步内容管理系统110的一个以上账户的内容。在此类实施方案中,客户端应用程序152可保持登录到多个账户并为多个账户提供正常服务。在一些实施方案中,每个账户可显示为文件系统中的文件夹,并且该文件夹内的所有内容项可与内容管理系统110同步。在一些实施方案中,客户端应用程序152可包括选择器以选择多个账户之一作为主要账户或默认账户。
尽管内容管理系统110具有特定组件,但是本领域技术人员应当理解,系统100的体系结构配置仅仅是一种可能的配置,而具有更多或更少组件的其他配置也是可能的。此外,服务可具有更多或更少的功能,甚至包括描述为与另一服务一起使用的功能。此外,本文关于一个实施方案描述的特征可与关于另一个实施方案描述的特征相结合。
尽管配置100具有特定组件,但是本领域技术人员应当理解,系统100的体系结构配置仅仅是一种可能的配置,而具有更多或更少组件的其他配置也是可能的。
图1B示出了根据一些示例的示例性协作内容管理系统170。协作内容管理系统170可包括用于托管和运行协作服务126的一个或多个服务器和/或应用程序。协作内容管理系统170可以是内容管理系统110的一部分,也可与内容管理系统110分开。为了清楚和解释的目的,协作内容管理系统170在本文中将被描述为内容管理系统110的一部分。
协作服务126可包括一个或多个组件和/或服务。例如,协作服务126可包括生产率管理服务180、协作内容项处理接口服务182、协作内容项编辑器184、用户通知服务186、协作内容项呈现服务188和生产率管理修改服务190。生产率管理服务180、协作内容项处理接口服务182、协作内容项编辑器184、用户通知服务186、协作内容项呈现服务188和/或生产率管理修改服务190可包括一个或多个服务、组件、设备等,诸如物理服务器、虚拟机、软件容器等。此外,生产率管理服务180、协作内容项处理接口服务182、协作内容项编辑器184、用户通知服务186、协作内容项呈现服务188和生产率管理修改服务190中的一者或多者可彼此耦接或者耦接到未明确示出的组件。
生产率管理服务180可被配置为从内容管理系统110收集生产率数据。在各种实施方案中,生产率管理服务180标识事件并收集与该事件有关的信息。例如,生产率管理服务180可从在线日历中收集特定的日历条目和/或特定的任务。生产率管理服务180可进一步从日历条目收集信息或者收集与日历条目有关的信息,诸如时间、日期、相关位置、标题、议程、概要、描述和/或与事件有关的参与者。生产率管理服务180可将生产率数据提供给协作服务126的其他模块。
协作内容项处理接口服务182可被配置为与协作服务126接口。在各种实施方案中,协作内容项处理接口服务182可将协作内容项提供给协作服务126的一个或多个模块,如本文进一步所述。
协作内容项编辑器184可被配置为创建和/或修改协作内容项。可以多种方式来创建协作内容项。在一些实施方案中,协作内容项编辑器184使得能够将协作内容项创建到内容管理系统106中。协作内容项编辑器184可允许访问云中或本地执行的任何协作内容项编辑应用程序(例如,Microsoft
Figure BDA0002960908190000231
Google
Figure BDA0002960908190000232
等)或者可以是任何协作内容项编辑应用程序。在一个示例中,内容管理系统106可向客户端设备150之一提供允许创建新的协作内容项的用户界面元素(例如,框或按钮)。
在一些实施方案中,协作内容项编辑器184可结合生产率管理服务180来创建协作内容项。例如,协作内容项编辑器184可向用户提供建议以创建或调用与即将发生的事件相关联的协作内容项。在各种实施方案中,协作服务126可标识正在打开或以其他方式使用协作内容项编辑器184的用户。生产率管理服务180可在用户的日历上为该用户标识即将发生的事件。随后,协作内容项编辑器184可向用户提供建议以创建或调用与即将发生的事件相关联的协作内容项。
尽管讨论了协作内容项编辑器184可向用户提供创建或调用与即将发生的事件相关联的协作内容项的建议,但是应当理解,创建或调用协作内容项的建议可由任何应用程序做出。例如,用户可登录和/或以其他方式访问任何应用程序或应用程序套件。一旦标识了用户并且在用户的日历上标识了即将发生的事件,任何应用程序都可向用户提供创建或调用与即将发生的事件相关联的协作内容项的建议。可以多种方式将建议提供给用户。在一个示例中,应用程序套件管理系统(例如,管理各种不同的应用程序)可在窗口的通知部分中提供建议。在另一个示例中,工作空间可在专用于通知的部分中包括对用户的建议。在又一个示例中,电子邮件程序可生成包含对用户的建议的电子邮件。
如果用户响应于该建议而请求创建或调用协作内容项,则协作内容项编辑器184可创建或调用所请求的协作内容项。如果向用户提供建议的应用程序不是协作内容项编辑器,则可执行协作内容项编辑器,并响应于用户的请求来创建和/或调用所请求的协作内容项。
根据一些实施方案,协作内容项编辑器184可配置生产率管理服务180,以在会议请求、任务条目等中提供对协作内容项的访问(例如,使用包括协作内容项的链接,或者能够访问协作内容项的任何其他机制)。在一些实施方案中,协作内容项编辑器184可指示生产率管理服务180在日历条目、会议请求、任务条目等中放置与到协作内容项的链接相对应的图标。当用户打开链接(例如,通过单击图标)时,可将用户从会议请求、任务条目等直接引导到协作内容项。在一个示例中,日历条目中的链接可向用户(例如,使用客户端设备150)提供对存储在内容管理系统106中(例如,可通过云访问的存储库中)或生产率管理服务180中的协作内容项的访问。
一旦用户请求创建或调用协作内容项,协作内容项编辑器184就可创建和/或调用协作内容项。协作内容项随后可通过编辑应用程序来编辑、更改、查看、改变、存储等(例如,本地存储在客户端设备上或云中)。在各种实施方案中,一个或多个不同的客户端设备150可利用不同的编辑应用程序来对协作内容项进行改变。协作内容项编辑器184和/或其他编辑应用程序可允许多个不同用户同时或基本上同时(例如,实时或基本上实时)使用不同的客户端设备150来改变协作内容项。
应当理解,可在没有人工干预的情况下自动将用户引导到与日历条目、会议请求、任务条目等有关的协作内容项。在一些实施方案中,可将用户引导到与日历条目、会议请求、任务条目等有关的协作内容项,而无需用户分别打开协作内容项编辑应用程序。这样的功能对于试图记录、审阅或协作与事件相关联的笔记的用户来说可能特别方便,因为这些用户不需要打开除了生产率管理应用程序之外的应用程序。
协作内容项编辑器184可从用户接收协作内容项的附加内容。例如,协作内容项编辑器184可被配置为从客户端设备150接收对协作内容项的改变或编辑。在各种实施方案中,改变可包括文本、字符串等。这些改变还可包括对协作内容项的注释、对协作内容项的评论、要附加到协作内容项的文件、要附加到协作内容项的图片、要附加到协作内容项的链接、与协作内容项有关的任务等,这些都可被合并到协作内容项中。在各种实施方案中,对协作内容项的编辑是协作。例如,协作内容项编辑器184可在给定时间(或实时)从任何数量的客户端设备150获得编辑(例如,文本改变和/或音频文件、图片、表格等的添加)。协作编辑可以各种格式合并,包括为不同用户提供不同文本属性(诸如颜色、字体、样式等)的格式。
在各种实施方案中,协作内容项编辑器184(和/或与服务器相关联的安全性或许可模块)可为协作内容项建立许可和/或安全性。例如,协作内容项编辑器184可使事件参与者能够查看和/或编辑协作内容项,而其他人可能没有权限查看协作内容项和/或进行改变。许可和/或安全性可以多种方式实施。然而,在各种实施方案中,可向事件的参与者或参与者的子集提供对协作内容项的访问。
在一些具体实施中,用户可通过提供预先建立的原语来输入命令。原语可以是内容管理系统106识别为映射到特定功能的一个或多个字符的指定序列。在一些具体实施中,原语后可跟指定系统应如何实现对应功能的一个或多个参数。原语的示例包括用户标识原语(例如,“@”后跟用户名参数—在此称为用户的提及)、任务创建原语(例如,“[]”后跟任务标题参数)、表情符号选择器原语(例如,“:”)、内容项选择器和引用插入原语(例如,“+”后跟at contentItem标题参数)、项目符号列表原语(例如,“*”)等。原语参数可以各种方式定义对应的功能。
例如,+原语可通过获取由contentItemTitle参数指定的内容并尝试将其与现有内容项进行匹配来操作。在一些具体实施中,当找到这样的匹配时,可在协作内容项中用对内容项的引用诸如URL来替换原语和任何相关参数。这样的引用在被激活时可加载被引用的协作内容项。在一些具体实施中,原语可采用另一个原语作为参数。例如,内容“[]@Jane”可被解释为使得@Jane链接到用户名为“Jane”的用户,并且该链接被原语“[]”用来创建新任务,其中该任务被分配给用户Jane。
在各种实施方案中,协作内容项编辑器184(和/或与服务器相关联的安全性或许可模块)可为协作内容项建立许可和/或安全性。例如,协作内容项编辑器184可使事件参与者能够查看协作内容项和/或对其进行编辑,而其他人可能没有权限查看协作内容项和/或对其进行改变。许可和/或安全性可以多种方式实施。然而,在各种实施方案中,可向事件的参与者或参与者的子集提供对协作内容项的访问。
在各种实施方案中,基于存储访问权限来限制对协作内容项的访问。例如,对云存储具有访问权限的用户可访问、查看协作内容项和/或对其进行改变。在一些实施方案中,具有由内容管理系统106分配的访问权限的用户可访问、查看协作内容项和/或对其进行改变。
用户通知服务186可被配置为向每个客户端设备150的用户通知与协作内容项的状态和/或内容有关的信息。通知可例如作为电子邮件通知、聊天消息通知、协作内容项的显示中的通知或通过文件系统或其他组织系统与协作内容项相关地发送。在各种实施方案中,用户通知服务186向客户端设备150提供关于改变的通知。例如,用户通知服务186可通知用户是否已为事件创建了协作内容项。作为另一个示例,用户通知服务186可通知特定用户他们已被邀请参加事件。
协作内容项呈现服务188可向客户端设备150提供选定的协作内容项。协作内容项可通过客户端设备150支持的本机应用程序、互联网浏览窗口等显示在客户端设备150中。
应当理解,协作内容项呈现服务188可随时限制对协作内容项的写入许可。在一个示例中,在事件发生之前,协作内容项呈现服务188可限制除协作内容项的创建者或调用者之外的所有用户对协作内容项的写入许可(并将协作内容项变成只读协作内容项)。在一些实施方案中,协作内容项的创建者或调用者可选择接收者的子集来接收写入许可。
协作内容项呈现服务188还可支持用户可用来查看现有协作内容项的协作内容项查看门户。协作内容项查看门户可基于一个或多个排序因素来对特定协作内容项进行排序。如本文所用,“排序因素”可包括用于对协作内容项进行排序的任何因素。排序因素可包括用于按时间顺序对协作内容项进行排序的因素。更具体地,在一些实施方案中,协作内容项查看门户根据创建协作内容项的日期和/或时间对协作内容项进行排序。协作内容项查看门户还可根据编辑协作内容项的日期和/或时间来对协作内容项进行排序。在各种实施方案中,协作内容项查看门户根据与协作内容项相关的对应事件的日期和/或时间来对协作内容项进行排序。排序因素还可包括用于根据特定用户的偏好对协作内容项进行排序的因素,例如用户是否已接受与协作内容项相关的事件。
在一些实施方案中,协作内容项查看门户可专用于已接收到对协作内容项的访问的特定用户,因为该特定用户与事件有关。用户的协作内容项查看门户可提供对任何数量的协作内容项(包括该协作内容项)的访问。可以任意种方式对在协作内容项查看门户中表示的协作内容项进行排序。例如,协作内容项查看门户可基于对应事件的日期和时间来对协作内容项进行排序。
协作内容项查看门户可支持搜索功能。例如,协作内容项查看门户可根据文本字符串、标题、事件参与者和/或其他属性来启用或允许搜索协作内容项。搜索功能可允许特定用户搜索该用户或其他用户的一个或多个协作内容项。
在一些实施方案中,生产率管理修改服务190可被配置为将协作内容项与日历条目进行协调,并使得能够通过日历条目访问协作内容项。
图2示出了用于在配置100中的内容管理系统110与客户端设备150之间同步内容的示例性架构的示意图。在该示例中,客户端设备150分别经由内容存储接口206和文件系统接口202与内容存储库142和文件系统148交互。内容存储接口206可由内容存储服务116提供或管理,并且文件系统接口202可由服务器同步服务112提供或管理。例如,内容存储接口206可以是内容存储服务116的子组件或子服务,而文件系统接口202可以是服务器同步服务112的子组件或子服务。
内容存储接口206可管理客户端设备150与内容存储库142之间的通信,诸如内容请求或交互。内容存储接口206可处理来自客户端设备150的请求,以将内容上传到内容存储库142和从该内容存储库下载内容。内容存储接口206可从客户端设备150接收内容请求(例如,下载、上传等),经由认证服务212对客户端设备150进行认证,与授权服务132进行通信以确定客户端设备150(和/或来自客户端设备150的请求)被授权向内容存储库142上传内容还是从该内容存储库下载内容(例如,基于访问控制列表145中的权限),并与内容存储库142交互以从客户端设备150下载或上传与内容请求相关联的内容。如果来自客户端设备150的请求是下载内容项的请求,则内容存储接口206可从内容存储库142检索该内容项并将该内容项提供给客户端设备150。如果来自客户端设备150的请求是上传内容项的请求,则内容存储接口206可从客户端设备150获得内容项并将内容项上传到内容存储库142以进行存储。
当处理来自客户端设备150的内容请求时,内容存储接口206可与存储索引210通信以检查所请求的内容在内容存储库142中的可用性和/或存储位置,并跟踪内容存储库142中的内容项。存储索引210可维护内容存储库142上的内容项的索引,该索引标识内容存储库142上的内容项,并且还可标识内容项在内容存储库142内的相应位置。因此,存储索引210可跟踪内容存储库142上的内容项以及这些内容项的存储位置。存储索引210可跟踪全部内容项诸如文件和/或内容项的部分诸如块或组块。在一些情况下,内容项可被分成块或组块,这些块或组块可被存储在内容存储库142处并且在存储索引210中被跟踪。例如,内容存储库142可将内容项存储为包括该内容项的相应数据部分的数据的块或组块。存储索引210可跟踪存储在内容存储库142中的内容项的块或组块。
文件系统接口202可管理客户端设备150和文件系统148之间的通信,诸如元数据请求以及内容同步和操作。例如,文件系统接口202可转换、验证、认证和/或处理客户端设备150和文件系统148之间的操作、配置和状态信息。文件系统接口202可验证来自光标中的FSAuth令牌或通过授权服务132的许可,以授权或验证由客户端设备150发送到文件系统148的请求的授权。当处理来自客户端设备150的请求或操作时,文件系统接口202可访问命名空间成员资格存储208,以确定或验证与来自客户端设备150的请求或操作相关联的任何命名空间的命名空间所有权信息,并验证与来自客户端设备150的请求或操作相关联的内容的许可。
文件系统接口202中的转换服务204可执行线性化和转换操作,以实现客户端设备150和文件系统148之间的通信。例如,转换服务204可将来自客户端设备150的通信转换为与文件系统148中的数据的结构和格式一致的不同格式,反之亦然。为了说明,在一些情况下,客户端设备150可将客户端设备150处的内容项信息(例如,状态、改变、版本等)处理为操作,而文件系统148可将相同的信息处理为与由数据结构诸如数据库表中的行反映的内容项修订。为了实现客户端设备150和文件系统148之间的内容项信息的同步,转换服务204可将来自客户端设备150的操作转换为适合于文件系统148的修订,并且可将在文件系统148上的数据行中反映的修订转换为适合于客户端设备150的操作。
在一些情况下,内容管理系统110(例如,文件系统接口202、授权服务132或内容存储接口206)可生成令牌,该令牌验证或指示客户端设备150被授权访问、更新、下载或上传所请求的内容项。令牌可包括与客户端设备150相关联的设备标识符、与在客户端设备150处被认证或授权的用户账户相关联的账户标识符、与在客户端设备150处被授权的会话相关联的会话标识符、视图上下文、加密密钥、对所标识的内容项的访问许可等。令牌可与称为光标的加密签名的数据对象一起提供或在其中进行提供,这将在下文更详细地描述。内容管理系统110(例如,文件系统接口202、授权服务132或内容存储接口206)可将令牌发送到客户端设备150,并且客户端设备150可在请求对文件系统148的内容项修订和/或更新时将令牌提供给内容管理系统110,如下文进一步描述的。客户端设备150还可将令牌提供给内容存储接口206,以验证任何内容请求(例如,下载、上传等)。内容存储接口206可使用令牌来授权对存储索引210的查询,以及向内容存储库142上传内容项或从该内容存储库下载内容项。
例如,客户端设备150可向内容存储接口206发送将内容项上传到内容存储库142的请求。该请求可包括令牌和要上传的内容项。内容存储接口206可使用令牌来授权对存储索引210的查询,以检查内容项是否已存在于内容存储库142上,和/或授权将内容项上传到内容存储库142。客户端设备150可将令牌提供给文件系统接口202,以授权将元数据存储在文件系统148上的请求,从而跟踪内容项的上传和修订。
图3示出了用于将存储在不同云服务上或由不同云服务支持的内容项的数据和功能与存储在内容管理系统110上的智能指针、基本指针和/或规范内容项集成的示例性架构300。在该示例中,不同的云服务包括第三方云服务302、304、306和协作内容管理系统170。内容管理系统110可存储和管理智能指针、基本指针、与基于云和/或云备份的内容项相关联的规范内容项,并从第三方云服务302、304、306和协作内容管理系统170接收相关联的内容和/或云功能。
在一些情况下,第三方云服务302、304、306和协作内容管理系统170可存储和管理基于云的内容项、云备份的内容项和/或与内容管理系统110上的智能指针、基本指针和/或规范内容项相关联的内容或内容项;并且可为存储在内容管理系统110上并与特定的基于云和/或云备份的内容项对应的表示或实例(例如,规范内容项、智能指针、基本指针)提供相应的内容、功能和/或特征(例如,评论、协作、共享、编辑等)。例如,内容管理系统110可存储引用第三方云服务(例如,302、304、306、170)上的内容项(例如,基于云或云备份的内容项)的基本指针,并且通过第三方云服务获得对与基本指针所引用的内容项相关联的内容和/或功能的访问。在另一个示例中,内容管理系统110可在第三方云服务(例如,302、304、306、170)上存储内容项(例如,基于云或云备份的内容项)的智能指针或表示(例如,规范表示),并且使用内容项的智能指针或表示来从第三方云服务访问内容项及其相关联的内容和功能。
如本文进一步所述,基本指针可以是第三方云服务(例如,302、304、306、170)上内容项的表示,其不包括内容项的内容,而是包括到第三方云服务上的内容项的指针或地址(例如,URL、URI等)。指针或地址可将用户或设备指向第三方云服务上的内容项,以访问第三方云服务上的内容项。例如,在一些情况下,基本指针可以是地址诸如URL周围的光包装器,用于访问第三方云服务上的内容项。因此,存储在内容管理系统110上的基本指针可允许用户通过内容管理系统110上的基本指针访问第三方云服务上的关联内容项。
另一方面,如参考图5A进一步描述的,智能指针可以是第三方云服务(例如,302、304、306、170)上的内容项的表示,其不包括内容项的内容,但是可渲染这样的内容并提供其相关联的功能。智能指针可作为存储在内容管理系统110中的另一个内容项显示给用户,但是可不包括与智能指针相关联的第三方云服务内容项的实际内容。相反,智能指针可引用第三方云服务内容项,并提供从内容管理系统110上的智能指针对第三方云服务内容项的实际内容的访问。
在一些情况下,除了提供对相关联的第三方云服务内容项的内容的访问之外,智能指针还可提供对第三方云服务提供的云功能的访问和/或启用内容管理系统110支持的其他功能,诸如预览、搜索、评论等。例如,智能指针可引用第三方云服务上的内容项,并且通过从第三方云服务获得内容和相关联的功能来渲染内容项并提供相关联的云功能。为了说明,当用户打开或激活智能指针时,用户的客户端设备可从第三方云服务获得由智能指针引用的内容项的内容和相关功能。然后,用户的客户端设备可渲染内容项的视图或实例,包括其内容,并启用从第三方云服务获得的功能。因此,即使智能指针和内容管理系统110可能不存储内容项的实际内容,智能指针也可提供与直接从第三方云服务访问内容项的用户类似(或相同)的用户体验。
智能指针还可提供与内容管理系统110相关联的组织和/或访问原语,同时允许存储与智能指针相关联的内容项的第三方云服务除了那些与内容管理系统110相关联的组织和/或访问模型之外,继续提供其自身的组织和/或访问模型。因此,智能指针可从第三方云服务以及内容管理系统110接收特征和/或功能。
规范内容项可以是存储在内容管理系统110上的基于云的内容项或云备份的内容项的实例或表示。在一些情况下,规范内容项可包括与规范内容项相关联的基于云或云备份的内容项的实际内容,并且可渲染这样的内容并提供相关联的功能,包括由第三方云服务302、304、306、170提供的相关联的云功能和/或由内容管理系统110提供的功能。
基于云的内容项可包括不可避免地依赖于基于云的应用程序、编辑器和/或服务和/或由基于云的应用程序、编辑器和/或服务本机支持的内容项。基于云的内容项的内容的权威来源可以是与基于云的内容项相关联的基于云的内容管理系统。基于云的内容项可包括经由相应的基于云的应用程序或编辑器创建、访问和/或操纵的内容项。基于云的内容项的非限制性示例可包括DROPBOX PAPER、GOOGLE DOCS、QUIP、PREZI等。
云备份的内容项可包括能够与云服务集成和/或交互并从云服务获得附加功能诸如实时协作的内容项。例如,可通过应用程序或编辑器诸如在线编辑器访问云备份的内容项,该应用程序或编辑器可与云服务接口,以从云服务中获取云备份的内容项的附加功能。云备份的内容项的非限制性示例包括MICROSOFT WORD、MICROSOFT EXCEL、来自APPLEIWORK的KEYNOTE和PAGES等。
参考图4,维恩图400示出了各种类型的内容项之间的功能相似性和差异性。在该示例中,圆圈402表示由一个或多个云服务支持的一组基于云的功能。基于云的示例性功能可包括在线访问和存储功能,以及协作功能,诸如协作编辑、实时评论、活动通知、版本控制、编辑属性、消息传递等。
圆圈404表示传统内容项(例如,纯文本文件、图像文件、生产率文档等),其可提供相应的内容和功能,而不考虑或独立于任何云服务。如代表云备份的内容项的区域406所示,一些传统内容项可以是云备份的文件;也就是说,这样的内容项可从一个或多个云服务获得由圆圈402表示的至少一些基于云的功能。由区域406表示的云备份的内容项可从能够在云备份的内容项上操作并与一个或多个云服务接口的应用程序或编辑器接收这样的附加功能。
像传统内容项一样,云备份的内容项可从客户端设备本地创建、访问和修改。在一些情况下,像传统内容项一样,云备份的内容项可支持文件系统操作,诸如读取、写入、删除、重命名、移动等。此外,在一些情况下,云备份的内容项还可从web浏览器或在线编辑器中创建、访问和修改。
圆圈408表示基于云的内容项。基于云的内容项可支持基于云的功能(例如,402),并且可从一个或多个云服务中导出这样的功能。基于云的内容项不可避免地依赖于一个或多个云服务,并且由来自一个或多个相关联云服务的相关联的基于云的应用程序或编辑器本机支持。例如,可通过由云服务提供的在线编辑器从云服务访问基于云的内容项。可使用在线编辑器来操纵基于云的内容项中的内容,与有权访问基于云的内容项的用户协作,以及从与在线编辑器相关联的云服务中导出任何其他基于云的功能。
区域412表示由基于云的内容项支持的其他基于云的功能。在一些示例中,由区域412表示的其他基于云的功能可包括不被支持或不可用于云备份的内容项和/或传统内容项的一个或多个基于云的功能。在其他示例中,由区域412表示的其他基于云的功能可包括由云备份的内容项和传统内容项所支持的一个或多个功能,而不考虑或独立于任何云服务。在其他示例中,由区域412表示的其他基于云的功能可包括非协作功能。
与传统内容项和云备份的内容项不同,基于云的内容项对于非基于云的应用程序或编辑器不是本机的。此外,在一些情况下,与传统内容项和云备份的内容项不同,基于云的内容项可能不支持文件系统操作或与基于云的服务、应用程序和/或编辑器无关地操作。
返回图3,第三方云服务302、304、306和协作内容管理系统170可托管和/或提供一个或多个相应的基于云的应用程序或内容项编辑器,以供用户创建、访问一个或多个相应类型的基于云或云备份的内容项和/或与其交互。在一些情况下,第三方云服务302、304、306和协作内容管理系统170可提供分别针对一种或多种特定类型的基于云或云备份的内容项设计的一种或多种类型的基于云的应用程序或编辑器。例如,特定的基于云的应用程序或编辑器可被设计成处理特定类型的基于云的内容项,诸如内容创建、渲染、修改和与基于云的内容项的其他类型的交互,以及基于云的内容项的其他特征或功能,诸如协作、评论、共享、发布等。
基于云的应用程序或编辑器可允许用户创建或修改在线或基于web的内容项,发布在线或基于web的内容项,共享在线或基于web的内容项,并通过在线或基于web的内容项与其他用户协作,将在线或基于web的内容项存储在与一个或多个相应的云服务相关联的云存储上,和/或以其他方式与在线或基于web的内容项和/或有权访问在线或基于web的内容项的用户进行交互。在一些情况下,基于云的应用程序或编辑器可允许用户创建或修改云备份的内容项,发布云备份的内容项,共享云备份的内容项,通过云备份的内容项与其他用户协作,存储云备份的内容项,和/或以其他方式与云备份的内容项和/或有权访问云备份的内容项的用户进行交互。
在一些示例中,基于云的应用程序或编辑器可以是由云服务(例如,302、304、306、170)提供的基于web的应用程序,以用于创建相应类型的基于云和/或云备份的内容项并与之交互。基于云的应用程序或编辑器可支持各种相应类型的内容项、内容格式、内容特征、内容功能等。在一些情况下,特定类型的基于云的内容项(例如,408)和/或相关联的功能可仅由与该特定类型的基于云的内容项相关联的基于云的应用程序或编辑器(全部或部分)支持。在其他情况下,特定类型的基于云的内容项和/或相关联的功能可由其他软件应用程序或编辑器支持。
在一些示例中,特定类型的云备份的内容项和/或相关联的功能可由一种或多种基于云的应用程序或编辑器和/或其他软件应用程序(全部或部分)支持。例如,特定类型的云备份的内容项可由客户端设备上的一个或多个软件应用程序或工具支持,也可由基于云的应用程序或编辑器支持。
为了说明,云备份的内容项可由能够渲染云备份的内容项而无需使用基于云的应用程序或编辑器的软件应用程序或工具支持。该软件应用程序或工具可允许用户从用户的设备访问云备份的内容项并与其交互。该软件应用程序或工具可实现对云备份的内容项的文件系统操作,诸如读取、写入、删除、重命名、移动和/或任何其他操作。软件应用程序或工具可支持该云备份的内容项的一组特征或功能,但是与云服务相关联的基于云的应用程序或编辑器可用于访问或启用该云备份内容项的附加的基于云的功能。
例如,在一些情况下,基于云的应用程序或编辑器可为云备份的内容项提供支持,并且可用于访问云备份的内容项并与其交互。基于云的应用程序或编辑器可向云备份的内容项提供附加功能(例如,除了由基于本机和/或非基于云的应用程序或编辑器支持的功能之外),诸如实时协作编辑;实时评论;消息传递;和/或其他协作特征。
第三方云服务302、304、306和协作内容管理系统170可经由接口310、312、314与云集成服务320通信,以接收或提供与一个或多个基于云和云备份的内容项相关联的数据和/或元数据。接口310、312、314可以是例如用于在云集成服务320与第三方云服务302、304、306和协作内容管理系统170之间交换数据的应用编程接口(API)。云集成服务320可以是实现用于与云服务(例如,302、304、306、170)和/或云服务上或由云服务支持的内容项(例如,302、304、306、170)交互的逻辑和/或功能的服务,诸如基于云或云备份的内容项。在一些示例中,云集成服务320可与云服务(例如,302、304、306、170)通信,以接收存储在内容管理系统110上的内容项诸如规范内容项的数据和/或云功能,诸如基于云的协作功能。
例如,云集成服务320可提供用于与云服务(例如,302、304、306、170)通信的功能,以从云服务(例如,302、304、306、170)检索与规范内容项(例如,基于云的内容项、云备份的内容项等)或内容管理系统110上的智能指针相关联的元数据;基于从云服务(例如,302、304、306、170)接收的元数据更新来更新与规范内容项(例如,基于云的内容项、云备份的内容项等)或内容管理系统110上的智能指针相关联的元数据;与云服务(例如,302、304、306、170)通信,以检索和更新与规范内容项(例如,基于云的内容项、云备份的内容项等)或内容管理系统110上的智能指针相关联的内容;向云服务(例如,302、304、306、170)发送与由云服务维护的内容项(例如,基于云或云备份的内容项)相关联的内容和/或元数据;与云服务(例如,302、304、306、170)交换与规范内容项(例如,基于云或云备份的内容项)或智能指针相关联的活动信息;通过云服务(例如,302、304、306、170)进行认证;向云服务(例如,302、304、306、170)提供令牌或认证信息,以允许云服务通过内容管理系统110进行认证;等等。
此外,云集成服务320可支持以下各种操作:与云服务(例如,302、304、306、170)进行通信;访问与规范内容项(例如,基于云或云备份的内容项)或智能指针相关联的特征和功能;访问与内容管理系统110相关的特征和功能;与存储在内容存储库142和/或客户端设备150中的规范内容项(例如,基于云的内容项或云备份的内容项)、智能指针或基本指针进行交互;与云服务(例如,302、304、306、170)上的内容项(例如,基于云或云备份的内容项)进行交互;与云服务(例如,302、304、306、170)进行交互,以接收或提供与存储在云服务(例如,302、304、306、170)上的基于云的内容项或云备份的内容项和/或存储在内容存储库142或客户端设备150中的规范内容项(例如,基于云的内容项或云备份的内容项)、智能指针和/或基本指针相关联的数据和/或功能;等等。
云集成服务320支持的操作的非限制性示例包括:用于创建内容项(例如,规范内容项诸如基于云的内容项或云备份的内容项、智能指针、基本指针等)和/或相关联数据或内容的操作;用于通过云服务(例如,302、304、306、170)进行认证的操作;用于接收或更新与存储在一个或多个云服务(例如,302、304、306、170)上或由其支持的内容项(例如,基于云或云备份的内容项)相关联的元数据的操作;用于从内容存储库142、客户端设备150和/或云服务(例如,302、304、306、170)中检索内容项(例如,规范内容项诸如基于云或云备份的内容项,与规范内容项相关联的第三方云服务内容项)和/或相关数据的操作;用于恢复内容项(例如,规范内容项诸如基于云或云备份的内容项,与规范内容项相关联的第三方云服务内容项等)和/或此类内容项的相关联数据或请求恢复和/或来自云服务(例如,302、304、306、170)的相关联数据的操作;评论操作;用于生成和/或呈现规范内容项(例如,基于云或云备份的内容项)的预览的操作;用于共享规范内容项(例如,基于云或云备份的内容项)和/或相关联数据的操作;用于还原到规范内容项(例如,基于云或云备份的内容项)的先前版本的操作;用于修改(重命名、移动、删除、编辑等)规范内容项(例如,基于云或云备份的内容项)的操作;等等。
云集成服务320可与文件系统148通信,以存储或访问与来自云服务(例如,302、304、306、170)的规范内容项(例如,基于云或云备份的内容项)相关联的元数据。文件系统148可存储并提供这样的元数据,以供云集成服务320和内容管理系统110中的任何其他服务使用。元数据可包括,例如但不限于,关于对规范内容项(例如,基于云或云备份的内容项)的改变的信息、与规范内容项相关联的访问信息、与规范内容项相关联的数据日志、与规范内容项相关联的唯一标识符(ID)、与规范内容项相关联的描述信息、与规范内容项相关联的版本号或信息、与对应于规范内容项的文件系统条目相关联的时间戳、规范内容项的改变历史信息、指向与规范内容项目相关联的内容的指针、文件夹、文件路径等。
云集成服务320还可与元数据存储146通信,以更新或检索元数据存储146中的元数据和对象。元数据存储146可存储其他元数据和对象,诸如与用户账户、规范内容项(例如,基于云或云备份的内容项)、用户组、命名空间、成员资格等有关的实体或关联。例如,元数据存储146可存储但不限于,描述内容项(例如,传统内容项、基于云的内容项、云备份的内容项)、内容项类型、评论、索引数据、访问许可、用户或组成员资格、共享信息等的元数据。在一些示例中,元数据存储146还可存储描述元数据存储146中的内容项(例如,传统内容项、基于云的内容项、云备份的内容项)与一个或多个账户、集合、组、命名空间、文件夹、团队实体等的关系的信息。
云集成服务320可与内容存储库142通信,以存储内容和/或从内容存储库142检索内容。云集成服务320可存储内容和从基于云或云备份的内容项和/或基于云或云备份的内容项(诸如智能指针和规范内容项,如下文进一步所述)的表示中检索内容。例如,在一些情况下,内容存储库142可存储一个或多个基于云或云备份的内容项的内容,以直接从内容存储库142访问内容。在该示例中,云集成服务320可在内容存储库142中检索、存储或更新这样的内容。
在其他示例中,内容存储库142可仅存储一个或多个基于云或云备份的内容项的表示。例如,内容存储库142可仅存储智能指针,该智能指针引用存储在云服务(例如,302、304、306、170)上的基于云或云备份的内容项,如下文进一步所述。在该示例中,基于云或云备份的内容项的表示(例如,智能指针)可从内容存储库142中检索,并提供给请求访问基于云或云备份的内容项的客户端设备,但是基于云或云备份的内容项中的实际内容中的一些或全部可能不包含在表示中,而是从相应的云服务(例如,302、304、306、170)中获得,如下文进一步所述。
云集成服务320还可与事件存储143进行通信,以存储、检索和/或更新与内容项诸如规范内容项(例如,基于云或云备份的内容项)或智能指针相关联的活动和事件信息。云集成服务320可监视来自事件存储143的事件或活动,从事件存储143获得与内容项(例如,规范内容项诸如基于云或云备份的内容项、智能指针等)相关联的状态信息,基于事件存储143中的信息来处理事件和/或度量,基于事件存储143中的信息来生成或提供通知或警报,等等。
图5A示出了在第三方云服务302上的第三方云服务内容项502与内容管理系统110中的智能指针504之间的示例性功能映射500。第三方云服务内容项502可以是第三方云服务302托管的基于云或云备份的内容项。在一些情况下,第三方云服务内容项502可以是由第三方云服务302托管,并且是为(或使用)基于云的应用程序或编辑器(诸如基于web的应用程序或编辑器)创建的基于云的内容项。在其他情况下,第三方云服务内容项502可以是由第三方云服务302托管,并且是为(或使用)客户端应用程序、与云备份的内容项相关联的本机应用程序或基于云的应用程序或编辑器创建的基于云的内容项。
第三方云服务内容项502可包括第三方云服务302和与第三方云服务内容项502相关联的基于云的应用程序或文档编辑器所支持的特定格式、内容、特征和功能。例如,第三方云服务内容项502可包括特定类型的数据或内容、特定共享特征、特定在线协作特征、特定web发布功能、特定审阅功能、特定文档或用户行为功能等。在一些示例中,第三方云服务内容项502可包括客户端或本机软件应用程序支持的特定格式、内容、特征和功能,以及第三方云服务302支持的附加功能和/或特征。例如,第三方云服务内容项502可以是云备份的内容项,其包括由客户端或本机软件应用程序支持的特定格式、内容、特征和功能(例如,文件系统操作等),以及第三方云服务302启用的附加特征或功能,诸如协作功能(例如,实时编辑、评论、消息传递、活动通知等)。
在一些情况下,第三方云服务内容项502的内容、特征和/或功能通过第三方云服务302和与第三方云服务内容项502相关联的基于云的特定应用程序或编辑器来支持,但是其内容和功能也可通过智能指针504获得,如本文进一步所述。例如,第三方云服务内容项502的内容、特征和/或功能可专门为第三方云服务302和相关联的基于云的应用程序或编辑器设计并由其支持,但是其内容(和相关联的功能)还可通过内容管理系统110(和/或客户端应用程序152)上的智能指针404来访问/渲染、编辑等。
在一些示例中,第三方云服务内容项502的内容、特征和/或功能可由其他应用程序(例如,除了由第三方云服务302为第三方云服务内容项502提供的基于云的应用程序或编辑器之外的应用程序)诸如本地和/或基于文件的应用程序或内容编辑器部分地或完全地访问和支持。例如,第三方云服务内容项502可以是云备份的内容项目,并且其内容、特征和/或功能中的至少一些可通过客户端应用程序来访问,而附加功能可通过第三方云服务302来访问。在一些情况下,用户可从智能指针504访问/渲染第三方云服务内容项502中的内容,并且可从第三方云服务302访问第三方云服务内容项502的一些或全部特征或功能。
智能指针404可以是存储在内容管理系统110中的第三方云服务内容项502的表示,以供在内容管理系统110上具有账户的客户端设备(例如,150)访问。例如,智能指针504可作为存储在内容管理系统110中的另一个内容项出现,但是可不包括第三方云服务内容项502的实际内容。相反,智能指针504可引用第三方云服务内容项502,并提供从内容管理系统110上的智能指针504对第三方云服务内容项502的实际内容的访问。在一些情况下,除了提供对第三方云服务内容项502的内容的访问之外,智能指针504还可提供对第三方云服务302提供的基于云的功能的访问和/或启用由内容管理系统110支持的其他功能,诸如预览、搜索、评论等。
在一些情况下,智能指针504可提供与内容管理系统110相关联的组织和/或访问原语,同时允许第三方云服务302除了那些与内容管理系统110相关联的组织和/或访问模型之外,继续提供其自身的组织和/或访问模型。例如,用户可能能够重命名智能指针504,将智能指针504复制到内容管理系统110中的另一个位置,将智能指针504移动到内容管理系统110中的另一个位置,将智能指针504添加到内容管理系统110中的共享文件夹等。此外,内容管理系统110可向智能指针504提供附加的特征和/或功能,如下文进一步所述。
在一些示例中,当智能指针504被客户端设备(例如,150)调用时,客户端设备可启动第三方云服务内容项502的实例。第三方云服务内容项502的实例可使用云集成服务320获得并呈现第三方云服务内容项502的内容。在此,云集成服务320可从第三方云服务302获得这样的内容。在一些示例中,云集成服务320还可从第三方云服务302获得一个或多个功能,以经由第三方云服务内容项522的实例进行供应。启动的实例可呈现或渲染第三方云服务内容项502的内容,并提供对第三方云服务内容项502的特征或功能的访问,而无需存储第三方云服务内容项502的实际内容。
因此,从用户的角度来看,当从用户的客户端设备启动智能指针504时,该示例中的用户体验可与通过相关联的基于云的应用程序或编辑器从第三方云服务302实际访问第三方云服务内容项502时的体验相似或相同。因此,尽管智能指针504可不存储来自第三方云服务内容项502的实际内容,但是访问智能指针504时的用户体验与通过相关联的基于云的应用程序或编辑器从第三方云服务302直接访问第三方云服务内容项502时的用户体验可为不可区分的(或几乎不可区分的)。
在一些情况下,智能指针502可包括与第三方云服务内容项502相关联的某些内容和/或元数据,诸如可索引内容506A、预览506B、评论506N等。例如,内容管理系统110可(例如,从第三方云服务302和/或经由云集成服务320)获得与第三方云服务内容项502相关联的内容和/或元数据,内容管理系统110可使用该内容和/或元数据来生成和/或存储可索引内容506A、预览506B、评论506N和/或任何其他相关信息。
可索引内容506A可包括与第三方云服务内容项502相关联的内容或元数据的一个或多个部分,内容管理系统110(和/或客户端设备150)可使用该内容或元数据的一个或多个部分来索引和搜索与第三方云服务内容项502相关联的数据。预览506B可用于生成第三方云服务内容项502的渲染预览,而无需启动第三方云服务内容项502的整个实例。评论506N可用于将第三方云服务内容项502和/或第三方云服务内容项502中的内容与由能够访问第三方云服务内容项502的一个或多个用户提供的特定评论相关联。当用户访问智能指针504时,评论506N可允许呈现和/或标识通过第三方云服务302和/或内容管理系统110创建的各种用户评论。
内容管理系统110可管理或控制内容管理系统110上用于智能指针504的各种特征或功能,诸如用户账户和/或客户端设备内智能指针504的存储和组织,对智能指针504的访问控制许可(例如,读取许可、编辑许可、共享许可等)等。在一些情况下,内容管理系统110可扩展由第三方云服务302为第三方云服务内容项502提供的特征和/或功能并因此与智能指针504相关联,以包括内容管理系统110支持的一个或多个特征或功能,诸如共享功能、同步功能、本地存储功能、事件或通知功能、评论功能、评级功能、协作功能等等。
此外,内容管理系统110可控制或管理在用户账户或内容组织结构(例如,分层组织、基于文件夹或文件系统的组织等)内智能指针504的位置以及如何被描绘。例如,内容管理系统110可以根据与内容管理系统110中的用户内容相关联的特定组织或存储方案、在用户账户和/或客户端设备上的特定文件夹、集合或位置内,以看起来好像第三方云服务内容项502及其相关联的内容通过内容管理系统110存储的方式来描绘智能指针502。
图5B示出了内容管理系统110中的规范内容项520与第三方云服务内容项522之间的示例性功能映射524和/或与由第三方云服务302提供或支持的规范内容项520相关联的功能。规范内容项520可表示存储在内容管理系统110和/或第三方云服务302中的基于云或云备份的内容项。此外,规范内容项520可提供在内容管理系统110上具有账户的客户端设备(例如,150)对与规范内容项520相关联的内容和功能(例如,与规范内容项520相关联的基于云或云备份的内容项的内容和功能)的访问。
在一些情况下,规范内容项520可包括与规范内容项520相关联的实际内容中的一些或全部。换句话讲,规范内容项520可连同其实际内容一起存储在内容管理系统110中。此外,规范内容项520可存储在内容管理系统110上的一个或多个用户账户中,并且可作为用户账户中的另一内容项显示给用户。在一些情况下,第三方云服务302还可存储由规范内容项520表示的云备份或基于云的内容项的副本或版本,如图5B中的第三方云服务内容项522所示。
在一些情况下,规范内容项520可以是存储在内容管理系统110上的云备份的内容项,并且能够从内容管理系统110和/或第三方云服务302获得附加功能,诸如实时协作。规范内容项520可经由云集成服务320从第三方云服务302获得功能。为了说明,在一个示例中,规范内容项520可表示存储在内容管理系统110上并且可从其访问的云备份的内容项,该内容管理系统支持一组功能,诸如查看和编辑功能,而与任何云服务(例如,302)或基于云的功能(例如,402)无关。但是,在该示例中,当从内容管理系统110(或与内容管理系统110相关联的客户端设备)访问规范内容项520时,云集成服务320可与第三方云服务302通信,以从第三方云服务302获得规范内容项520的一个或多个基于云的功能。因此,尽管规范内容项520没有存储在第三方云服务302上,但是内容管理系统110仍然可将第三方云服务302提供或支持的附加功能集成到规范内容项520中。
在一些情况下,规范内容项520可以是存储在内容管理系统110上的基于云的内容项,并且能够渲染基于云的内容项的内容并提供其相关联的功能诸如实时协作。在该示例中,云集成服务320可与第三方云服务302通信以获得与由规范内容项520表示的基于云的内容项相关联的内容和功能。这可允许规范内容项520渲染基于云的内容项并提供其相关联的功能,即使基于云的内容项对于内容管理系统110不是本机的和/或原本将需要来自第三方云服务302的特定应用程序或编辑器来渲染基于云的内容项并与其交互。
为了说明,在一个示例中,规范内容项520可表示存储在内容管理系统110上并且可从其访问的基于云的内容项,该内容管理系统传统上可仅由来自第三方云服务302的基于云的特定应用程序或编辑器来渲染和支持。然而,根据本技术的一些方面,当从内容管理系统110(或与内容管理系统110相关联的客户端设备)访问规范内容项520时,云集成服务320可与第三方云服务302通信,以从第三方云服务302获得规范内容项520的数据和基于云的功能。然后,云集成服务320可通过规范内容项520渲染基于云的内容项,并提供第三方云服务302支持的相关联的基于云的功能。因此,尽管规范内容项520没有存储在第三方云服务302上或者没有从与第三方云服务302相关联的基于云的应用程序或编辑器访问,但是内容管理系统110仍可渲染由规范内容项520表示的基于云的内容项,并且集成由第三方云服务302提供或支持的相关联的功能。
在一些情况下,规范内容项520可包括与其所表示的基于云或云备份的内容项相关联的某些内容和/或元数据,诸如可索引内容526A、预览526B、评论526N等。例如,内容管理系统110可(例如,从第三方云服务302或内容存储库142,和/或经由云集成服务320)获得与规范内容项520相关联的内容和/或元数据,内容管理系统110可使用该内容和/或元数据来生成和/或存储可索引内容526A、预览526B、评论526N和/或任何其他相关信息。
可索引内容526A可包括与规范内容项520和/或由规范内容项520表示的基于云或云备份的内容项相关联的内容或元数据的一个或多个部分,该内容或元数据的一个或多个部分可用于索引和搜索与规范内容项520相关联的数据。预览526B可用于生成规范内容项520和/或规范内容项520表示的基于云或云备份的内容项的渲染预览,而无需启动规范内容项520的整个实例。评论526N可用于将规范内容项520和/或由规范内容项520表示的基于云或云备份的内容项的内容与由能够访问规范内容项520和/或由规范内容项520表示的基于云或云备份的内容项的一个或多个用户提供的特定评论相关联。当用户访问规范内容项520时,评论406N可允许呈现和/或标识通过第三方云服务302和/或内容管理系统110创建的各种用户评论。
内容管理系统110可管理或控制内容管理系统110上用于规范内容项520的各种特征或功能,诸如用户账户和/或客户端设备内规范内容项520的存储和组织,对规范内容项520的访问控制许可(例如,读取许可、编辑许可、共享许可等)等。在一些情况下,内容管理系统110可扩展由第三方云服务302为由规范内容项520表示的基于云或云备份的内容项提供的特征和/或功能,以包括内容管理系统110支持的一个或多个特征或功能,诸如共享功能、同步功能、本地存储功能、事件或通知功能、评论功能、评级功能、协作功能等等。因此,在一些情况下,规范内容项520可从第三方云服务302和内容管理系统110获得功能和特征。
此外,内容管理系统110可控制或管理在用户账户或内容组织结构(例如,分层组织、基于文件夹或文件系统的组织等)内规范内容项520的位置以及如何被描绘。例如,内容管理系统110可以在用户账户和/或客户端设备(例如,150)上的特定文件夹、集合或位置内,和/或根据与内容管理系统110中的用户内容相关联的特定组织或存储方案,描绘规范内容项502。
图5C示出了内容管理系统110上的示例性基本指针(530)。在该示例中,基本指针530引用第三方云服务302上的第三方云服务内容项534。基本指针530可以不包括第三方云服务内容项534的实际内容,而是包括地址532,该地址用于从基本指针530访问第三方云服务302上的第三方云服务内容项534。在一些示例中,地址532可以是与第三方云服务内容项534相关联的URL,并且基本指针530可以是URL周围的光包装器。当用户选择或激活基本指针530时,可以通过地址534将用户引导到第三方云服务302上的第三方云服务内容项534。然后,用户可以从第三方云服务302访问第三方云服务内容项534。
因此,在一些情况下,基本指针530可以在功能上类似于用于访问第三方云服务302上的第三方云服务内容项534的链接或书签。但是,内容管理系统110可以管理组织和/或从内容管理系统110访问基本指针530,并且可以在内容管理系统110上的用户账户内将基本指针530描绘或提供为另一内容项。
图6A示出了通过客户端设备1501上的浏览器应用程序166访问智能指针504和通过客户端设备1502上的浏览器应用程序166访问第三方云服务内容项502的示例性用户体验和使用情况。在该示例中,客户端设备1501上的用户可以通过智能指针504访问第三方云服务内容项502的内容,并且客户端设备1502上的用户可以从第三方云服务302直接访问第三方云服务内容项502的内容。
可以通过浏览器应用程序166从客户端设备1501访问智能指针504。在被启动或调用之前,智能指针504可以作为第三方云服务内容项502的副本显示给用户。当客户端设备1501通过浏览器应用程序166调用或启动智能指针504时,浏览器应用程序166可以从第三方云服务302接收第三方云服务内容项502的内容,并将该内容呈现为渲染内容602。渲染内容602可以显示第三方云服务内容项502的内容,启用对第三方云服务内容项502的特征和功能的访问,并提供与通过对应的基于云的应用程序或文档编辑器从第三方云服务302直接访问第三方云服务内容项502时的用户体验相似或相同的用户体验。渲染内容602可以模拟或镜像第三方云服务内容项502的布局、第三方云服务内容项502的格式、第三方云服务内容项502的特征等,并且可以将第三方云服务内容项502的内容描绘成配置在第三方云服务内容项502中。
另一方面,描绘了客户端设备1502通过浏览器应用程序166从第三方云服务302直接访问第三方云服务内容项502。在该示例中,为了从客户端设备1502访问第三方云服务内容项502,浏览器应用程序166实现第三方云服务应用程序604,其可以是例如web或基于云的应用程序或编辑器,所述应用程序或编辑器由第三方云服务302提供用于第三方云服务内容项502和其他与第三方云服务内容项502相同或相似类型的基于云或云备份的内容项。
第三方云服务应用程序604可以与第三方云服务302通信,以检索第三方云服务内容项502的内容和特征,并提供第三方云服务内容项502的在线渲染。因此,通过第三方云服务应用程序604,客户端设备1502上的浏览器应用程序166可以呈现描绘第三方云服务内容项502的渲染的第三方云服务内容项608,包括其内容和特征。在该示例中,用户体验和与客户端设备1501处的智能指针504相关联的用户体验相似或相同,但是访问和过程不同,其中客户端设备1502实现第三方云服务应用程序604以从第三方云服务302访问第三方云服务内容项502的内容和特征。
此外,智能指针504允许将第三方云服务内容项502的表示与其他用户内容项一起存储在内容管理系统110上,并允许用户通过智能指针504从内容管理系统110访问第三方云服务内容项502。因此,使用智能指针(诸如智能指针504),用户可以从内容管理系统110维护、组织和访问内容管理系统110上的内容项以及来自不同云服务和提供商(例如,302、304、306、170)的内容项。这样,用户可以将他们的内容项存储在单个系统(例如,110)并可以从单个系统访问内容项,并且可以避免必须使用不同的云服务来访问不同的内容项。
此外,在一些情况下,智能指针504可以为客户端设备1501上的渲染内容602启用内容管理系统(CMS)界面特征606。CMS界面特征606可包括在由第三方云服务302为第三方云服务内容项502提供的那些特征或功能之上的、通过内容管理系统110提供的特征或功能。例如,可以将渲染内容602扩展为包括由内容管理系统110支持或提供的一个或多个特征(例如,606),诸如用于对渲染内容602或渲染内容602的部分进行评级或评分的特征、用于访问活动通知的通知提要和/或与渲染内容602和/或第三方云服务内容项502相关联的警报、协作特征(诸如共同创作和聊天、评论特征、共享特征等)。因此,智能指针504不仅可以使用户能够从内容管理系统110访问不只由第三方云服务302为第三方云服务内容项502提供的内容和功能,还有由内容管理系统110提供或支持的附加特征和功能。
图6B示出了通过客户端设备1501上的浏览器应用程序166访问规范内容项520和通过客户端设备1502上的浏览器应用程序166访问第三方云服务内容项502的示例性用户体验和使用情况。在该示例中,客户端设备1501上的用户可以通过规范内容项520访问第三方云服务内容项502的内容,并且客户端设备1502上的用户可以从第三方云服务302直接访问第三方云服务内容项402的内容。
可以通过浏览器应用程序166从客户端设备1501访问规范内容项520。规范内容项520可以表示第三方云服务内容项502,并且可以包括第三方云服务内容项502的内容。第三方云服务内容项502可以是基于云或云备份的内容项。此外,由于规范内容项520可包括第三方云服务内容项502的内容,因此当客户端设备1501通过浏览器应用程序166调用或启动规范内容项520时,浏览器应用程序166可以从内容管理系统110和/或规范内容项520获得第三方云服务内容项402的内容,并将该内容呈现为渲染内容610。因此,浏览器应用程序166可以呈现渲染内容610,而无需从第三方云服务302直接访问此类内容。
渲染内容610可以将内容显示为规范内容项520的一部分,启用对由第三方云服务302提供或支持的第三方云服务内容项502的特征和功能的访问,并提供与通过对应的基于云的应用程序或编辑器从第三方云服务302直接访问第三方云服务内容项502时的用户体验相似或相同的用户体验。渲染内容610可以模拟或镜像第三方云服务内容项502的布局、第三方云服务内容项502的格式、第三方云服务内容项502的特征等,并且可以将第三方云服务内容项502的内容(例如,渲染内容610)描绘成配置在第三方云服务内容项502中。
另一方面,描绘了客户端设备1502通过浏览器应用程序166从第三方云服务302直接访问第三方云服务内容项502。为了从客户端设备1502访问第三方云服务内容项502,浏览器应用程序166实现第三方云服务应用程序604,其可以是例如web或基于云的应用程序或编辑器,所述应用程序或编辑器由第三方云服务302提供用于第三方云服务内容项502和其他与第三方云服务内容项502相同或相似类型的基于云或云备份的内容项。
第三方云服务应用程序604可以与第三方云服务302通信,以检索第三方云服务内容项502的内容和特征,并提供第三方云服务内容项502的在线渲染。因此,通过第三方云服务应用程序604,客户端设备1502上的浏览器应用程序166可以呈现描绘第三方云服务内容项502的渲染的第三方云服务内容项608,包括其内容和特征。在该示例中,用户体验和与客户端设备1501处的规范内容项520相关联的用户体验相似或相同,但是访问和过程不同,其中客户端设备1502实现第三方云服务应用程序604以从第三方云服务302访问第三方云服务内容项502的内容和特征。
此外,规范内容项520允许将第三方云服务内容项502的表示和相关联内容与其他用户内容项一起存储在内容管理系统110上,并允许用户通过规范内容项520从内容管理系统110访问第三方云服务内容项502的内容和特征。因此,使用规范内容项(诸如规范内容项520),用户可以从内容管理系统110维护、组织和访问内容管理系统110上的内容项以及来自不同云服务和提供商(例如,302、304、306、170)的内容项。这样,用户可以将他们的内容项存储在单个系统(例如,110)并可以从单个系统访问内容项,并且可以避免必须使用不同的云服务来访问不同的内容项。
此外,在一些情况下,规范内容项520可以为客户端设备1501上的渲染内容610启用CMS界面特征606。CMS界面特征606可包括在由第三方云服务302为第三方云服务内容项502提供的那些特征或功能之上的、通过内容管理系统110提供的特征或功能。例如,可以将通过规范内容项520提供的渲染内容610扩展为包括由内容管理系统110支持或提供的一个或多个特征(例如,606),诸如内容评级或评分功能、用于访问活动通知的通知提要和/或与渲染内容610和/或第三方云服务内容项502相关联的警报、协作特征(诸如共同创作和聊天、评论特征、共享特征等)。因此,规范内容项520不仅可以使用户能够从内容管理系统110访问不只由第三方云服务302为第三方云服务内容项502提供的内容和功能,还有由内容管理系统110提供或支持的附加特征和功能。
图6C示出了通过客户端设备1501上的客户端应用程序152访问智能指针504和通过客户端设备1502上的浏览器应用程序166访问第三方云服务内容项502的其他示例性用户体验和使用情况。通过客户端设备1502上的浏览器应用程序166和第三方云服务应用程序604访问第三方云服务内容项502的用户体验和使用情况与图6A和图6B所示相同,但是在该示例中提供以描绘该使用情况中的过程和用户体验相对于当通过客户端设备1501上的客户端应用程序152访问智能指针504时的示例性使用情况中的过程和用户体验的差异性和相似性。
如图6C所示,与如关于客户端设备1502所描绘的,使用浏览器应用程序166和第三方云服务应用程序604直接从第三方云服务302访问第三方云服务内容项502的内容相反,客户端设备1501上的用户可以通过智能指针504和客户端应用程序152访问第三方云服务内容项502的内容。在被启动或调用之前,智能指针504可以作为第三方云服务内容项502的副本显示给用户,该副本通过客户端应用程序152在内容管理系统110上可用。当客户端设备1501通过客户端应用程序152调用或启动智能指针504时,客户端应用程序152可以从第三方云服务302接收第三方云服务内容项502的内容,并将该内容作为渲染内容602呈现在界面620上。
界面620可以是由客户端应用程序152、由客户端设备1501处的操作系统或窗口系统和/或由客户端设备1501处的任何其他工具或软件提供的界面。渲染内容602可以显示第三方云服务内容项502的内容,启用对第三方云服务内容项502的特征和功能的访问,并提供与通过对应的基于云的应用程序或编辑器从第三方云服务302直接访问第三方云服务内容项502时的用户体验相似或相同的用户体验。渲染内容602可以模拟或镜像第三方云服务内容项502的布局、第三方云服务内容项502的格式、第三方云服务内容项502的特征等,并且可以将第三方云服务内容项502的内容(例如,602)描绘成配置在第三方云服务内容项502中。
此外,客户端应用程序152可以将智能指针504描绘成本地存储在客户端设备1501的文件系统中的内容项。在一些情况下,智能指针504可能不包括第三方云服务内容项502的全部或任何实际内容,如先前所解释的。然而,客户端应用程序152可以在客户端设备1501上将智能指针504描绘成好像第三方云服务内容项502的所有实际内容也都被存储为智能指针504的一部分一样。因此,客户端设备1501处的用户可能没有意识到智能指针504并未真正存储第三方云服务内容项502的所有内容。
此外,如前所述,智能指针504允许将第三方云服务内容项502的表示与其他用户内容项一起存储在内容管理系统110和客户端设备1501上,并允许用户从内容管理系统110或客户端设备1501通过智能指针504访问第三方云服务内容项502。因此,使用智能指针(诸如智能指针504),用户可以从客户端设备1501和内容管理系统110维护、组织和访问他们存储在客户端设备1501和内容管理系统110上以及存储在不同的云服务和提供商(例如,302、304、306、170)上的内容项。这样,用户可以将他们的内容项存储在单个系统(例如,110、150)并可以从单个系统访问内容项,并且可以避免必须使用不同的云服务来访问不同的内容项。
在一些情况下,智能指针504可以为客户端设备1501上的渲染内容602启用CMS界面特征606。如先前所解释的,CMS界面特征606可包括在由第三方云服务302为第三方云服务内容项502提供的那些特征或功能之上的、通过内容管理系统110提供的特征或功能。因此,智能指针504可以使用户能够从客户端设备1501上的客户端应用程序152访问不只由第三方云服务302为第三方云服务内容项502提供的内容和功能,还有由内容管理系统110提供或支持的附加特征和功能。
图6D示出了通过客户端设备1501上的客户端应用程序152访问规范内容项520和通过客户端设备1502上的浏览器应用程序166访问第三方云服务内容项502的其他示例性用户体验和使用情况。通过客户端设备1502上的浏览器应用程序166和第三方云服务应用程序604访问第三方云服务内容项502的用户体验和使用情况与图6A和图6B所示相同,但是在该示例中提供以描绘该使用情况中的过程和用户体验相对于当通过客户端设备1501上的客户端应用程序152访问规范内容项520时的示例性使用情况中的过程和用户体验的差异性和相似性。
如图6D所示,与如关于客户端设备1502所描绘的,使用浏览器应用程序166和第三方云服务应用程序604直接从第三方云服务302访问第三方云服务内容项502的内容相反,客户端设备1501上的用户可以通过规范内容项520和客户端应用程序152访问第三方云服务内容项502的内容。在一些情况下,规范内容项520可以存储或包括第三方云服务内容项502的实际内容。此外,在一些情况下,规范内容项520可以代表基于云或云备份的内容项。在此,规范内容项520可以存储基于云或云备份的内容项的实际内容,但是可以从第三方云服务302获得附加特征或功能,如本文所述。
规范内容项520可以作为第三方云服务内容项502的副本显示给用户,该副本通过客户端应用程序152在内容管理系统110上可用。当客户端设备1501通过客户端应用程序152调用或启动规范内容项520时,客户端应用程序152可以获得或访问其内容并将其作为渲染内容610呈现在界面620上。规范内容项520还可以呈现(例如,经由界面620)或提供从第三方云服务302获得的附加特征或功能(例如,经由云集成服务320)。
渲染内容610可以显示规范内容项520的内容(例如,存储在内容管理系统110上或从第三方云服务302获得的内容),启用对第三方云服务302和/或第三方云服务内容项502的特征和功能的访问,并提供与通过对应的基于云的应用程序或编辑器从第三方云服务302直接访问第三方云服务内容项502时的用户体验相似或相同的用户体验。渲染内容610可以模拟或镜像第三方云服务内容项502的布局、第三方云服务内容项502的格式、第三方云服务内容项502的特征等,并且渲染内容可以像被配置在第三方云服务内容项502中一样来描绘第三方云服务内容项502的内容(例如,602)。
此外,客户端应用程序152可以将规范内容项520描绘成本地存储在客户端设备1501的文件系统中的内容项。在一些情况下,文件系统不仅可以存储规范内容项520的表示或实例,还可以存储与规范内容项520相关联的内容。此外,如前所述,规范内容项520可与其他用户内容项一起存储在内容管理系统110和客户端设备1501上,并允许用户通过规范内容项520从客户端设备1501访问规范内容项520及其相关联内容。因此,使用规范内容项(诸如规范内容项520),用户可以从客户端设备1501和内容管理系统110维护、组织和访问他们存储在客户端设备1501和内容管理系统110上以及存储在不同的云服务和提供商(例如,302、304、306、170)上的内容项。这样,用户可以将他们的内容项存储在单个系统(例如,110、150)并可以从单个系统访问内容项,并且可以避免必须使用不同的云服务来访问不同的内容项。
此外,在一些情况下,规范内容项520可以为客户端设备1501上的渲染内容610支持CMS界面特征606。如先前所解释的,CMS界面特征606可包括在由第三方云服务302为规范内容项520提供的那些特征或功能之上的、通过内容管理系统110提供的特征或功能。因此,规范内容项520可以使用户能够从客户端设备1501上的客户端应用程序152访问不只由第三方云服务302为规范内容项520提供的内容和功能,还有由内容管理系统110提供或支持的附加特征和功能。
如图6A至图6D所示,浏览器应用程序166和客户端应用程序152可以在客户端设备1501上呈现第三方云服务内容项502(例如,渲染内容602、610),而不必使用或需要第三方云服务应用程序604。因此,本文的技术允许内容管理系统110向客户端设备1501提供对第三方云服务302和/或第三方云服务内容项502的内容和特征的访问,而无需实现或使用本机支持第三方云服务内容项502的应用程序,诸如第三方云服务应用程序604。
图7A示出了示例性过程700,该示例性过程用于在内容管理系统110中提供第三方云服务内容项502的表示(例如,智能指针504),以及通过内容管理系统110上的智能指针504向客户端设备150提供对第三方云服务内容项502的内容和功能的访问。
在该示例中,智能指针504存储在内容管理系统110上的用户账户704中。用户账户704可以是在内容管理系统110处注册的用户账户,其包括由用户在内容管理系统110上存储和维护的内容项。在一些情况下,用户账户704中的内容项,包括智能指针504,也可以如先前所解释地在客户端设备150上本地存储和同步。因此,尽管在图7A中将智能指针504描绘为存储在内容管理系统110中,但是在其他示例中,智能指针504也可以在客户端设备150上本地存储和访问,如图7B所示和下文进一步所述。
在过程700中,客户端设备150上的浏览器应用程序166首先向内容管理系统110发送对与智能指针504相关联的内容和/或元数据的请求706。内容管理系统110可以接收请求706并向浏览器应用程序166发送响应708,浏览器应用程序166可以使用该响应继续进行过程700,以在客户端设备150上渲染/呈现第三方云服务内容项502的表示。响应708可包括例如与第三方云服务内容项502相关联的元数据,浏览器应用程序166可以使用该元数据来呈现或渲染第三方云服务内容项502的表示。
例如,响应708可包括:可以用于从第三方云服务302请求第三方云服务内容项502的内容的标识符(ID);可以用于通过内容管理系统110认证第三方云服务302以允许内容管理系统110与第三方云服务302之间的数据流(例如,第三方云服务内容项502、相关联元数据、相关联内容等)和/或通信的认证信息(例如,认证令牌);标识第三方云服务内容项502的标题;为用户账户704配置的访问控制许可,所述许可限定为用户账户704配置的对第三方云服务内容项502的内容的访问级别;用于从第三方云服务302请求或获得第三方云服务内容项502的内容的地址或资源标识符;和/或与规范内容项520相关联的任何其他信息或元数据。
浏览器应用程序166可以从内容管理系统110接收响应708,并且经由云内容集成元素702向第三方云服务302发送对与第三方云服务内容项502相关联的内容和/或数据的请求710。云内容集成元素702可以是浏览器应用程序166内的界面和/或通信元素,该元素被配置为与第三方云服务302通信以接收与第三方云服务内容项502相关联的内容和数据并与第三方云服务302交换与第三方云服务内容项502相关联的更新、元数据和/或任何其他信息。在一些情况下,云内容集成元素702可以是页面、IFrame(嵌入式框架)、界面或网页元素、插件、浏览器工具或元素或由浏览器应用程序166实现或执行的软件代码,该元素用于与第三方云服务302通信并通过客户端设备150上的浏览器应用程序166提供对第三方云服务内容项502的内容和功能的访问。云内容集成元素702可被配置为向和/或从第三方云服务302发送和/或接收对与第三方云服务内容项502相关联的内容和信息的呼叫或请求。
如前所述,云内容集成元素702可以向第三方云服务302发送请求710,以获取与第三方云服务内容项502相关联的内容和信息。请求710可包括例如唯一地标识第三方云服务302处的第三方云服务内容项502的ID、认证信息(例如,供第三方云服务302用于通过内容管理系统110进行认证的令牌)、标识第三方云服务内容项502的标题、指示针对用户账户704和/或客户端设备150限定的与第三方云服务内容项502相关联的内容的访问级别的访问控制信息、与第三方云服务内容项502和/或用户账户704相关联的元数据和/或与第三方云服务内容项502和/或用户账户704相关联的任何其他信息。
云内容集成元素702可以从第三方云服务302接收响应712。响应712可包括与第三方云服务内容项502相关联的数据,诸如第三方云服务内容项502中的内容、与第三方云服务内容项502相关联的元数据(例如,评论、预览、可索引内容、状态信息、描述信息、访问信息、状态或活动信息、用户信息等)等。
云内容集成元素702和浏览器应用程序166可以使用响应712中的数据在浏览器应用程序166中渲染714第三方云服务内容项502或第三方云服务内容项502的表示。此时,客户端设备150处的用户可以从浏览器应用程序166查看、访问第三方云服务内容项502的内容和特征并与其交互。用户可以从浏览器应用程序166,以类似于当用户通过为第三方云服务内容项502提供的基于云的应用程序或编辑器(例如,604)直接从第三方云服务302访问第三方云服务内容项502时的方式,读取第三方云服务内容项502的内容、修改内容、添加内容、添加或修改元数据(例如,评论等)以及以其他方式与第三方云服务内容项502的内容和渲染表示进行交互。因此,过程700可以允许用户从内容管理系统110访问由第三方云服务302为基于云或云备份的内容项(例如,第三方云服务内容项502)提供的内容和功能。
在一些情况下,云内容集成元素702还可以向与第三方云服务内容项502相关联的第三方云服务302发送更新或从第三方云服务接收更新716。更新716可包括与第三方云服务内容项502相关联的改变和/或信息,诸如内容或内容改变(例如,重命名操作、编辑或写入操作、删除操作、清除操作、移动操作、恢复操作、还原操作、添加或创建操作等)、元数据或事件(例如,评论、标题信息或改变、ID或ID改变、访问信息或许可、组织或存储信息、成员资格信息、共享信息、用户信息、用户活动信息、任务、时间戳、完成的任务或项目等)、用于通过内容管理系统110认证第三方云服务302的令牌等。在一些示例中,云内容集成元素702可以从第三方云服务302接收更新716,并且在浏览器应用程序166、智能指针504和/或用户账户704上渲染的第三方云服务内容项中实现这些更新。
在一些情况下,内容管理系统110可以类似地向第三方云服务302发送更新716或从第三方云服务接收更新。内容管理系统110可以例如在检测到对与第三方云服务内容项502相关联的内容或元数据的改变时发送更新716,并且可以在与第三方云服务内容项502相关联的内容或元数据在第三方云服务302受到修改时接收更新716。内容管理系统110可以实现从第三方云服务302接收到的更新716中对内容或元数据的任何改变。例如,内容管理系统110可以基于从第三方云服务302接收到的更新616来更新与规范内容项520相关联的元数据,诸如评论、状态、访问信息、存储信息或其他信息。因此,更新716可以同步或协调与第三方云服务302上的第三方云服务内容项502和内容管理系统110上的智能指针504相关联的信息。
图7B示出了用于通过客户端设备150上的智能指针504和客户端应用程序152向客户端设备150提供对第三方云服务内容项502的内容和功能的访问的示例性过程720。在该示例中,智能指针504与在内容管理系统110处注册的用户账户704中的其他内容项一起存储在客户端设备150上。过程720允许用户从客户端应用程序152(经由智能指针504)存储和访问第三方云服务内容项502的内容和特征,而无需使用被设计成本机支持第三方云服务内容项502的应用程序,诸如基于云的应用程序或编辑器。
在此示例中,客户端应用程序152调用722客户端设备150上的智能指针504,并向内容管理系统110发送请求724,以获取与第三方云服务内容项502相关联的认证信息。请求724可包括与智能指针504和第三方云服务内容项502相关联的唯一标识符,以及其他信息,诸如标题、用户账户信息、登录信息、元数据等。内容管理系统110可以接收请求724,验证许可和/或认证,并向客户端应用程序152发送响应726。响应726可包括认证信息,诸如认证令牌,第三方云服务302可以获得该认证令牌并将其用于通过内容管理系统110进行认证以发送、接收和/或请求与第三方云服务内容项502相关联的内容和元数据。
应当注意,在一些示例中,客户端应用程序152可以跳过向内容管理系统110发送请求724并接收响应726的过程,而是在不首先发送请求724和接收响应726的情况下执行过程720中的其余步骤。例如,客户端应用程序152可能已经具有认证令牌或缓存的认证信息,并且因此可能不必向内容管理系统110发送请求724。在一些情况下,如果客户端应用程序152确定尚不具有认证令牌或其他认证信息,或者如果现有认证令牌或认证信息已过期、无效或因其他原因应当刷新、更新或替换,则该客户端应用程序可以向内容管理系统110发送请求724。
客户端应用程序152可以实现或执行云内容集成元素702以与第三方云服务302通信,如前所述。在此,云内容集成元素702可以使用响应726中的信息,诸如认证令牌、唯一标识符、访问控制信息、标题等向第三方云服务302发送请求728,以获取第三方云服务内容项502的内容和/或元数据。请求728可以包括例如认证信息和ID,第三方云服务302可使用该认证信息和ID来进行认证,标识和检索与第三方云服务内容项502相关联的内容和/或元数据,以及向云内容集成元素702发送内容和/或元数据。
云内容集成元素702可以接收由第三方云服务302发送的响应730。响应730可包括第三方云服务内容项502中的内容、与第三方云服务内容项502相关联的元数据、用于通过内容管理系统110进行认证的令牌或认证信息等。客户端应用程序152和/或云内容集成元素702可以使用响应730中的内容和任何元数据在客户端设备150处的界面620上渲染732第三方云服务内容项502的副本或表示(例如,呈现第三方云服务内容项502的内容以及任何相关联特征或功能),并且为与第三方云服务内容项502相关联的任何特征或功能提供支持。界面620可以是任何图形用户界面。例如,界面620可以是由客户端应用程序152提供的用户界面或用户界面的部分/片段、由客户端设备150上的应用程序提供的用户界面或窗口、由客户端设备150上的操作系统或窗口系统提供的用户界面或窗口、页面诸如HTML或其他网页等。
此时,客户端设备150处的用户可以从客户端设备150上的界面620访问第三方云服务内容项502的内容和特征并与其交互。在一些情况下,过程720可包括用于在云内容集成元素702、内容管理系统110和/或第三方云服务302之间交换更新和其他信息的步骤。
例如,如果第三方云服务302具有与第三方云服务内容项502相关联的更新,诸如评论、内容改变、元数据改变等,则第三方云服务302可以发送消息734,包括认证信息或请求认证信息,以用于通过内容管理系统110进行认证以提供来自第三方云服务302的此类更新。在一些情况下,消息734可包括与第三方云服务内容项502相关联的认证信息(例如,令牌)、标识信息(例如,唯一ID)和/或元数据。此外,在一些情况下,消息734可包括与第三方云服务内容项502相关联的ID,内容管理系统110可以使用该ID来标识第三方云服务内容项502,并将消息734与第三方云服务内容项502相关联。
内容管理系统110可以发送响应736,该响应可包括例如认证信息诸如认证令牌,第三方云服务302可以使用该认证信息通过内容管理系统110进行认证,以提供与第三方云服务内容项502相关联的数据或更新。在一些情况下,响应736可包括其他信息,诸如唯一ID、第三方云服务内容项502的标题、与第三方云服务内容项502相关联的访问许可、与第三方云服务内容项502相关联的元数据、在内容管理系统110处可用的更新等等。
第三方云服务302可以接收响应736,验证与第三方云服务内容项502和/或相关联数据相关联的许可,并且向内容管理系统110和/或云内容集成元素702发送更新738。在一些示例中,更新738可包括用于通过内容管理系统110进行认证的认证信息(例如,认证令牌)、与第三方云服务内容项502相关联的更新内容和/或与第三方云服务内容项502相关联的元数据。内容管理系统110可以使用更新738中的信息来修改或更新与第三方云服务内容项502和/或智能指针504相关联的信息。例如,内容管理系统110可以使用更新738中的信息来存储、修改、呈现和/或更新元数据或事件(例如,评论、文档信息、访问信息或许可、内容描述、用户活动、任务、消息、时间戳、通知、修改等)和/或存储在内容管理系统110和/或客户端设备150处的第三方云服务内容项502和/或智能指针504的内容。
类似地,云内容集成元素702可以使用更新738中的信息来更新与在客户端设备150上渲染或呈现的第三方云服务内容项502的副本或表示相关联的内容和/或元数据。例如,云内容集成元素702可以使用更新738中的信息来更新由界面620呈现的内容和/或在界面620处提供的第三方云服务内容项502的特征或功能。
如果在客户端设备150处对与第三方云服务内容项502相关联的内容或元数据进行了任何改变,则云内容集成元素702可以向内容管理系统110和/或第三方云服务302发送更新740以在内容管理系统110和/或第三方云服务302上传播或实现此类改变。例如,如果客户端设备150处的用户对由界面620渲染的内容添加评论或执行内容操作诸如与第三方云服务内容项502相关联的重命名或编辑,则云内容集成元素702可以向内容管理系统110和/或第三方云服务302提供添加的评论或内容操作(和/或相关联改变)以用于存储和更新与第三方云服务内容项502有关的此类信息。为了说明,云内容集成元素702可以在第三方云服务内容项502在客户端设备150处呈现期间经由界面620向第三方云服务302发送更新740,该更新包括用户对第三方云服务内容项502中的内容进行的改变。
第三方云服务302可以从云内容集成元素702接收更新740,并在第三方云服务302处对第三方云服务内容项502实现此类改变。这允许用户在客户端设备150上与第三方云服务内容项502的渲染版本进行交互、对内容进行改变、并利用第三方云服务内容项502的各种特征或功能,而不会创建第三方云服务内容项502的冲突版本,或者以其他方式确保在客户端设备150上实现的任何改变都与第三方云服务302上的第三方云服务内容项502的当前副本或版本和/或任何其他设备或位置上的第三方云服务内容项502的任何副本或版本保持一致。
图7C示出了用于向客户端设备150提供与内容管理系统110上的规范内容项520表示的基于云或云备份的内容项相关联的内容和第三方云服务特征的示例性过程750。在该示例中,规范内容项520存储在内容管理系统110上的用户账户704中。用户账户704可以是在内容管理系统110处注册的用户账户,其包括由用户在内容管理系统110上存储和维护的内容项。在一些情况下,用户账户704中的内容项,包括规范内容项520,也可以如先前所解释地在客户端设备150上本地存储和同步。因此,尽管在图7C中将规范内容项520描绘为存储在内容管理系统110中,但是在其他示例中,规范内容项520也可以在客户端设备150上本地存储和访问,如图7D所示。
在过程750中,客户端设备150上的浏览器应用程序166首先向内容管理系统110发送对规范内容项520的内容和特征的请求752。内容管理系统110可以接收请求752并向浏览器应用程序166发送响应754,浏览器应用程序166可以使用该响应继续进行过程750,以在客户端设备150上渲染/呈现规范内容项520的内容和特征。响应754可包括例如与规范内容项520相关联的内容和/或元数据,浏览器应用程序166可以使用该内容和/或元数据来呈现或渲染规范内容项520的内容和第三方云服务302特征。
例如,响应754可包括:可以用于向第三方云服务302请求规范内容项520的元数据的ID;可以用于通过内容管理系统110认证第三方云服务302以允许内容管理系统110与第三方云服务302之间的数据流(例如,元数据、更新等)和/或通信的认证信息(例如,认证令牌);标识规范内容项520(和/或其相关联的基于云或云备份的内容项,诸如第三方云服务内容项502)的标题;为用户账户704配置的访问控制许可,所述许可限定为用户账户704配置的对规范内容项520的内容的访问级别;用于从第三方云服务302请求或获得与规范内容项520相关联的内容的地址或资源标识符;和/或与规范内容项520相关联的任何其他信息或元数据。
浏览器应用程序166可以从内容管理系统110接收响应754,并且经由云内容集成元素702向第三方云服务302发送对规范内容项520相关联的元数据的请求756。云内容集成元素702可被配置为向和/或从第三方云服务302发送和/或接收对与规范内容项520相关联的数据和信息的呼叫或请求。与规范内容项520相关联的元数据可包括用于向规范内容项520提供由第三方云服务302启用或支持的一个或多个特征或功能(诸如实时协作(例如,评论、编辑、创作、消息传递等)特征、预览功能、搜索功能、索引功能等)的信息。
如前所述,云内容集成元素702可以向第三方云服务302发送请求756,以获取与规范内容项520相关联的数据和信息。请求756可包括例如唯一地标识规范内容项520(和/或第三方云服务302处的基于云或云备份的内容项,诸如第三方云服务内容项502)的ID、认证信息(例如,供第三方云服务302用于通过内容管理系统110进行认证的令牌)、标识规范内容项520的标题、指示针对用户账户704和/或客户端设备150限定的对与规范内容项520相关联的内容的访问级别的访问控制信息、与规范内容项520和/或用户账户704相关联的元数据和/或与规范内容项520和/或用户账户704相关联的任何其他信息。
云内容集成元素702可以从第三方云服务302接收响应758。响应758可包括与规范内容项520相关联的数据,诸如与规范内容项520相关联的元数据(例如,评论、预览、可索引内容、状态信息、描述信息、访问信息、状态或活动信息、用户信息等)和/或任何其他数据。
云内容集成元素702和浏览器应用程序166可以使用响应758中的数据在浏览器应用程序166中渲染760规范内容项520(包括其相关联的内容和特征)。此时,客户端设备150处的用户可以从浏览器应用程序166查看、访问规范内容项520的内容和特征并与其交互。用户可以从浏览器应用程序166,以类似于当用户通过为第三方云服务内容项502提供的基于云的应用程序或编辑器(例如,604)直接从第三方云服务302访问第三方云服务内容项502时的方式,读取规范内容项520的内容、修改内容、添加内容、添加或修改元数据(例如,评论等)以及以其他方式与规范内容项520的内容和渲染进行交互。
在一些情况下,云内容集成元素702还可以向与规范内容项520相关联的第三方云服务302发送更新762或从第三方云服务接收更新。更新762可包括与规范内容项520相关联的改变和/或信息,诸如内容或内容改变(例如,重命名操作、编辑或写入操作、删除操作、清除操作、移动操作、恢复操作、还原操作、添加或创建操作等)、元数据或事件(例如,评论、标题信息或改变、ID或ID改变、访问信息或许可、组织或存储信息、成员资格信息、共享信息、用户信息、用户活动信息、任务、时间戳、完成的任务或项目等)、用于通过内容管理系统110认证第三方云服务302的令牌等。在一些示例中,云内容集成元素702可以从第三方云服务302接收更新762,并且在浏览器应用程序166、规范内容项520和/或用户账户704上渲染的规范内容项520中实现这些更新。
在一些情况下,内容管理系统110可以类似地向第三方云服务302发送更新762或从第三方云服务接收更新。内容管理系统110可以例如在检测到对与规范内容项520相关联的内容或元数据的改变时发送更新762,并且可以在与规范内容项520相关联的内容或元数据在第三方云服务302受到修改时接收更新762。内容管理系统110可以实现从第三方云服务302接收到的更新762中对内容或元数据的任何改变。例如,内容管理系统110可以基于从第三方云服务302接收到的更新762来更新与规范内容项520相关联的元数据,诸如评论、状态、访问信息、存储信息或其他信息。在规范内容项520和第三方云服务内容项502表示相同内容项的版本的情况下,更新762可以同步或协调与第三方云服务302上的第三方云服务内容项502和内容管理系统110上的规范内容项520相关联的信息。
图7D示出了用于通过客户端设备150上的规范内容项520和客户端应用程序152向客户端设备150提供对与规范内容项502相关联的内容和第三方云服务302功能的访问的示例性过程770。在该示例中,规范内容项520与在内容管理系统110处注册的用户账户704中的其他内容项一起存储在客户端设备150上。过程770允许用户从客户端应用程序152(经由规范内容项520)存储和访问第三方云服务内容项502的内容和特征,而无需使用被设计成本机支持第三方云服务内容项502的应用程序,诸如基于云的应用程序或编辑器。在一些情况下,规范内容项520的内容可以存储在内容管理系统110和客户端设备150上,但是一些基于云的功能获自和提供自第三方云服务302。
在该示例中,客户端应用程序152调用772客户端设备150上的规范内容项520,并向内容管理系统110发送请求774,以获取与规范内容项520(和/或相关联的基于云或云备份的内容项,诸如第三方云服务内容项502)相关联的认证信息。请求774可包括与规范内容项520(和/或第三方云服务内容项502)相关联的唯一标识符,以及其他信息,诸如标题、用户账户信息、登录信息、元数据等。内容管理系统110可以接收请求774,验证许可和/或认证,并向客户端应用程序152发送响应776。响应776可包括认证信息,诸如认证令牌,第三方云服务302可以获得该认证令牌并将其用于通过内容管理系统110进行认证以发送、接收和/或请求与规范内容项520相关联的元数据。
应当注意,在一些示例中,客户端应用程序152可以跳过向内容管理系统110发送请求774并接收响应776的过程,而是在不首先发送请求774和接收响应776的情况下执行过程770中的其余步骤。例如,客户端应用程序152可能已经具有认证令牌或缓存的认证信息,并且因此可能不必向内容管理系统110发送请求774。在一些情况下,如果客户端应用程序152确定尚不具有认证令牌或其他认证信息,或者如果现有认证令牌或认证信息已过期、无效或因其他原因应当刷新、更新或替换,则该客户端应用程序可以向内容管理系统110发送请求774。
客户端应用程序152可以实现或执行云内容集成元素702以与第三方云服务302通信,如前所述。在此,云内容集成元素702可以使用响应776中的信息(诸如认证令牌、唯一标识符、访问控制信息、标题等)向第三方云服务302发送请求778,以获取与规范内容项520相关联的元数据。元数据可以包括用于向规范内容项520提供基于云的功能的数据,诸如用于提供协作特征(例如,实时编辑、评论、消息传递、创作等)、预览特征、索引特征、搜索特征等的元数据。请求778可以包括例如认证信息和ID,第三方云服务302可使用该认证信息和ID来认证、标识和检索与规范内容项520相关联的内容和/或元数据,以及向云内容集成元素702发送内容和/或元数据。
云内容集成元素702可以接收由第三方云服务302发送的响应780。响应780可包括与规范内容项520相关联的元数据、第三方云服务内容项502中的内容、用于通过内容管理系统110进行认证的令牌或认证信息等。客户端应用程序152和/或云内容集成元素702可以使用响应780中的元数据和信息在客户端设备150处的界面620上渲染782规范内容项520及其相关联内容,并且为与第三方云服务302相关联的任何特征或功能提供支持。
此时,客户端设备150处的用户可以从客户端设备150上的界面620访问规范内容项520的内容和特征并与其交互。在一些情况下,过程770可包括用于在云内容集成元素702、内容管理系统110和/或第三方云服务302之间交换更新和其他信息的步骤。例如,如果第三方云服务302具有与规范内容项520相关联的更新,诸如评论、内容改变、元数据改变等,则第三方云服务302可以发送消息784,包括认证信息或请求认证信息,以用于通过内容管理系统110进行认证以提供来自第三方云服务302的此类更新。在一些情况下,消息784可包括与规范内容项520相关联的认证信息(例如,令牌)、标识信息(例如,唯一ID)和/或元数据。此外,在一些情况下,消息784可包括与规范内容项520相关联的ID,内容管理系统110可以使用该ID来标识规范内容项520,并将消息784与规范内容项520相关联。
内容管理系统110可以发送响应786,该响应可包括例如认证信息诸如认证令牌,第三方云服务302可以使用该认证信息通过内容管理系统110进行认证,以提供与规范内容项520相关联的数据或更新。在一些情况下,响应786可包括其他信息,诸如唯一ID、规范内容项520的标题、与规范内容项520相关联的访问许可、与规范内容项520相关联的元数据、在内容管理系统110处可用的更新等等。
第三方云服务302可以接收响应786,验证与规范内容项520和/或相关联数据相关联的许可,并且向内容管理系统110和/或云内容集成元素702发送更新788。在一些示例中,更新788可包括用于通过内容管理系统110进行认证的认证信息(例如,认证令牌)、与规范内容项520相关联的更新内容和/或与规范内容项520相关联的元数据。内容管理系统110可以使用更新788中的信息来修改或更新与规范内容项520相关联的信息。例如,内容管理系统110可以使用更新788中的信息来存储、修改、呈现和/或更新元数据或事件(例如,评论、文档信息、访问信息或许可、内容描述、用户活动、任务、消息、时间戳、通知、修改等)和/或存储在内容管理系统110和/或客户端设备150处的规范内容项520的内容。
类似地,云内容集成元素702可以使用更新788中的信息来更新与在客户端设备150上渲染或呈现的规范内容项520的内容和/或特征相关联的内容和/或元数据。例如,云内容集成元素702可以使用更新788中的信息来更新由界面620呈现的内容和/或在界面620处提供的规范内容项520的特征或功能。
在一些情况下,如果在客户端设备150处对与规范内容项520相关联的内容或元数据进行了任何改变,则云内容集成元素702可以向内容管理系统110和/或第三方云服务302发送更新790以在内容管理系统110和/或第三方云服务302上传播或实现此类改变。例如,如果客户端设备150处的用户对由界面620渲染的内容添加评论或执行内容操作诸如与规范内容项520相关联的重命名或编辑,则云内容集成元素702可以向内容管理系统110和/或第三方云服务302提供添加的评论或内容操作(和/或相关联改变)以用于存储和更新与规范内容项520和/或第三方云服务302上的相关联的基于云或云备份的内容项(诸如第三方云服务内容项502)有关的此类信息。为了说明,云内容集成元素702可以在规范内容项520在客户端设备150处呈现期间经由界面620向第三方云服务302发送更新790,该更新包括用户对规范内容项520中的内容进行的改变。
在一些情况下,如果第三方云服务302维护与规范内容项520相关联的内容项(诸如第三方云服务内容项502)的副本,则第三方云服务302可以从云内容集成元素702接收更新790并在第三方云服务302处的内容项(例如,第三方云服务内容项502)上实现此类改变。这允许用户在客户端设备150上与内容项(例如,第三方云服务内容项502)的渲染版本进行交互、对内容进行改变、并利用内容项(例如,第三方云服务内容项502)的各种特征或功能,而不会创建内容项(例如,第三方云服务内容项502)的冲突版本,或者以其他方式确保在客户端设备150上实现的任何改变都与第三方云服务302上的内容项(例如,第三方云服务内容项502)的当前副本或版本和/或任何其他设备或位置上的内容项的任何副本或版本保持一致。
图8示出了用于在内容管理系统110和第三方云服务302之间交换与基于云的或云备份的内容项(诸如规范内容项520或第三方云服务内容项502)相关联的数据(例如,内容、元数据等)和更新的示例性流程(800)。在此示例中,内容管理系统110向第三方云服务302发送请求802,以获取与基于云或云备份的内容项(例如,规范内容项520、第三方云服务内容项502等)相关联的数据(例如,元数据、内容等)。请求802可包括认证信息、对与内容项相关联的数据的请求、与基于云或云备份的内容项相关联的ID和/或与基于云或云备份的内容项相关联的其他信息,诸如标题、访问许可、共享信息、描述信息、元数据等。第三方云服务302接收请求802,验证对基于云或云备份的内容项的许可和/或访问,并且向内容管理系统110发送响应804。响应804可包括基于云或云备份的内容项中的内容和/或与基于云或云备份的内容项相关联的任何元数据。
在一些示例中,响应804可包括用于通过内容管理系统110进行认证的认证信息(例如,认证令牌)和/或与基于云或云备份的内容项相关联的数据(例如,内容、元数据等)。内容管理系统110可以存储响应804中的信息和/或使用该信息来:创建或存储基于云或云备份的内容项的预览、创建或存储与基于云或云备份的内容项对应的规范内容项(例如,520)、创建或存储与基于云或云备份的内容项对应的智能指针(例如,504)、存储或更新与基于云或云备份的内容项相关联的元数据和/或与基于云或云备份的内容项对应的规范内容项或智能指针、存储基于云或云备份的内容项的内容、提供基于云或云备份的内容项的内容给一个或多个客户端设备以进行呈现或访问、配置与基于云或云备份的内容项或相关联的规范内容项或智能指针相关联的属性(例如,存储组织、访问控制许可、内容特征,功能等)、基于内容管理系统110提供的特征或功能来扩展可用于基于云或云备份的内容项的特征或功能等。
如果第三方云服务302检测到基于云或云备份的内容项的内容或元数据中的任何改变,则它可以向内容管理系统110发送更新806以向内容管理系统110通知此类改变。内容管理系统110可以使用更新806中的信息来在内容管理系统110处执行更新808。内容管理系统110可以执行更新808,以实现更新806中包含的任何改变,或更新内容管理系统110上的相关联信息。
类似地,如果内容管理系统110检测到基于云的或云备份的内容项和/或相关联的规范内容项(例如,520)或智能指针(例如,504)的内容或元数据中的任何改变,则它可以向第三方云服务302发送更新810以向第三方云服务302通知此类改变。第三方云服务302可以使用更新810中的信息来在第三方云服务302处执行更新812。第三方云服务302可以执行更新812,以在第三方云服务302处的基于云或云备份的内容项的副本上实现更新810中包含的任何改变。
图9A示出了用于在第三方云服务302上的第三方云服务内容项502和内容管理系统110中的智能指针504中的内容和元数据之间创建关联的示例性流程(900)。在流程900中,内容管理系统110可以从第三方云服务302接收数据,内容管理系统110可以使用该数据将智能指针504(及其任何相关联内容或元数据)与第三方云服务内容项502和第三方云服务302相关联,并为智能指针504存储或创建相关联内容或元数据,诸如可索引内容506A、预览506B、评论506N等。内容管理系统110还可以使用接收到的数据进行功能映射(例如,500),如先前相对于图5A所述。
在流程900中,内容管理系统110向第三方云服务302发送具有认证信息的消息902,以便允许交换与第三方云服务内容项502相关联的数据。消息902可包括例如认证令牌以及与第三方云服务内容项502相关联的其他信息,诸如唯一ID、标题、访问控制信息等。消息902可以向第三方云服务302请求与第三方云服务内容项502相关联的数据或信息。
第三方云服务302可以接收消息902,通过内容管理系统110进行认证,验证对第三方云服务内容项502和/或其相关联数据的访问和/或向内容管理系统110发送相关联数据904。相关联数据904可包括与第三方云服务内容项502相关联的内容、元数据和/或信息,内容管理系统110可以使用所述相关联数据来创建、存储智能指针504和/或将智能指针与内容或数据相关联。
例如,相关联数据904可包括与第三方云服务内容项502相关联的可索引内容506A,内容管理系统110可以使用该可索引内容进行索引并为智能指针504提供搜索功能。由于内容管理系统110可能不会在智能指针504(或内容管理系统110中的其他位置)中存储第三方云服务内容项502的实际内容,因此内容管理系统110可能不另外具有与第三方云服务内容项502相关联的可用于索引和搜索的内容。因此,内容管理系统110可以从第三方云服务302接收可索引内容506A(例如,经由相关联数据904),并且可以将可索引内容506A用于索引和搜索功能。
在一些情况下,相关联数据904可包括第三方云服务内容项502和/或内容的一个或多个预览506B,内容管理系统110可以使用该一个或多个预览为智能指针504创建预览506B。内容管理系统110可以存储预览506B以供用户访问。预览506B可用于渲染智能指针504(或与智能指针504和第三方云服务内容项502相关联的内容)的预览。
在一些示例中,相关联数据904可包括与第三方云服务内容项502和/或第三方云服务内容项502中的内容相关联的评论506N。内容管理系统110可以将评论506N与智能指针504和/或与智能指针504相关联的内容的一个或多个部分相关联,并存储评论506N以供与智能指针504进行交互的用户访问。在一些情况下,内容管理系统110可以在渲染或呈现给用户时将评论506N作为通知提供给用户,或者可以将评论506N嵌入到智能指针504(或其相关联内容)中,或者以其他方式将评论206N与智能指针504一起提供。
在一些情况下,评论506N可以是锚定或未锚定的。锚定评论可以指代被映射或锚定到内容项(例如,智能指针504)中的特定内容的评论,未锚定评论可以指代未被映射或锚定到内容项(例如,智能指针504)中的特定内容的评论,而是映射到内容项整体上或与之相关联。例如,评论可以特定于内容项(例如,智能指针504)中的段落。因此,评论可以被映射到该特定段落或与该特定段落相关联。一旦评论被映射到特定段落或与特定段落相关联,该评论就成为锚定评论,因为它专门锚定于与其有关的段落。
然而,在一些情况下,内容管理系统110可能没有足够的信息来确定评论与内容项中内容的哪些特定部分有关。因此,内容管理系统110可能不能将评论锚定到文档或文件的任何特定部分,而是将评论映射到内容项整体上或与之相关联。例如,内容管理系统110可以具有从第三方云服务302接收的针对第三方云服务内容项502的评论,但是可能不具有标识评论与第三方云服务内容项502中内容的哪些特定部分有关的信息。因此,内容管理系统110可能不能将评论映射或锚定到第三方云服务内容项502中内容的特定部分。相反,内容管理系统110可以将评论与第三方云服务内容项502(和/或智能指针504)整体相关联。
如流程900所示,内容管理系统110可以使用从第三方云服务302接收到的相关联数据904在智能指针504和与智能指针504对应的内容或元数据之间创建关联。这些关联可以使内容管理系统110能够为智能指针504提供或支持各种特征和功能,并且在一些情况下,扩展智能指针504的特征或功能以包括可通过内容管理系统110的生态系统获得的其他特征或功能及其自身支持的内容、存储、协作、交互以及其他功能和特性。
图9B示出了用于在第三方云服务302上的第三方云服务内容项502和内容管理系统110中的规范内容项520中的内容和元数据之间创建关联的示例性流程(920)。在流程920中,内容管理系统110可以从第三方云服务302接收数据,内容管理系统110可以使用该数据将规范内容项520(及其任何相关联内容或元数据)与第三方云服务内容项502和第三方云服务302相关联,并为规范内容项520存储或创建相关联内容或元数据,诸如可索引内容526A、预览526B、评论526N等。内容管理系统110还可以使用接收到的数据进行功能映射(例如,524),如先前相对于图5B所述。
在流程920中,内容管理系统110向第三方云服务302发送具有认证信息的消息922,以便允许交换与第三方云服务内容项502相关联的数据。消息922可包括例如认证令牌以及与第三方云服务内容项502相关联的其他信息,诸如唯一ID、标题、访问控制信息等。消息922可以向第三方云服务302请求与规范内容项520和第三方云服务内容项502相关联的数据或信息。
第三方云服务302可以接收消息922,通过内容管理系统110进行认证,验证对与第三方云服务内容项502相关联的数据和/或特征的访问,和/或向内容管理系统110发送相关联数据924。相关联数据924可包括与第三方云服务内容项502和规范内容项520相关联的数据(例如,元数据、内容等)和/或信息,内容管理系统110可以使用所述相关联数据来创建、存储规范内容项520和/或将数据与规范内容项相关联。例如,相关联数据924可包括可索引内容526A,内容管理系统110可以使用该可索引内容进行索引并为规范内容项520提供搜索功能。
在一些情况下,相关联数据924可包括一个或多个预览526B,内容管理系统110可以使用该一个或多个预览为规范内容项520创建预览526B。内容管理系统110可以存储预览526B以供用户访问。预览526B可用于渲染规范内容项520(或与规范内容项520相关联的内容)的预览。在一些示例中,相关联数据924可包括与规范内容项520和/或第三方云服务内容项502相关联的评论526N。内容管理系统110可以将评论526N与规范内容项520和/或与规范内容项520相关联的内容的一个或多个部分相关联,并存储评论526N以供与规范内容项520进行交互的用户访问。在一些情况下,内容管理系统110可以在渲染或呈现给用户时将评论526N作为通知提供给用户,或者可以将评论526N嵌入到规范内容项520(或其相关联内容)中,或者以其他方式将评论206N与规范内容项520一起提供。
如前所述,在一些情况下,评论526N可以是锚定或未锚定的。锚定评论可以指代被映射或锚定到内容项(例如,规范内容项520)中的特定内容的评论,未锚定评论可以指代未被映射或锚定到内容项(例如,规范内容项520)中的特定内容的评论,而是映射到内容项整体上或与之相关联。
如流程920所示,内容管理系统110可以使用从第三方云服务302接收的相关联数据924在规范内容项520和与规范内容项520(以及第三方云服务内容项502)对应的内容或元数据之间创建关联。这些关联可以使内容管理系统110能够为规范内容项520提供或支持各种特征和功能,并且在一些情况下,扩展规范内容项520的特征或功能以包括可通过内容管理系统110的生态系统获得的其他特征或功能及其自身支持的内容、存储、协作、交互以及其他功能和特性。
图10示出了用于向第三方云服务302推送在客户端设备150上对智能指针504和/或规范内容项520进行的本地改变的流程1000。在该示例中,第三方云服务内容项502A是与智能指针504相关联的基于云或云备份的内容项,并且第三方云服务内容项502B是由规范内容项520表示的基于云或云备份的内容项的版本。
在流程1000中,当客户端设备150执行操作1002从而导致对智能指针504和/或规范内容项520的内容和/或元数据(以及因此第三方云服务内容项502A和/或502B中的内容和/或元数据)的改变时,客户端设备可以向内容管理系统110发送标识此类改变的更新1006。内容管理系统110可以接收更新1006并将其发送到第三方云服务302。第三方云服务302可以接收更新1006,并使用更新1006中的信息来更新1004第三方云服务内容项502A(和/或其相关联元数据)和/或502B(和/或其相关联元数据)以反映更新1006中的改变。
操作1002可包括在客户端设备150处对与智能指针504和/或规范内容项520(以及因此第三方云服务内容项502A和/或502B)相关联的内容或元数据执行的任何文件系统操作。操作1002的非限制性示例包括重命名操作、复制操作、删除操作、编辑或写入操作、恢复操作、用于还原到内容的先前版本的操作等。流程1000允许将操作1002导致的对与智能指针504和/或规范内容项520相关联的内容或元数据的任何本地改变传播到第三方云服务302或者与第三方云服务上的第三方云服务内容项502A和/或502B同步,因此对客户端设备150的内容或元数据进行的改变不会从第三方云服务302上的第三方云服务内容项502A和/或502B(或可访问第三方云服务内容项502A和/或502B的任何其他设备)省略,并且不会在客户端设备150、内容管理系统110和/或第三方云服务302上导致冲突版本或副本,并且在客户端设备150、内容管理系统110和第三方云服务302上提供统一或集成的用户和内容体验。
图11示出了用于与用户和设备共享存储在内容管理系统110中的基于云或云备份的内容项的示例性基于链接的机制。在该示例中,规范内容项520表示存储在内容管理系统110中并使用本文所述的示例性基于链接的机制与用户和设备共享的基于云或云备份的内容项。如图11所示,内容管理系统110可以创建到规范内容项520的链接1102、1104、1106。链接1102、1104、1106可用于与客户端设备1501、1502、150N和/或用户账户A、B、N共享规范内容项520。到规范内容项520的链接1102、1104、1106可被配置有特定许可,因此链接被预先配置为向链接接收者(例如,客户端设备1501、1502、150N)提供特定访问级别。
例如,链接1102可以是被配置为提供对规范内容项520的只读访问的链接。因此,当内容管理系统110向客户端设备1501提供链接1102时,客户端设备1501处的用户将能够使用链接1002来查看或读取与规范内容项520相关联的内容,但将不能以其他方式删除、修改或编辑内容。另一方面,链接1104可被配置为提供对规范内容项520的编辑访问或修改权限。因此,当内容管理系统110向客户端设备1502提供链接1104时,客户端设备1502处的用户将能够使用链接1104来查看/读取和编辑/修改与规范内容项520相关联的内容。
具有不同权限或许可的不同链接(1102、1104)可用于与客户端设备共享不同级别或类型的访问,以便提供更大的共享灵活性和粒度。不同链接(1102、1104)还允许来自一个链接的访问被撤销不影响通过其他链接的访问。例如,如果内容管理系统110撤销链接1102,则具有链接1104的那些用户和设备(例如,客户端设备1502)可能不会仅仅因为链接1102已被撤销而失去对规范内容项520的访问。同样,如果内容管理系统110撤销链接1104,则具有链接1102的那些用户和设备(例如,客户端设备1501)可能不会仅仅因为链接1104已被撤销而失去对规范内容项520的访问。
链接1106是参考链接,不授予或提供对规范内容项520的任何权限或许可。相反,链接1106唯一地标识规范内容项520,并且可用于请求对规范内容项520的访问。因此,当内容管理系统110向客户端设备1503提供链接1106时,客户端设备1503处的用户将不能从链接1106访问规范内容项520,而是将能够使用链接1106来请求对规范内容项520的访问。
链接1106还可以为用户提供在链接1102或1104被撤销时重新获得对规范内容项520的访问的方式。例如,如果存在安全威胁或由于未授权用户获得对链接1102的访问而导致的未授权访问,则内容管理系统110可以撤销链接1102,以防止通过链接1102对内容的未授权访问。当内容管理系统110撤销链接1102时,这可能导致具有对规范内容项520的只读链接(例如,链接1102)的任何用户或设备失去对规范内容项520的访问。例如,当内容管理系统110撤销链接1102时,它可以追溯去除所有只读链接(例如,1102)上的读取/查看权限或许可,以防止从与用户或设备共享的任何只读链接对规范内容项520进行的未授权访问。因此,那些具有只读链接的用户或设备将失去对内容的访问。
然而,在一些情况下,当内容管理系统110撤销只读链接(例如,1102)或从只读链接中去除权限/许可时,这可以将只读链接降级为参考链接(例如,1106)。然后,参考链接(例如,1106)允许那些由于只读链接被撤销(或其权限/许可被去除)而失去访问的用户或设备使用参考链接来请求并重新获得对规范内容项520的访问。因此,那些用户或设备将具有在撤销只读链接或为这些链接配置的权限/许可之后重新获得对规范内容项520的访问的手段。
类似地,当内容管理系统110撤销编辑链接(例如,1104)或从编辑链接中去除了权限/许可时,这可以将此类链接降级为参考链接(例如,1106)。如前所述,参考链接(例如,1106)允许那些由于编辑链接被撤销(或其权限/许可被去除)而失去访问的用户或设备使用参考链接来请求并重新获得对规范内容项520的访问。因此,用户或设备将具有在撤销编辑链接(例如,1104)或为这些链接配置的权限/许可之后重新获得对规范内容项520的访问的手段。
图12示出了用于将处理云备份的内容项的用户路由到实时协作会话的示例性流程。在一些情况下,用户可能希望在不支持协作功能、不兼容云备份的内容项的协作功能或者未被配置或激活成获得附加云功能的应用程序中打开云备份的内容项(例如,规范内容项520、第三方云服务内容项502等)。然而,如果在交互和处理云备份的内容项的用户之间存在实时协作会话,则通过在此类应用程序中打开云备份的内容项,用户将不能参与到与此类用户的实时协作会话或在协作会话中访问为云备份的内容项生成的活动和服务。用户因此将具有有限的体验,并且将失去原本可用于云备份的内容项的协作体验的有益效果。
图12中的示例性流程允许给此类用户使用不支持协作功能的应用程序访问云备份的内容项的选项,以及被路由到确实支持此类协作功能的另一个应用程序或集成元素(例如,客户端应用程序152或被配置为采用云内容集成元素702的浏览器应用程序166)的选项并参加协作会话。
从步骤1202处开始,客户端设备150使用客户端设备150上的本地应用程序调用云备份的内容项的实例(例如,规范内容项520、第三方云服务内容项502的实例等)。本地应用程序可以是客户端设备150上的任何应用程序或编辑器。例如,本地应用程序可以是客户端应用程序152、浏览器应用程序166、基于云的应用程序或编辑器(例如,第三方云服务应用程序604)、本机应用程序或任何其他类型的应用程序或编辑器。在一些示例中,本地应用程序可以是不支持协作功能、不兼容云备份的内容项的协作功能或者未被配置或不能够从云服务获得此类协作功能的应用程序。在其他示例中,本地应用程序可以是与云备份的内容项兼容的基于云的应用程序。
在步骤1204处,流程涉及确定是否存在与云备份的内容项相关联的实时协作会话。实时协作会话可包括用户以协作方式(例如,以允许每个用户查看其他用户产生的改变和活动的方式)编辑云备份的内容项和/或与其交互。如果没有与云备份的内容项相关联的实时协作会话,或者没有可以与客户端设备150建立实时协作会话、当前正在编辑云备份的内容项和/或与其交互的其他用户(例如,除了与客户端设备150相关联的用户以外的用户),则流程可以结束,并且用户可以按需通过使用本地应用程序打开和处理云备份的内容项来继续前进,或者以其他方式放弃该过程。另一方面,如果存在与云备份的内容项相关联的实时协作会话,则流程可以继续前进到步骤1206。
在步骤1206处,如果存在与云备份的内容项相关联的实时协作会话,或者如果存在可以与客户端设备150建立实时协作会话的其他用户(例如,当前正在编辑云备份的内容项和/或与其交互的用户),则可以向用户提供参加(或建立)实时协作会话的选项。可以通知用户存在云备份的内容项的实时协作会话,并向用户提供参加实时协作会话的提示或选项。提示或选项可包括,例如但不限于,用户可以选择参加实时协作会话的界面元素、消息或链接。
如果用户选择参加实时协作会话,则在步骤1208处,可以将与用户相关联的客户端设备150路由到支持云备份的内容项的实时协作的应用程序、编辑器或界面。然后,用户可以使用所路由到的应用程序、编辑器或界面参加实时协作会话。如前所述,应用程序、编辑器或界面可以从云服务(例如,302、304、306、170)获得此类实时协作功能。
例如,可以将客户端设备150路由到客户端应用程序152或浏览器应用程序166,所述应用程序可以如前所述实现云内容集成元素702以为云备份的内容项提供协作支持,并允许用户参加实时协作会话。作为另一个示例,可以将客户端设备150路由到支持云备份的内容项的协作并且允许用户参加实时协作会话的基于云的应用程序或编辑器,诸如第三方云服务应用程序604。
在一些情况下,用户在步骤1208处被路由到的应用程序或编辑器可以取决于一个或多个因素,诸如用户首选项、默认应用程序或编辑器设置、用户的当前上下文或体验(例如,用户的登录状态、用户接收内容项的方式诸如通过带内共享等)。例如,当客户端设备150处的用户在桌面或web体验期间访问通过带内共享接收的(例如,通过内容管理系统110共享和接收的).docx内容项时,如果用户具有对.docx内容项的查看许可,则可以将用户路由到文件查看器应用程序(例如,呈现内容项中存储的数据或内容的应用程序),或者如果用户具有对.docx内容项的编辑许可并且如果一个编辑器在客户端设备150处可用,则可以将用户路由到.docx内容项的在线编辑器或基于云的编辑器(例如,GOOGLE DOCS或MICROSOFT WORD ONLINE)。
作为另一个示例,如果用户在桌面或web体验期间访问通过带内共享共享的.paper内容项,则可以将用户路由到支持.paper内容项的DROPBOX PAPER(如果有可用的Web版本或桌面版本),并且如果用户访问在桌面或web体验期间通过带内共享接收的.gdoc内容项,则可以将用户路由到支持.gdoc内容项的GOOGLE DOCS。
在其他示例中,如果客户端设备150处的用户在注销.docx内容项的在线编辑器或基于云的编辑器时访问.docx内容项,则可以将用户路由到客户端设备150上的文件查看器应用程序对.docx内容项进行只读访问,并向用户提供登录在线编辑器或基于云的编辑器的选项以获得对.docx内容项的编辑访问。如果用户在注销DROPBOX PAPER时访问.paper文件,则可以将用户路由到具有只读访问的DROPBOX PAPER(Web),并向用户提供登录DROPBOXPAPER的选项以获得对.paper内容项的编辑访问。如果用户在注销GOOGLE DOCS时访问.gdoc,则可以将用户路由到具有只读访问的GOOGLE DOCS,并向用户提供登录GOOGLE DOCS的选项以对.gdoc内容项进行编辑访问。
在一些情况下,不仅可以在存在与云备份的内容项相关联的实时协作会话的情况下,而且可以在步骤1202处当客户端设备150调用云备份的内容项的实例时建立或发起此类实时协作会话的情况下,触发将用户动态路由到支持云备份的内容项的实时协作的特定应用程序、编辑器或界面。例如,如果客户端设备150调用云备份的内容项,并且另一个用户已经/当前正在编辑来自不同设备的云备份的内容项和/或与其交互,则云备份的内容项的调用可以创建在与客户端设备150相关联的用户和正在编辑云备份的内容项和/或与其交互的其他用户之间建立或发起新的实时协作会话的机会。建立或发起新的实时协作会话的这种机会可以触发步骤1206和1208处所述的动态路由。因此,可以向用户提供参加与其他用户的新的实时协作会话的选项,并且如果用户选择参加新的协作会话,则可以将用户路由到支持实时协作的特定应用程序、编辑器或界面。
此外,当客户端设备150从客户端设备150处的任何本地应用程序设备调用云备份的内容项的实例时,可以在步骤1208处触发将用户动态路由到支持云备份的内容项的实时协作的特定应用程序、编辑器或界面。在一些示例中,当客户端设备150使用不支持协作功能、不兼容云备份的内容项的协作功能或者未被配置或不能够从云服务获得此类协作功能的本地应用程序来调用云备份的内容项的实例时,可以触发动态路由。
在其他示例中,本地应用程序可以是与云备份的内容项兼容的基于云的应用程序。在其他示例中,当客户端设备150使用与正在另一台设备上由另一个用户用于编辑云备份的内容项和/或与其交互的应用程序不同的本地应用程序来调用云备份的内容项的实例时,可以触发动态路由。在此,即使本地应用程序与云备份的内容项兼容和/或支持协作功能,也可以将用户路由到(和/或向用户提供选项以路由到)不同应用程序。
如果在步骤1206处用户选择不参加实时协作会话,则可以向用户呈现在没有实时协作功能的情况下继续前进的选项。在此类情况下,在步骤1210处,向用户提供了在没有实时协作功能的情况下从本地应用程序打开云备份的内容项的选项。如果用户在步骤1210处选择在没有实时协作功能的情况下打开云备份的内容项,则在步骤1212处,客户端设备150可以继续在没有实时协作功能的情况下在本地应用程序中打开云备份的内容项。如果用户在步骤1210处选择不继续在没有实时协作功能的情况下打开云备份的内容项,则流程结束,并且用户可以任选地在任何时间点返回步骤1202。
在公开了示例性系统组件和概念之后,本公开现在转向用于将云内容项与内容管理系统(110)集成的示例性方法1300、1320、1340和1360,如图13A至图13D所示。本文概述的步骤是出于说明目的而提供的非限制性示例,并且能够以步骤的任何组合来实现,包括排除、添加或修改某些步骤的组合。
在步骤1302处,方法1300可包括接收访问存储在内容管理系统(例如,110)处的智能指针(例如,504)的请求。智能指针可包括存储在云服务(例如,302、304、306、170)处的内容项(例如,第三方云服务内容项502)的表示,诸如云备份的内容项或基于云的内容项。可通过与云服务相关联的在线应用程序(例如,第三方云服务应用程序604)来访问内容项的内容和特征。在线应用程序可包括例如来自云服务的在线或web应用程序或编辑器。此外,在线应用程序可具有对内容项包括内容项的内容和特征的本机支持。在一些情况下,内容项的内容和特征可能只能通过在线应用程序或使用此处描述的方法通过其他应用程序访问或支持。
智能指针可存储于在内容管理系统(110)处注册的用户账户(例如,704)中。用户账户可包括智能指针以及其他内容项,诸如规范内容项、基本指针、传统内容项、文件夹、图像、视频、文档、音频内容项、文件、收藏和/或任何其他类型的数字数据。在一些方面,用户账户上的内容项可以存储在内容管理系统(110)以及一个或多个客户端设备(例如,150)上。此外,用户账户中的内容项(和/或相关联改变)中的一个或多个内容项可以在内容管理系统(110)与该一个或多个客户端设备(例如,150)之间同步,以便维护跨内容管理系统(110)和该一个或多个客户端设备(例如,150)的内容项的副本一致。
在一些情况下,可以在没有内容项的实际内容的情况下存储智能指针(504)。相反,当如本文所述调用或打开智能指针时,可以从云服务中检索内容。然而,在一些情况下,智能指针(504)可包括内容项的实际内容中的至少一些,或者可以与实际内容一起存储。
此外,在一些情况下,可以根据文件系统存储方案或用于存储智能指针(504)和用户账户上的任何其他内容项的其他组织方案并且在内容管理系统处存储智能指针以及用户账户上的其他内容项。例如,智能指针可以与其他内容项一起存储在分层文件系统或存储方案中,并在存储库中直观地描绘为内容项诸如文件或文档。因此,内容管理系统(110)可以为智能指针以及用户账户上的任何其他内容项提供访问控制和组织。
在步骤1304处,方法1300可包括:响应于智能指针(504)被调用,从本地应用程序(例如,客户端应用程序152或浏览器应用程序166)上的云内容集成元素(例如,602)向云服务(例如,302、304、306或170)发送对与智能指针(504)相关联的内容项(例如,502)的内容的请求(例如,710、728、802)。在一些示例中,对内容的请求可包括与智能指针、内容和/或内容项相关联的唯一ID;认证信息;内容项的标题;在内容管理系统(110)处配置的针对智能指针、内容和/或内容项的访问控制许可等。访问控制许可能够与用户账户(例如,704)对应,该用户账户与对内容的请求相关联并且在内容管理系统(110)处注册。
在一些方面,本地应用程序可能不提供对内容项、内容项中的内容和/或与内容项相关联的特征或功能的本机支持。相反,本地应用程序可实现云内容集成元素(例如,602)以提供对内容项、内容项中的内容和/或与内容项相关联的特征或功能的支持。这些特征或功能可包括由云服务提供并且能够通过与云服务相关联的在线应用程序(例如,604)访问的一个或多个特征或功能。与内容项相关联的特征或功能的非限制性示例可包括评论、通知、处理内容项的用户之间的双向通信或交互、实时编辑或协作会话、任务、编辑、共享、活动提要、内容或元数据更新等。
在步骤1306处,方法1300可包括:在本地应用程序(例如,152或166)上的云内容集成元素(例如,602)处并且从云服务(例如,302、304、306或170)接收与智能指针相关联的内容项(例如,502)的内容。在一些情况下,云内容集成元素(例如,602)还可以接收与内容项相关联的其他内容或数据,诸如可索引内容、内容或文档预览、元数据(例如,评论、任务、状态、事件、更新、用户活动信息、状态信息等)和/或与内容项相关联的任何其他数据或信息。
在步骤1308处,方法1300可包括:响应于接收到内容项(例如,502)的内容,在本地应用程序(例如,152或166)上呈现内容项的内容作为智能指针(504)的渲染实例(例如,602)的一部分。可以将内容呈现在智能指针的渲染实例中,以便在为用户渲染或呈现时镜像或模拟云服务上的内容项。在一些示例中,智能指针的渲染实例可以与内容一起呈现,而无需在渲染内容之前转换内容。换句话说,本地应用程序可以具有在无需首先将内容的配置和/或格式修改为本地应用程序支持的不同配置和/或格式的情况下渲染内容的能力。因此,本地应用程序可以支持内容的配置和/或格式。在其他示例中,本地应用程序可以替代地在渲染之前修改内容的配置和/或格式,以便准备或启用内容以供本地应用程序渲染。
此外,本地应用程序和/或内容管理系统(110)上的云内容集成元素(例如,602)可允许在云服务中的内容项上添加或修改的数据(例如,内容、元数据、事件等)在智能指针(504)上实现,反之亦然。例如,如果用户重命名云服务上的内容项,则云服务可通过向云内容集成元素(例如,602)和/或内容管理系统(110)发送更新来提供对与智能指针(504)相关联的内容项的改变。当云内容集成元素(例如,602)和/或内容管理系统(110)从云服务接收到更新时,云内容集成元素(例如,602)和/或内容管理系统(110)可以相应地重命名智能指针(504)以匹配内容项的重命名。
云内容集成元素(例如,602)和/或内容管理系统(110)还可以启用协作功能和实时编辑或处理智能指针(504)和云服务上的内容项的用户之间的协作会话。例如,云内容集成元素(例如,602)和/或内容管理系统(110)可以与云服务通信以交换信息和通信,从而为智能指针(504)和云服务上的内容项之间的双向或双路通信提供支持。
为了说明,创建于或添加到云服务上的内容项的评论或消息可以被传播到智能指针(例如,经由云内容集成元素和/或内容管理系统),以便处理智能指针(504)的用户可以查看创建于或添加到该内容项并且接收自云服务的评论或消息或与其交互,反之亦然。处理智能指针(504)的用户可以从智能指针的渲染实例接收或查看评论或消息,并回复来自智能指针的评论或消息。来自智能指针的用户添加的任何回复都可以类似地传播到云服务上的内容项,因此处理内容项的任何用户都可以接收和查看此类回复。可以在智能指针与云服务托管的内容项之间交换和实现此类用户之间的协作和交互,以在所有平台(例如,内容管理系统、本地应用程序、云服务等)上提供集成的协作体验。
在一些方面,本地应用程序可以对规范内容项执行文件系统操作(例如,1002)和/或其他文件或内容操作,诸如复制操作、移动操作、创建操作、删除操作、清除操作、恢复操作、重命名操作、版本历史记录操作,共享操作等。本地应用程序可以将由此类操作导致的任何改变传播到云服务上的内容项。例如,本地应用程序可以实现云内容集成元素(例如,602)以向云服务发送更新(例如,716、740、1006)以及操作的改变,云服务可以使用这些改变来更新云服务上的内容项。这些改变可包括例如对内容项的改变、对内容项的元数据的改变、对内容项的内容的改变、对智能指针的改变等。
在一些情况下,方法1300可包括:从云服务并且在本地应用程序上的云内容集成元素(例如,602)处接收标识添加到存储在云服务上的内容项(例如,502)的评论的元数据,并在本地应用程序上通过智能指针的渲染实例呈现评论。评论可以是由处理来自云服务的内容项上的远程用户或由处理智能指针的另一个副本的渲染实例的远程用户添加的评论。而且,评论可以在智能指针的渲染实例中、在单独用户界面或应用程序中或者在给本地应用程序的用户的消息或通知中呈现。因此,查看或处理智能指针的渲染实例的用户可以接收或查看其他用户添加到内容项的评论,从而在访问或处理智能指针的渲染实例时获得协作体验。
在一些情况下,本地应用程序可以从本地应用程序接收添加到智能指针的渲染实例的一个或多个评论,并将该一个或多个评论传播到云服务,以包含或实现在云服务上的内容项中。例如,当本地应用程序接收到由在本地应用程序中使用智能指针的渲染实例的用户添加的评论时,它可以使用云内容集成元素(例如,602)向云服务发送更新消息(例如,716、740)。更新消息可标识由用户添加到智能指针的渲染实例的评论。云服务可接收更新消息,并将来自更新消息的评论应用或添加到云服务上的内容项。这样,可以在本地应用程序和云服务之间交换添加到云服务上的内容项的评论和添加到智能指针的渲染实例的评论,以提供协作体验并维护云服务上的内容项和智能指针之间的一致性。
在一些情况下,本地应用程序上的云内容集成元素(例如,602)可以从云服务接收与内容项相关联的数据,诸如与内容项相关联的元数据(例如,评论、活动、事件、任务、内容项信息、更新信息等)、一个或多个预览(例如,内容项预览,诸如文本或图像预览)、与内容项对应的可索引内容(例如文本、图像和/或其他可索引以进行搜索的数字内容)等。来自云服务的数据可以由本地应用程序呈现为智能指针的渲染实例的一部分、在单独界面上显示、在消息或通知中呈现、在存储库中描述(例如,作为存储库中的文件或文档)等。
此外,在一些情况下,可以对数据或数据的部分进行索引以进行搜索。例如,本地应用程序可接收来自用户的搜索请求包括对部分数据的查询,并且响应于该搜索请求,本地应用程序可以针对与该搜索请求相关联的该数据部分搜索用户账户(例如,704)上的任何索引数据。然后本地应用程序可以向用户呈现搜索结果,包括任何匹配项或者没有找到匹配项的指示(如果没有找到匹配项)。
在一些情况下,与内容项相关联的数据可包括内容项的预览和/或与内容项相关联的用户活动的指示。用户活动可包括用户与内容项之间的任何交互,由用户处理内容项生成的任何事件等。预览可包括例如内容项或内容项中内容的一个或多个部分的预览(例如,图像项览、文本预览、文件预览等)。
本地应用程序可以向有权访问智能指针或查看/处理智能指针的渲染实例的用户呈现预览和/或用户活动。例如,本地应用程序可显示标识用户活动的活动提要或活动通知。在一些示例中,预览可存储在用户账户(例如,704)中,并且被描绘为存储库中的内容项。用户可以从存储库中查看预览,而不必访问内容项或获得智能指针的渲染实例。此外,用户设备(例如,150)或内容管理系统(110)可使用预览来搜索与内容项相关联的内容。
在一些情况下,方法1300可包括接收使用不同于在线应用程序或编辑器的特定应用程序来打开特定内容项的副本(例如,特定的云备份的内容项、特定的基于云的内容项等)的请求,该特定应用程序与特定内容项相关联并且为特定内容项及其相关联内容和特征/功能提供本机支持。方法1300还可包括:标识与特定内容项进行交互的用户之间的实时协作会话(例如,经由相应的客户端设备),并确定特定应用程序不支持特定内容项的副本的实时协作。方法1300还可包括:经由支持特定内容项的实时协作的不同应用程序,向发出请求的用户或设备提供参加实时协作会话的选项的提示,并且响应于接收到对参加实时协作会话的选项的接受,将发出请求的用户或设备路由到不同应用程序和/或经由不同应用程序将发出请求的用户或设备参加到实时协作会话。
在一些情况下,方法1300还可包括生成到智能指针(504)的多个共享链接。共享链接可被配置有各种访问权限,并且共享链接可用于与用户共享智能指针,并为此类用户提供对智能指针的特定访问级别。例如,多个共享链接可包括配置有对智能指针(504)的只读访问权限的查看链接(例如,1102),配置有对智能指针(504)的编辑访问权限的编辑链接(例如,1104)和/或唯一地标识智能指针(504)且不授予对智能指针(504)的访问权限的参考链接(例如,1106)。方法1300可涉及提供到多个客户端设备或用户的共享链接,以便与此类客户端设备或用户共享智能指针(504)。
如果检测到与共享链接相关联的安全威胁,诸如对链接的未授权访问,则方法1300可包括从共享链接(和/或共享链接的任何副本)追溯撤销相关联访问权限和/或将共享链接降级为参考链接(例如,1106)以便防止对智能指针(和/或其相关联内容)的未授权访问并减轻安全威胁。拥有对共享链接的合法访问权或被授权使用共享链接、由于撤销相关联访问权限和/或共享链接降级为参考链接而失去了由共享链接授予的任何访问权限的任何用户或设备都可使用参考链接(例如,1106)来请求并重新获得对智能指针的访问。例如,用户可以向内容管理系统(110)发送包括参考链接的访问请求,然后内容管理系统可以向用户提供具有所请求的访问权限的另一链接,或者将参考链接转换为配置有所请求的访问权限的链接,诸如查看链接(例如,1102)或编辑链接(例如,1104)。
现在转向图13B中所示的方法1320,在步骤1322处,方法1320可包括接收访问存储在内容管理系统(例如,110)处的规范内容项(例如,520)的请求。规范内容项可包括存储在云服务(例如,302、304、306、170)处的内容项的表示(例如,第三方云服务内容项502的表示、副本或版本)。方法1320中的内容项和内容项的表示可以是或表示云备份的内容项或基于云的内容项。
可通过与云服务相关联的在线应用程序(例如,第三方云服务应用程序604)来访问内容项的内容和特征。在线应用程序可具有对内容项(包括内容项的内容和特征)的本机支持。在一些情况下,内容项的内容和特征可能只能通过在线应用程序或使用此处描述的方法通过其他应用程序访问或支持。
在一些情况下,存储在内容管理系统上的规范内容项可包括内容项(和规范内容项)的内容的部分或全部内容。此外,在一些情况下,一个或多个客户端设备(例如,150)上的一个或多个本地应用程序可访问或支持规范内容项的内容以及一些特征或功能,而附加特征或功能可能只能通过云服务、与云服务相关联的在线应用程序和/或使用本文所述方法通过该一个或多个本地应用程序进行访问。
规范内容项可存储于在内容管理系统(110)处注册的用户账户(例如,704)中。用户账户可包括规范内容项以及其他内容项,诸如智能指针、基本指针、传统内容项、文件夹、图像、视频、文档、音频内容项、文件、收藏和/或任何其他类型的数字数据。在一些方面,用户账户上的内容项可以存储在内容管理系统(110)以及一个或多个客户端设备(例如,150)上。此外,用户账户上的内容项(和/或相关联改变)中的一个或多个内容项可以在内容管理系统(110)与该一个或多个客户端设备(例如,150)之间同步,以便维护跨内容管理系统(110)和该一个或多个客户端设备(例如,150)的内容项的副本一致。
在一些情况下,可以根据文件系统存储方案或用于在用户账户上存储规范内容项(520)和任何其他内容项的其他组织方案并且在内容管理系统处存储规范内容项以及用户账户上的其他内容项。例如,规范内容项可以与其他内容项一起存储在分层文件系统或存储方案中,并在存储库中直观地描绘为内容项诸如文件或文档。因此,内容管理系统(110)可以为规范内容项以及用户账户上的任何其他内容项提供访问控制和组织。
在步骤1324处,方法1320可包括:响应于规范内容项(520)被调用,从本地应用程序(例如,客户端应用程序152或浏览器应用程序166)上的云内容集成元素(例如,602)向云服务(例如,302、304、306或170)发送对与规范内容项(520)相关联的内容项(例如,502)的一个或多个特征的请求(例如,756、778、802)。在一些示例中,对该一个或多个特征的请求可包括与规范内容项和/或内容项相关联的唯一ID;认证信息;内容项和/或规范内容项的标题;在内容管理系统(110)处配置的针对规范内容项、内容和/或内容项的访问控制许可等。访问控制许可能够与用户账户(例如,704)对应,该用户账户与对内容的请求相关联并且在内容管理系统(110)处注册。
在一些方面,本地应用程序可能不提供对内容项、内容项中的内容和/或与内容项相关联的特征或功能的本机支持。相反,本地应用程序可实现云内容集成元素(例如,602)以提供对内容项和规范内容项、内容项和规范内容项中的内容和/或与内容项和规范内容项相关联的特征或功能的支持。这些特征或功能可包括由云服务提供并且能够通过与云服务相关联的在线应用程序(例如,604)访问的一个或多个特征或功能。与内容项相关联的特征或功能的非限制性示例可包括评论、通知、处理内容项的用户之间的双向通信或交互、实时编辑或协作会话、任务、编辑、共享、活动提要、内容或元数据更新等。
在步骤1326处,方法1320可包括:在本地应用程序(例如,152或166)上的云内容集成元素(例如,602)处并且从云服务(例如,302、304、306或170)接收用于启用与规范内容项相关联的内容项(例如,502)的该一个或多个特征的元数据。在一些情况下,云内容集成元素(例如,602)还可以接收与内容项相关联的其他内容或数据,诸如可索引内容、内容或文档预览和/或与内容项相关联的任何其他数据或信息。此外,在一些示例中,元数据可包括一个或多个评论、一个或多个任务、状态、一个或多个事件、一个或多个更新、用户活动信息、状态信息、创作数据、其他协作信息等。
在步骤1328处,方法1320可包括:响应于接收到用于启用内容项(例如,502)的该一个或多个特征的元数据,在本地应用程序(例如,152或166)上提供内容项的该一个或多个特征和内容项的内容作为规范内容项(520)的渲染实例(例如,610)的一部分。可以将内容呈现在规范内容项的渲染实例中,以便在为用户渲染或呈现时镜像或模拟云服务上的内容项。在一些示例中,规范内容项的渲染实例可以与内容一起呈现,而无需在渲染内容之前转换内容。
此外,可以将内容和与内容项相关联的该一个或多个特征一起呈现。该一个或多个特征可包括一个或多个协作特征,例如但不限于实时评论、实时编辑、处理内容项和规范内容项的用户之间的双向通信、用户活动提要或通知、创作信息、共享特征、协作会话、内容和/或元数据更新、任务等。
本地应用程序和/或内容管理系统(110)上的云内容集成元素(例如,602)可允许在云服务中的内容项上添加或修改的数据(例如,内容、元数据、事件等)在规范内容项(520)上实现,反之亦然。例如,如果用户重命名云服务上的内容项,则云服务可通过向云内容集成元素(例如,602)和/或内容管理系统(110)发送更新来提供对与规范内容项(520)相关联的内容项的改变。当云内容集成元素(例如,602)和/或内容管理系统(110)从云服务接收到更新时,云内容集成元素(例如,602)和/或内容管理系统(110)可以相应地重命名规范内容项(520)以匹配内容项的重命名。
云内容集成元素(例如,602)和/或内容管理系统(110)还可以启用协作功能和实时编辑或处理规范内容项(520)和云服务上的内容项的用户之间的协作会话。例如,云内容集成元素(例如,602)和/或内容管理系统(110)可以与云服务通信以交换信息和通信,从而为规范内容项(520)和云服务上的内容项之间的双向或双路通信提供支持。
为了说明,创建于或添加到云服务上的内容项的评论或消息可以被传播到规范内容项(例如,经由云内容集成元素和/或内容管理系统),以便处理规范内容项(520)的用户可以查看创建于或添加到该内容项并且接收自云服务的评论或消息或与其交互,反之亦然。处理规范内容项(520)的用户可以从规范内容项的渲染实例接收或查看评论或消息,并回复来自规范内容项的评论或消息。来自规范内容项的用户添加的任何回复都可以类似地传播到云服务上的内容项,因此处理内容项的任何用户都可以接收和查看此类回复。可以在规范内容项与云服务托管的内容项之间交换和实现此类用户之间的协作和交互,以在所有平台(例如,内容管理系统、本地应用程序、云服务等)上提供集成的协作体验。
在一些方面,本地应用程序可以对规范内容项执行文件系统操作(例如,1002)和/或其他文件或内容操作,诸如复制操作、移动操作、创建操作、删除操作、清除操作、恢复操作、重命名操作、版本历史记录操作,共享操作等。本地应用程序可以将由此类操作导致的任何改变传播到云服务上的内容项。例如,本地应用程序可以实现云内容集成元素(例如,602)以向云服务发送更新(例如,762、790、1006)以及操作的改变,云服务可以使用这些改变来更新云服务上的内容项。这些改变可包括例如对内容项的改变、对内容项的元数据的改变、对内容项的内容的改变、对规范内容项的改变等。
在一些情况下,方法1320可包括:从云服务并且在本地应用程序上的云内容集成元素(例如,602)处接收标识添加到存储在云服务上的内容项(例如,502)的评论的元数据,并在本地应用程序上通过规范内容项的渲染实例呈现评论。评论可以是由处理来自云服务的内容项上的远程用户或由处理规范内容项的另一个副本的渲染实例的远程用户添加的评论。而且,评论可以在规范内容项的渲染实例中、在单独用户界面或应用程序中或者在给本地应用程序的用户的消息或通知中呈现。因此,查看或处理规范内容项的渲染实例的用户可以接收或查看其他用户添加到内容项的评论,从而在访问或处理规范内容项的渲染实例时获得协作体验。
在一些情况下,本地应用程序可以从本地应用程序接收添加到规范内容项的渲染实例的一个或多个评论,并将该一个或多个评论传播到云服务,以包含或实现在云服务上的内容项中。例如,当本地应用程序接收到由在本地应用程序中使用规范内容项的渲染实例的用户添加的评论时,它可以使用云内容集成元素(例如,602)向云服务发送更新消息(例如,762、790)。更新消息可标识由用户添加到规范内容项的渲染实例的评论。云服务可接收更新消息,并将来自更新消息的评论应用或添加到云服务上的内容项。这样,可以在本地应用程序和云服务之间交换添加到云服务上的内容项的评论和添加到规范内容项的渲染实例的评论,以提供协作体验并维护云服务上的内容项和规范内容项之间的一致性。
在一些情况下,本地应用程序上的云内容集成元素(例如,602)可以从云服务接收与内容项相关联的数据,诸如与内容项相关联的元数据(例如,评论、活动、事件、任务、内容项信息、更新信息等)、一个或多个预览(例如,内容项预览,诸如文本或图像预览)、与内容项对应的可索引内容(例如文本、图像和/或其他可索引以进行搜索的数字内容)等。来自云服务的数据可以由本地应用程序呈现为规范内容项的渲染实例的一部分、在单独界面上显示、在消息或通知中呈现、在存储库中描述(例如,作为存储库中的文件或文档)等。
此外,在一些情况下,可以对数据或数据的部分进行索引以进行搜索。例如,本地应用程序可接收来自用户的搜索请求包括对部分数据的查询,并且响应于该搜索请求,本地应用程序可以针对与该搜索请求相关联的该数据部分搜索用户账户(例如,704)上的任何索引数据。然后本地应用程序可以向用户呈现搜索结果,包括任何匹配项或者没有找到匹配项的指示(如果没有找到匹配项)。
在一些情况下,与内容项相关联的数据可包括内容项(或规范内容项)的预览和/或与内容项和规范内容项相关联的用户活动的指示。用户活动可包括用户与内容项之间的任何交互,由用户处理内容项生成的任何事件等。预览可包括例如内容项和/规范内容项的预览(例如,图像项览、文本预览、文件预览等)、内容项和/或规范内容项中内容的一个或多个部分的预览等。
本地应用程序可以向有权访问规范内容项或查看/处理规范内容项的渲染实例的用户呈现预览和/或用户活动。例如,本地应用程序可显示标识用户活动的活动提要或活动通知。在一些示例中,预览可存储在用户账户(例如,704)中,并且被描绘为存储库中的内容项。用户可以从存储库中查看预览,而不必访问内容项或获得规范内容项的渲染实例。此外,用户设备(例如,150)或内容管理系统(110)可使用预览来搜索与内容项和/或规范内容项相关联的内容。
在一些情况下,方法1320可包括接收使用不同于在线应用程序或编辑器的特定应用程序来打开特定规范内容项的副本(例如,规范内容项的副本表示特定的云备份或基于云的内容项等)的请求,该特定应用程序与特定规范内容项相关联并且为特定规范内容项及其相关联内容和特征/功能提供本机支持。方法1320还可包括:标识与特定规范内容项和/或相关联的第三方内容项(例如,502)进行交互的用户之间的实时协作会话,并确定特定应用程序不支持特定规范内容项的副本的实时协作。方法1320还可包括:经由支持特定内容项的实时协作的不同应用程序,向发出请求的用户或设备提供参加实时协作会话的选项的提示,并且响应于接收到对参加实时协作会话的选项的接受,将发出请求的用户或设备路由到不同应用程序和/或经由不同应用程序将发出请求的用户或设备参加到实时协作会话。
在一些情况下,方法1320还可包括生成到规范内容项(520)的多个共享链接。共享链接可被配置有各种访问权限,并且共享链接可用于与用户共享规范内容项,并为此类用户提供对规范内容项的特定访问级别。例如,多个共享链接可包括配置有对规范内容项(520)的只读访问权限的查看链接(例如,1102),配置有对规范内容项(520)的编辑访问权限的编辑链接(例如,1104)和/或唯一地标识规范内容项(520)且不授予对规范内容项(520)的访问权限的参考链接(例如,1106)。方法1320可涉及提供到多个客户端设备或用户的共享链接,以便与此类客户端设备或用户共享规范内容项(520)。
如果检测到与共享链接相关联的安全威胁,诸如对链接的未授权访问,则方法1320可包括从共享链接(和/或共享链接的任何副本)追溯撤销相关联访问权限和/或将共享链接降级为参考链接(例如,1106)以便防止对规范内容项(和/或其相关联内容)的未授权访问并减轻安全威胁。拥有对共享链接的合法访问权或被授权使用共享链接、由于撤销相关联访问权限和/或共享链接降级为参考链接而失去了由共享链接授予的任何访问权限的任何用户或设备都可使用参考链接(例如,1106)来请求并重新获得对规范内容项的访问。例如,用户可以向内容管理系统(110)发送包括参考链接的访问请求,然后内容管理系统可以向用户提供具有所请求的访问权限的另一链接,或者将参考链接转换为配置有所请求的访问权限的链接,诸如查看链接(例如,1102)或编辑链接(例如,1104)。
参考图13C中所示的方法1340,在步骤1342处,方法1340可包括在内容管理系统(110)上在一个或多个用户账户(例如,704)处存储内容项。在一些情况下,可以根据文件系统存储方案或用于存储内容项和该一个或多个用户账户上的任何其他内容项的其他组织方案并且在内容管理系统处存储内容项以及该一个或多个用户账户上的其他内容项。例如,内容项可以与其他内容项一起存储在分层文件系统或存储方案中,并在存储库中直观地描绘。因此,内容管理系统(110)可以为该一个或多个用户账户上的内容项以及任何其他内容项提供访问控制和组织。
内容项可包括一个或多个传统内容项、一个或多个基于云的内容项的一个或多个表示、一个或多个云备份的内容项的一个或多个表示、一个或多个智能指针、一个或多个规范内容项、一个或多个基本指针等。在示例性方法1340中,内容项包括传统内容项、基于云的内容项的表示和云备份的内容项的表示。基于云的内容项的表示和云备份的内容项的表示可包括智能指针(例如,504)和/或规范内容项(例如,520)。
传统内容项可以由一个或多个本地应用程序支持,而无需使用或涉及云服务(例如,302、304、306、170)。基于云的内容项的内容和特征可以由云服务启用,并被设计成通过与云服务相关联的在线应用程序进行访问。云备份的内容项可以具有由一个或多个本地应用程序支持,而无需使用或涉及云服务或与云服务相关联的在线应用程序的一些内容和特征,以及被设计成通过云服务和与云服务相关联的在线应用程序进行访问的附加特征。
在步骤1344处,方法1340可包括:响应于传统内容项被(例如,客户端设备或应用程序)调用,经由支持传统内容项的内容和特征的该一个或多个本地应用程序中的一个应用程序(例如,152、166)来呈现传统内容项的内容和特征。
在步骤1346处,方法1340可包括:响应于访问基于云的内容项的表示和云备份的内容项的表示的请求,从该一个或多个本地应用程序中的至少一个本地应用程序(例如,152、166)上的一个或多个云内容集成元素(例如,602)向云服务发送对与云备份的内容项相关联的附加特征以及与基于云的内容项相关联的内容和/或特征的请求。在一些情况下,对与云备份的内容项关联的附加特征以及与基于云的内容项相关联的内容和/或特征的请求可包括与内容管理系统关联的认证信息、与云备份的内容项和基于云的内容项相关联的唯一标识符、在内容管理系统中配置的对云备份的内容项和基于云的内容项的访问许可和/或任何其他信息。
在一些情况下,请求还可以请求与云备份的内容项相关联的内容中的部分或全部内容。此外,与基于云的内容项和云备份的内容项相关联的所请求的特征可包括协作和其他特征,例如但不限于,实时评论、实时编辑、处理此类内容项的用户之间的实时通信、创作、任务、状态信息、活动提要或通知、预览特征、索引特征、内容和/或元数据更新、协作会话、共享特征等。
在步骤1348处,方法1340可包括从云服务接收用于启用与云备份的内容项相关联的附加特征以及与基于云的内容项相关联的特征的元数据。在一些情况下,方法1340还可包括接收与云备份和/或基于云的内容项相关联的内容中的一些或全部内容。元数据可包括,例如,一个或多个评论、一个或多个任务、一个或多个编辑、一个或多个内容操作、一个或多个预览、一个或多个通知、一个或多个事件、用户活动信息、共享信息、索引数据、状态数据、一个或多个消息或通信、一个或多个内容或元数据更新或改变、内容项信息等。
基于元数据,在步骤1350处,方法1340可包括经由该一个或多个云内容集成元素和该至少一个本地应用程序来提供与云备份的内容项相关联的附加特征和相应内容以及与基于云的内容项相关联的内容和特征作为云备份的内容项和基于云的内容项的渲染实例的一部分。
在一些情况下,方法1340可包括在内容管理系统上在该一个或多个用户账户处呈现内容项,包括传统内容项、基于云的内容项的表示和云备份的内容项的表示。可以根据与该一个或多个用户账户相关联的组织和/或与该一个或多个用户账户相关联的访问控制来呈现内容项。
在一些示例中,本地应用程序和/或内容管理系统(110)上的云内容集成元素(例如,602)可允许在云服务中基于云和/或云备份的内容项的副本上添加或修改的数据(例如,内容、元数据、事件等)在内容管理系统上的基于云和/或云备份的内容项上实现,反之亦然。例如,如果用户重命名云服务上的基于云或云备份的内容项,则云服务可通过向云内容集成元素(例如,602)和/或内容管理系统(110)发送更新来提供对内容项的改变。当云内容集成元素(例如,602)和/或内容管理系统(110)从云服务接收到更新时,云内容集成元素(例如,602)和/或内容管理系统(110)可以相应地重命名基于云或云备份的内容项以匹配内容项的重命名。
云内容集成元素(例如,602)和/或内容管理系统(110)还可以启用协作功能和实时编辑或处理云服务和内容管理系统上的基于云和/或云备份的内容项的用户之间的协作会话。例如,云内容集成元素(例如,602)和/或内容管理系统(110)可以与云服务通信以交换信息和通信,从而为云服务和内容管理系统上的基于云和/或云备份的内容项之间的双向或双路通信提供支持。
为了说明,创建于或添加到云服务上的基于云和/或云备份的内容项的评论或消息可以被传播到内容管理系统上的基于云和/或云备份的内容项(例如,经由云内容集成元素和/或内容管理系统),以便处理内容管理系统上的基于云和/或云备份的内容项的用户可以查看创建于或添加到基于云和/或云备份的内容项并且接收自云服务的评论或消息或与其交互,反之亦然。处理基于云和/或云备份的内容项的用户可以接收或查看来自基于云和/或云备份的内容项的渲染实例的评论或消息,并回复来自云服务或内容管理系统上的基于云和/或云备份的内容项的评论或消息。来自内容管理系统上的基于云和/或云备份的内容项的用户添加的任何回复都可以类似地传播到云服务上的基于云和/或云备份的内容项,因此处理内容项的任何用户都可以接收和查看此类回复。可以在内容管理系统和云服务上的基于云和/或云备份的内容项之间交换和实现此类用户之间的协作和交互,以在所有平台(例如,内容管理系统、本地应用程序、云服务等)上提供集成的协作体验。
在一些方面,本地应用程序可以对基于云和/或云备份的内容项执行文件系统操作(例如,1002)和/或其他文件或内容操作,诸如复制操作、移动操作、创建操作、删除操作、清除操作、恢复操作、重命名操作、版本历史记录操作,共享操作等。本地应用程序可以将由此类操作导致的任何改变传播到云服务上的基于云和/或云备份的内容项。例如,本地应用程序可以实现云内容集成元素(例如,602)以向云服务发送更新(例如,762、790、1006)以及操作的改变,云服务可以使用这些改变来更新云服务上的基于云和/或云备份的内容项。改变可包括例如对基于云和/或云备份的内容项的改变、对基于云和/或云备份的内容项的元数据的改变、对基于云和/或云备份的内容项的内容的改变、对基于云内容项和/或云备份的内容项的改变等。
在一些情况下,方法1340可包括从云服务并且在本地应用程序上的云内容集成元素(例如,602)处接收标识添加到存储在云服务上的基于云和/或云备份的内容项的评论的元数据,并在本地应用程序上通过基于云的内容项和/或云备份的内容项的渲染实例呈现评论。评论可以是由处理来自云服务的基于云和/或云备份的内容项的远程用户或处理基于云和/或云备份的内容项的另一个副本的渲染实例的远程用户添加的评论。此外,评论可以在基于云和/或云备份的内容项的渲染实例中、在单独用户界面或应用程序中或者在给本地应用程序的用户的消息或通知中呈现。因此,查看或处理基于云和/或云备份的内容项的渲染实例的用户可以接收或查看其他用户添加到基于云和/或云备份的内容项的评论,从而在访问或处理基于云和/或云备份的内容项的渲染实例时获得协作体验。
在一些情况下,本地应用程序可以从本地应用程序接收添加到基于云和/或云备份的内容项的渲染实例的一个或多个评论,并将该一个或多个评论传播到云服务,以包含或实现在云服务上的基于云和/或云备份的内容项中。例如,当本地应用程序接收到由在本地应用程序中使用基于云和/或云备份的内容项的渲染实例的用户添加的评论时,它可以使用云内容集成元素(例如,602)向云服务发送更新消息(例如,716、738、762、790)。更新消息可标识由用户添加到基于云和/或云备份的内容项的渲染实例的评论。云服务可接收更新消息,并将来自更新消息的评论应用或添加到云服务上的基于云和/或云备份的内容项。这样,可以在本地应用程序和云服务之间交换添加到云服务上的基于云和/或云备份的内容项的评论和添加到基于云和/或云备份的内容项的渲染实例的评论,以提供协作体验并维护云服务和内容管理系统上的基于云和/或云备份的内容项之间的一致性。
在一些情况下,本地应用程序上的云内容集成元素(例如,602)可以从云服务接收与基于云和/或云备份的内容项相关联的数据,诸如与基于云和/或云备份的内容项相关联的元数据(例如,评论、活动、事件、任务、内容项信息、更新信息等)、一个或多个预览(例如,内容项预览,诸如文本或图像预览)、与基于云和/或云备份的内容项对应的可索引内容(例如文本、图像和/或其他可索引以进行搜索的数字内容)等。来自云服务的数据可以由本地应用程序呈现为基于云和/或云备份的内容项的渲染实例的一部分、在单独界面上显示、在消息或通知中呈现、在存储库中描述(例如,作为存储库中的文件或文档)等。
此外,在一些情况下,可以对数据或数据的部分进行索引以进行搜索。例如,本地应用程序可接收来自用户的搜索请求包括对部分数据的查询,并且响应于该搜索请求,本地应用程序可以针对与该搜索请求相关联的该数据部分搜索用户账户(例如,704)上的任何索引数据。然后本地应用程序可以向用户呈现搜索结果,包括任何匹配项或者没有找到匹配项的指示(如果没有找到匹配项)。
在一些情况下,与基于云和/或云备份的内容项相关联的数据可包括基于云和/或云备份的内容项的预览和/或与基于云和/或云备份的内容项相关联的用户活动的指示。用户活动可包括用户与基于云和/或云备份的内容项之间的任何交互,由用户处理基于云和/或云备份的内容项生成的任何事件等。预览可包括例如基于云和/或云备份的内容项的预览(例如,图像项览、文本预览、文件预览等)、基于云和/或云备份的内容项中内容的一个或多个部分的预览等。
本地应用程序可以向有权访问基于云和/或云备份的内容项或查看/处理基于云和/或云备份的内容项的渲染实例的用户呈现预览和/或用户活动。例如,本地应用程序可显示标识用户活动的活动提要或活动通知。在一些示例中,预览可存储在用户账户(例如,704)中,并且被描绘为存储库中的内容项。用户可以从存储库中查看预览,而不必访问基于云和/或云备份的内容项或获得基于云和/或云备份的内容项的渲染实例。此外,用户设备(例如,150)或内容管理系统(110)可使用预览来搜索与基于云和/或云备份的内容项相关联的内容。
在一些情况下,方法1340可包括接收使用不同于在线应用程序或编辑器的特定应用程序来打开特定基于云和/或云备份的内容项的副本的请求,该特定应用程序与特定基于云和/或云备份的内容项相关联并且为特定基于云和/或云备份的内容项及其相关联内容和特征/功能提供本机支持。方法1340还可包括:标识与特定基于云和/或云备份的内容项进行交互的用户之间的实时协作会话,并确定特定应用程序呈现不支持针对特定基于云和/或云备份的内容项的副本的实时协作。方法1340还可包括:经由支持特定基于云和/或云备份的内容项的实时协作的不同应用程序,向发出请求的用户或设备提供参加实时协作会话的选项的提示,并且响应于接收到对参加实时协作会话的选项的接受,将发出请求的用户或设备路由到不同应用程序和/或经由不同应用程序将发出请求的用户或设备参加到实时协作会话。
在一些情况下,方法1340还可包括生成到基于云和/或云备份的内容项的多个共享链接。共享链接可被配置有各种访问权限,并且共享链接可用于与用户共享基于云和/或云备份的内容项,并为此类用户提供对基于云和/或云备份的内容项的特定访问级别。例如,多个共享链接可包括配置有对基于云和/或云备份的内容项的只读访问权限的查看链接(例如,1102),配置有对基于云和/或云备份的内容项的编辑访问权限的编辑链接(例如,1104)和/或唯一地标识基于云和/或云备份的内容项且不授予对基于云和/或云备份的内容项的访问权限的参考链接(例如,1106)。方法1340可涉及提供到多个客户端设备或用户的共享链接,以便与此类客户端设备或用户共享基于云和/或云备份的内容项。
如果检测到与共享链接相关联的安全威胁,诸如对链接的未授权访问,则方法1340可包括从共享链接(和/或共享链接的任何副本)追溯撤销相关联访问权限和/或将共享链接降级为参考链接(例如,1106)以便防止对基于云和/或云备份的内容项的未授权访问并减轻安全威胁。拥有对共享链接的合法访问权或被授权使用共享链接、由于撤销相关联访问权限和/或共享链接降级为参考链接而失去了由共享链接授予的任何访问权限的任何用户或设备都可使用参考链接(例如,1106)来请求并重新获得对基于云和/或云备份的内容项的访问。例如,用户可以向内容管理系统(110)发送包括参考链接的访问请求,然后内容管理系统可以向用户提供具有所请求的访问权限的另一链接,或者将参考链接转换为配置有所请求的访问权限的链接,诸如查看链接(例如,1102)或编辑链接(例如,1104)。
参考图13D中所示的方法1360,在步骤1362处,方法1360可包括在存储在内容管理系统(110)上的共享文件夹中存储内容项,该内容项表示与云内容提供商(例如,302、304、306、170)相关联的云备份的内容项或与云内容提供商(例如,302、304、306、170)关联的基于云的内容项。在一些情况下,内容项的内容可以存储在内容管理系统上。例如,内容项可以是代表存储在内容管理系统上的基于云或云备份的内容项的规范内容项。在其他情况下,内容项的内容可以存储在云内容提供商上。例如,内容项可以是存储在内容管理系统上的智能指针,并且该智能指针引用存储在云内容提供商上的基于云或云备份的内容项。
在步骤1364处,方法1360可包括从内容管理系统上的用户账户(704)接收访问共享文件夹中的内容项的请求。例如,内容管理系统可以从用户账户接收使用与用户相关联的客户端设备(150)上的本地应用程序(例如,152、166)来访问共享文件夹中的内容项的请求。在一些情况下,当与用户账户相关联的用户调用共享文件夹中的内容项、选择内容项、尝试访问共享文件夹中的内容项等时,可以生成请求。
在步骤1366处,方法1360可包括基于在内容管理系统处配置的访问许可来确定用户账户是否具有允许用户账户访问共享文件夹和/或内容项的访问许可。例如,内容管理系统可以检查为共享文件夹和/或内容项设置的访问许可,以确定用户账户是否具有设置用于允许用户账户访问共享文件夹和/或内容项的访问许可。
在一些情况下,访问许可能够包括内容项许可,内容项从在内容管理系统中为共享文件夹设置的共享文件夹许可继承该内容项许可。例如,内容项可以从其驻留的共享文件夹继承许可。因此,如果用户账户具有允许用户账户访问共享文件夹的访问许可,则用户账户可以从共享文件夹继承允许访问共享文件夹中的内容项的访问许可。
在一些示例中,共享文件夹许可能够包括读取许可或编辑许可,其中读取许可提供用户账户对共享文件夹的读取访问,编辑许可提供用户账户对共享文件夹的编辑访问。读取许可能够包括例如查看和/或只读许可。编辑许可能够包括,例如,授予修改权限、写入访问权限、完全控制权限(例如,添加、修改、移动、删除、重命名等)的许可,允许用户账户运行可执行内容项的执行特权等。
此外,在一些示例中,内容项许可能够包括从与共享文件夹相关联的读取许可继承的内容项读取许可或从与共享文件夹相关联的编辑许可继承的内容项编辑许可。内容管理系统可以基于内容项从共享文件夹许可继承的内容项许可而授权用户账户对内容项的访问。
如果内容管理系统确定该用户账户未配置有允许该用户账户访问共享文件夹或内容项的访问许可,则内容管理系统可以阻止该用户账户访问该内容项。与用户账户相关联的用户可以任选地依次向具有足够访问共享文件夹和/或内容项的权限的用户请求访问内容项,以与用户账户共享内容项和/或共享文件夹。
另一方面,如果内容管理系统确定用户账户配置有允许用户账户访问共享文件夹或内容项的访问许可,则在步骤1368处,方法1360可包括基于确定用户账户具有访问许可而授权用户账户对内容的访问。
在步骤1370处,方法1360可包括向用户账户提供内容项的内容和内容项的一个或多个特征,该一个或多个特征由云内容提供商支持并且至少部分地通过云内容提供商提供。在一些情况下,该一个或多个特征可被设计成经由与云内容提供商相关联的本机在线应用程序(例如,第三方云服务应用程序604)进行访问。
在一些示例中,提供内容项的该一个或多个特征可包括从本地应用程序(例如,152、166)上的云内容集成元素(702)向云内容提供商发送对内容项的该一个或多个特征的请求;在本地应用程序上的云内容集成元素处,从云内容提供商接收用于启用内容项的该一个或多个特征的元数据;以及响应于接收到用于启用内容项的该一个或多个特征的元数据,在本地应用程序上提供内容项和内容项的该一个或多个特征作为规范内容项的渲染实例的一部分。在该示例中,可以基于元数据来提供该一个或多个特征。
本地应用程序可以是和与云内容提供商相关联的本机在线应用程序(例如,第三方云服务应用程序604)不同的应用程序。在一些情况下,本地应用程序可能不本机支持与内容项相关联的内容和/或该一个或多个特征。而且,本地应用程序可以提供内容项的内容和该一个或多个特征作为规范内容项的渲染实例的一部分,而无需在渲染内容之前转换内容。因此,即使缺少对内容项的内容和/或特征的本机支持,本地应用程序也可以提供对内容项的内容和特征的支持,而无需在渲染内容之前转换内容。可以如本文先前描述的那样提供此类支持。
在一些情况下,内容项的内容可以存储在云内容提供商上并从云内容提供商提供。例如,内容项可以是表示云备份的内容项或云备份的内容项的智能指针(504)。智能指针可以引用云备份或基于云的内容项,该智能指针可以将其内容存储在云内容提供商中。为了提供内容项的内容和该一个或多个特征(例如,与智能指针相关联的内容和该一个或多个特征),本地应用程序可以从云内容集成元素(702)向云内容提供商发送对内容项的内容和该一个或多个特征的请求。然后,本地应用程序可以在云内容集成元素处并且从云内容提供商接收内容项的内容和用于启用内容项的该一个或多个特征的元数据。响应于接收到内容项的内容和元数据,本地应用程序可以提供内容项的内容和该一个或多个特征作为智能指针的渲染实例的一部分。
本地应用程序可以使用元数据来提供内容项的该一个或多个特征。而且,本地应用程序可以提供内容项的内容和该一个或多个特征作为智能指针的渲染实例的一部分,而无需在渲染内容之前转换内容。即使本地应用程序不本机支持本文所述的此类内容和特征,本地应用程序也可以提供内容和该一个或多个特征。
在一些示例中,内容项可以是存储在内容管理系统上的规范内容项(520)。内容项的内容可以存储在内容管理系统上,并且可以经由规范内容项提供。规范内容项可以表示云备份的内容项或云备份的内容项。此外,在一些情况下,该一个或多个特征可被设计成经由与云内容提供商相关联的本机在线应用程序(例如,第三方云服务应用程序604)进行访问。
为了提供规范内容项的内容(例如,内容项的内容),本地应用程序可以从内容管理系统或客户端设备(150)处的存储库中检索内容,该存储库存储在内容管理系统处注册的用户账户的内容项。此外,为了提供规范内容项的该一个或多个特征(例如,内容项的该一个或多个特征),本地应用程序可以从云内容集成元素(例如,702)向云内容提供商发送对内容项的该一个或多个特征的请求。本地应用程序可以(例如,经由云内容集成元素)从云内容提供商接收用于启用内容项的该一个或多个特征的元数据。响应于接收到用于启用内容项的该一个或多个特征的元数据,本地应用程序可以提供(例如,从存储库中检索到的)内容项的内容和内容项的该一个或多个特征作为规范内容项的渲染实例的一部分。
可以基于元数据来提供该一个或多个特征。本地应用程序可以提供内容项的内容和该一个或多个特征作为规范内容项的渲染实例的一部分,而无需在渲染内容之前转换内容。此外,即使本地应用程序缺少对内容和/或特征的本机支持,它也可以提供本文所述的内容和一个或多个特征。
在一些情况下,该一个或多个特征可包括一个或多个协作功能。该一个或多个协作功能可包括,例如但不限于,对内容项的内容的活动评论、处理内容项的用户账户之间的双向通信、访问与处理内容项的用户账户相关联的用户活动、创作功能、预览功能、共享功能等。
在一些具体实施中,方法1360可包括从内容管理系统接收由内容管理系统支持的一个或多个附加特征。该一个或多个附加特征可以为内容项提供附加功能。在一些示例中,该一个或多个附加特征可包括与在内容管理系统处注册的该一个或多个用户账户相关联的组织设置、共享特征、访问控制等。
在一些情况下,内容管理系统可以为存储在内容管理系统以及一个或多个云内容提供商处的基于云和/或云备份的内容项诸如规范内容项的许可提供真相源。例如,尽管内容项可以在云内容提供商上具有同步的副本和/或可以将其内容存储在云内容提供商处(例如,如果内容项是智能指针),但是内容管理系统仍然可以为内容项许可提供真相源。
因此,内容管理系统可以控制对内容项的访问,包括读取、编辑、重命名、移动、共享、删除等。在一些情况下,即使云内容提供商未向用户提供或尚未对用户启用此类访问,内容管理系统也可以向内容管理系统上的用户提供对内容项的一些访问。例如,假设用户A和用户B具有存储在云内容提供商处的基于云或云备份的内容项。假定用户A随后将基于云或云备份的内容项(诸如规范内容项)的副本存储在内容管理系统上的文件夹中,并在内容管理系统处与用户C共享该文件夹。尽管用户C没有在云内容提供商处获得访问基于云或云备份的内容项及其内容的许可,但是在此示例中,用户C可能能够从内容管理系统上的共享文件夹访问基于云或云备份的内容项。
因此,内容管理系统可以在内容管理系统上实现访问许可(例如,对共享文件夹、基于云或云备份的内容项和/或用户C的访问许可)以确定是否为用户C提供对基于云或云备份的内容项的访问。如果用户C随后在内容管理系统处与用户D共享了基于云或云备份的内容项(例如,通过将基于云或云备份的内容项移动或复制到用户C与用户D之间共享的文件夹中),那么即使用户D没有足够的权限通过云内容提供商访问基于云或云备份的内容项,用户D也可以基于内容管理系统处的访问许可获得对基于云或云备份的内容项的访问。
然而,在一些具体实施中,内容管理系统可以实现防止用户在内容管理系统的生态系统之外和/或与在内容管理系统处没有账户的用户共享一些或所有类型的基于云或云备份的内容项(例如,规范内容项、智能指针等)的策略。例如,在一些情况下,内容管理系统可以实现将阻止用户与在内容管理系统处没有账户的用户共享内容管理系统上的智能指针和/或在内容管理系统的生态系统之外存储智能指针的策略,该智能指针会将其相关联内容存储在云内容提供商处。
在一些情况下,用户可以从与内容项相关联的本机在线应用程序和云内容提供商访问内容管理系统处共享文件夹上存储的内容项。内容管理系统处的访问许可(例如,访问控制列表)仍然可以控制向用户提供的访问级别(如果有)。但是,在一些情况下,本机在线应用程序还可以应用在云内容提供商处针对内容项(或在云内容提供商处的相关联的基于云或云备份的内容项)限定的访问许可。
例如,除了内容管理系统处的访问许可之外或在内容管理系统处的访问许可之上,本机在线应用程序还可以应用在云内容提供商处设置的访问许可。在一些具体实施中,如果内容管理系统处的访问许可与云内容提供商处的访问许可之间存在冲突,则以内容管理系统处的访问许可为准。在其他具体实施中,即在内容管理系统处的访问许可与云内容提供商处的访问许可之间,可以以更严格的访问许可为准。在又一具体实施中,即在内容管理系统处的访问许可与云内容提供商处的访问许可之间,可以以更宽松的访问许可为准。
下面提供了用于访问内容管理系统(CMS)上基于云或云备份的内容项的非限制性说明性示例代码片段:
1 get("/ContentItem/{ContentItem_ID}”,function(request,response){
2//Request access via an API associated with CMS 110(e.g.,310,312,314)
3 access=httpPost("https://api.CMS.com/Cloud_ContentItems/metadata",{
4 ContentItem_ID”:request.params.ContentItem_ID
5});
6 if(access.error){//用户没有对该基于云或云备份的内容项的访问许可
7 response.write(403);
8}else{
9 ContentItem_ID=sql.execute(
10 "SELECT my_ID FROM cms_cloud_content_items WHERE cloud_content_item_id=$1",
11[request.params.ContentItem_ID]
12);
13//如果编辑访问不可用,则显示此内容项的只读版本
14 Return render_ContentItem(ContentItem_ID,content=content,edit=response.is_editor)
15}
16})
图14示出了计算系统1400的示例,其可以是例如构成客户端设备150、内容管理系统110或其任何组件的任何计算设备,其中系统的组件使用连接1405彼此通信。连接1405可以是经由总线的物理连接,或者是诸如在芯片组架构中的接入处理器1410的直接连接。连接1405也可以是虚拟连接、网络连接或逻辑连接。
在一些实施方案中,计算系统1400是分布式系统,其中本公开中描述的功能可以分布在一个或多个数据中心、对等网络等内。在一些实施方案中,所描述的系统组件中的一个或多个组件表示许多此类组件:每个组件执行该组件所描述功能的部分或全部功能。在一些实施方案中,组件可以是物理设备或虚拟设备。
示例性计算系统1400包括至少一个处理单元(CPU或处理器)1410和连接1405,该连接将各个系统组件,包括系统存储器1415(诸如只读存储器(ROM)1420和随机存取存储器(RAM)1425),耦接到处理器1410。计算系统1400可包括高速存储器1412的高速缓存,该高速缓存与处理器1410直接连接、与处理器紧邻或集成为处理器的一部分。
处理器1410可包括任何通用处理器和硬件服务或软件服务,诸如存储在存储设备1430中的服务1432、1434和1436,这些服务被配置为控制处理器1410以及专用处理器,其中软件指令被并入实际处理器设计中。处理器1410本质上可以是完全独立的计算系统,包括多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
为了实现用户交互,计算系统1400包括输入设备1445,该输入设备可以表示任意数量的输入机构,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。计算系统1400还可包括输出设备1435,该输出设备可以是本领域技术人员已知的许多输出机构中的一个或多个输出机构。在一些实例中,多峰系统可以使用户能够提供多种类型的输入/输出以与计算系统1400进行通信。计算系统1400可包括通信接口1440,该通信接口通常可以控制和管理用户输入和系统输出。对于在任何特定硬件布置上的操作没有限制,因此在开发它们时,此处的基本特征可以轻松替换为改进的硬件或固件布置。
存储设备1430可以是非易失性存储设备,并且可以是硬盘或可以存储能够由计算机访问的数据的其他类型的计算机可读介质,诸如磁带、闪存卡、固态存储设备、数字通用磁盘、盒带、随机存取存储器(RAM)、只读存储器(ROM)和/或这些设备的某些组合。
存储设备1430可包括软件服务、服务器、服务等,当定义此类软件的代码由处理器1410执行时,代码使系统执行功能。在一些实施方案中,执行特定功能的硬件服务可包括存储在计算机可读介质中的软件组件,该计算机可读介质与必要硬件组件(诸如处理器1410、连接1405、输出设备1435)连接来执行功能。
为了解释清楚起见,在一些实例中,本发明的技术可以被呈现为包括单独的功能块,这些功能块包括具有设备、设备组件、以软件或硬件和软件的组合体现的方法中的步骤或例程的功能块。
本文描述的任何步骤、操作、功能或过程可以单独地或结合其他设备通过硬件和软件服务或服务的组合来执行或实现。在一些实施方案中,服务可以是驻留在客户端设备和/或内容管理系统的一个或多个服务器的存储器中并在处理器执行与该服务相关联的软件时执行一个或多个功能的软件。在一些实施方案中,服务是执行特定功能的程序或程序集合。在一些实施方案中,服务可以被认为是服务器。存储器可以是非暂态计算机可读介质。
在一些实施方案中,计算机可读存储设备、介质和存储器可包括包含比特流等的电缆或无线信号。然而,当提及时,非暂态计算机可读存储介质明确地排除以下介质诸如能量、载波信号、电磁波和信号本身。
可以使用存储在计算机可读介质中或以其他方式从计算机可读介质中可用的计算机可执行指令来实现根据上述示例所述的方法。这些指令可包括例如使得或以其他方式配置通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。可以通过网络访问所用的计算机资源的一部分。计算机可执行指令可以是例如二进制指令、中间格式指令,诸如汇编语言、固件或源代码。可用于存储指令、所用信息和/或在根据所述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、固态存储设备、闪存、配备有非易失性内存的USB设备、网络存储设备等。
实现根据这些公开的方法的设备可包括硬件、固件和/或软件,并且可以采用多种形状因子中的任何一种。此类形状因子的典型示例包括服务器、膝上型电脑、智能电话、小形状因子的个人计算机、个人数字助理等。本文描述的功能还可以体现在外围设备或成品显卡中。作为另外的示例,这种功能也可以在电路板上不同芯片之间,或者在单个设备中执行的不同过程之间实现。
指令、用于传送这些指令的介质、用于执行指令的计算资源以及用于支持这些计算资源的其他结构是用于提供这些公开中描述的功能的装置。
尽管使用了各种示例和其他信息来解释所附权利要求书范围内的各个方面,但是不应基于此类示例中的特定特征或布置来暗示对权利要求书的限制,因为本领域技术人员将能够使用这些示例来衍生各种各样的具体实施。此外,尽管可能已经以特定于结构特征和/或方法步骤的示例的语言对一些主题进行了描述,但应当理解,所附权利要求书中限定的主题不一定限于所描述的这些特征或行为。例如,此类功能可以不同地分布或在除本文所标识的组件之外的组件中执行。相反,所描述的特征和步骤被公开为在所附权利要求书的范围内的系统的组件和方法的示例。
引用“至少一个”的权利要求书语言是指一组中的至少一个,并且指示该组中的一个成员或该组中的多个成员满足权利要求。例如,引用“A和B中的至少一者”的权利要求书语言是指A、B或A和B。换句话说,引用“A和B中的至少一者”的权利要求书语言是指A和/或B。

Claims (20)

1.一种用于跨平台集成云内容项的方法,包括:
接收用于访问存储在内容管理系统处的智能指针的第一请求,所述智能指针包括存储在云内容提供商处的内容项的表示,其中所述内容项的内容和特征被设计用于通过与所述云内容提供商相关联的本机在线应用程序进行访问,所述内容项包括基于云的内容项或云备份的内容项;
响应于所述智能指针被调用,从本地应用程序向所述云内容提供商发送对所述内容项的所述内容和所述特征的第二请求;
在所述本地应用程序处并且从所述云内容提供商接收所述内容项的所述内容和用于启用所述内容项的所述特征的元数据;以及
响应于接收到所述内容项的所述内容和所述元数据,由所述本地应用程序提供所述内容项的所述内容和所述特征作为所述智能指针的渲染实例的一部分。
2.根据权利要求1所述的方法,其中所述第二请求包括以下中的至少一者:(1)与所述内容管理系统相关联的认证信息;(2)与所述智能指针或所述内容项中的至少一者相关联的唯一标识符;或者(3)在所述内容管理系统处配置用于所述智能指针的访问许可,其中所述智能指针存储在用户账户处,所述用户账户在所述内容管理系统处注册并且与所述本地应用程序相关联,并且其中所述内容项存储在所述云内容提供商处。
3.根据权利要求1所述的方法,其中所述云内容提供商包括与所述内容管理系统分离的第三方云服务,其中所述本地应用程序不同于与所述云内容提供商相关联的本机在线应用程序,并且缺少对所述内容项的所述内容中的至少一个内容或与所述内容项相关联的所述特征中的一个或多个特征的本机支持,所述本地应用程序呈现所述内容项的所述内容作为所述智能指针的所述渲染实例的一部分,而无需在呈现所述内容之前转换所述内容。
4.根据权利要求1所述的方法,其中呈现所述内容项的所述内容作为所述智能指针的所述渲染实例的一部分包括通过所述智能指针、所述本地应用程序或所述内容管理系统中的至少一者来提供对与所述内容项相关联的所述特征的访问和支持。
5.根据权利要求4所述的方法,其中所述特征包括一个或多个协作功能,所述一个或多个协作功能包括用于以下至少一者的功能:对所述内容项的所述内容的活动评论、处理所述内容项的用户账户之间的双向通信或访问与处理所述内容项的用户账户相关联的用户活动。
6.根据权利要求1所述的方法,还包括:
使用所述本地应用程序对所述智能指针执行文件系统操作;以及
从所述本地应用程序向所述云内容提供商传播与所述文件系统操作相关联的一个或多个改变,所述一个或多个改变包括存储在所述云内容提供商上的所述内容项的修改、存储在所述云内容提供商上的所述内容项的所述内容的副本的修改或者与所述内容项相关联并存储在所述云内容提供商上的元数据的修改中的至少一者。
7.根据权利要求1所述的方法,其中所述元数据包括添加到所述内容项的第一评论,所述方法还包括:
在所述本地应用程序上,通过所述智能指针的所述渲染实例呈现所述第一评论;
所述本地应用程序从与所述本地应用程序相关联的客户端设备接收添加到所述智能指针的所述渲染实例的第二评论;以及
从所述本地应用程序向所述云内容提供商传播对存储在所述云内容提供商上的所述内容项的所述第二评论。
8.根据权利要求1所述的方法,还包括:
从所述云内容提供商接收与存储在所述云内容提供商上的所述内容项相关联的数据,所述数据包括所述内容项的所述内容的一个或多个部分;
响应于搜索请求,在所述内容管理系统处注册的用户账户上搜索所述内容的所述一个或多个部分的索引数据,所述用户账户包含存储在所述内容管理系统上的多个内容项,并且所述索引数据包括与所述内容项相关联的所述数据;以及
在客户端设备上的所述本地应用程序处呈现搜索结果。
9.根据权利要求1所述的方法,其中所述元数据包括所述内容项的预览或与所述内容项相关联的用户活动的指示中的至少一者,所述用户活动包括一个或多个用户账户与所述内容项之间的一个或多个交互,所述方法还包括:
在所述本地应用程序处呈现所述内容项的所述预览和与所述内容项相关联的所述用户活动中的至少一者,所述用户活动呈现在所述智能指针的所述渲染实例、活动提要或通知消息中的至少一者内。
10.根据权利要求1所述的方法,还包括:
从所述内容管理系统接收由所述内容管理系统支持的一个或多个附加特征并向所述智能指针提供附加功能,所述一个或多个附加特征包括访问许可、与在所述内容管理系统处注册的一个或多个用户账户相关联的组织设置或共享特征中的至少一者。
11.一种用于跨平台集成云内容项的计算设备,包括:
一个或多个处理器;和
至少一种非暂态计算机可读介质,其中存储有指令,所述指令在由所述一个或多个处理器执行时,使得所述计算设备:
从本地应用程序接收用于访问存储在内容管理系统处的智能指针的第一请求,所述智能指针包括存储在云内容提供商处的内容项的表示,其中所述内容项的内容和特征被设计用于通过与所述云内容提供商相关联的本机在线应用程序进行访问,所述内容项包括基于云的内容项或云备份的内容项;
响应于所述智能指针被调用,从本地应用程序向所述云内容提供商发送对所述内容项的所述内容和所述特征的第二请求;
在所述本地应用程序处并且从所述云内容提供商接收所述内容项的所述内容和用于启用所述内容项的所述特征的元数据;以及
响应于接收到所述内容项的所述内容和所述元数据,由所述本地应用程序提供所述内容项的所述内容和所述特征作为所述智能指针的渲染实例的一部分,所述特征基于所述元数据提供。
12.根据权利要求11所述的计算设备,其中所述第二请求包括以下中的至少一者:(1)认证信息;(2)与所述智能指针或所述内容项中的至少一者相关联的唯一标识符;或者(3)在所述内容管理系统处配置用于所述智能指针的访问许可,其中所述智能指针存储在用户账户处,所述用户账户在所述内容管理系统上注册并且所述内容存储在所述云内容提供商处,其中所述本地应用程序与所述本机在线应用程序不同并且缺少对所述内容项的所述内容或所述特征中的至少一者的本机支持,所述本地应用程序呈现所述内容作为所述智能指针的所述渲染实例的一部分,而无需在呈现所述内容之前转换所述内容。
13.根据权利要求11所述的计算设备,其中呈现所述内容项的所述内容包括:通过所述智能指针、所述本地应用程序或所述内容管理系统中的至少一者来提供对与所述内容项相关联的所述特征的访问和支持,其中所述特征包括一个或多个协作功能,所述一个或多个协作功能包括对所述内容项的所述内容的活动评论、处理所述内容项的用户账户之间的双向通信或访问与处理所述内容项的用户账户相关联的用户活动中的至少一者。
14.根据权利要求11所述的计算设备,其中所述至少一种非暂态计算机可读介质存储指令,所述指令在由所述一个或多个处理器执行时,使得所述计算设备:
使用所述本地应用程序对所述智能指针执行文件系统操作;以及
从所述本地应用程序向所述云内容提供商传播与在所述智能指针上执行的所述文件系统操作相关联的一个或多个改变,所述一个或多个改变包括存储在所述云内容提供商上的所述内容项的修改、所述内容项的所述内容的修改或者与所述内容项相关联的元数据的修改中的至少一者。
15.根据权利要求11所述的计算设备,其中所述元数据包括添加到所述内容项的第一评论,其中所述至少一种非暂态计算机可读介质存储附加指令,所述附加指令在由所述一个或多个处理器执行时,使得所述计算设备:
基于所述元数据,所述本地应用程序通过所述智能指针的所述渲染实例呈现所述第一评论;
所述本地应用程序从所述计算设备接收添加到所述智能指针的所述渲染实例的第二评论;以及
从所述本地应用程序向所述云内容提供商传播对存储在所述云内容提供商上的所述内容项的所述第二评论。
16.根据权利要求11所述的计算设备,其中所述至少一种非暂态计算机可读介质存储附加指令,所述附加指令在由所述一个或多个处理器执行时,使得所述计算设备:
从所述云内容提供商接收与存储在所述云内容提供商上的所述内容项相关联的数据,所述数据包括所述内容项的所述内容的一个或多个部分;
响应于与所述数据相关联的搜索请求,在所述内容管理系统处注册的用户账户上搜索所述内容的所述一个或多个部分的索引数据,所述用户账户包含存储在所述内容管理系统上的多个内容项,其中所述索引数据包括与所述内容项相关联的所述数据;以及
在所述本地应用程序处呈现搜索结果。
17.根据权利要求11所述的计算设备,其中所述元数据包括所述内容项的预览或与所述内容项相关联的用户活动的指示中的至少一者,所述用户活动包括一个或多个用户账户与所述内容项之间的一个或多个交互,其中所述至少一种非暂态计算机可读介质存储附加指令,所述附加指令在由所述一个或多个处理器执行时,使得所述计算设备:
基于所述元数据,由所述本地应用程序呈现所述内容项的所述预览或与所述内容项相关联的所述用户活动中的至少一者,所述用户活动呈现在所述智能指针的所述渲染实例、活动提要或通知消息中的至少一者内。
18.一种非暂态计算机可读介质,所述非暂态计算机可读介质包括指令,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器:
接收用于访问存储在内容管理系统处的智能指针的第一请求,所述智能指针包括存储在云内容提供商处的内容项的表示,其中所述内容项的内容和特征被设计用于通过与所述云内容提供商相关联的本机在线应用程序进行访问,所述内容项包括基于云的内容项或云备份的内容项;
响应于所述智能指针被调用,从本地应用程序向所述云内容提供商发送对所述内容项的所述内容和所述特征的第二请求;
在所述本地应用程序处并且从所述云内容提供商接收所述内容项的所述内容和用于启用所述内容项的所述特征的元数据;以及
响应于接收到所述内容项的所述内容和所述元数据,由所述本地应用程序提供所述内容项的所述内容和所述特征作为所述智能指针的渲染实例的一部分。
19.根据权利要求18所述的非暂态计算机可读介质,其中所述第二请求包括以下中的至少一者:(1)认证信息;(2)与所述智能指针或所述内容项中的至少一者相关联的唯一标识符;或者(3)配置用于所述智能指针的访问许可,其中所述智能指针存储在所述内容管理系统上的用户账户处并且所述内容存储在所述云内容提供商处,其中所述本地应用程序与所述本机在线应用程序不同,并且缺少对所述内容项的所述内容中的至少一个内容或与所述内容项相关联的所述特征中的一个或多个特征的本机支持。
20.根据权利要求19所述的非暂态计算机可读介质,其中提供所述内容项的所述内容和所述特征包括:通过所述智能指针、所述本地应用程序或所述内容管理系统中的至少一者来提供对所述特征的访问和支持,所述本地应用程序呈现所述内容项的所述内容作为所述智能指针的所述渲染实例的一部分,而无需在呈现之前转换所述内容。
CN201980057741.4A 2018-11-06 2019-10-23 跨平台集成云内容项的技术 Active CN112654973B (zh)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201862756367P 2018-11-06 2018-11-06
US62/756,367 2018-11-06
US16/582,425 US10657228B1 (en) 2018-11-06 2019-09-25 Technologies for integrating cloud content items across platforms
US16/582,809 2019-09-25
US16/582,674 2019-09-25
US16/582,361 US10664319B1 (en) 2018-11-06 2019-09-25 Technologies for integrating cloud content items across platforms
US16/582,685 US11194766B2 (en) 2018-11-06 2019-09-25 Technologies for integrating cloud content items across platforms
US16/582,809 US11194767B2 (en) 2018-11-06 2019-09-25 Technologies for integrating cloud content items across platforms
US16/582,361 2019-09-25
US16/582,674 US11100053B2 (en) 2018-11-06 2019-09-25 Technologies for integrating cloud content items across platforms
US16/582,685 2019-09-25
US16/582,455 US10754827B2 (en) 2018-11-06 2019-09-25 Technologies for integrating cloud content items across platforms
US16/582,425 2019-09-25
US16/582,455 2019-09-25
PCT/US2019/057636 WO2020096777A1 (en) 2018-11-06 2019-10-23 Technologies for integrating cloud content items across platforms

Publications (2)

Publication Number Publication Date
CN112654973A CN112654973A (zh) 2021-04-13
CN112654973B true CN112654973B (zh) 2022-04-01

Family

ID=70457847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980057741.4A Active CN112654973B (zh) 2018-11-06 2019-10-23 跨平台集成云内容项的技术

Country Status (6)

Country Link
US (10) US11100053B2 (zh)
EP (1) EP3824395A1 (zh)
JP (1) JP7089115B2 (zh)
CN (1) CN112654973B (zh)
AU (2) AU2019375859B2 (zh)
WO (1) WO2020096777A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL2202080T3 (pl) 2008-12-25 2012-07-31 Brother Ind Ltd Drukarka taśmowa
ATE545513T1 (de) 2008-12-25 2012-03-15 Brother Ind Ltd Banddrucker
ATE544604T1 (de) 2009-06-10 2012-02-15 Brother Ind Ltd Drucker
JP5093265B2 (ja) 2010-02-26 2012-12-12 ブラザー工業株式会社 テープカセット
EP2550629A4 (en) * 2010-03-23 2017-01-11 Nokia Technologies Oy Method and apparatus for managing files in an online account
US10108688B2 (en) 2015-12-22 2018-10-23 Dropbox, Inc. Managing content across discrete systems
US10872061B2 (en) 2016-12-08 2020-12-22 Exterro, Inc. Systems and methods for document search and aggregation with reduced bandwidth and storage demand
US11295060B2 (en) * 2017-12-12 2022-04-05 Google Llc Managing comments on binary files preview view in a cloud-based environment
US11100053B2 (en) * 2018-11-06 2021-08-24 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11303641B2 (en) * 2019-05-07 2022-04-12 Citrix Systems, Inc. Methods and systems for accessing remotely stored files using virtual applications
US11720291B2 (en) 2019-05-07 2023-08-08 Citrix Systems, Inc. Methods and systems for accessing remotely stored files using virtual applications
US10999355B1 (en) 2020-01-28 2021-05-04 Snowflake Inc. System and method for global data sharing
US11151229B1 (en) * 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology
US10873852B1 (en) * 2020-04-10 2020-12-22 Avila Technology, LLC POOFster: a secure mobile text message and object sharing application, system, and method for same
US11606362B2 (en) * 2020-05-27 2023-03-14 Microsoft Technology Licensing, Llc Privacy-preserving composite views of computer resources in communication groups
US11818114B2 (en) * 2020-06-12 2023-11-14 Strata Identity, Inc. Systems, methods, and storage media for synchronizing identity information across identity domains in an identity infrastructure
US11249715B2 (en) 2020-06-23 2022-02-15 Switchboard Visual Technologies, Inc. Collaborative remote interactive platform
US11233845B1 (en) 2020-07-06 2022-01-25 Oracle International Corporation Centralized approach for managing cross-service data of cloud resources
US11503103B2 (en) 2020-07-29 2022-11-15 Vmware, Inc. Using a smart link to access a digital resource
WO2022047532A1 (en) * 2020-09-03 2022-03-10 Stockphoto.com Pty Ltd Content distribution
US11782822B2 (en) * 2021-01-05 2023-10-10 Contentful GmbH Templates for content spaces in a content management system
US11080294B1 (en) * 2021-02-03 2021-08-03 Adlumin, Inc. Systems and methods for data analytics
US11175972B1 (en) * 2021-02-24 2021-11-16 Contentful GmbH Application framework for integrating APPs for editing content of a content management system
US11435994B1 (en) * 2021-07-01 2022-09-06 People Center, Inc. Multi-platform application integration and data synchronization
US11868706B1 (en) * 2021-12-13 2024-01-09 Notion Labs, Inc. System, method, and computer program for syncing content across workspace pages
US12007952B2 (en) * 2021-12-14 2024-06-11 Ctera Networks Ltd. System and method for direct object to file mapping in a global filesystem
CN114257441B (zh) * 2021-12-17 2023-12-15 北京字跳网络技术有限公司 一种基于云文档组件的数据处理方法及装置
US11687701B1 (en) 2022-01-21 2023-06-27 Notion Labs, Inc. System, method, and computer program for enabling text editing across multiple content blocks in a system
US11954185B2 (en) * 2022-03-23 2024-04-09 Synamedia Limited Methods, devices, and systems for preventing rendering content from CDN to unauthorized users
US11922116B2 (en) * 2022-04-11 2024-03-05 Contentful GmbH Annotations in a content model of a content management system
US11695772B1 (en) * 2022-05-03 2023-07-04 Capital One Services, Llc System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user
US11960494B1 (en) * 2022-06-16 2024-04-16 Databricks, Inc. Fetching query results through cloud object stores
WO2024102138A1 (en) * 2022-11-11 2024-05-16 Rakuten Symphony Singapore Pte. Ltd. Systems and methods for boundless file transfer
US11973748B1 (en) * 2023-10-30 2024-04-30 Snowflake Inc. Token-based secure database query result sharing

Family Cites Families (351)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61279916A (ja) 1985-06-05 1986-12-10 Ricoh Co Ltd デ−タ編集方式
JPH0628118B2 (ja) 1986-07-04 1994-04-13 株式会社富士通ゼネラル ビデオテ−プレコ−ダのリ−ル駆動モ−ド切替え機構
AU6022094A (en) 1993-06-03 1995-01-03 Taligent, Inc. Place object system
US5781732A (en) * 1996-06-20 1998-07-14 Object Technology Licensing Corp. Framework for constructing shared documents that can be collaboratively accessed by multiple users
US5978836A (en) 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6219407B1 (en) 1998-01-16 2001-04-17 International Business Machines Corporation Apparatus and method for improved digit recognition and caller identification in telephone mail messaging
JP2000060803A (ja) 1998-08-21 2000-02-29 Terumo Corp 血糖値情報処理システム
US6839741B1 (en) 1998-09-29 2005-01-04 Mci, Inc. Facility for distributing and providing access to electronic mail message attachments
US6505236B1 (en) 1999-04-30 2003-01-07 Thinmail, Inc. Network-based mail attachment storage system and method
US6828992B1 (en) 1999-11-04 2004-12-07 Koninklijke Philips Electronics N.V. User interface with dynamic menu option organization
US20110165471A9 (en) 1999-11-23 2011-07-07 Sion Power Corporation Protection of anodes for electrochemical cells
JP2001202405A (ja) 2000-01-17 2001-07-27 Fuji Xerox Co Ltd タスク関与者間のコミュニケーション機能を有するプロジェクト管理装置およびプロジェクト管理方法
US7865394B1 (en) 2000-04-17 2011-01-04 Alterian, LLC Multimedia messaging method and system
US6697838B1 (en) 2000-05-03 2004-02-24 Software Leader, Llc Method and system for annotating information resources in connection with browsing, in both connected and disconnected states
JP2001331614A (ja) 2000-05-19 2001-11-30 Sony Corp ネットワーク会議システム及び議事録作成方法、会議管理サーバ及び議事録作成方法
US8196029B1 (en) * 2000-06-21 2012-06-05 Microsoft Corporation System and method for enabling simultaneous multi-user electronic document editing
AU2001296866A1 (en) 2000-09-05 2002-03-22 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US7039678B1 (en) 2000-09-07 2006-05-02 Axis Mobile, Ltd. E-mail proxy
US7689510B2 (en) 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US8707185B2 (en) 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US6970906B1 (en) 2000-10-30 2005-11-29 Nortel Networks Limited Voice mail caller identification
US20020078101A1 (en) 2000-11-20 2002-06-20 Chang William Ho Mobile and pervasive output client device
JP3798620B2 (ja) 2000-12-04 2006-07-19 富士通株式会社 半導体装置の製造方法
US7430535B2 (en) 2001-01-27 2008-09-30 General Electric Capital Corporation Methods and systems for identifying prospective customers and managing deals
JP2002244988A (ja) 2001-02-16 2002-08-30 Fuji Xerox Co Ltd 協調作業支援システム
US20020120485A1 (en) 2001-02-28 2002-08-29 Nancy Kirkconnell-Ewing System and method for aiding customers in defining problems and finding solutions
JP4390402B2 (ja) 2001-03-29 2009-12-24 富士通株式会社 知識情報管理方法、知識情報利用方法および知識情報管理装置
US20030046134A1 (en) 2001-08-28 2003-03-06 Frolick Harry A. Web-based project management system
US20090030948A9 (en) 2001-08-31 2009-01-29 Lipman L K Method and apparatus for matter-centric document management
US6595642B2 (en) 2001-08-31 2003-07-22 Adaptive Optics Associates, Inc. Ophthalmic instrument having Hartmann wavefront sensor with extended source
JP3821367B2 (ja) 2001-12-11 2006-09-13 ソニー株式会社 チャット提供システム、情報処理装置および方法、並びにプログラム
US20030135565A1 (en) 2002-01-14 2003-07-17 Julio Estrada Electronic mail application with integrated collaborative space management
JP2003256323A (ja) 2002-02-27 2003-09-12 Fujitsu Ltd サービス統合システム、サービス統合装置、およびサービス統合プログラム
US20110301982A1 (en) 2002-04-19 2011-12-08 Green Jr W T Integrated medical software system with clinical decision support
JP2004013267A (ja) 2002-06-04 2004-01-15 Hitachi Ltd 情報共有システムと情報共有方法およびプログラム
US20040225647A1 (en) 2003-05-09 2004-11-11 John Connelly Display system and method
US7266553B1 (en) 2002-07-01 2007-09-04 Microsoft Corporation Content data indexing
JP2004046796A (ja) 2002-07-15 2004-02-12 Seiko Epson Corp ディレクトリ管理プログラム、オブジェクト表示プログラム、ディレクトリ管理方法及びディレクトリ管理装置
US20110119353A1 (en) 2002-08-06 2011-05-19 Tsao Sheng Tai Ted Method and Apparatus for information exchange over a web based environment
US20080091761A1 (en) 2002-08-06 2008-04-17 Stt Webos, Inc. Method and apparatus for information exchange over a web based environment
US20120079389A1 (en) 2002-08-06 2012-03-29 Tsao Sheng Tai Ted Method and Apparatus For Information Exchange Over a Web Based Environment
US8272020B2 (en) 2002-08-17 2012-09-18 Disney Enterprises, Inc. System for the delivery and dynamic presentation of large media assets over bandwidth constrained networks
US7386535B1 (en) 2002-10-02 2008-06-10 Q.Know Technologies, Inc. Computer assisted and/or implemented method for group collarboration on projects incorporating electronic information
US7818678B2 (en) 2002-10-31 2010-10-19 Litera Technology Llc Collaborative document development and review system
US20040162878A1 (en) 2002-11-22 2004-08-19 Lewis Michael Pescatello System and method to facilitate real-time communications and content sharing among users over a network
JP4259109B2 (ja) 2002-12-20 2009-04-30 日産自動車株式会社 エンジンの燃料噴射制御装置
US7292585B1 (en) 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
CA2515488C (en) 2003-02-10 2013-04-16 Raindance Communications, Inc. Methods and apparatus for providing egalitarian control in a multimedia collaboration session
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US7930350B2 (en) 2003-03-05 2011-04-19 Canon U.S.A., Inc. Digital image sharing enabled chat application
US7543237B2 (en) 2003-03-19 2009-06-02 Accenture Global Servicecs Gmbh Dynamic collaboration assistant
US20040187140A1 (en) 2003-03-21 2004-09-23 Werner Aigner Application framework
US20050114784A1 (en) 2003-04-28 2005-05-26 Leslie Spring Rich media publishing
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
JP3956901B2 (ja) 2003-06-03 2007-08-08 村田機械株式会社 電子掲示板機能を備えたサーバ装置
KR100546355B1 (ko) 2003-07-28 2006-01-26 삼성전자주식회사 국부 단차 형성용 삽입 패드를 구비하는 cmp 장치
US20050028008A1 (en) 2003-07-29 2005-02-03 Kumar Anil N. System for accessing digital assets
US20050222931A1 (en) 2003-08-27 2005-10-06 Ascential Software Corporation Real time data integration services for financial information data integration
US7734690B2 (en) 2003-09-05 2010-06-08 Microsoft Corporation Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system
US8805878B2 (en) 2003-10-08 2014-08-12 Open Text S.A. System and method for managing enterprise-level interrelated site, channel, and content objects
US7567987B2 (en) 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
US8627489B2 (en) 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
US20050097440A1 (en) 2003-11-04 2005-05-05 Richard Lusk Method and system for collaboration
US8250150B2 (en) 2004-01-26 2012-08-21 Forte Internet Software, Inc. Methods and apparatus for identifying and facilitating a social interaction structure over a data packet network
US8316128B2 (en) 2004-01-26 2012-11-20 Forte Internet Software, Inc. Methods and system for creating and managing identity oriented networked communication
JP2005293239A (ja) 2004-03-31 2005-10-20 Fujitsu Ltd 情報共有装置及び情報共有方法
US7774378B2 (en) 2004-06-04 2010-08-10 Icentera Corporation System and method for providing intelligence centers
JP4069905B2 (ja) * 2004-06-28 2008-04-02 コニカミノルタビジネステクノロジーズ株式会社 共有ファイル管理システムおよびサーバー
US20060020904A1 (en) 2004-07-09 2006-01-26 Antti Aaltonen Stripe user interface
SG119242A1 (en) 2004-07-30 2006-02-28 Third Sight Pte Ltd Method of populating a collaborative workspace anda system for providing the same
US20060080432A1 (en) 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
JP4432698B2 (ja) 2004-09-22 2010-03-17 富士ゼロックス株式会社 添付文書処理用コンピュータプログラムならびに添付文書処理装置および方法
US20060101443A1 (en) 2004-10-25 2006-05-11 Jim Nasr Source code management system and method
US7140536B2 (en) 2004-12-20 2006-11-28 Microsoft Corporation Method and system for highlighting modified content in a shared document
JP4581684B2 (ja) 2004-12-28 2010-11-17 富士ゼロックス株式会社 進捗管理支援システム
DE102005016815A1 (de) 2005-04-07 2006-10-12 Deutsche Telekom Ag Verfahren zum Betrieb, insbesondere zum Erstellen einer Datenbank
US7693958B2 (en) 2005-06-20 2010-04-06 Microsoft Corporation Instant messaging with data sharing
US20070005449A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Optimized retail application user interface and architecture
KR100738541B1 (ko) 2005-08-30 2007-07-11 삼성전자주식회사 사용자 인터페이스를 위한 동적 메뉴 구성 장치 및 그 방법
JP4826177B2 (ja) 2005-09-02 2011-11-30 富士ゼロックス株式会社 協調作業場作成支援のためのプログラム、方法及び装置
US20070067726A1 (en) 2005-09-16 2007-03-22 Microsoft Corporation Content sharing user interface for mobile devices
US20090131116A1 (en) 2005-10-26 2009-05-21 Shinichi Tsuchiya Electronic device and program
US20070100829A1 (en) 2005-10-26 2007-05-03 Allen J V Content manager system and method
US7774710B2 (en) 2005-12-28 2010-08-10 Sap Ag Automatic sharing of online resources in a multi-user computer system
US8015491B2 (en) 2006-02-28 2011-09-06 Maven Networks, Inc. Systems and methods for a single development tool of unified online and offline content providing a similar viewing experience
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US7873610B2 (en) 2006-05-26 2011-01-18 Andrew S Poulsen Meta-configuration of profiles
US20070277098A1 (en) 2006-05-26 2007-11-29 Elad Shahar Method and System for Presentation of Information Postings to Prompt Reflection
JP4946189B2 (ja) 2006-06-13 2012-06-06 富士ゼロックス株式会社 アノテーション情報配信プログラム及びアノテーション情報配信装置
US20080028323A1 (en) 2006-07-27 2008-01-31 Joshua Rosen Method for Initiating and Launching Collaboration Sessions
US20080040388A1 (en) 2006-08-04 2008-02-14 Jonah Petri Methods and systems for tracking document lineage
US20080059539A1 (en) * 2006-08-08 2008-03-06 Richard Chin Document Collaboration System and Method
US8655916B2 (en) 2006-09-22 2014-02-18 Yahoo! Inc. System and method for creating user profiles
US7870206B2 (en) 2006-11-17 2011-01-11 International Business Machines Corporation Method, computer program product, and user interface for making non-shared linked documents in electronic messages accessible to recipients
US20080140732A1 (en) 2006-12-11 2008-06-12 Bentley System, Inc. Method and system for sharing file based data
US8856289B2 (en) 2006-12-29 2014-10-07 Prodea Systems, Inc. Subscription management of applications and services provided through user premises gateway devices
US9214001B2 (en) 2007-02-13 2015-12-15 Aspect Software Inc. Automatic contact center agent assistant
US7721946B2 (en) 2007-02-21 2010-05-25 Orlando Peccora Senior citizen communication system
US20090064284A1 (en) 2007-02-26 2009-03-05 Pado Metaware Ab Method and System for Access to Material on a Web Site
US7996774B1 (en) 2007-02-28 2011-08-09 Emc Corporation Hierarchical display of project information in a collaboration environment
US20080256458A1 (en) 2007-04-02 2008-10-16 Siemens Medical Solutions Usa, Inc. Data Access Control System for Shared Directories and Other Resources
US8433693B2 (en) 2007-04-02 2013-04-30 Microsoft Corporation Locking semantics for a storage system based on file types
US7933889B2 (en) 2007-05-15 2011-04-26 Palo Alto Research Center Incorporated Method and system for metadata-driven document management and access control
US20090043733A1 (en) 2007-08-06 2009-02-12 Orchestral Developments Limited Systems and methods for efficiently storing, retrieving and querying data structures in a relational database system
JP2009069899A (ja) 2007-09-10 2009-04-02 Ricoh Co Ltd オブジェクト文書作成システム
US8122015B2 (en) 2007-09-21 2012-02-21 Microsoft Corporation Multi-ranker for search
US8595642B1 (en) 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
CN101465958A (zh) 2007-12-17 2009-06-24 鸿富锦精密工业(深圳)有限公司 菜单管理系统及方法
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
US9584343B2 (en) 2008-01-03 2017-02-28 Yahoo! Inc. Presentation of organized personal and public data using communication mediums
US9166954B2 (en) 2008-02-29 2015-10-20 Adobe Systems Incorporated Document-authorized access to a shared workspace
JP5233505B2 (ja) 2008-03-17 2013-07-10 株式会社リコー 共同作業支援装置、共同作業支援システム、共同作業支援方法、プログラムおよび記録媒体
US20100151431A1 (en) 2008-03-27 2010-06-17 Knowledge Athletes, Inc. Virtual learning
US8225331B2 (en) 2008-05-09 2012-07-17 Oracle International Corporation Providing interface support for application workspace persistence
US8341532B2 (en) 2008-06-10 2012-12-25 Microsoft Corporation Automated set-up of a collaborative workspace
US8543926B2 (en) 2008-06-10 2013-09-24 Microsoft Corporation Managing item access in a collaborative workspace
JP2010033269A (ja) 2008-07-28 2010-02-12 Canon Inc 文書管理システム、文書管理方法、及びコンピュータプログラム
US20100082713A1 (en) 2008-09-30 2010-04-01 Soonr Method and system for attaching files to e-mail from backup copies remotely stored
US8214747B1 (en) 2008-10-10 2012-07-03 Adobe Systems Incorporated Role based state and dynamic feature enablement for collaborative and non-collaborative workspaces and imbeded applications
US20100095198A1 (en) 2008-10-15 2010-04-15 Apple Inc. Shared comments for online document collaboration
US8245141B1 (en) 2008-10-29 2012-08-14 Cisco Technology, Inc. Hierarchical collaboration policies in a shared workspace environment
JP4782822B2 (ja) 2008-12-02 2011-09-28 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ交換装置、メッセージ交換方法、及び、メッセージ交換プログラム
JP4844636B2 (ja) 2009-01-13 2011-12-28 コニカミノルタビジネステクノロジーズ株式会社 文書管理システム、文書管理方法および文書管理プログラム
US20100211621A1 (en) 2009-02-19 2010-08-19 Yahoo! Inc. Web-based organization of online advertising content
WO2010102296A1 (en) 2009-03-06 2010-09-10 Exactarget, Inc. System and method for controlling access to aspects of an electronic messaging campaign
US20150026260A1 (en) 2009-03-09 2015-01-22 Donald Worthley Community Knowledge Management System
US8214763B2 (en) 2009-03-24 2012-07-03 International Business Machines Corporation Auto-positioning a context menu on a GUI
US8352432B2 (en) 2009-03-31 2013-01-08 Commvault Systems, Inc. Systems and methods for normalizing data of heterogeneous data sources
US20100262435A1 (en) 2009-04-10 2010-10-14 Fusion Global Llc. Targeted health care content delivery system
US20160132529A1 (en) 2009-04-24 2016-05-12 Swish Data Corporation Systems and methods for cloud safe storage and data retrieval
EP2433243A4 (en) 2009-05-20 2013-12-18 Redcliff Investments L L C SECURE WORKFLOW AND DATA MANAGEMENT APPLICATION
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US20110022662A1 (en) 2009-07-23 2011-01-27 International Business Machines Corporation Event triggered notifications for collaborative processes
US9086928B2 (en) * 2009-08-31 2015-07-21 Accenture Global Services Limited Provisioner within cloud console—defining images of an enterprise to be operable on different cloud computing providers
KR20110066612A (ko) 2009-12-11 2011-06-17 엘지전자 주식회사 전자 기기 및 이를 이용한 정보 제공 방법
US20110161795A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Inter-application document access
US8666826B2 (en) 2010-02-12 2014-03-04 Microsoft Corporation Social network media sharing with client library
US8977661B2 (en) 2010-02-22 2015-03-10 Sookasa Inc. System, method and computer readable medium for file management
US20110214088A1 (en) 2010-02-26 2011-09-01 Research In Motion Limited Automatic scrolling of electronic messages
EP2550629A4 (en) 2010-03-23 2017-01-11 Nokia Technologies Oy Method and apparatus for managing files in an online account
US8726305B2 (en) 2010-04-02 2014-05-13 Yahoo! Inc. Methods and systems for application rendering and management on internet television enabled displays
WO2011125065A1 (en) 2010-04-05 2011-10-13 Tata Consultancy Services Limited System and method for sharing data between occasionally connected devices and remote global database
US9235268B2 (en) 2010-04-09 2016-01-12 Nokia Technologies Oy Method and apparatus for generating a virtual interactive workspace
US8700719B1 (en) 2010-05-18 2014-04-15 Google Inc. Embedded applications with access to attachments in hosted conversations
US8655943B2 (en) 2010-05-31 2014-02-18 Oracle International Corporation Web server providing access to documents having multiple versions
US8489676B1 (en) 2010-06-30 2013-07-16 Symantec Corporation Technique for implementing seamless shortcuts in sharepoint
WO2012015920A2 (en) * 2010-07-28 2012-02-02 Admiemobile Llc Systems and methods for establishing and maintaining virtual computing clouds
US20130305165A1 (en) 2012-05-10 2013-11-14 Thomas Zuber System and method for folder conduits
US9031957B2 (en) 2010-10-08 2015-05-12 Salesforce.Com, Inc. Structured data in a business networking feed
US8438185B2 (en) 2010-11-17 2013-05-07 Hitachi, Ltd. File storage apparatus and access control method
US8756221B2 (en) 2010-12-03 2014-06-17 Salesforce.Com, Inc. Social files
US9165285B2 (en) 2010-12-08 2015-10-20 Microsoft Technology Licensing, Llc Shared attachments
US20120182384A1 (en) 2011-01-17 2012-07-19 Anderson Eric C System and method for interactive video conferencing
US10554426B2 (en) 2011-01-20 2020-02-04 Box, Inc. Real time notification of activities that occur in a web-based collaboration environment
US9367530B2 (en) 2011-01-21 2016-06-14 Jive Software Distributed document co-authoring and processing
US9721033B2 (en) 2011-02-28 2017-08-01 Micro Focus Software Inc. Social networking content management
CA2802739C (en) 2011-04-11 2014-08-12 Scribble Technologies Inc. System and method for syndicating dynamic content for online publication
US20120290926A1 (en) * 2011-05-12 2012-11-15 Infinote Corporation Efficient document management and search
US8544070B2 (en) * 2011-05-16 2013-09-24 Novell, Inc. Techniques for non repudiation of storage in cloud or shared storage environments
US8881129B1 (en) 2011-05-24 2014-11-04 Okta, Inc. Updating integration metadata in a multi-tenant system
US10963584B2 (en) 2011-06-08 2021-03-30 Workshare Ltd. Method and system for collaborative editing of a remotely stored document
US9049176B2 (en) 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
US9443225B2 (en) 2011-07-18 2016-09-13 Salesforce.Com, Inc. Computer implemented methods and apparatus for presentation of feed items in an information feed to be displayed on a display device
JP6071297B2 (ja) 2011-07-22 2017-02-01 東芝メディカルシステムズ株式会社 医用画像制御システム
US9477530B2 (en) 2011-07-29 2016-10-25 Connectwise, Inc. Automated provisioning and management of cloud services
EP2751032A4 (en) 2011-08-29 2015-06-17 Purdue Research Foundation SOLAR UV DISINFECTION SYSTEM WITH CONTINUOUS FLOW FOR DRINKING WATER
US9436635B1 (en) * 2011-08-30 2016-09-06 Emc Corporation Leases in a heterogenous data environment
US8984536B1 (en) 2011-08-30 2015-03-17 Emc Corporation Heterogeneous data from multiple sources
US10158638B2 (en) 2011-08-31 2018-12-18 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing access to an online social network
US9773284B2 (en) 2011-09-21 2017-09-26 Facebook, Inc. Displaying social networking system user information via a map interface
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US8965958B2 (en) 2011-10-27 2015-02-24 Microsoft Corporation File fetch from a remote client device
CN103095746B (zh) 2011-10-28 2016-08-03 腾讯科技(深圳)有限公司 一种通过微博向群用户发送消息的方法及装置
US9606972B2 (en) 2011-11-09 2017-03-28 Microsoft Technology Licensing, Llc Document collaboration with collaboration context data
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US20130138723A1 (en) 2011-11-30 2013-05-30 Microsoft Corporation Dynamic browser icons
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US9164997B2 (en) 2012-01-19 2015-10-20 Microsoft Technology Licensing, Llc Recognizing cloud content
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
KR101295209B1 (ko) 2012-02-01 2013-09-12 엔에이치엔(주) 클라우드 서버와의 양방향 연동을 통해 파일 공유를 제공하는 그룹 메시징 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
JP5929305B2 (ja) 2012-02-24 2016-06-01 株式会社リコー 通信システム、サーバ、端末、プログラム
US8942369B2 (en) 2012-02-28 2015-01-27 Teletech Holdings, Inc. Method for providing support services using multi-channel navigator and route sequences
US20140208220A1 (en) 2012-03-01 2014-07-24 Aditya Watal System and Method for Contextual and Collaborative Knowledge Generation and Management Through an Integrated Online-Offline Workspace
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9348802B2 (en) 2012-03-19 2016-05-24 Litéra Corporation System and method for synchronizing bi-directional document management
US20130254699A1 (en) 2012-03-21 2013-09-26 Intertrust Technologies Corporation Systems and methods for managing documents and other electronic content
US9307006B2 (en) 2012-04-11 2016-04-05 Salesforce.Com, Inc. System and method for synchronizing data objects in a cloud based social networking environment
US9685160B2 (en) 2012-04-16 2017-06-20 Htc Corporation Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium
US9218539B2 (en) 2012-04-26 2015-12-22 Hewlett-Packard Development Company, L.P. Upload an image to a website server using a pointing device
US20140304836A1 (en) 2012-04-27 2014-10-09 Intralinks, Inc. Digital rights management through virtual container partitioning
US10164979B2 (en) * 2012-05-17 2018-12-25 Apple Inc. Multi-source content generation
US8645466B2 (en) 2012-05-18 2014-02-04 Dropbox, Inc. Systems and methods for displaying file and folder information to a user
US8812464B2 (en) 2012-05-30 2014-08-19 Oracle International Corporation Content management system and method of managing retention and disposition of content items
JP5416806B2 (ja) 2012-06-01 2014-02-12 ニスカ株式会社 シート処理装置及びこれを備えた製本装置並びに画像形成システム
US9241017B2 (en) 2012-07-03 2016-01-19 Salesforce.Com, Inc. Systems and methods for cross domain service component interaction
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9626340B2 (en) 2012-08-28 2017-04-18 Dropbox, Inc. Bookmarking shared file and folder links
US9203926B2 (en) 2012-09-17 2015-12-01 Dropbox, Inc. System and method of creating unique profiles on a social networking site
US10778733B2 (en) 2012-09-18 2020-09-15 Dropbox, Inc. System and method of facilitating communications between members of a social networking group
US11477068B2 (en) 2012-09-27 2022-10-18 Kaseya Limited Data network notification bar user interface
US20140101310A1 (en) 2012-10-04 2014-04-10 Box, Inc. Seamless access, editing, and creation of files in a web interface or mobile interface to a collaborative cloud platform
US10552846B2 (en) 2012-10-12 2020-02-04 Document Security Systems, Inc. Authenticated barcode patterns
US9251114B1 (en) 2012-10-12 2016-02-02 Egnyte, Inc. Systems and methods for facilitating access to private files using a cloud storage system
US8819138B2 (en) 2012-10-29 2014-08-26 Dropbox, Inc. Identifying content items for inclusion in a shared collection
US20140122569A1 (en) 2012-10-30 2014-05-01 Microsoft Corporation Bridging on premise and cloud systems via canonical cache
WO2014068573A1 (en) 2012-10-31 2014-05-08 Aniways Advertising Solutions Ltd. Custom emoticon generation
KR101990074B1 (ko) 2012-11-12 2019-06-17 삼성전자주식회사 전자장치에서 메시지 관리를 위한 방법 및 장치 그리고 메시지 전송 방법 및 장치
WO2014075510A1 (zh) 2012-11-16 2014-05-22 北京奇虎科技有限公司 文件管理方法及装置
US20140156416A1 (en) 2012-12-03 2014-06-05 Google Inc. Previewing, approving and testing online content
US9002962B2 (en) 2012-12-10 2015-04-07 Dropbox, Inc. Saving message attachments to an online content management system
US9703815B2 (en) 2012-12-17 2017-07-11 Salesforce.Com, Inc. Third party files in an on-demand database service
JP5545900B1 (ja) 2013-01-10 2014-07-09 サーキットテクノロジー株式会社 設計支援システム
US9294485B2 (en) 2013-01-27 2016-03-22 Dropbox, Inc. Controlling access to shared content in an online content management system
KR102178845B1 (ko) 2013-01-29 2020-11-13 삼성전자주식회사 햅틱을 제어하는 휴대 단말 및 방법
US9946691B2 (en) 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
KR20150113106A (ko) 2013-01-31 2015-10-07 퀄컴 인코포레이티드 다수의 컴퓨팅 디바이스들에 걸친 정보에 대한 액세스의 제공
US20140222917A1 (en) 2013-02-01 2014-08-07 ID Fusion Software Inc. Sharable Reference to Shared Content in a Cloud Storage
US9310981B2 (en) 2013-02-13 2016-04-12 Dropbox, Inc. Seamless editing and saving of online content items using applications
GB2510874B (en) 2013-02-15 2020-09-16 Ncr Corp Server system supporting remotely managed IT services
US9934241B2 (en) 2013-03-05 2018-04-03 Hightail, Inc. System and method for cloud-based read-only folder synchronization
US20140280484A1 (en) 2013-03-15 2014-09-18 Oliver Klemenz Dynamic Service Extension Infrastructure For Cloud Platforms
US20130218829A1 (en) 2013-03-15 2013-08-22 Deneen Lizette Martinez Document management system and method
US20140289658A1 (en) 2013-03-19 2014-09-25 Daniel Gelernter Methods, systems and apparatuses for managing the presentation of information
US9256341B2 (en) 2013-03-20 2016-02-09 Microsoft Technology Licensing, Llc Tracking changes in collaborative authoring environment
US9300611B2 (en) 2013-03-26 2016-03-29 Dropbox, Inc. Content-item linking system for messaging services
US9106757B2 (en) 2013-03-26 2015-08-11 Lg Uplus Corp. Terminal, server, and method for actively providing information based on communication contents
US20140298207A1 (en) 2013-03-29 2014-10-02 Intertrust Technologies Corporation Systems and Methods for Managing Documents and Other Electronic Content
US10341275B2 (en) 2013-04-03 2019-07-02 Dropbox, Inc. Shared content item commenting
US9836549B2 (en) * 2013-05-12 2017-12-05 Sap Se Collaboration adapter to exploit single-user web applications for collaborative work
KR102079816B1 (ko) 2013-05-14 2020-02-20 삼성전자주식회사 전자장치에서 콘텐츠 큐레이션 서비스를 제공하기 위한 방법 및 장치
US20140358882A1 (en) 2013-05-28 2014-12-04 Broadcom Corporation Device content used to bias a search infrastructure
US20140359465A1 (en) 2013-05-31 2014-12-04 Nubo Software Ltd. Method and Apparatus for Annotated Electronic File Sharing
US20140365263A1 (en) 2013-06-06 2014-12-11 Microsoft Corporation Role tailored workspace
US9607278B2 (en) 2013-06-12 2017-03-28 Cloudon Ltd. Systems and methods for supporting social productivity using relevancy scoring
US9825890B2 (en) 2013-06-12 2017-11-21 Cloudon Ltd. Systems and methods for supporting social productivity using thresholding
US20140372923A1 (en) 2013-06-14 2014-12-18 Microsoft Corporation High Performance Touch Drag and Drop
US9588954B2 (en) * 2013-06-15 2017-03-07 Microsoft Technology Licensing, Llc Application/document collaboration in a multi-device environment
US20150200885A1 (en) 2013-06-28 2015-07-16 Google Inc. Uniform display of linked files and attachments in e-mail messages
US9559996B1 (en) 2013-07-02 2017-01-31 Google Inc. Systems and methods for integrating cloud storage and network service
US9892177B2 (en) 2013-07-11 2018-02-13 Salesforce.Com, Inc. Systems and methods for interacting with external content objects
US10476758B2 (en) 2013-07-11 2019-11-12 Google Llc Systems and methods for providing notifications of changes in a cloud-based file system
US20150025960A1 (en) 2013-07-17 2015-01-22 Salesforce.Com, Inc. Enhanced features for an enterprise level business information networking environment
US9294482B2 (en) 2013-07-25 2016-03-22 Oracle International Corporation External platform extensions in a multi-tenant environment
US9680782B2 (en) 2013-07-29 2017-06-13 Dropbox, Inc. Identifying relevant content in email
US20150039360A1 (en) 2013-07-31 2015-02-05 Yahoo! Inc. Dependency management for enterprise computing
JP2015032092A (ja) 2013-08-01 2015-02-16 株式会社フェイス 会話管理システム、会話管理装置、会話管理方法およびプログラム
US8676913B1 (en) 2013-09-09 2014-03-18 LavaRipples, LLC Discussion-topic, social network systems
US9576071B2 (en) 2013-09-12 2017-02-21 Dropbox, Inc. Graph-based data models for partitioned data
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US20150095799A1 (en) 2013-09-30 2015-04-02 Sheng Tai (Ted) Tsao Method and Apparatus For Information Exchange Over a Web Based Environment
CA2829469A1 (en) 2013-10-07 2015-04-07 Milan Baic Computer system and method for providing a multi-user transaction platform accessible using a mobile device
CN106031127B (zh) 2013-11-08 2020-11-03 瑞典爱立信有限公司 用于应用的管理的方法和装置
US9542391B1 (en) 2013-11-11 2017-01-10 Amazon Technologies, Inc. Processing service requests for non-transactional databases
US20150134751A1 (en) 2013-11-13 2015-05-14 Microsoft Corporation Sharing a file via email
US9514327B2 (en) 2013-11-14 2016-12-06 Intralinks, Inc. Litigation support in cloud-hosted file sharing and collaboration
US9519525B2 (en) 2013-11-14 2016-12-13 Dropbox, Inc. File-level commenting
US20150142742A1 (en) 2013-11-17 2015-05-21 Zhen-Chao HONG System and method for syncing local directories that enable file access across multiple devices
US9398059B2 (en) 2013-11-22 2016-07-19 Dell Products, L.P. Managing information and content sharing in a virtual collaboration session
US9280678B2 (en) 2013-12-02 2016-03-08 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9288283B2 (en) 2013-12-04 2016-03-15 Dropbox, Inc. Systems and methods for managing shared content based on sharing profiles
US20150163179A1 (en) 2013-12-09 2015-06-11 Hewlett-Packard Development Company, L.P. Execution of a workflow that involves applications or services of data centers
TW201526624A (zh) 2013-12-17 2015-07-01 Primax Electronics Ltd 顯示媒體檔案之方法及區域網路系統
US20150188960A1 (en) 2013-12-31 2015-07-02 Mohammad Taj Alhaidar System and method for online media content sharing
US10289390B2 (en) 2014-01-03 2019-05-14 Shadowbox Inc. Interactive multimodal display platform
US10049343B2 (en) 2014-01-29 2018-08-14 International Business Machines Corporation Web content management driven collaborative activities system and method
US20190121518A1 (en) 2014-02-20 2019-04-25 Google Inc. Presentation of Stream Content Related to a Canonical Identifier
US9641488B2 (en) 2014-02-28 2017-05-02 Dropbox, Inc. Advanced security protocol for broadcasting and synchronizing shared folders over local area network
US9898520B2 (en) 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
CN104506527B (zh) * 2014-12-23 2021-12-17 苏州海博智能系统有限公司 多维信息指针平台及其数据访问方法
US10110536B2 (en) 2014-04-21 2018-10-23 Dropbox, Inc. System for managing event notifications to client devices
CN105100170A (zh) 2014-05-21 2015-11-25 浙江海洋学院 多个云存储服务平台的自动云存储同步管理系统及方法
US10013574B2 (en) 2014-06-11 2018-07-03 Bijit Hore Method and apparatus for secure storage and retrieval of encrypted files in public cloud-computing platforms
US9767101B2 (en) 2014-06-20 2017-09-19 Google Inc. Media store with a canonical layer for content
US8959242B1 (en) * 2014-07-02 2015-02-17 Connected Data, Inc. Method of reducing bandwidth required for sharing of files on a server
US10685302B2 (en) 2014-07-31 2020-06-16 Dropbox, Inc. Collaborative task management and completion
US9646010B2 (en) 2014-08-27 2017-05-09 Mokhtarzada Holdings, Llc Method and system for expanding storage capacity of a drive using cloud storage systems
US9892000B2 (en) 2014-08-29 2018-02-13 Dropbox, Inc. Undo changes on a client device
US10630772B2 (en) 2014-09-10 2020-04-21 Panzura, Inc. Maintaining global namespace consistency for a distributed filesystem
US10708273B2 (en) 2014-09-12 2020-07-07 Anthony Tan Pervasive intermediate network attached storage application with asynchronously rendered content
US10282705B2 (en) 2014-09-23 2019-05-07 Dropbox, Inc. Highlighting message addresses
US9306881B1 (en) 2014-09-25 2016-04-05 Glu Mobile Inc. Methods and systems for obscuring text in a conversation
US9727470B1 (en) 2014-09-30 2017-08-08 EMC IP Holding Company LLC Using a local cache to store, access and modify files tiered to cloud storage
US9959280B1 (en) 2014-09-30 2018-05-01 EMC IP Holding Company LLC Garbage collection of data tiered to cloud storage
US9507876B2 (en) 2014-10-06 2016-11-29 Facebook, Inc. Constructing queries using query filters on online social networks
US9785658B2 (en) 2014-10-07 2017-10-10 Sap Se Labelling entities in a canonical data model
US9876849B2 (en) 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers
US20160140139A1 (en) 2014-11-17 2016-05-19 Microsoft Technology Licensing, Llc Local representation of shared files in disparate locations
US9639511B2 (en) 2014-11-24 2017-05-02 Google Inc. Systems and methods for editing a file in a non-native application using an application engine
US9721024B2 (en) 2014-12-19 2017-08-01 Facebook, Inc. Searching for ideograms in an online social network
US20160179855A1 (en) 2014-12-23 2016-06-23 Yahoo! Inc. Ubiquitous content access and management
US9361349B1 (en) 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US20160241509A1 (en) 2015-02-15 2016-08-18 Microsoft Technology Licensing, Llc Method and System for Integrating On-Premise and Cloud Domain Name Systems
CN107409126B (zh) * 2015-02-24 2021-03-09 思科技术公司 用于保护企业计算环境安全的系统和方法
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
US20170024392A1 (en) 2015-03-03 2017-01-26 Jayesh Shah Methods and systems of building intelligent systems to index user content from multiple cloud-computing platforms
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US20160269335A1 (en) 2015-03-13 2016-09-15 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for identifying changed mailboxes in an internet message access protocol (imap) list
US9928377B2 (en) 2015-03-19 2018-03-27 Netskope, Inc. Systems and methods of monitoring and controlling enterprise information stored on a cloud computing service (CCS)
US11347762B2 (en) 2015-03-23 2022-05-31 Dropbox, Inc. Intelligent scrolling in shared folder back integrated workspaces
US10001913B2 (en) 2015-04-01 2018-06-19 Dropbox, Inc. Shared workspaces with selective content item synchronization
US9692826B2 (en) 2015-04-17 2017-06-27 Dropbox, Inc. Collection folder for collecting file submissions via a customizable file request
US9929990B2 (en) * 2015-04-28 2018-03-27 Dropbox, Inc. Inserting content into an application from an online synchronized content management system
US20160328522A1 (en) * 2015-05-08 2016-11-10 YC Wellness, Inc. Integration platform and application interfaces for remote data management and security
US10152489B2 (en) 2015-07-24 2018-12-11 Salesforce.Com, Inc. Synchronize collaboration entity files
US20170046531A1 (en) 2015-08-14 2017-02-16 Strong Bear Llc Data encryption method and system for use with cloud storage
US10296594B1 (en) 2015-12-28 2019-05-21 EMC IP Holding Company LLC Cloud-aware snapshot difference determination
US10620811B2 (en) 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US20170214726A1 (en) * 2016-01-22 2017-07-27 Ricoh Company, Ltd. Open Collaboration Board with Multiple Integrated Services
US10489420B2 (en) 2016-01-29 2019-11-26 M-Files Oy Method, an apparatus and a computer program product for providing mobile access to a data repository
US10452623B2 (en) 2016-01-29 2019-10-22 M-Files Oy Centralized content management system with an intelligent metadata layer, and a method thereof
US9667676B1 (en) * 2016-01-29 2017-05-30 Dropbox, Inc. Real time collaboration and document editing by multiple participants in a content management system
US10079817B2 (en) 2016-02-29 2018-09-18 Dropbox, Inc. Techniques for invite enforcement and domain capture
US10411974B2 (en) * 2016-03-20 2019-09-10 CloudBolt Software Inc. Cloud computing service catalog
US10389770B2 (en) 2016-03-24 2019-08-20 Intel Corporation Concurrent network based collaboration sessions
US10762472B1 (en) 2016-07-27 2020-09-01 Intuit Inc. Methods, systems and computer program products for generating notifications of benefit qualification change
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10686887B2 (en) * 2016-08-31 2020-06-16 Sap Se Accessing resources hosted on different domains
US10185626B2 (en) 2016-09-07 2019-01-22 Microsoft Technology Licensing, Llc Automatic application error detection and rollback
US10445062B2 (en) 2016-09-15 2019-10-15 Oracle International Corporation Techniques for dataset similarity discovery
US20180113870A1 (en) 2016-10-21 2018-04-26 Maria A. Rogers Visual Portfolio Managing Application
CA3046468C (en) * 2016-11-11 2020-11-24 Connectwise, Llc Updating the configuration of a cloud service
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US10185763B2 (en) * 2016-11-30 2019-01-22 Facebook, Inc. Syntactic models for parsing search queries on online social networks
US20180285206A1 (en) 2017-03-29 2018-10-04 Commvault Systems, Inc. Saving operations for files in a network-accessible system
US20180300756A1 (en) 2017-04-17 2018-10-18 Facebook, Inc. Generating creation insights
US20180322510A1 (en) 2017-05-04 2018-11-08 International Business Machines Corporation Visualization and evaluation of capabilities and compliance for information technology platforms
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
US11210353B2 (en) * 2017-06-26 2021-12-28 Nasdaq, Inc. Systems and methods for enterprise web application dashboard management
CA3071965C (en) 2017-08-10 2024-01-16 Shardsecure, Inc. Method for securing data utilizing microshard fragmentation
US10878019B2 (en) 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US10437786B2 (en) 2017-10-21 2019-10-08 Dropbox, Inc. Interoperability between content management system and collaborative content system
US20190205474A1 (en) 2017-12-29 2019-07-04 Facebook, Inc. Mining Search Logs for Query Metadata on Online Social Networks
US10291395B1 (en) * 2018-01-25 2019-05-14 Fortress Cyber Security, LLC Secure storage of data via a distributed ledger system
WO2019178130A1 (en) 2018-03-12 2019-09-19 Twilio Inc. Customizable cloud-based software platform
US10949399B2 (en) 2018-04-16 2021-03-16 Qualtrics, Llc Dynamically synchronizing electronic surveys and collaborative survey representation documents
US10606446B2 (en) 2018-05-04 2020-03-31 David Arthur Yost Computer system with a plurality of work environments where each work environment affords one or more workspaces
US10936342B2 (en) 2018-07-17 2021-03-02 Salesforce.Com, Inc. Method and user interface for data mapping
US11323464B2 (en) * 2018-08-08 2022-05-03 Rightquestion, Llc Artifact modification and associated abuse detection
US20200076862A1 (en) 2018-08-28 2020-03-05 Oblong Industries, Inc. Systems and methods for distributed real-time multi-participant construction, evolution, and apprehension of shared visual and cognitive context
US11418621B2 (en) 2018-09-21 2022-08-16 Microsoft Technology Licensing, Llc Cloud-based composable data layer
US11100053B2 (en) 2018-11-06 2021-08-24 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11112941B2 (en) 2018-11-06 2021-09-07 Dropbox, Inc. Content item creation from desktop tray
US10467426B1 (en) 2018-12-26 2019-11-05 BetterCloud, Inc. Methods and systems to manage data objects in a cloud computing environment
FR3093842B1 (fr) * 2019-03-14 2021-09-10 Amadeus Procédé et système pour optimiser des groupements de machines virtuelles d’une plateforme informatique en nuage
US10715524B1 (en) * 2019-11-14 2020-07-14 Snowflake Inc. External credential-less stages for data warehouse integrations

Also Published As

Publication number Publication date
EP3824395A1 (en) 2021-05-26
US11194766B2 (en) 2021-12-07
US11194767B2 (en) 2021-12-07
US20200265015A1 (en) 2020-08-20
US10929349B2 (en) 2021-02-23
AU2019375859B2 (en) 2021-04-08
US10754827B2 (en) 2020-08-25
JP2021534515A (ja) 2021-12-09
US20210286764A1 (en) 2021-09-16
US20200142750A1 (en) 2020-05-07
US10896154B2 (en) 2021-01-19
US20200145499A1 (en) 2020-05-07
US11100053B2 (en) 2021-08-24
US20200279028A1 (en) 2020-09-03
WO2020096777A1 (en) 2020-05-14
US10657228B1 (en) 2020-05-19
CN112654973A (zh) 2021-04-13
US20200143011A1 (en) 2020-05-07
JP7089115B2 (ja) 2022-06-21
AU2021203780B2 (en) 2022-06-02
US20200142751A1 (en) 2020-05-07
US20200142936A1 (en) 2020-05-07
US20200265014A1 (en) 2020-08-20
US20200142863A1 (en) 2020-05-07
US10664319B1 (en) 2020-05-26
US10838925B2 (en) 2020-11-17
AU2021203780A1 (en) 2021-07-08
US11593314B2 (en) 2023-02-28

Similar Documents

Publication Publication Date Title
CN112654973B (zh) 跨平台集成云内容项的技术
US11855769B2 (en) Accessing content items for meetings through a desktop tray
US11474977B2 (en) Snapshot isolation in a distributed storage system
US11112941B2 (en) Content item creation from desktop tray
JP7074745B2 (ja) 共有コンテンツアイテムに関連するプレゼンス情報を提供するグラフィカルユーザインタフェースの提示
US11113411B2 (en) Authentication security model for a content management system
US11500518B2 (en) Contact cards with dynamic interaction information
US11182348B2 (en) Sharing collections with external teams
US11070500B2 (en) Third-party integration in activity feeds

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
GR01 Patent grant
GR01 Patent grant