用上下文表示向用户呈现项目的系统及方法

文档序号:6475136阅读:129来源:国知局
专利名称:用上下文表示向用户呈现项目的系统及方法
技术领域
本发明一般涉及计算机软件领域,尤其涉及用于向用户显示存储在计算机上的项目的系统和方法。
背景技术
不论信息的格式及位置,向计算机用户提供快速查找及显示信息片断的能力是计算机行业为之奋斗许多年的挑战。今天,随着在日常生活中使用计算机的人数与日俱增,且随着存储在计算机上的信息类型日趋多样化,此问题日显突出。
传统上,如在微软公司的WINDOW98TM中,此存储信息分层方式保存在计算机的数据存储中的是用,该分层方式用保存在文件夹中的信息或媒体文件来组织。虽然此数据存储的方法已被广泛地使用许多年,然而它是有限的,因为某些数据驻留在文件分层结构之外,且用户在搜索希望的信息片断时受到格式和位置的限制。因而,计算机软件的供应商当前正致力于对传统文件分层结构的数据存储替换方案。
这种数据存储替换方案的例子在以下共同拥有、共同提交的待决专利中揭示美国专利申请号(尚未分配)(代理案卷号MSFT-1748),名为“SYSTEM ANDMETHODS FOR REPRESENTING UNITS OF INFORMATION MANAGEABLE BYA HARDWARE/SOFTWARE INTERFACE SYSTEM BUT INDEPENDENT OFPHYSICAL REPRESENTATION(用于表示可由硬件/软件接口系统管理但独立于物理表示的信息单元的系统和方法)”。此共同提交的待决申请在2003年8月21日提交,且揭示了将存储统一成单个数据库的数据存储。此数据库是存储所有数据的地方;只有一种方法向数据库表示数据,且只有一种方法查询数据。通过用此现代数据库技术替代过时的文件系统,数据存储将易于搜索、更可靠、更可访问、以及更加有弹性。
一旦此统一的数据存储就绪,有需要向用户提供与该存储的数据交互的合适的工具和能力。如微软公司的WINDOW2000TM的传统操作系统包括一外壳实用程序,它提供用于查看有关计算机的各种信息的用户界面。该外壳通常包括一文件系统浏览器,使用户能通过文件系统导航,并查找和打开文件和文件夹。例如,微软公司的WINDOWEXPLORERTM是包括在WINDOW2000TM中的文件系统浏览器实用程序。
该外壳还使用户能查看非文件项目,如打印机或字体。此导航是可能的,因为典型的外壳是用特定的功能编程的,以便象它们位于文件系统中那样地显示这些特殊项目。例如,在WINDOW2000TM中,用户能打开位于开始菜单上的设置选项中的“打印机”文件夹。由于打印机是硬件的部分而非文件,打印机的这一图形表示通过利用针对将打印机显示成好象驻留在“打印机”文件夹中那样的自定义代码来实现。然而,使用自定义代码和自定义绘图异常(drawing exception)对开发者而言要实现是复杂的,可以是不可靠的,并降低外壳浏览器的弹性。此外,若对一类数据没有自定义代码或自定义绘图异常就绪,则外壳就不能显示该类型的项目。因而,在向用户显示某些项目时,传统的外壳在能力和灵活性方面受限制。
传统的外壳浏览器的另一个局限是以关系方式显示项目的受限的能力。通常,外壳浏览器用于只以存储项目的分层方式,即在存储在文件夹中的文件内组织的方式来显示项目。例如,若用户希望查看存储在计算上的所有图片文件,则该用户必须将所有这样的图片文件放在同一文件夹中。由于外壳在确定项目之间的关系方面能力有限,因此用户难以在关系驱动的上下文中查看文件。
此外,传统的外壳浏览器在上下文裁剪环境中显示项目组的能力也受限制,这种环境将有关的信息及任务和显示的项目组配对。通过提供那样的配对,开发者能向用户提供在项目中导航必须的适当信息和工具,同时便于完成与项目关联的常用任务。然而,现有技术不允许开发者在不使用自定义代码的情况下提供那样的体验。
通过使用自定义代码在增强环境中呈现的文件的一个例子是包括在微软公司的WINDOWXPTM操作系统中的“我的图片”文件夹。当图像文件存储在“我的图片”文件夹中时,用户能以不同尺寸查看图像、旋转它们、以幻灯片方式观看、打印图像、或将图像复制到CD。WINDOWXPTM中的外壳已利用了自定义代码,将这些与图像相关的任务加入到文件夹显示中,使得用户当选择在此特定文件夹中存储图片时能容易地在能够图片中导航,并执行关于文件的常用任务。然而,只有存储在“我的图片”文件夹中的文件在此环境中显示,且利用自定义代码来创建此功能。虽然“我的图片”文件夹是对项目传统呈现方法的改善,然而开发者在不利用自定义代码定义那些内容丰富的环境的能力方面仍然受到限制。
因而,需要一种能显示通用数据存储中的每个项的改善的外壳,并还需要一种被配置成在关系驱动的上下文中呈现通用数据存储中的诸项目。也需要在外壳中改善的能力,使开发者能创建自定义环境,该环境不需要自定义代码就用合适的上下文信息及相关任务来显示项目。
发明概述本发明通过提供用上下文表示向用户呈现存储在数据存储中的项目的系统满足上述要求并克服现有技术的一个或多个缺陷。在本发明的一方面,提供包括一种包括数据存储的计算机系统。数据存储中的至少一部分项目包括一个或多个字段条目。包括一资源管理器,它与数据存储交互、选择具有一个或多个所需字段条目的项目、并按照资源管理器显示模式显示选择的项目。
本发明的另一方面包括用于用上下文表示向用户呈现项目的计算机实现的方法。选择对应于与数据存储中的至少一个项目关联的字段条目的所需字段条目。定义资源管理器显示模式。该方法访问数据存储以选择包括所需字段条目的一个或多个项目,并按照资源管理器显示模式显示一个或多个选择的项目。
本发明的又一方面包括用于呈现多个项目的资源管理器。该资源管理器包括选择所需字段条目的字段条目选择组件。项目选择组件访问数据存储以选择具有所需字段条目的一个或多个项目,而显示呈现组件向用户呈现选择的项目。
本发明的再一个方面提供用于向用户呈现项目的应用程序。该程序包括被配置成访问数据存储并选择具有所需字段条目的项目的项目选择模块。该程序还包括被配置成与外壳浏览器交互以按资源管理器显示模式呈现选择的项目的外壳交互组件。
本发明的另一方面是用于建立用于用上下文表示呈现项目的资源管理器的计算实现的方法。该方法包括选择对应于与数据存储中的至少一个项目关联的字段条目的所需字段条目。定义资源管理器属性,且用包括资源管理器属性的显示模式向用户呈现与所需字段条目关联的一个或多个项目。
附图简介在下面参考附图详述本发明,附图中

图1是适用于实现本发明的计算系统环境的框图;图2A是示出分成三个组件组的计算机系统的方框图,组件是硬件组件、硬件/软件接口系统组件、以及应用程序组件;图2B示出用于组合成基于文件的操作系统的目录中的文件夹的文件的传统的基于树状的分层结构。
图3是示出按本发明的存储平台的框图;图4示出在本发明的各实施例中在项目、项目文件夹和类别之间的结构关系;图5是按本发明的一个实施例包含在项目中的数据的概图;图6是示出用于按本发明的一个实施例向用户呈现一个或多个项目的方法的流程图;图7是示出用于按本发明的一个实施例向用户呈现一个或多个项目的方法的流程图;图8是示出按本发明的一个实施例的视图模式分层结构的略图;图9是示出按本发明的一个实施例包括资源管理器视图模式的视图模式分层结构的略图;图10是示出按本发明的一个实施例向用户呈现项目的方法的流程图;以及图11是示出按本发明的一个实施例向用户呈现相关项目的方法的流程图。
本发明的详细描述I.引言本发明的主题用细节来描述,以满足法定的要求。然而,该描述本身不试图限制本专利的范围。相反,本发明者设想,要求保护的主题也能以其它方式实施,以结合其它当前和未来的技术包括类似于本说明描述的不同的步骤或步骤的组合。此外,虽然术语“步骤”在这里可用于意味着所采用的方法的不同元素,然而该术语不能被解释为在这里揭示的各步骤之间隐含特定的次序,除非明确地描述了各个步骤的次序。
本发明提供用于向用户显示存储在计算机上的项目的系统和方法。本发明的示例性操作环境在下面描述。
A.示例性操作环境本发明的许多实施例可在计算机上执行。图1和下面讨论旨在提供其中实现本发明的合适计算环境的简要描述。虽然不是必需,本发明的诸方面能以诸如由如客户工作站或服务器的计算机上执行的程序模块的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。此外,本发明可用其它计算机系统配置实现,包括手持设备、多处理器系统、基于微处理器的系统或可编程消费者电子设备、网络PC、小型机、大型机等。本发明还能在分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备完成。在分布式计算环境中,程序模块能位于本地或远程存储器存储设备中。
如图1所示,示例性通用计算系统包括传统的个人计算机20等,它包括处理单元21、系统存储器22和将包括系统存储器的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干种总线结构的任一种,包括存储总线或存储控制器、外围总线、以及使用各种总线体系结构的任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机访问存储器(RAM)25。基本输入/输出系统26(BIOS)包含如在启动时帮助在个人计算机20的诸元件之间传输信息的基本例程,存储在ROM 24中。个人计算机20还可包括读写硬盘(未示出)的硬盘驱动器27、读写可移动磁盘29的磁盘驱动器28、读写如CDROM或其它光介质的可移动光盘29的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接系统总线23。驱动器及其相关的计算机可读介质为个人计算机20提供计算机可读指令、数据结构、程序模块和其它数据的非易失存储。虽然这里描述的示例性环境采用硬盘、可移动磁盘29和可移动光盘31,本领域技术人员理解,在示例性操作环境中也能使用可存储能由计算机访问的数据的其它类型计算机可读介质,如盒式磁带、闪存卡、数字视频盘、Bernoulli盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等。类似地,示例环境还可包括许多类型的监视设备,如热敏和安全或火警系统,及其它信息来源。
若干程序模块能存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25中,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38。用户能通过如键盘40和定位设备42等输入设备将命令和信息输入到个人计算机20。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这里和其它输入设备常通过耦合到系统总线的串行接口46连接到处理单元21,但也可通过其它接口连接,如并行口、游戏口或通用串行总线(USB)。监视器47或其它类型的显示设备也通过如视频适配器48的接口连接到系统总线23。除监视器47以外,个人计算机通常包括如话筒和打印机等其它外围输出设备(未示出)。图1的示例系统还包括主适配器55、小型计算机系统接口(SCSI)总线56和连接到SCSI总线的外部存储设备62。
个人计算机20可使用到如远程计算机49的一个或多个远程计算机的逻辑连接在网络环境中操作。远程计算机49可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并通常包括以上对个人计算机20描述的许多或所有元件,虽然在图1中只示出存储器存储设备50。图1中画出的逻辑连接包括局域网(LAN)51和广域网(WAN)52。那样的网络环境常见于办公室、企业范围计算机网络、内联网和因特网。
在LAN网络环境中使用时,个人计算机20通过网络接口或适配器53连接到LAN51。在WAN网络环境中使用时,个人计算机20通常包括调制解调器54或用于通过如因特网等广域网52建立通信的其它装置。内置或外接的调制解调器54通过串行端口接口46连接系统总线23。在网络环境中,相对个人计算机20画出的程序模块或其部分可存储在远程存储器存储设备中。可以理解,示出的网络连接是示例性的,可使用在计算机之间建立通信链路的其它装置。
如图2的框图所示,计算机系统200能被粗略地分成三个组件组硬件组件202、硬件/软件接口系统组件204、以及应用程序组件206(在这里某些上下文中也称为“用户组件”或“软件组件”)。
回到图1,在计算机系统的各种实施例中,硬件组件202可包括中央处理单元(CPU)21、存储器(ROM 24和RAM 25)、基本输入/输出系统(BIOS)26、以及各种输入/输出(I/O)设备,如键盘40、鼠标42、监视器47、和/或打印机(未示出)等。硬件组件202包括计算机系统200的基本物理基础结构。
应用程序组件206包括各种软件程序,包括但不限于编译器、数据库系统、文件处理程序、商业程序、视频游戏等。应用程序提供计算机资源用于为各种用户(机器、其它计算机系统和/或最终用户)解决问题、提供解决方案和处理数据的手段。
硬件/软件接口系统组件204包括(在某些实施例中可以仅包括)操作系统,在大多数情况后者本身包括外壳和内核。“操作系统”(OS)是担当在应用程序和计算机硬件之间的中介的特殊程序。硬件/软件接口系统组件204还可包括虚拟机管理器(VMM)、公用语言运行库(CLR)或其功能等效物、Java虚拟机(JVM)或其功能等效物、或在计算机系统中的操作系统处或操作系统外的其它软件组件。硬件/软件接口系统的目的是提供用户能在其中执行应用程序的环境。任何硬件/软件接口系统的目标是使计算机系统便于使用,以及以有效的方式利用计算机硬件。
硬件/软件接口系统一般在启动时被加载到计算机系统,并随后管理在计算机系统中所有应用程序。应用程序通过经由应用程序接口(API)请求服务来与硬件/软件接口系统交互。某些应用程序使最终用户能通过如命令语言或图形用户界面(GUI)与硬件/软件接口系统交互。
硬件/软件接口系统传统上执行应用程序的各种服务。在多个程序同时运行的多任务硬件/软件接口系统中,硬件/软件接口系统确定哪些应用程序以什么次序运行,以及在切换到另一应用程序之前以供轮流对每个应用程允许多少时间。硬件/软件接口系统还管理在多个应用程序之间内部存储器的共享,并处理来往于如硬盘、打印机和拨号端口等附加的硬件设备的输入和输出。硬件/软件接口系统还将有关操作状态和可能发生的任何错误的消息发送到每个应用程序(在某些情况下到最终用户)。硬件/软件接口系统也能下传(offload)批处理作业(如打印)的管理,使得启动的应用程序能摆脱此工作并重新开始其它处理和/或操作。在能提供并行处理的计算机上,硬件/软件接口系统还管理划分程序,使得它同时在多个处理器上运行。
硬件/软件接口系统外壳(这里简称“外壳”)是到硬件/软件接口系统的交互式最终用户界面。(外壳也称为“命令解释器”,或在一个操作系统中称为“操作系统外壳”)。外壳是可直接由应用程序和/或最终用户访问的硬件/软件接口系统的外层。“外壳浏览器”提供了允许用户查看硬件/软件接口并与其交互的用户界面。与外壳相反,内核是直接与硬件组件交互的硬件/软件接口系统的最内层。
虽然可构想本发明的许多实施例尤其适用于计算机化的系统,然而在本说明中不意味着将本发明限于那些实施例。相反,这里使用的术语“计算机系统”旨在包括能存储和处理信息和/或能使用存储的信息控制设备本身的行为或执行的任何和所有设备,而不管那些设备本质上是否为电子的、机械的、逻辑的、或虚拟的。
B.传统的基于文件的存储在当今大多数计算机系统中,“文件”是可存储信息的单元,它可包括硬件/软件接口系统和应用程序、数据集等。在所有现代硬件/软件接口系统中(Windows,Unix,Linux,MacOS,虚拟机系统等),文件是能由硬件/软件接口系统处理的基本的分立(可存储和可检索)信息单元。文件组通常被组织成“文件夹”。在MicrosoftWindows、Macintosh OS和其它硬件/软件接口系统中,文件夹是能作为单个信息单元被检索、移动和处理的文件的集合。这些文件夹进而被组织成称为“目录”(在后面详细讨论)的基于树形的分层结构排列。在如Dos、z/OS和大多数基于Unix的操作系统的其它硬件/软件接口系统中,术语“目录”和/或“文件夹”是可交替使用的,早期的Apple计算机系统(如Apple IIe)使用术语“类别”来代替目录;然而在这里使用时所有这些术语被看成是同义语并可交替使用,并旨在还包括对分层信息存储结构及其文件夹和文件组件的所有其它等价术语的引用。
传统上,目录(又名文件夹的目录)是基于树形的分层结构,其中文件被组合成文件夹,文件夹进而按构成目录树的相对节点位置排列。例如,如图2B所示,基于DOS的文件系统的基本文件夹(或“根目录”)212可包括多个文件夹214,其每一个可以还包括另外的文件夹(如特定文件夹的“子文件夹”)216,而这些的每一个又包括另外的文件夹218,直到无限。这些文件夹的每一个可具有一个或多个文件220,虽然在硬件/软件接口系统级上,文件夹中的各个文件除了它们在树形分层结构中的位置外没有什么共同点。不奇怪,将文件组织到文件分层结构的方法间接地反映了用于存储这些文件的典型存储介质(如硬盘、软盘、CD-ROM等)的物理组织。
除上述以外,每个文件夹是对其子文件夹和其目录的容器-即,每个文件夹拥有其子文件夹和文件。例如,当文件夹被硬件/软件接口系统删除时,该文件夹的子文件夹和文件也被删除(在每个子文件夹的情况下还递归地包括它自己的子文件夹和文件)。同样,每个文件一般只由一个文件夹拥有,并且虽然文件能被拷贝且副本位于不同的文件夹,文件的副本本身是不同且独立单元,它与原始文件无直接连接(如对原始文件的改变在硬件/软件接口系统级上不反映到副本文件)。因此在这方面,文件和文件夹在本质上是“物理的”,因为文件夹类似于物理容器来处理,而文件作为这些容器中不同且独立的物理元素来处理。
II.通用数据存储本发明利用的存储平台将数据平台扩展并拓宽成超越上面讨论的现有文件系统的种类,并设计成用于所有类型的数据的存储。被设计成存储所有类型数据的数据存储被称为通用数据存储。适用于本发明的通用数据存储的例子在共同拥有且共同提交的待决专利中描述,该专利是2003年8月21日提交美国专利(尚未分配专利号),(代理案卷号MSFT-1748),名为“SYSTEM AND METHODS FORREPRESFNTING UNITS OF INFORMATION MANAGEABLE BY AHARDWARE/SOFTWARE INTERFACE SYSTEM BUT INDEPENDENT OFPHYSICAL REPRESENTATION”,它通过引用结合于此。
A.存储平台综述参考图3,按本发明的存储平台300包括在数据库引擎314上实现的通用数据存储302。在一个实施例中,数据库引擎包括带有对象关系扩展的关系型数据库引擎。在一个实施例中,关系型数据库引擎314包括Microsoft SQL Server关系型数据库引擎。
通用数据存储302实现支持数据的组织、搜索、共享、同步和安全的数据模型304。在如模式340等模式中描述特定的数据类型,并且存储平台300提供用于部署这些模式并用于扩展这些模式的工具346,这在后面详述。
在通用数据存储302中实现的改变跟踪机制306提供跟踪数据存储的改变的能力。通用数据存储302还提供安全能力308和升级/降级能力310。通用数据存储302还提供一组应用程序接口312,以向利用该存储平台的其它存储平台组件和应用程序(如应用程序350A,350B和350C)展现通用数据存储302的能力。
本发明的存储平台还包括应用程序接口(API)322,使如应用程序350A,350B,和350C等应用程序能访问存储平台的所有上述功能并能访问在模式中描述的数据。应用程序能结合如OLE OB API 324和Microsoft Windows Win 32 API 326等其它API来使用存储平台API 322。
本发明的存储平台300能向应用程序提供各种服务328,包括便于在用户或系统之间共享数据的同步服务330。例如,同步服务330允许与具有与数据存储302相同格式的其它数据存储340的互操作,并访问具有其它格式的数据存储342。存储平台300还提供允许数据存储302与如Windows NTFS文件系统318等现有文件系统的互操作的文件系统能力。
在至少某些实施例中,存储平台320还能向应用程序提供另外的能力,以允许对数据起作用并允许与其它系统的交互。这些能力可体现在如Info Agent服务334和通知服务332等附加服务328的形式中,以及体现在其它实用程序336的形式中。
在至少某些实施例中,存储平台以计算机系统的硬件/软件接口系统来实施,或形成其完整的一部分。例如而非限制,本发明的存储平台能用操作系统、虚拟机管理器(VMM)、公用语言运行库(CLR)或其功能等效物、或Java虚拟机(JVM)或其功能等效物来实施,或形成其完整的一部分。
通过其公用的存储基础和模式化的数据,本发明的存储平台使消费者、知识工人和企业能够更有效地进行应用程序的开发。它提供了丰富和可扩展的编程表面区域,不仅可得到内含在其数据模型中的能力,还能包括和扩展现有文件系统和数据库访问方法。
B.数据模型本发明的存储平台300的通用数据存储302实现一种数据模型,它支持对驻留在存储中的数据的组织、搜索、共享、同步和安全。在本发明的数据模型中,存储信息的基本单元可被称为项目。该数据模型提供一种机制,用于声明项目和项目的扩展、用于建立在项目之间的关系、以及用于将项目组织到文件夹和类别中。
在本发明的一个实施例中,该数据模型依赖于两个原语机制类型和关系。类型是提供支配类型的实例的形式的格式的结构。格式被表达成属性的有序组。属性是给定类型的值或一组值的名字。例如,USPostalAddress(美国邮政地址)类型具有属性Street(街道)、City(城市)、Zip(邮编)、State(州)。属性能是必需的或可任选的。
关系可被声明并表示两个类型的实例集之间的映射。例如,可以有在Person(个人)类型和Location类型之间声明的关系,称为LivesAt(生活在),它确定什么人生活在什么位置。关系具有名和两个端点,即源端点和目标端点。关系也可具有属性的有序集。源端点及目标端点均具有名和类型。例如,LivesAt关系具有称为类型Person的Occupant(居民)的源和称为类型Location的Dwelling(住房)的目标,且此外具有属性StartDate(起始日期)和EndDate(终止日期),表示该居民生活在该住房的时间段。注意,随时间推移,个人能生活在多个住房,且住房可有多个居民,所以放置StartDate和EndDate信息的最可能的地方是在关系本身处。
关系定义了在由作为端点类型给出的类型约束的实例之间的映射。例如LivesAt关系不能是其中Automobile(汽车)是Occupant(居民)的关系,因为Automobile不是Person。
1.项目如上提到,在按本发明的通用数据存储中,存储信息的基本单元称为项目。项目是可存储的信息的单元,不象简单的文件,它是具有由存储平台向最终用户或应用程序展现的所有对象共同支持的基本属性集的对象。项目也具有所有项目类型共同支持的属性和关系。本领域的技术人员理解,通用数据存储的通用性是可能的,这部分是由于数据存储中的每个项目包括表明按照对每个项目不变的数据模式存储的这些基本属性的数据。
该通用数据模式提供建立用于创建和组织项目及属性的概念框架的通用基础。该通用数据模式定义了某些特殊类型的项目和属性,以及从中进一步导出子类型的这些特殊基本类型的特征。使用此通用数据模式允许程序员在概念上将项目(及它们各自的类型)与属性(及它们各自的类型)区分开来。此外,该通用数据模式列出所有项目可拥有的基础属性集,因为所有项目(及其对应的项目类型)是从通用数据模式中的此基本项目(及其对应的项目类型)导出的。通过按此通用数据模式存储每个项目,外壳浏览器能向用户解释和呈现数据存储中的每一项目及其基本属性。适用于本发明的通用数据存储的一个例子在共同拥有且共同提交的待决专利中描述,该专利是2003年8月21日提交的美国专利(尚未分配专利号),(代理案卷号MSFT-1748),名为“SYSTEM AND METHODS FOR REPRESFNTING UNITS OFINFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACESYSTEM BUT INDEPENDENT OF PHYSICAL REPRESENTATION”,它通过引用结合于此。
项目也具有所有项目类型共同支持的属性和关系,包括允许引入新属性和关系的特征。本领域的技术人员认识到,此属性和关系数据可被称为与项目关联的元数据。如下所述,元数据可按项目修饰(decoration)模式存储。此项目修饰模式表明向用户呈现项目的合适方式。
项目是公用操作的对象,如拷贝、删除、移动、打开、打印、备份、恢复、复制等。项目是能被存储和检索的单元,且由存储平台处理的可存储信息的所有形式作为项目、项目的属性、或项目之间的关系存在,其每个在下面更详细讨论。
项目旨在表示现实的且容易理解的数据单元,如联系人(Contacts)、人(People)、服务(Services)、位置(Locations)、(所有各种类型的)文档(Documents)等。
项目是独立的对象,因而若删除一项目,也删除项目的所有属性。类似地,当检索一项目时,检索的是该项目及其包含在项目元数据中的所有属性。本发明的某些实施例可使人们能在检索特定项目时请求属性的子集;然而对许多那样的实施例默认的是在检索时提供具有所有其直接和继承的属性的项目。此外,项目的属性也能通过添加新的属性到该项目的类型的现有属性而加以扩展。这些“扩展”其后是该项目的真实属性,且该项目类型的子类型可自动地包括扩展属性。该扩展也可被称为与文件关联的元数据。
2.项目文件夹和类别项目组能组织成称为项目文件夹(不要与文件的文件夹混淆)的特殊项目。然而不象大多数文件系统,一个项目可属于一个以上项目文件夹,使得当一个项目在一个项目文件夹中被访问和修订时,此修订的项目随后能直接从另一项目文件夹访问。实质上,虽然对一个项目的访问可从不同的项目文件夹发生,事实上真正访问的是同一个项目。然而,一个项目文件夹不必拥有其所有成员项目,或简单地结合其它文件夹共同拥有项目,使得一个项目文件夹的删除不必要导致项目的删除。
项目也可属于基于共同描述的特征的类别,特征如(a)项目类型(或类型),(b)特定的直接或继承的属性(或属性),或(c)对应于项目属性的特定值(或值)。例如,包括个人联系人信息的特定属性的项目可自动属于联系人(Contact)类别,具有联系人信息属性的任何项目同样也自动属于此类别。同样,具有“NewYork City(纽约市)”值的位置属性的任何项目可自动属于纽约市(NewYorkCity)类别。
类别在概念上不同于项目文件夹之处在于,项目文件夹可包括互相无关的项目(即无共同的描述的特征),而在类别中的每个项目具有对该类别描述的共同类型、属性或值(“共同性”),正是这个共同性形成对它与该类别中其它项目或那些项目之间的关系的基础。此外,虽然在特定文件夹中的项目的成员资格基于该项目的任何特定方面不是强制的,然而对某些实施例,具有在分类上与一类别相关的共同性的所有项目在硬件/软件接口系统级上可自动地成为该类别的成员。概念上,类别也能看作虚拟项目文件夹,其成员资格基于特定查询(如在数据库的上下文中)的结果,而满足此查询的条件(由类别的共同性确定)的项目应构成该类别的成员资格。
图4示出在本发明的各个实施例中的项目、项目文件夹和类别之间的结构关系。多个项目402、404、406、408、410、412、414、418和420是各个项目文件夹422、424、426、428和430的成员。某些项目属于一个以上项目文件夹,如项目402属于项目文件夹422和424。某些项目,如项目402、404、406、408、410和412也是一个或多个类别432、434和436的成员,而其它项目,如项目44,416,418和420可以不属于任何类别(虽然这大部分不象在某些实施例中,其中具有任何属性自动暗示类别中的成员资格,因此在那样实施例中为了不是任何类别的成员,项目应完全地无特征)。与文件夹的分层结构相反,类别和项目文件夹均有更像如所示的有向图的结构。在任何情况下,项目、项目文件夹和类别都是项目(尽管是不同的项目类型)。
与文件、文件夹和目录相反,本发明的项目、项目文件夹和类别的特征在本质上不是“物理的”,因为它们不具有物理容器的概念上的等价性,因而项目可存在于一个以上那样的位置。项目存在于一个以上项目文件位置以及被组织成类别的能力提供了在硬件/软件接口级上增强和丰富程度的数据处理及存储结构能力,超越了在本领域中当前可得到的能力。
3.关系项目也可以包含允许确定两个或多个项目之间的关系的关系信息。关系是二元关系,其中一个项目被指定为源,另一个被指定为目标。源项目和目标项目通过关系相联系。关系被分类成包含(Containment)和引用(Reference)关系。包含关系控制目标项目的生命周期,而引用关系不提供任何生命周期管理语义。
包含关系又被分类成持有(Holding)和嵌入(Embedding)关系。持有关系通过引用计数机制控制目标。持有关系不包含它们的目标,但控制目标的生命周期。当对一个项目的所有持有关系被移除,该项目被删除。嵌入关系能够对复合项目建模,并能被看作排他的持有关系。一个项目能是一个或多个持有关系的目标;但一个项目只能是一个嵌入关系的目标。作为嵌入关系的目标的项目不能是任一其它持有或嵌入关系的目标。嵌入关系包含它们的目标并控制那些目标的生命周期。本领域的技术人员识别到,单个目标只能在至多一个嵌入关系中,而单个目标能在多个持有关系之中。
引用关系不控制目标项目的生命周期。它们可以是摇摆不定的-目标项目可以不存在。引用关系能用于在全局项目名字空间的任何处(即,包括远程数据存储)建模对项目的引用。
取得项目不自动地取得其关系。应用程序或外壳必须明确地请求项目的关系。此外,修改关系不修改源或目标项目;类似地,添加关系不影响源/目标项目。在两个项目之间的关系可以用项目声明并存储,或者外壳或应用程序通过利用关系信息可确定两个项目是相关的。
引用关系不控制它所引用的项目的生命周期。而且,引用关系不保证目标的存在,也不保证目标的类型如在关系声明中指定的那样。这意味着引用关系是摇摆不定的。而且引用关系能引用在其它数据存储中的项目。引用关系能看作类似于网页中链接的概念。
在至少一个实施例中,本发明的存储平台支持关系的排序。通过名为“Order(排序)”的属性完成排序。在Order字段中无唯一性约束。不保证带有同一“Order”属性值的关系的次序,然而保证,它们能排序在带较低“Order”值的关系之后并在带较高“Order”字段值的关系之前。应注意,属性“Order”不是基本关系定义。相反,这是作为源和目标之间的关系的一部分存储的非固有属性。
如前提到,每个项目可以是项目文件夹的成员。按照关系,每个项目可以与一项目文件夹有一关系。在本发明的若干实施例中,某些关系由在诸项目之间存在的关系表示。
4.可扩展性参考图3,如上所述提供带初始模式集340的存储平台。然而,此外在至少某些实施例中,存储平台允许包括独立软件分销商(ISV)的客户创建新模式344。
C.数据库引擎如上提及,数据存储在数据库引擎上实现。在一个实施例中,数据库引擎包括一关系型数据库引擎,它实现诸如Microsoft SQL Server引擎等带有对象关系扩展的SQL查询语言。然而可以理解,可采用不同的数据库引擎。确实,除了在关系型数据库引擎上实现存储平台概念的数据模型外,还能在其它类型数据库上实现,如面向对象的和XML数据库。
III.向用户呈现项目在通用数据存储中的项目由外壳浏览器向用户呈现。那样的浏览器在本专业是众知的,且如上解释,外壳浏览器提供一用户界面,允许用户观看和与硬件/软件接口交互。
A.默认显示视图如上注意,每个项目按通用数据模式存储在通用数据存储中。此模式包括用于描述称为类型关联的项目的机制。每个类型关联在外壳中具有基本表示;通过按类型关联存储项目,外壳能至少按基本或默认的显示视图来显示项目。
类型关联是与项目关联的属性;当将数据放入通用数据存储时,与该数据关联的一个或多个属性必须加以声明,以确定它是什么类型的项目。这些属性能作为与数据关联的元数据包括在内。外壳具有一组默认的类型关联,它代表对一个项目必须声明的最基本和最小的属性。
图5示出项目500。项目500按通用数据模式存储,并包括一组项目数据502,以及包括属性声明的一组元数据504。项目数据502可以是适合于包含在数据存储中的任何数据组。例如,项目数据502可与文字处理文档相关。属性声明元数据504至少包括对项目500的基本类型声明。例如,默认类型关系可以是文档类型,而元数据504可阐明项目500是文档型项目。由于外壳包括对每个默认类型关联的默认显示视图,因此外壳可以按照文档类型的默认显示视图现实项目500。例如,文档类型的默认现实视图包括只用于文档类型项目的图标。通过用此图标呈现文字处理项目,用户能很快地识别项目500是文档。本领域的技术人员认识到,各种默认类型关联和默认显示属性对本发明都是可以接受的。
B.项目修饰视图除属性声明以外,与项目关联的元数据可包括表示外壳如何修饰项目的呈现的数据。在此情况下,修饰被看作如何向用户呈现项目的“提示”。此元数据可按照项目修饰模式来存储。项目修饰模式定义外壳可用于呈现项目的项目修饰视图。例如,项目修饰数据可描述项目的最重要的声明的属性。这些“高价值”属性可以是对于在外壳中呈现所最希望的。
项目500可任选地包括按项目修饰模式存储的项目修饰数据506。为呈现项目500,项目修饰数据506可指出一组适于呈现项目500的视图字段。视图字段是声明的属性的投影(projection),而常用的视图字段可包括“标题”、“作者”、“创建日期”或“最后编辑的”。外壳包括一组标准视图字段,而独立软件分销商(ISV)可定义适用于呈现他们的数据的视图字段。当开发新项目类型时,ISV能将他们所定义的项目属性映射到外壳的视图字段,或他们能提供其自己的视图字段。
例如,项目数据502能包含歌曲数据。声明的属性组506可包括诸如歌名、艺术家、录音日期、专辑、歌曲长度以及对该歌曲项目适当的其它声明等属性。项目修饰数据506可表示,在外壳中呈现项目500时,应向用户显示视图字段“歌名”、“艺术家”、和“专辑”。
项目修饰数据506可更真实地描述关于项目数据502的修饰性项目,如与声明的属性一起呈现的文本。例如,属性声明504之一可表示描述录音的质量的比特率值。此属性可被存储在整型变量BITRATE中。项目修饰数据506可要求显示该比特率,还能将此字段修饰为“每秒[BITRATE]千字节”。在此方法中,适当地修饰比特率字段,使用户容易理解视图字段中比特率值的意义。
本领域的技术人员认识到,项目修饰数据506及其对应的项目修饰视图可以指示各种各样的呈现属性。项目修饰能是由外壳支持的显示的任一方面。例如,某些常用的其它项目修饰是数据格式、默认的排序次序以及默认的图标大小等。此外,项目修饰数据506可描述在显示给定项目时使用的常用控件。例如,等级字段可使用将等级表示成一系列星的等级控件。项目修饰数据506可描述适用于项目的任务或动词。本领域的技术人员认识到,术语“任务”和“动词”描述对于项目要采取的行动,且那些术语可交替使用。例如,“编辑”或“预览”可以是与项目有关的合适的任务/动词。外壳还可以被配置成在用户选择之后起动支持这些任务的应用程序,以对该项目执行行动。
本领域的技术人员认识到,项目修饰将随时间推移而改变和增长。本发明构想,当实现新项目修饰时,新项目可利用这些修饰,而同时旧项目将通过使用由外壳提供的旧显示属性继续正确地显示。
图6是示出按本发明用于向用户呈现项目的方法600的流程图。在602,方法600响应于向用户呈现一个或多个项目的请求,访问通用数据存储。在604,方法考虑选择的一个或多个项目用于呈现。包含按项目修饰模式存储的元数据的项目按项目修饰视图向用户呈现,如在606所指出的。不包含那样元数据的项目按默认显示视图呈现,如608所示。本领域的技术人员认识到,如上讨论,这些模式及呈现视图可包括各种显示属性,它们可用于呈现数据存储中的每个项目。
C.外壳视图如上所述,项目修饰视图足以充分呈现给定的项目或同类项目组,包括具有类似项目修饰视图的项目。为显示带有不同项目修饰模式的项目,外壳提供按外壳修饰视图呈现项目的外壳视图模式。外壳视图模式允许外壳或ISV对给定的同类数据组声明合适的视图。
为在外壳修饰视图中表示而选择的项目可包括常用特征。本领域的技术人员认识到,各种各样常用特征对外壳修饰视图都是可接受的。例如,外壳视图模式可定义“图片”视图,用于显示对所有已知图片类型(如.GIF、.JPEG、.BMP、.TIFF等)的常用和合适的字段和元数据。外壳视图模式覆盖了给定项目修饰视图的冲突的显示属性,并按照外壳视图模式呈现每个图片项目。作为另一例子,外壳能提供“文档”外壳视图,它对诸如文字处理文档、电子报表或数据库等由典型的生产应用程序产生的项目围绕适当的列和元数据进行优化,即使对这些项目的每一个的项目修饰互相变化很大。那样的视图的价值在于在这些文档的每一个之中提供共同的属性。本领域的技术人员认识到,当安装较新的文档类型时,外壳视图能按照一致的外壳视图呈现这些新项目,即使在首先创建该视图时尚未考虑新类型。
除了形成对给定的同类型项目组合适的视图字段以外,外壳视图模式还能定义显示属性。例如,由能外壳视图模式定义视图状态,包括图标属性、预览窗格的大小以及默认的排序次序。视图模式还包括如数据格式等属性修饰,以应用到各个列。
在外壳视图模式和项目修饰模式冲突的情况下,采用外壳视图模式。在外壳视图模式缺少显示元素的情况下,为适当显示,外壳视图退回到项目修饰视图。以此方式,当显示数据不是最初期待的时候,外壳视图能巧妙地构成合适的视图。此外,在本发明的一实施例中,外壳视图能服从于项目修饰视图,以提供不冲突的修饰性元素。例如,外壳视图能利用来自它所包含的项目组的“高价值”元数据,来构造显示该项目的一组适当的列和元数据。
本领域的技术人员认识到,外壳视图模式可提供各种各样的属性,且ISV能希望提供那样的外壳视图。显示属性能包括,但不限于预览窗格的大小、在预览窗格中显示的元数据、要使用的自定义控件、以及适于呈现的项目的任务和动词。
图7是示出按本发明用于向用户呈现项目的方法700的流程图。在702,方法700响应于向用户呈现一个或多个项目的请求,访问数据存储。在704,判断被选择来呈现的每个项目是否包括相同的项目修饰模式。若所有项目具有这一常用模式,则如706所示,按该模式呈现那些项目。若呈现的项目包括具有不同的项目显示模式或没有项目显示模式的项目,则在708,按外壳修饰视图呈现项目组。如上讨论,这一外壳视图可能适于呈现同类型的项目组。在710包括-可任选步骤,用来自项目修饰视图的显示元素呈现一个或多个选择的项目。在这些显示元素不与外壳修饰视图冲突的同时,那些元素能增强外壳对项目的呈现。
转向图8,给出示例性视图模式分层结构800的图示。分层结构的底层是项目视图模式802。项目视图模式802提供呈现项目所需的基本显示,或若不提供视图模式,则提供默认的显示。在需要时,在项目视图模式802之上的模式能服从或退回到其显示元素。
外壳视图模式804驻留在项目视图模式802之上。如上讨论,外壳视图模式可用于用各异的项目视图显示一组项目。外壳视图模式定义用于按照外壳视图804显示项目的任务806、预览窗格特征808、列810和修饰812。外壳视图能退回到项目视图模式802,以提供用于外壳视图804的不冲突的项目修饰。此外,用户视图设置814可驻留在外壳视图之中。这些设置表示对外壳项目的用户希望的呈现格式。本领域的技术人员认识到,在显示模式中能定义任意数量的显示属性,且可向用户呈现关于显示设置的多个选项目和控件。
D.资源管理器显示视图外壳还能被配置成按照资源管理器显示视图来呈现各项目。“资源管理器”可以指存储应用程序,并能由外壳或由ISV提供。在本发明的一个实施例中,可创建资源管理器以提供帮助用户管理大的项目组的整体经验。例如,资源管理器使用户能查看、查询、导航、启动任务、或组织数据存储中选择的项目。术语“资源管理器”不应当暗示显示的项目所驻留的位置,而如“活动中心”、“查看器”和“库”等术语可与“资源管理器”交替使用,以按本发明描述存储应用程序。
图9示出示例性资源管理器模式分层结构900。分层结构的底层是项目视图模式902。项目视图模式902提供表示项目所必需的基本显示,且资源管理器视图模式904能在需要时服从或退回到其显示元素。
资源管理器视图模式包括外壳视图模式906和资源管理器修饰908。资源管理器修饰908将资源管理器修饰成一个整体,并提供如各异的颜色和商标元素那样的显示元素。这些资源管理器修饰908在资源管理器提供的各视图之间保持一致。本领域的技术人员认识到,存在各种各样对资源管理器修饰908合适的显示属性。例如,与资源管理器项目关联的数据查询或任务/动词能适合于用资源管理器显示。显示的任务较佳地与能执行该任务的应用程序耦合。
资源管理器视图模式能可任选地包括外壳视图模式906或多个外壳视图模式。外壳视图模式906能被配置成为资源管理器的项目的子集提供外壳视图。例如,资源管理器可被配置成向用户显示歌曲项目。能包括第一外壳视图模式来提供专辑的显示,且包括第二外壳视图模式来提供歌曲音轨的显示。以此方式,两种类型的项目在资源管理器中均有合适的视图。如上讨论,外壳视图的使用关系到能可任选地共享共同特征的一组项目的呈现。
资源管理器也可依赖于包括在外壳中的外壳视图。若由资源管理器包括的任何外壳视图不支持被选择用于在资源管理器中呈现的项目,则外壳可提供在该资源管理器中使用的合适的外壳视图。类似地并如上讨论,资源管理器也能退回到由外壳提供的项目显示视图或默认显示视图。此功能确保,能由外壳显示的任何项目也能在资源管理器中显示。资源管理器能被配置成服从这些外壳提供的显示模式,或可以依赖于它们以便如提供对非预期数据的显示。
图10给出按本发明用于在资源管理器的显示中呈现各项目的方法1000。在1002,方法1000访问数据存储,且在1004选择要在资源管理器中显示的项目。资源管理器项目的选择可依赖于也称为字段条目的项目声明的考虑。如上讨论,数据存储中的项目可包含属性信息。当一项目被放置到数据存储时声明此信息,在该项目的整个生命周期中可以更新此信息。这一声明可被看作对应于一组属性字段的字段条目。例如,在属性字段“作者”中的条目可包含给定项目的原作者信息。
可以希望呈现共享一个或多个字段条目的项目。例如,可希望包括由特定个人创作的每个项目的资源管理器。通过考虑作者字段的字段条目,资源管理器能从数据存储中选择由该特定个人创作的那些资源管理器项目。本领域的技术人员认识到,那样的数据库查询的机制是众知的。
在1006,作出关于资源管理器是否包括适于呈现资源管理器项目的外壳视图的判断。若在资源管理器中未找那样合适的外壳视图,则方法1008利用包含在外壳中的视图,如1008所示。若在资源管理器中包括合适的外壳视图,则方法1000在1010利用该外壳视图来呈现项目。在1012,执行利用来自项目显示模式的修饰性元素的可任选步骤。如上描述,资源管理器可使用来自项目视图模式的非冲突修饰以增强项目的呈现。在1014,按外壳和项目视图向用户呈现资源管理器项目。在1016呈现资源管理器修饰性属性。这些属性可以是各种各样的显示属性,并可包括与资源管理器项目关联的数据查询或任务。
E.资源管理器的开发可以对各种各样项目类型创建资源管理器。在本发明的一个实施例中,可以用少量或不用编程来定义资源管理器。通过允许以数据驱动方式创建资源管理器,提高了开发的容易程度,同时提供对各资源管理器一致的外表及感觉。
在某些实施例中,资源管理器可允许限制它们可呈现什么类型的项目(包括项目扩展和文件扩展名),或资源管理器能选择允许所有类型的项目。同样,资源管理器可选择允许带特定的项目扩展组的项目类型。例如合法项目资源管理器(LegalItem Explorer)可显示附加“合法项目扩展(LegalItemExtension)”的所有项目。资源管理器可选择允许某些类型的项目和映射到该类型的任何文件扩展名。例如,音乐项目资源管理器(Music Item Explorer)能显示所有音乐文件扩展名,如mp3或wma。此外,资源管理器能选择仅允许某组文件扩展名的项目。如果资源管理器限于某一组类型,则其它类型的项目不能保存或落入此资源管理器中。资源管理器能对它们允许的类型重新定义类型关联,且资源管理器可选择有选择地禁止覆盖或可选择禁止添加新命令。此外,资源管理器可判定它们是否令最适终用户在该资源管理器中覆盖类型关系。
据上考虑,本领域的技术人员认识到,通过提供用于创建在项目类型环境中使用的资源管理器的数据驱动开发技术,能以声明性方式定义资源管理器,而不必使用自定义代码。
图11显示了用于按资源管理器显示模式呈现诸项目的方法1100。在1102,方法1100选择所需字段条目。如上讨论,此所需字段条目可对应于与项目关联的声明的属性。例如,“相册”资源管理器能具有需要包括包含图片数据的项目的所需字段条目。
在1104,定义资源管理器显示模式。此显示模式能包括外壳视图模式和资源管理器修饰。资源管理器修饰将资源管理器修饰成整体,并提供如各异的颜色和商标元素等显示元素。这些资源管理器修饰对该资源管理器提供的各种视图保持不变。各种各样的显示属性可适合于资源管理器修饰。例如,与资源管理器项目关联的数据查询或任务/动词可以对用资源管理器来显示是合适的。显示的任务较佳地与能完成该任务的应用程序耦合。资源管理器视图模式可包括一个外壳视图模式或多个外壳视图模式。外壳视图模式可被配置成对资源管理器项目的子集提供外壳视图。
在1106,方法1100访问数据存储以选择资源器项目。资源管理器项目与所需字段条目关联。本领域的技术人员认识到,数据库中那些项目的选择是本领域中众知的。本领域的技术人员还认识到,开发者能创建为那样的交互所配置的资源管理器。本发明考虑能访问数据存储的资源管理器的开发。
在1108,按资源管理器显示模式显示资源管理器项目。上面描述了资源管理器显示模式,此显示也可包括与外壳浏览器的交互。例如,外壳可提供一个或多个外壳视图。此外,来自项目修饰模式的项目修饰元素可用于增强资源管理器项目的呈现。
本领域的技术人员认识到,资源管理器存储应用程序可被认为是外壳浏览器的应用和/或扩展。因而,前面描述对本发明的描绘是合适的。作为一种应用,资源管理器程序可包括被配置成与外壳浏览器交互的外壳交互模块。那样的交互允许程序与外壳传送信息,并允许软件一起工作以呈现项目。外壳交互模块能便于数据存储的访问,并能提供显示属性。在应用程序和外壳之间的那种交互在本领域内是众知的。
F.相关项目的呈现本发明也能向用户显示数据存储中的相关项目。如上所述,数据存储中的诸项目可包括具有一个或多个声明的属性的项目。项目可具有声明的关系,它说明了在数据存储中共享关系的其它项目。例如,包含电子邮件地址的项目可声明与包含该电子邮件地址的所有者的其它联系信息的项目的关系。外壳可利用此声明的关系在用户请求之后呈现其它联系信息。外壳也可通过考虑项目的声明属性确定关系。例如,若一组文档共享共同的属性,则它们可以是相关的;带扩展“(合法项目扩展(LegalItemExtension)”的项目可以是相关的,只要公共值作为扩展的一部分被存储。那样的关系可通过本领域内众知的数据查询来确定。
图12示出按本发明呈现相关项目的方法1200。在1202,方法1200访问数据存储,且在1204,确定数据存储中诸项目之间的关系。如上所述,那样的确定利用包括在项目之中的声明的属性。此确定可以是对用户输入的响应。例如,具有一组声明的项目的特征的项目可向用户显示。项目特征和关系信息可与项目一起显示。用户可选择特征之一并输入请求来观看共享该项目特征的其它项目。在1206,方法1200向用户呈现相关的项目。那样的呈现可包括本领域内众知的任何显示模式。
在审阅说明及附图后,本发明的另外实施例的实现对它所述的领域内的技术人员而言是清楚的。因而本发明的范围由所附权利要求书而非上面的描述来确定。
权利要求
1.一种用于呈现存储的数据的计算机系统,包括包括多个项目的数据存储,其中,所述项目的至少一部分包括一个或多个字段条目;以及一资源管理器,它与所述数据存储交互,以选择具有一个或多个所需字段条目的项目,其中,所述资源管理器按照与所述资源管理器关联的资源管理器显示模式显示所选择的项目。
2.如权利要求1所述的计算机系统,其特征在于,所述资源管理器显示模式包括与所选择的项目一起呈现的一个或多个修饰性元素。
3.如权利要求1所述的计算机系统,其特征在于,所述资源管理器显示模式包括一个或多个外壳视图模式,其中,所述外壳视图模式之一用于显示所选择的项目的子集。
4.如权利要求3所述的计算机系统,其特征在于,一个或多个所述外壳视图模式包括适于向用户显示所选择的项目的所述子集的一个或多个显示方面。
5.如权利要求1所述的计算机系统,其特征在于,所述资源管理器利用与外壳浏览器关联的外壳显示模式,以显示一个或多个所选择的项目。
6.如权利要求1所述的计算机系统,其特征在于,所述资源管理器利用与外壳浏览器关联的一个或多个项目显示模式,以提供包括在一个或多个选择的项目的显示中的一个或多个显示元素。
7.如权利要求1所述的计算机系统,其特征在于,所述资源管理器显示模式包括与所选择的项目有关的动词。
8.如权利要求7所述的计算机系统,其特征在于,所述动词与能完成关于一个或多个所选择的项目的所述动词的应用程序相关联。
9.如权利要求1所述的计算机系统,其特征在于,所述资源管理器显示模式包括与所选择的项目关联的一个或多个数据查询。
10.如权利要求9所述的计算机系统,其特征在于,所述资源管理器被配置成显示一个或多个所述数据查询的结果。
11.一种用于向用户呈现数据存储中的一个或多个项目的计算机实现的方法,所述方法包括选择对应于与所述数据存储中至少一个项目关联的字段条目的所需字段条目,其中,数据存储中的项目的至少一部分包括一个或多个字段条目;定义一资源管理器显示模式;访问所述数据存储以选择包括所述所需字段条目的一个或多个项目;以及按所述资源管理器显示模式向用户显示一个或多个所选择的项目。
12.如权利要求11所述的方法,其特征在于,定义所述资源管理器显示模式包括定义按所述资源管理器显示模式要包括在显示中的一个或多个修饰性元素。
13.如权利要求11所述的方法,其特征在于,定义所述资源管理器显示模式包括定义一个或多个外壳视图模式,其中,所述外壳视图模式之一用于显示所选择的项目的子集。
14.如权利要求11所述的方法,其特征在于,显示一个或多个所述项目包括利用与外壳浏览器关联的外壳显示模式来显示一个或多个选择的项目。
15.如权利要求11所述的方法,其特征在于,显示所选择的项目之一包括利用与外壳浏览器关联的项目显示模式来提供包括在一个或多个所选择的项目的显示中一个或多个显示属性。
16.如权利要求11所述的方法,其特征在于,显示所选择的项目包括显示与所选择的项目有关的动词。
17.如权利要求16所述的方法,其特征在于,所述动词与能完成关于所选择项目组的一个或多个的所述动词的应用程序相关联。
18.如权利要求11所述的方法,其特征在于,显示所选择的项目包括提供与所选择的项目关联的一个或多个数据查询。
19.如权利要求18所述的方法,其特征在于,所述资源管理器被配置成显示一个或多个所述数据查询的结果。
20.一种用于向用户呈现数据存储中的多个项目的资源管理器,包括一字段条目选择组件,用于选择对应于与数据存储中至少一个所述项目关联的字段条目的所需字段条目,其中,数据存储中的项目的至少一部分包括一个或多个字段条目;一项目选择组件,它被配置成访问所述数据存储以选择具有所述所需字段条目的一个或多个项目;以及一显示呈现组件,它被配置成按资源管理器显示模式向用户呈现一个或多个所选择的项目。
21.一种可由计算机执行用于向用户呈现来自数据存储的一个或多个项目的应用程序,所述应用程序包括一项目选择模块,它被配置成访问所述数据存储并从所述数据存储中选择具有所需字段条目的一个或多个项目,其中,数据存储中的项目的至少一部分包括一个或多个字段条目,且其中,从所述字段条目中选择所述所需字段条目;一外壳交互模块,它被配置成与外壳浏览器交互,以按照资源管理器显示模式向用户呈现一个或多个所选择的项目。
22.如权利要求21所述的应用程序,其特征在于,所述资源管理器显示模式包括按所述资源管理器显示模式要包括在显示中的一个或多个修饰性元素。
23.如权利要求21所述的应用程序,其特征在于,所述外壳交互模块被配置成提供一个或多个外壳视图模式,其中,利中所述外壳视图模式之一显示所选择的项目的子集。
24.如权利要求21所述的应用程序,其特征在于,所述外壳交互模块被配置成利用与外壳浏览器关联的一个或多个外壳显示模式来显示一个或多个所选择的项目。
25.如权利要求21所述的应用程序,其特征在于,所述外壳交互模块被配置成利用与外壳浏览器关联的项目显示模式来提供包括在一个或多个所选择项目的显示中的一个或多个显示属性。
26.如权利要求21所述的应用程序,其特征在于,所述资源管理器显示模式包括与所选择的项目有关的动词。
27.如权利要求26所述的应用程序,其特征在于,所述动词与能完成关于一个或多个所选择的项目的所述动词的应用程序相关联。
28.如权利要求21所述的应用程序,其特征在于,所述资源管理器显示模式包括与所选择的项目关联的一个或多个数据查询。
29.一种用于向用户呈现数据存储中的多个项目的计算机化的方法,所述方法包括选择对应于与所述多个项目的至少一个关联的字段条目的所需字段条目,其中,所述多个项目的至少一部分与一个或多个字段条目关联;定义一资源管理器显示模式;访问所述数据存储以选择具有所述所需字段条目的一个或多个项目;以及与外壳浏览器交互以按所述资源管理器显示模式向用户呈现一个或多个所选择的项目。
30.如权利要求29所述的方法,其特征在于,所述资源管理器显示模式包括一个或多个修饰性元素、与所选择的项目关联的一个或多个动词、和/或与所选择的项目关联的一个或多个数据查询。
31.如权利要求29所述的方法,其特征在于,与所述外壳浏览器交互包括提供一个或多个外壳视图模式,其中,所述外壳视图模式之一用于显示所选择的项目的子集。
32.如权利要求29所述的方法,其特征在于,与所述外壳浏览器交互包括利用与所述外壳浏览器关联的一个或多个外壳显示模式来显示一个或多个所选择的项目。
33.如权利要求29所述的方法,其特征在于,与所述外壳浏览器交互包括利用与所述外壳浏览器关联的项目显示模式来提供包括在一个或多个所选择的项目的显示中的一个或多个显示属性。
34.一种建立用于向用户呈现数据存储中的项目的资源管理器的计算机化的方法,所述方法包括选择对应于与数据存储中所述项目的至少一个关联的字段条目的所需字段条目,其中,所述项目的至少一部分与一个或多个字段条目关联;定义与所述资源管理器关联的资源管理器属性;以及用包括所述资源管理器属性的显示模式向用户呈现所述数据存储中与所述所需字段条目关联的一个或多个项目。
35.如权利要求34所述的方法,其特征在于,所述所需字段条目与对所述资源管理器中显示的每一项目所需的项目属性关联。
36.如权利要求34所述的方法,其特征在于,所述资源管理器属性包括修饰性元素、与所呈现的项目关联的一个或多个动词、和/或与所呈现的项目关联的一个或多个数据查询。
37.如权利要求34所述的方法,其特征在于,所述资源管理器属性包括一个或多个外壳视图模式,其中,所述外壳视图模式之一用于显示所呈现的项目的子集。
38.如权利要求34所述的方法,其特征在于,所述显示模式包括与外壳浏览器关联的一个或多个外壳显示模式,以显示一个或多个所呈现的项目。
39.如权利要求34所述的方法,其特征在于,所述显示模式包括利用与外壳浏览器关联的项目显示模式来提供包括在一个或多个所呈现的项目的显示中的一个或多个显示属性。
40.一种建立用于向用户呈现数据存储中的多个项目的资源管理器的计算机化的方法,所述方法包括选择对应于与所述多个项目的至少一个关联的字段条目的所需字段条目,其中,所述多个项目的至少一部分与一个或多个字段条目关联;定义与所述资源源管理器关联的资源管理器属性;以及与外壳浏览器交互,以用包括所述资源管理器属性的显示模式向用户呈现所述数据存储中与所述所需字段条目关联的一个或多个项目。
41.如权利要求40所述的方法,其特征在于,所述资源管理器属性包括修饰性元素、与所呈现的项目关联的一个或多个动词、和/或与所呈现的项目关联的一个或多个数据查询。
42.如权利要求40所述的方法,其特征在于,所述资源管理器属性包括一个或多个外壳视图模式,其中,所述外壳视图模式之一用于显示所呈现的项目的子集。
43.如权利要求40所述的方法,其特征在于,与所述外壳浏览器的交互包括利用由所述外壳浏览器提供的外壳显示模式来向用户显示一个或多个所呈现的项目。
44.如权利要求40所述的方法,其特征在于,与所述外壳浏览器的交互包括利用来自由所述外壳浏览器提供的项目显示模式的一个或多个显示属性向用户显示一个或多个所呈现的项目。
全文摘要
一种用上下文表示向用户呈现多个项目的系统和方法。提供包括数据存储的计算机系统。数据存储中的项目的至少一部分包括一个或多个字段条目。资源管理器与数据存储交互、选择具有一个或多个所需字段条目的项目、并按照资源管理器显示模式显示所选择的项目。应用程序从数据存储中选择项目,并可与外壳浏览器交互以呈现所选择的项目。一种方法用于建立向用户呈现数据存储中的项目的资源管理器。
文档编号G06F9/00GK1816791SQ200480001669
公开日2006年8月9日 申请日期2004年7月30日 优先权日2003年10月23日
发明者T·P·麦基, D·G·德沃契克, D·J·谢尔登, C·J·古扎克, J·F·穆尔, K·B·卡拉特尔, G·谢拉, L·J·彼得森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1