文件系统外壳的制作方法

文档序号:6656691阅读:203来源:国知局

专利名称::文件系统外壳的制作方法文件系统外壳相关申请的交叉引用本申请是2003年5月16日提交的共同待批的同名美国申请第10/440,431号的部分延续。本申请要求2004年4月29日提交的名为"MetadataEditingControl(元数据编辑控制)"的美国临时专利申请第60/566,502号的优先权,并且是2004年9月24日提交的名为"MetadataEditingControl"的美国专利申请得10/950,075号的部分延续,这两个专利申请的说明书通过引用结合于此。本申请是2003年10月12日提交的名为"ExtensibleCreationandEditingofIntegratedCollections(集成集合的可扩展创建和编辑)"的共同待批的申请第10/684,263号的部分延续,并要求其优先权。本申请是2003年3月24日提交的名为"SystemandMethodforUserModificationofMetaDatainaShellBrowser(用于在外壳浏览器中对元数据进行用户修改的系统和方法)"的共同待批的美国专利申请第10/395,533号,以及2003年3月24日提交的名为"ExtensibleObjectPrviewerinaShellBrowser(外壳浏览器中的可扩展对象预览器)"的美国专利申请第10/395,560号的部分延续,这两个专利申请的说明书通过引用结合于此。本申请是2003年5月16日提交的美国专利申请第10/440,035号的部分延续,后者是2003年3月27日提交的美国专利申请第10/403,341号的部分延续。本申请是2003年4月17日提交的在先美国申请第10/420,040号的部分延续,该申请的全部内容结合于此。发明领域本发明涉及文件系统,尤其涉及文件系统外壳。发明背景当前的计算机文件系统具有多个不合需要的限制。一种限制是用户一般无法控制显示给他们的结构。换言之,当组织文件夹时,用户必须选择一种结构,且该结构随后是难以改变的。作为一个具体示例,对于"music"(音乐)文件夹,用户可选择以艺术家/专辑的格式组织音乐文件,其中每一艺术家的所有专辑文件夹被分组成该特定艺术家的文件夹,而特定专辑上的所有歌曲被分组成该专辑的文件夹。艺术家/专辑格式并不有益于播放一种类型的音乐(例如,播放来自两个不同艺术家的两首爵士歌曲),或用于播放对来自不同艺术家的专辑的选择。作为另一个问题,用户可能具有难以组织的大量文件。某些用户实现对文件的严格意义的放置,且因此为文件创建了严格的分层结构。当可用文档的数量增长时,对这些文件的管理也变得越来越复杂和困难,从而使得搜索和检索也变得困难。这一问题在从其它位置,诸如共享文件等利用其它文件时被进一步加剧。用户也必须处理在不同位置上的文件,诸如在不同设备上、在其它PC上或在线文件。例如,用户可选择收听其计算机上的音乐(可由音乐程序访问),或者可上线并收听来自网站的音乐,然而在这两个源之间有着严格的划分。来自不同位置的音乐被不同地组织,并且不是以同一方式保持且不被放置在同一处。作为另一示例,储存在企业网上的文件可能固有地与用户在当前机器上所拥有的文件分离。用户也必须不仅跟踪储存了什么文件数据,还要跟踪该数据被储存在哪里。例如,对于音乐文件,用户被迫在各种系统上保持副本,并试图跟踪哪些音乐文件位于何处。这会使文件即使在本地储存的情况下也难以定位。有时候也难以找出并返回到用户所拥有的文件。用户可能会发现难以回想起他们在何处以及如何储存某些文件。给定一组文件夹甚至是一组相似的文件,用户通常发现难以迅速找出他们正在寻找的文件。对于要找出储存在不同地方的文件,定位要复杂得多。另外,一旦用户在文件夹中有足够的文件,迅速分析该文件夹就变得更困难,尤其是在内容非常相似的时候。有时候用户也难以找出或返回到网络上的文件。共享和发布文件通常是很难完成的,且通常甚至更难从使这一文件可用的某人检索该文件。用户通常必须记住或映射他们找出网络上的文件所需的各种站点和名称。名称空间可能会改变,这会导致使用户对于什么是"正确的"感到混淆。在有不同命名约定、限制等的网络上这尤为真实。例如,某些操作系统可能需要没有空格的短名称以使它们可见。程序通常也将文件保存到其自己的目录或其它名称空间,这会使用户难以找到他们返回到这些文件的路径。程序通常具有它们保存文档的默认目录和位置。用户通常必须搜索其整个硬盘并猜想文件储存在何处。相关项目也通常储存在分离的地方。用户所拥有的相关文件可能被储存在硬盘的不同部分等上。这一问题随着具有多种内容类型(例如,图片、音乐、视频)的数字媒体服务的发展会变得越来越常见。文件系统的另一个问题与地址栏有关。当用户在计算机上的文件系统内导航时,称为地址栏的常规的图形界面控件向用户显示他们在文件系统分层结构中的何处。该常规地址栏按照文件系统的文件夹、子文件夹和文件的分层结构来显示当前位置。改变显示在常规地址栏中的用户的位置通常是以两种方式中的一种来执行的。第一种方式是手动编辑地址栏中的地址。手动编辑地址栏中的地址允许用户在文件系统分层结构中重新定位到任意数量的地址,但是要求用户具有关于计算机上的文件系统的组织的特定信息,即特定文件系统位置。第二种方法涉及使用外部导航工具,该工具在被操纵时更新地址栏以反映新地址或位置。尽管绕过了对地址栏中的地址的手动编辑,但是操纵外部导航工具仍要求用户具有关于文件系统的组织的特定信息并遍历该分层结构。然而,由于地址栏中的地址与文件系统分层结构中的特定位置之间的一对一关系,常规的地址栏不能引用储存在诸如文件夹或驱动器等多个文件系统位置之中的文件或数据。现有技术缺少允许用户指定显示储存在多个文件系统位置之中或具有各种属性中的任一种的文件的地址的地址栏。现有技术还缺少允许用户容易地修改地址栏的地址而无需手动编辑地址,也无需关于底层文件系统的组织的特定知识的地址栏。现有技术中还缺少的是向用户呈现对文件的替换选择的地址栏,用户可从这些替换选择中进行选择来导航到这些文件选择。这一地址栏也可选择性地向用户呈现出常规地址栏界面,从而允许用户根据与用户偏好相一致的先前的经验来与地址栏交互。文件系统的另一问题涉及储存在计算机上的项目的标识。对容易地标识储存在诸如个人计算机(PC)等计算环境中的项目的需求随着越来越多的个人在其日常生活中使用计算机以及所储存的信息的类型在图片、音乐、文档等之间改变而显著增长。文档和媒体通常以分层的方式储存在计算机上,并且用储存在文件夹内的信息或媒体的文件来组织。文件系统浏览器使得用户能够导航通过文件系统并定位和打开文件和文件夹。例如,微软公司的WINDOWSEXPLORERTM是一种允许用户浏览文件系统的操作系统实用程序。许多用户发现很难基于常规文件系统浏览器中当前可用的信息来正确地标识文件。当然,文件的内容可通过用应用程序打开它来验证,但是这一浏览文件的方法是非常效率低下的。査看关于文件系统浏览器内的文件的元数据的能力能很大程度地帮助用户标识特定文件而无需打开它。例如,在微软公司的WINDOWS9X操作系统中,用户可通过访问特定对象的属性表来查看对象元数据。属性表以加选项卡的、类似索引卡的属性页选择的形式向用户呈现了对象的特性或设置的列表,其中每一属性页表征了用于定制参数的标准对话框样式的控件。然而,使用属性表来定位项目可能是缓慢且繁琐的,并且一些用户发现难以在属性表中定位相关元数据。类似地,使用信息提示来定位项目也可能是缓慢且繁琐的,因为用户必须将鼠标悬停在每一文件上以査看信息提示中显示的有限元数据。常规的文件系统浏览器不允许用户输入和编辑涉及文件和文件夹的元数据,而这会显著增强用户稍后定位文件的能力。迄今为止,用户输入和编辑元数据的能力被限于专用软件程序。例如,电子音乐文件的媒体播放器向用户给予编辑与音乐专辑和艺术家相关联的元数据的能力。这类程序的另一示例包括用于电子图片文件的应用程序。然而,媒体播放器和其它这类程序的效用被限于程序所支持的特定类型,这与支持多种文件类型的通用文件系统浏览器形成对比。微软公司的WINDOWSXP操作系统包括在MyPictures(我的图片)文件夹中使用的图像浏览器。MyPictures文件夹被赋予了允许用户作为照片而非仅仅作为文档图标来査看图片的特殊特征。MyPictures的图像浏览特征包括査看縮略图大小和较大形式照片、旋转横向照片、以及创建幻灯片演示的能力。用户还可査看照片的细节,诸如其大小、日期以及拍摄日期、以及拍摄该照片的照相机名称。MyPictures文件夹中的预览控制区包含用户选中的图像的放大预览图像、协助用户重复通过一系列图片的重复器按钮、以及用于顺时针或逆时针方向旋转图片的控件。尽管WINDOWSXP中的图像浏览特征因减轻了调用应用程序来查看和操纵图片的需求而超前于现有技术,但是用户仍无法输入和编辑与图片相关联的元数据。因此,需要允许用户基于与项目相关联的元数据来容易地定位项目的外壳或文件系统浏览器内的改进的用户体验。还需要允许用户在外壳浏览器内输入和编辑与各种类型的项目相关联的元数据而无需调用应用程序的系统和方法。还需要向用户提供了改进的文件内容识别特征以使用户能容易地定位其文件的文件系统或外壳浏览器。还需要允许从多个可用预览器中选择用于特定文件类型的预览器的用于外壳浏览器的改进的图形用户界面。还需要允许软件开发者在文件类型的基础上向用户提供附加信息和功能的可扩展外壳浏览器。还需要提供跨不同项目集合的相似UI体验。发明概述根据本发明的一方面,提供了一种利用虚拟文件夹的系统和方法。该虚拟文件夹基于其元数据而非盘上的实际物理底层文件系统结构以不同的视图向用户展示了常规文件和文件夹(也称为目录)。由此,该系统能够取出储存在数据库中的属性并将其表示为类似文件夹的容器。由于用户已经熟悉用文件夹了工作,因此通过以类似的方式呈现虚拟文件夹,用户可更快地适应该新系统。根据本发明的另一方面,根据在具有显示器和用于储存项目的存储器的计算机系统中使用的方法提供了该虚拟文件夹。根据该方法,选择一元数据属性。系统然后搜索具有所选元数据属性的项目,并且提供表示具有该元数据属性的项目集合的虚拟文件夹显示对象。根据本发明的另一方面,该系统包括从用户和用于储存关于项目的信息的关系型数据库获得查询的文件夹处理器。该文件夹处理器首先从用户获得查询,并将该查询传递到关系型数据库。该关系型数据库将结果提供回文件夹处理器,并且文件夹处理器基于来自关系型数据库的结果将结果作为虚拟文件夹提供给用户。在一个实施例中,提供回文件夹处理器的结果包括数据库行和列。数据库行和列由文件夹处理器转换成枚举器结构,该枚举器结构然后用于用所得的虚拟文件夹来填充显示。根据本发明的另一方面,用户能够通过直接操纵用虚拟文件夹来工作。换言之,所提供的用于操纵虚拟文件夹的机制类似于当前用于操纵常规物理文件夹的机制(例如,点击和拖曳、复制、粘贴等)。根据本发明的另一方面,在具有显示器和用于储存项目的存储器的计算机系统中提供了用于执行对虚拟文件夹的直接操纵的方法。根据该方法,项目组被表示为虚拟文件夹。提供可被执行以对虚拟文件夹进行直接操纵的已定义动作,其中当执行一己定义动作时,如由该己定义动作所指示地操纵虚拟文件夹。已定义动作的一个示例是点击和拖曳虚拟文件夹。在一个实施例中,点击第一个虚拟文件夹并将其拖曳到第二个虚拟文件夹的动作执行将项目从第一个虚拟文件夹复制到第二个虚拟文件夹的功能。将项目复制到虚拟文件夹可涉及添加或改变与该项目相关联的所选元数据属性。根据本发明的另一方面,提供了用于操纵虚拟文件夹的过滤器。过滤器本质上是用于缩小一组项目的工具。在一个实施例中,过滤器是基于分离项目的属性动态生成的。例如,对于一组项目,过滤器机制可审阅属性,且如果项目一般具有"作者"作为属性,则过滤器可提供作者列表。然后通过点击特定作者,没有该作者的项目消失。这允许用户縮小内容。根据本发明的另一方面,在具有显示器和用于储存具有元数据属性的项目的存储器的计算机系统中提供了一种用于过滤项目的方法。在显示上提供各自表示一个或多个项目的显示对象。评估由显示对象表示的项目的元数据属性。在显示上提供对应于由多个项目共享的元数据属性的过滤条件,其中对过滤条件的选择使得显示上所表示的项目被縮减到共享该指定元数据属性的那些项目。根据本发明的另一方面,在显示上表示多个项目,并且基于项目的元数据属性动态地生成过滤条件。当选择过滤条件时,它将显示上表示的项目縮减到具有对应于该过滤条件的元数据属性的那些项目。根据本发明的另一方面,在显示上表示多个项目,且提供其中用户可通过选择复选框控件来选择过滤条件的过滤器区。当用户选择一复选框控件时,显示上表示的项目被縮减到包含该过滤条件的那些项目。当用户键入过滤条件时,可在将每一新字符添加到该过滤条件时过滤附加的项目。根据另一方面,提供了一种包括多个显示对象的图形用户界面,每一显示对象表示一个或多个项目以及对应于由多个项目共享的属性的属性控件。对属性控件的选择使得在显示上呈现过滤条件的列表。在一方面,过滤条件可用下拉菜单来呈现,在下拉菜单中,每一过滤器具有一对应的复选框控件。在本发明的另一方面中,对第一复选框控件的选择可使显示上表示的项目仅包括满足对应于该第一复选框控件的过滤条件的项目。当第一复选框控件当前仍被选中时对第二复选框控件的选择使得显示上表示的项目包括满足对应于第一复选框控件的第一相应过滤条件或对应于第二复选框控件的第二相应过滤条件中的任一个的项目。换言之,过滤条件使得在视图中的项目上执行逻辑或(OR)运算。在又一方面中,第二复选框控件可被取消选中,从而使显示上表示的项目仅包括满足对应于当前选中的复选框控件的至少一个相应过滤条件的项目。在另一方面中,对属性控件的选择可以使得在与过滤条件列表分离的显示上呈现排列命令的列表。对排列命令的选择可以使得在显示上重新排列项目。说明性排列命令包括按照与所选择的属性控件相关联的属性来分类、堆栈或分组。在又一方面中,属性控件可以是拆分按钮。根据这一方面,对第一按钮部分的选择可以使得在显示上呈现过滤条件的列表,而对第二按钮部分的选择可以使得按照属性来对显示对象进行分类。根据本发明的另一方面,在用于在具有显示器的计算机系统中显示项目的方法中利用了范围。该方法涉及定义从中取出项目的物理存储器位置的范围,该范围包括当前计算机存储器以及至少一个其它物理位置。一旦接收到査询,则响应于该査询从范围中定义的物理位置取出项目,并且然后将从査询中取出的项目呈现在显示上的视图中。在一个实施例中,至少一个其它物理位置可以是另一计算机、网络上的位置或外部存储设备。在一个实施例中,显示上的视图可以被切换到指示物理地储存项目的物理位置的物理文件夹视图。根据本发明的另一方面,可以在虚拟文件夹中表示非文件项目。换言之,储存在存储器中的文件位于物理存储中。可以使虚拟文件夹包括当前没有在物理存储中表示的项目。非文件项目的示例有电子邮件和联系人。根据本发明的另一方面,在具有显示器和用于储存项目的存储器的计算机系统中实现一种用于呈现非文件项目的方法。该方法包括提供允许通过查询来同时搜索非文件项目和文件项目两者的数据库。一旦接收到査询,取出匹配该査询的非文件项目和文件项目两者,并且然后将匹配査询的项目呈现在显示上。在一个实施例中,提供了一种关系型数据库,包括所选择的关于文件项目的信息,并且可整体保持某些非文件项目。根据本发明的另一方面,提供了一种用于选择储存在物理或虚拟位置中的内容的地址栏。该地址栏可包括多个段。每一段可对应于一用于选择所储存的内容的过滤器或选择准则。段可包括一个以上过滤器或选择准则,其中可表示对应于段中的每一过滤器或选择准则的内容。在这一情况下,发生称为"OR(或)"过滤的逻辑"或"运算,其中可访问来自两个或更多不同位置(无论是虚拟还是物理的)的对应于分离的选择准则的内容。总体上,地址栏中的段的相应过滤器可表示用于选择储存在计算机文件系统上的内容的地址。每一段是可响应于用户交互来修改地址栏的地址的交互式段。选择地址栏中的一段使得所选择的段之后的段从地址栏中移除。根据一方面,选择与地址栏中的一段相关联的子控件使得向用户显示可选择子过滤器或选择准则的列表。子过滤器或选择准则是随该段一起包括的过滤器或选择准则的子项。从子过滤器或选择准则列表中选择子过滤器或选择准则之一使得地址栏中所显示的段的当前(子)过滤器或选择准则如果不同于所选择的子过滤器或选择准则,则用所选择的子过滤器或选择准则来替换。另外,在所替换的子过滤器或选择准则的段之后的段从地址栏中移除。根据本发明的另一方面,提供了一种包括窗口和编辑控件的外壳浏览器。该窗口显示一组项目,并且还显示与所显示的项目中的一个或多个相关联的元数据值。该编辑控件允许用户修改窗口中所显示的元数据值的至少一部分。根据本发明的另一方面,在计算机可读介质上包含并可在计算机上执行一种图形用户界面。该图形用户界面包括在外壳浏览器中显示一组项目的第一屏幕区以及显示与所显示的项目的一个或多个相关联的元数据的第二屏幕区。该图形用户界面也向用户呈现该外壳浏览器中用于修改所显示的元数据的手段。根据本发明的又一方面,提供了用于允许用户在外壳浏览器内修改元数据的计算机实现的方法。一种这样的方法包括显示多个项目,从用户接收表示对至少一个所显示的项目的选择的第一输入,显示与所选择的项目相关联的元数据,以及提供用于对所显示的元数据进行用户修改的编辑控件。另一种这样的方法包括显示欢迎窗格和与该欢迎窗格相关联的元数据,以及提供用于对所显示的元数据进行用户修改的编辑控件。根据本发明的另一方面,在外壳浏览器中显示包含与一个或多个项目相关联的元数据的数据结构。储存在一个或多个计算机可读介质上的该数据结构包括包含与一个或多个所显示的项目相关联的用户可修改元数据的字段,并且包含在该数据结构中的用户可修改元数据也显示在外壳浏览器中。根据本发明的另一方面,提供了一种包括默认预览器和可扩展性机制的外壳浏览器。该默认预览器提供了用于多个项目类型的标准功能级别。该可扩展性机制启用由默认浏览器提供的用于一个或多个项目类型的该标准级别之上的功能。根据本发明的另一方面,提供了一种包括第一预览器和第二预览器的外壳浏览器。该第一预览器提供了用于多个项目类型的标准功能级别,而该第二预览器提供了用于多个项目类型中的一个或多个的替换或扩展的功能级别。该外壳浏览器被配置成为一个或多个项目类型选择性地部署第一预览器或第二预览器中的任一个。根据本发明的另一方面,提供了一种用于支持多个项目的外壳浏览器的图形用户界面。该图形用户界面包括用于在外壳浏览器中显示一组项目的第一屏幕区和用于从多个可用预览器中为所显示的项目选择一个预览器的手段。根据本发明的另一方面,提供了一种用于选择支持多个项目类型的外壳浏器中的预览器的计算机实现的方法。该方法包括在外壳浏览器中为特定项目类型提供多个预览器,以及为该特定项目类型选择预览器之一。该方法然后可以将所选择的预览器与该特定项目类型相关联。根据本发明的另一方面,提供了一种用于允许在支持多个项目类型的外壳浏览器中使用第三方预览器的计算机实现的方法。该方法包括为多个项目类型提供具有默认预览器的外壳浏览器,以及提供允许第三方为多个项目类型中的至少一个开发替换预览器的可扩展性机制。根据本发明的另一方面,提供了一种包含指示外壳浏览器中的多个预览器的信息的数据结构。储存在一个或多个计算机可读介质上的该数据结构包括包含指示支持多个项目类型的默认预览器的信息的第一字段。第二字段包含指示用于第一项目类型的替换预览器的信息,而第三字段包含指示在外壳浏览器中显示第一项目类型的项目时是调用默认预览器还是替换预览器的信息。根据本发明的另一方面,将不同类型的项目分组成对其提供了一组相似的基本UI特征的库。换言之,为不同类型的库,诸如文档库、照片库和音乐库提供一组相似的基本UI特征。该组基本UI特征可包括诸如过滤、创建新类别、编辑项目的元数据、改变旋转点等特征。用于库的该组相似的基本UI特征允许用户使用他们已经熟悉的特性和特征来处理和组织不同类型的项目。本发明的另一方面提供了一种通过显示包括多个分层排列的项目的树形显示的第一组件,经由图形用户界面双组件控件而在计算机系统或网络上指定项目范围的方法,其中每一项目可由用户显式选中以包括在范围内和/或从范围内排除。该GUI还显示包括标识显式地包括在范围内和/或从范围中排除的项目的篮或列表的第二组件。当用户显式地选中一特定项目时,该控件将该特定项目的状态从前一状态改为新状态,并基于该特定项目的新状态将该特定项目的每一后代的状态改为新的隐式状态。在一个说明性实施例中,多个分层排列的项目中的每一项目的状态可以指示未选中状态、显式包括状态、隐式包括状态、显式排除状态、以及隐式排除状态中的任一种。项目列表可以标识对应于每一显式排除项目的显式包括项目。根据本发明的一方面,一个或多个计算机可读介质储存计算机可执行指令,当这些指令被执行时,使得计算机系统在视频显示上提供用于指定用户定义范围的图形用户界面控件。该GUI控件以可扩展/折叠的树形方式展示了某些行为,包括显示多个分层排列的项目,其中多个分层排列的项目中的每一项目可由用户显式选中以包括在范围内和/或从范围中排除。当用户显式选中一项目以包括在范围内或从范围中排除时,该控件隐式地选中该显式选中的项目的所有后代以分别包括在范围内或从范围中排除。该控件还与多个分层排列的项目分离地显示显式地包括在范围内的第一项目列表以及显式地从范围中排除的第二项目列表,其中第二列表中的每一项目对应于第一列表中的一个项目。根据本发明的另一方面,当用户显式地选中一未选中或隐式选中的项目时,该控件将该显式选中的项目的状态改为显式包括在范围内,并将该显式选中的项目的每一后代的状态改为隐式包括在该范围内。当用户显式地选中隐式包括项目时,该控件将该显式选中的项目的状态改为显式从该范围中排除,并将该显式选中的项目的每一后代的状态改为隐式从该范围中排除。在某些说明性实施例中,该控件可呈现对应于每一所显示的显式包括项目的第一包括指示符、对应于每一所显示的隐式包括项目的与第一包括指示符相比较不突出的第二包括指示符、以及对应于每一所显示的显式排除项目的排除指示符。有利的是,本发明的各实施例提供了一种用于创建集成集合的工具。采用本发明的某些实现,该工具可包括接收要包括在集合内的对象的"篮"控件。也称为列表窗格的该篮控件可以例如包括用于接收和显示由用户选择要包括在集合中的数据对象的界面。用户因此可以通过简单地向篮控件提供数据对象来构建数据对象的集合。集合创建组件然后提供具有对应于提交给篮控件的对象的一个或多个数据项目的集合。采用本发明的各方面,集合可以与任何期望的数据对象一起编译,包括离散数据(诸如文本)、数据文件、指向数据文件的指针、用于基于所指定的准则来标识数据文件的査询或排除、包含一个或多个数据对象的虚拟和物理文件夹、以及甚至其它数据对象集合。篮控件可由其本身用于制作集合,或者它可由另一软件对象主存。例如,本发明的各种实现可附加地包括一"列表制作器(listmaker)"控件,该控件方便地包含篮控件以及用户可用于向篮控件提供数据对象的一个或多个用户界面。例如,列表制作器控件可包括用于查看数据对象的査看图形用户界面(诸如文件浏览器)、以及用于导航该査看图形用户界面的导航工具栏。列表制作器控件然后可在需要时由软件开发者主存在各种软件应用程序中。本发明的一个或多个方面可以涉及用于创建储存在计算机系统上的数据对象的静态列表的计算机系统、所储存的软件和/或方法。本发明的各方面可以在计算机显示设备上显示包括主视图窗格和列表窗格的图形用户界面(GUI)框架,例如探索器框架。主视图窗格显示第一预定义位置,例如由用户标识的虚拟或物理文件夹中的储存在计算机系统上的数据对象,而列表窗格显示对应于与该列表窗格相关联的静态列表中的项目的信息。静态列表中的每一项目对应于一数据对象,并包括属于该数据对象的信息,例如指向数据对象的指针、项目在列表中的顺序、关于项目的注释等。用户可提供标识主视图窗格中显示的要添加到静态列表的第一数据对象的输入,使得对应于该第一数据对象的项目被添加到静态列表。关于第一项目的信息,例如图标、名称、注释等,可显示在列表窗格中。用户可指定第二预定义位置,使得主视图窗格显示储存在第二预定义位置中的数据对象,而不改变与列表窗格相关联的静态列表。根据本发明的各说明性方面,每一静态列表可具有一持久性模型,其中除非用户表达了保存静态列表的显示或隐式意向,否则静态列表的内容被丢弃。隐式意向可通过用户将静态列表从默认名称重命名为用户定义的名称来指示。本发明的各方面提供了一种其中向用户给予将要创建的文件的预览表示的系统和方法。该预览可作为保存文件对话框的一部分来出现,并且可示出对应于新的将要创建的文件的索引,并且可示出该新文件在执行保存以后如何被可视地在GUI中表示。预览可展示出某些行为,诸如具有唯一的外观、总是作为第一元素出现、容易被用户注意到。用户还可与预览交互以甚至在保存文件之前管理文件和/或编辑其属性。预览还可例如通过拒绝允许用户将文件保存到无效位置,或基于用户通过GUI的导航自动填充元数据字段来智能地引导用户通过保存过程。本发明的另一方面可提供一种其中通过专门化探索器或外壳浏览器视图来向用户给予改进的文件浏览界面的系统和方法。该浏览界面可以取决于要显示的内容而变换。在某些情况下,浏览界面可根据要显示的内容来定制呈现在浏览器面板中的用户界面选项。该浏览器可根据内容来重新排列、移除和/或添加所显示的属性。该浏览器的特征、外观和/或组织的其它方面可基于内容来定制。可提供和/或创建一个或多个模板来提供用于生成浏览器面板的一组预定准则。可提供软件接口以允许由用户和/或应用程序来开发附加浏览器面板。用户与这一浏览器的交互可引起浏览器外观和/或功能的进一步改变。根据本发明的其它方面,具有集成的页面空间控件的外壳浏览器为计算机的存储系统、其操作系统、网络等提供了导航工具。根据本发明的至少某些示例,可在多个不同的窗口、应用程序等中提供导航工具和/或其对应的用户界面和显示。在本发明的至少某些示例中,导航工具和/或其对应的用户界面和显示面板可包括包含到各种不同文件、列表、文件夹、页面和/或其它存储元素的"链接"的窗口或窗格。如有所需,根据本发明的至少某些方面的导航工具可为不同应用程序、为应用程序的各部分、为操作系统的各部分、由不同用户等(例如,由提供计算机操作系统的独立软件供应商)定制,以更好地适合或针对导航涉及该组文件等和/或涉及该用户的信息。根据本发明的至少某些示例的导航工具还可提供例如按照分层属性、列表、自动列表、文件夹等来组织和/或显示关于用户的文件的信息的有用方法。根据本发明的至少某些示例的系统和方法也可使得用户易于可任选地利用分层属性来向文件分配属性、改变与文件相关联的所分配的属性等。另外,根据本发明的至少某些示例,可提供用于例如在基于查询的文件和/或检索系统中搜索、定位和查看涉及所储存的或可访问的文件的信息的导航工具。本发明的其它方面涉及其上储存有计算机可执行指令的计算机可读介质,该指令用于执行各种方法和/或操作各种系统,包括具有如上所述(以及将在下文详细描述的)用于组织、搜索、定位和/或显示涉及位于计算机存储系统中和/或可通过计算机系统来访问的文件的信息的系统和方法。本发明的一个或多个说明性方面提供了创建和定制导航窗格或面板或页面空间控件中的多个根的方法和系统。采用这一系统,用户能够通过允许经由这些替换根直接访问相关文档、应用程序和其它数据来绕过不必要的导航。用户可通过将期望的根或结构拖曳到导航窗格中的特定位置来定制导航窗格。用户可通过点击根并将其拖曳到窗格上相对于其它根的特定位置来组织和重组导航窗格中的根。将根拖曳到桌面还可创建到该根的快捷方式。用户还可具有调整每一根的属性的选项,从而允许进一步的可定制性。根据本发明的一方面,多根系统允许根包括除当前系统中使用的典型物理位置(即,物理文件夹)之外的其它类型的节点。更具体地,多根系统允许用户将列表和自动列表定义为导航窗格中的根。这些列表和自动列表可包括满足指定的一组规则或过滤器的文件或其它数据。另外,根可包括对应于用户的电子邮件的自定义扩展(例如,MSNHotmailDrive)。对导航系统的这些增强允许用户在定制各种应用程序中的一组较佳的导航控件时有大得多的灵活性。本发明的各方面可提供用于对属性(或元数据)进行用户修改的系统和方法。在一方面,提供了一种包括文件属性显示的外壳浏览器,该文件属性可包括多值属性。用户可编辑该多值属性,并且系统可智能地协助用户编辑该多值属性。系统可标记化该多值属性值,并且可在多值属性字段内提供持久提示文本作为向用户的对于该字段的选项的提醒。该系统可显示聚集的属性值,并且可结合视觉差异以将聚集的值与它们所应用的文件相关联。对聚集的值的编辑是可能的,且当编辑聚集的多值属性时,该系统可智能地协助用户基于各种因素,诸如己在使用中的条目以及使用属性值的上下文来选择(或避免)条目。当为多个选中的文件聚集多值属性时,该系统也可采取帮助保持特定值出现在各种文件中的顺序的步骤。倾向于更频繁地在文件的多值属性的开头处出现的值将倾向于向着对应的聚集的多值属性的开头出现。本发明的另一方面提供了一种用于基于用户导航来对数据进行动态导航的方法和系统。该方法在用户在第一维度中手动导航的同时自动地在第二维度中动态地滚动数据。该方法包括在窗口窗格中的预定可查看区域中显示内容的视图。该方法还包括确定用户输入是否会导致相关节点至少部分地被遮挡。该方法还包括自动地将内容视图动态地水平滚动预定距离,以使相关节点完全可见或具有增加的可见性。在本发明的各实施例中,相关节点可以是具有输入或查看焦点的树控件(例如,导航窗格、导航面板、页面空间控件等)中的节点,或者最接近用户的鼠标指针或其它输入标记的节点。尽管可以理解,本发明可以被实现为方法,但是它也可被实现为如此处所描述的用于在文件夹树控件中进行用户导航或用于对其它数据进行导航的系统。本发明的各方面可以经由一个或多个编程接口或其它用于访问数据文件的接口与其它代码模块通信。例如,本发明的一方面提供了具有用于包括一个或多个用户界面(UI)控件的专用可扩展性区域的文件对话框。可被包括在可扩展性区域中的控件可从预定义的UI控件类型集合中选择。当应用程序请求OS显示文件对话框时,应用程序可请求在预定义集合内包括一个或多个控件类型。OS然后将所请求的控件放置在所显示的对话框的可扩展性区域中。应用程序无需提供明确指示所标识的控件在对话框内的位置的数据。应用程序也可请求将控件按组放置和/或在组之间包括分隔符。附图简述当结合附图参考以下详细描述更好地理解本发明时,可以更容易地明白本发明的前述方面和许多附带优点,附图中图1是适用于实现本发明的通用计算机系统的框图;图2是根据本发明的虚拟文件夹系统的框图3是示出用户用于提供取回所选择的文件和文件夹的査询的例程的流程图;图4是示出用于根据默认查询或来自用户的査询构造虚拟文件夹并在屏幕上显示的例程的流程图;图5是根据硬盘上的物理文件夹排列的文件夹结构的树图;图6是虚拟文件夹结构的树图;图7是图6的虚拟文件夹结构的树图,其中客户栈按照合同和年份来进一步过滤;图8是图7的虚拟文件夹结构的树图,其中客户栈的合同按照年份来进一步过滤;图9是图6的虚拟文件夹结构的树图,其中合同栈按照客户和年份来进一步过滤,且客户按照年份来进一步过滤;图IO是示出显示文档库的的栈的屏幕显示的图示;图11是示出显示图10的ABCCorp.栈中的文档的屏幕显示的图示;图12是示出其中为图11的文档选择堆栈功能的屏幕显示的图示;图13是示出其中为图12的堆栈功能选择"stackbyauthor"参数的屏幕显示的图示;图14是示出其中按照作者来堆栈图13的文件的屏幕显示的图示;图15是示出其中选择堆栈功能并且进一步选择"stackbycategory"选项来重新堆栈图14的文件的屏幕显示的图示;图16是示出其中图14的文件已按照类别重新堆栈的屏幕显示的图示;图17是示出其中选择了用于显示物理文件夹的快速链接的屏幕显示的图示;图18是示出其中显示了包含图17的虚拟文件夹栈的文件的物理文件夹的屏幕显示的图示;图19是示出用户可用于直接操纵虚拟文件夹的例程的流程图;图20是示出其中新的"WestCoast"栈被添加到图10的栈的屏幕显示的图示;图21是示出其中使用直接操纵来将文件从"ABCCorp."栈复制到图20的"WestCoast"栈的屏幕显示的图示;图22是示出系统用于动态地生成新过滤条件的例程的流程图;图23是示出系统用于基于对过滤条件的选择来过滤项目的例程的流程图;图24是示出其中按照项"AB"来过滤图10的栈的屏幕显示的图示;图25是示出其中按照项"ABC"来过滤图10的栈的屏幕显示的图示;图26是示出其中为图IO的栈选择过滤条件"year2002"的屏幕显示的图示;图27是示出其中已按照"year2002"过滤了图10的栈,并且进一步选择过滤条件"month"的屏幕显示的图示;图28是示出其中呈现了一列表来选择用于过滤的月份的屏幕显示的图示;图29是示出其中已按照一月的月份进一步过滤了图10的栈并进一步显示过滤条件"day"的屏幕显示的图示;图30是示出用于创建新快速链接的例程的流程图;图31是示出用于基于图29的过滤来创建称为"JanuaryWork"的新快速链接的屏幕显示的图示;图32是示出其中选择"AllAuthors"快速链接的屏幕显示的图示;图33是示出其中呈现图32的所有作者的列表的屏幕显示的图示;图34是示出其中从图33的列表中选择"Authorl"并显示作者1的所有文档的屏幕显示的图示;图35是示出用于创建新库的例程的图示;图36是示出其中显示了各种可用库的集合的屏幕显示的图示;图37是示出用于定义虚拟文件夹集合的范围的例程的流程图;图38是示出可形成虚拟文件夹集合的范围的各种源的框图;图39是示出用于在虚拟文件夹集合中包括非文件项目的例程的流程图;图40是示出显示包括在虚拟文件夹中的各种非文件项目的屏幕显示的图示;图41是适用于实现本发明的示例性联网计算机环境的图示;图42是示出如现有技术中所发现的具有与在计算机文件系统中显示文件相关联的常规地址栏的示例性文件査看器的图示;图43是示出用于根据依照本发明形成的虚拟地址栏中的虚拟地址来显示计算机文件系统中的文件的示例性文件查看器的图示;图44A是图5的示例性文件查看器的图示,它示出了虚拟地址栏中用于在文件系统中导航的虚拟地址的一段;图44B是图45A的示例性文件査看器的图示,它示出了选择虚拟地址栏中的虚拟地址的一段的结果;图44C是示出用于显示计算机文件系统中的文件的示例性文件查看器的图示,其中虚拟地址的一段包括一个以上过滤器;图45A-45D是示出选择与虚拟地址栏中的虚拟地址的一段相关联的对等过滤器的图示;图46A-46D是示出向虚拟地址栏中的虚拟地址添加附加过滤器的图示;图47A和47B是示出显示虚拟地址的示例性虚拟地址栏的图示,其中虚拟地址超出了虚拟地址栏的显示容量;图47C是示出根据本发明的一方面在溢出条件下显示虚拟地址的示例性虚拟地址栏的图示;图48A是示出具有虚拟地址、且过滤器同时参考文件系统中的虚拟和实际位置的示例性虚拟地址栏的图示;图48B是示出图48A的被配置成显示常规地址栏的示例性虚拟地址栏的图示;图49是示出用于选择虚拟地址栏中的替换过滤器的替换过滤器选择例程的流程图;图50是示出用于向虚拟地址栏中的虚拟地址添加过滤器的示例性添加过滤器例程的流程图;图51A是根据本发明的一个实施例的用于具有编辑控件的外壳浏览器的示例性图形用户界面的框图;图51B是根据本发明的一个实施例的用于具有一个或多个编辑控件的外壳浏览器的示例性图形用户界面的框图;图52是外壳浏览器中的欢迎窗格的示意图;图53是外壳浏览器中的已选中窗格的示意图;图54是根据本发明的一个实施例的图53的已选中窗格的示意图,包括允许用户修改外壳浏览器中的元数据的上下文菜单;图55是示出根据本发明的一个实施例的允许用户修改显示在外壳浏览器内的欢迎窗格中的元数据的方法的流程图;图56是示出根据本发明的一个实施例的允许用户修改显示在外壳浏览器内的选定窗格中的元数据的方法的流程图;图57是包含与显示在外壳浏览器中的项目相关联的用户可修改元数据的数据结构的框图;图58是现有技术的用于在用于査看其它非图片文件和文件夹的外壳浏览器环境内浏览储存在文件夹中的图片的图形用户界面的示意图;图59是用于外壳浏览器的示例性图形用户界面的框图;图60是外壳浏览器中的欢迎窗格的示意图;图61是外壳浏览器中的选定窗格的示意图;图62是根据本发明的一个实施例的具有扩展控件的外壳浏览器中的选定窗格的示意图;图63是根据本发明的一个实施例的类似于图61但包括允许用户在外壳浏览器中选择预览器的上下文菜单的选定窗格的示意图;图64A是示出根据本发明的一个实施例的允许用户在外壳浏览器中选择预览器的方法的流程图;图64B是示出根据本发明的一个实施例的允许系统在外壳浏览器中选择预览器的方法的流程图;图65是示出根据本发明的一个实施例的允许在外壳浏览器中使用第三方预览器的方法的流程图;以及图66是包含指示外壳浏览器中的多个预览器的信息的数据结构的框图。图67示出了根据本发明的一个或多个说明性方面的范围输入控件。图68示出了根据本发明的一个或多个说明性方面的范围输入控件。图69示出了根据本发明的一个或多个说明性方面的范围输入控件。图70示出了根据本发明的一个或多个说明性方面的范围输入控件。图71示出了根据本发明的一个或多个说明性方面的范围输入控件。图72示出了根据本发明的一个或多个说明性方面的用于指定范围的方法。图73示出了根据本发明的一个说明性实施例的带有集成的列表窗格的探索器框架。图74示出了根据本发明的一个说明性实施例的用于列表对象的上下文菜单。图75示出了根据本发明的一个说明性方面的具有基于任务的控件的探索器框架的一部分。图76示出了根据本发明的一个说明性实施例的带有集成的基于任务的列表窗格的探索器框架。图77描绘了包含将要在系统上创建的文件的预览表示的示例GUI视图。图78描绘了包含将要在系统上创建的文件的预览表示的另一示例GUI视图。图79描绘了包含将要在系统上创建的文件的预览表示的GUI视图的两个其它示例。图80描绘了提供将要在系统上创建的文件的预览表示的示例SaveFile对话图81A-B描绘了用于实现将要在系统上创建的文件的预览表示的示例过程。图82是示出浏览器视图之间的关系的图示。图83描绘了根据本发明的各方面的示例浏览器界面布局。图84描绘了根据本发明的各方面的另一示例浏览器界面布局。图85描绘了根据本发明的各方面的用于浏览文件的示例过程。图86描绘了可用于实现本发明的各方面的数据结构、应用程序和/或子例程之间的示例逻辑关系。图87A和87B示出了根据本发明的至少某些示例的分别为准许和非准许分层属性路径的示例;图88示出了根据本发明的各示例的用于保存具有相关联的分层属性的新项目(例如,文件)的用户界面的示例;图89示出了根据本发明的各方面的包括涉及所储存的项目(例如,数字图片文件)的信息的示例"预览面板";图90示出了根据本发明的一个示例的改变分层属性的分层排列的示例;图91示出了根据本发明的某些示例的具有导航面板的示例用户界面;图92A和92B是示出根据本发明的各示例的可在导航和显示操作期间使用的不同范围的示例的图示;图93到103示出了根据本发明的各示例的导航和显示操作中的多个属性或其它信息选择期间的用户界面、显示和操作的示例;以及图104到111示出了根据本发明的各示例的导航和显示操作中的项目(例如,电子文件)的分组、堆栈和过滤期间的用户界面、显示和操作的示例。图112示出了根据本发明的一个说明性实施例的实现多个根导航窗格的外壳浏览器窗口的部分屏幕截图。图113示出了根据本发明的一个说明性实施例的多个根导航窗格。图114A示出了根据本发明的一个说明性实施例的用于定制导航窗格的方法。图114B示出了根据本发明的一个说明性实施例的用于对多根导航窗格中的页面节点重新排序的方法。图115示出了根据本发明的一个说明性实施例的用于定制导航窗格的配置对话框。图116A示出了根据本发明的一个实施例的页面节点属性配置对话框。图116B示出了根据本发明的一个说明性实施例的具有不可见根的多根导航窗格。图117a-b描绘了可采用此处所描述的特征的过程的示例流程图。图118描绘了示例文件浏览器用户界面和各种用户界面元素。图119描绘了图118中的界面的经修改的形式,其中对预览区调整了大小。图120描绘了图118中的界面的另一经修改的形式,其中对预览区调整了大小。图121描绘了具有不同方向的预览元素的替换浏览器界面。图122描绘了包括预览界面的常见文件对话框的示例。图123描绘了堆栈的预览呈现的示例。图124描绘了具有比图123所示的示例更多的堆栈预览的堆栈预览呈现的另一示例。图125描绘了当选中多个文件时出现的预览的示例。图126描绘了具有选中的多个文件以及相应的属性和文件的视觉区分的示例浏览器。图127描绘了具有多个选中的文件以及聚集的属性域的示例浏览器。图128描绘了具有将属性与一个或多个选中的文件相关的视觉区分的聚集的属性域的示例。图129A-B描绘了其中多个选中的多值属性可使其值聚集的示例过程。图130描绘了多值属性域的示例。图131描绘了用于自动选择特征的示例过程。图132描绘了具有自动完成特征的多值属性域的示例。图133描绘了用于自动完成特征的示例过程。图134是说明根据本发明的各方面的用于在虚拟地址栏中选择子过滤器的子过滤器选择例程的流程图;以及图135A-135D是示出选择与虚拟地址栏中的虚拟地址的一段相关联的子过滤器的图示。图136示出了显示在窗口窗格中的常规的现有技术文件夹树控件。图137示出了根据本发明的各说明性方面实现的分层树控件结构的视图。图138A和138B示出了根据本发明的各说明性方面实现的文件夹树控件的屏幕截图图139是描述根据本发明的各说明性实施例的用于提供内容以向通过该内容导航的用户显示的方法的流程图。图140是说明具有常规操作系统中的分组的详细视图的图示;图141A是以详细视图说明根据本发明的各方面的包括属性控件的属性首部的图示;图141B是以详细视图说明根据本发明的各方面的属性首部中的拆分按钮属性控件的图示;图141C是以详细视图说明根据本发明的各方面的属性首部中的属性控件的排列和过滤下拉菜单的图示;图141D是说明根据本发明的各方面的排列和过滤下拉菜单的过滤器部分的一部分的图示;图142A是以除详细视图以外的视图说明根据本发明的各方面的包括属性控件的属性首部的图示;图142B是以除详细视图以外的视图说明根据本发明的各方面的属性首部中的属性控件的排列和过滤下拉菜单的图示;图142C是以除详细视图以外的视图说明根据本发明的各方面的其中视图按照属性首部中的属性控件之一来过滤的属性首部的图示;图143是说明根据本发明的各方面的溢出属性控件的排列和过滤下拉菜单的图示;以及图144是说明根据本发明的各方面的日历控件的图示。图145A到145M示出了可用于实现本发明的实施例的通用计算机环境中的编程接口。图146和147是根据本发明的至少某些实施例的"OpenFile"对话框的示例。图148和149是根据本发明的至少某些实施例的"SaveFile"对话框的示例。图150-154B是根据本发明的至少某些实施例的可被添加到文件对话框的附加用户界面(UI)控件的示例。图155和156示出了根据本发明的至少某些实施例的UI控件的自动排列。图157和158是示意性地示出应用程序请求生成根据本发明的各实施例的文件对话框的方式和现有技术中请求文件对话框的方式之间的区别的框图。较佳实施例的详细描述本发明针对结合了多个期望特征的文件系统外壳。本质上,该外壳向用户提供了查看和操纵储存在计算机上的文件和其它项目的能力。以下描述首先提供了对图l-66所示的特征的概括,然后提供了详细讨论。概括而言,图l-9一般针对用于虚拟文件夹的总体系统。虚拟文件夹提供了一种允许常规的用户界面基于常规文件和文件夹(也称为目录)的元数据而非盘上的实际物理底层文件系统结构来用不同的视图向用户展示这些文件和文件夹的方法。图10-18—般针对与虚拟文件夹取出储存在数据库中的任何属性并将其表示为类似文件夹的容器的能力有关的栈。图19-21—般针对虚拟文件夹的直接操纵,它与提供类似于当前用于操纵标准文件夹的机制(例如,复制、粘贴、点击和拖曳等)的用于操纵虚拟文件夹的机制有关。图22-29—般针对过滤器,它提供用于縮小一组文件/项目的一组工具。图30-34—般针对快速链接,它是可被点击以生成文件/项目组的有用视图的一组预定义链接。图35-36—般针对库。它与可使用类型的文件的组可被关联在一起并且可提供与特定类型的项目有关的工具和活动的概念有关。图37-38—般针对范围,它与能够从多个物理位置(例如,不同的硬盘驱动器、不同的计算机、从网络位置中的计算机等)获取文件/项目以使对用户而言所有文件/项目都如同它们从一个位置提供那样以同样的便利性来呈现的概念有关。图39-40—般针对非文件项目,它可连同文件一起被包括在数据库中,并且可包括诸如电子邮件和联系人等项目。图41-50—般针对虚拟地址栏,它包括多个段,每一段对应于用于选择内容的一个过滤器。图51-57—般针对外壳浏览器,用户使用它能够基于与项目相关联的元数据来容易地标识项目。图58-66—般针对扩展被配置成显示表示多种项目类型的多个项目的外壳浏览器中的对象预览器的功能。以下描述提供了对本发明的这些方面中的每一个的详细讨论。如上所述,图l-9一般针对用于实现虚拟文件夹的系统。虚拟文件夹利用了当前用于文件系统的相同或相似的用户界面。虚拟文件夹基于常规文件和文件夹(也称为目录)的元数据而非盘上的实际物理底层文件系统结构以不同的视图向用户展示这些文件和文件夹。创建了位置不相关视图,这些视图允许用户利用与当前用于管理文件系统的控件类似的控件来操纵其文件和文件夹。一般而言,这意味着用户可基于文件本身中的固有属性来组织和重新排列其文件,而非作为系统的单独一部分来完成管理和组织。虚拟文件夹可表示来自不同虚拟或物理位置,诸如来自同一计算机内的多个磁盘驱动器、多个计算机之间、或不同网络位置的文件或项目,使得文件或项目的一个视图可展示位于不同物理位置处的文件或项目。在一个实施例中,不同的项目或文件只需通过IP网络来连接以便被包括在内。虚拟文件夹建模也能够用于传统上的非文件实体。这一用途的一种应用是使类似于文件和文件夹的一组用户界面(即,对象和容器)显示传统上的非文件实体。这一非文件实体的一个示例是电子邮件,另一示例是来自联系人数据库的联系人信息。以此方式,虚拟文件夹提供了位置不相关的、基于元数据的视图系统,该系统的工作不考虑所显示的数据是来自文件还是非文件实体。一般而言,这些方面在让用户既使用常见的用户界面技术(拖放、双击等)又充分利用各种数据类型的丰富集成来操纵其文件和数据方面允许更大的灵活性。图1及以下讨论旨在提供对其中可实现本发明的合适的计算环境的简要概括描述。尽管并非所需,但本发明将在诸如程序模块等由个人计算机执行的计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、字符、组件、数据结构等等。如本领域的技术人员理解的,本发明可以用其它计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型机、大型机等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实践。在分布式计算环境中的,程序模块可以位于本地和远程存储器存储设备中。参考图1,用于实现本发明的示例性系统包括常规个人计算机20形式的通用计算设备,包括处理单元21、系统存储器22以及将包括系统存储器22的各类系统组件耦合至处理单元21的系统总线23。系统总线23可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。包含如在启动时协助在个人计算机20内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)26储存在ROM24中。个人计算机20还包括用于对硬盘39进行读写的硬盘驱动器27、用于对可移动磁盘29进行读写的磁盘驱动器28、以及用于对诸如CD-ROM或其它光介质等可移动光盘31进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28以及光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。驱动器及其相关联的计算机可读介质为个人计算机20提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。尽管这里描述的示例性环境采用了硬盘39、可移动磁盘29以及可移动光盘31,然而本领域的技术人员应当理解,在该示例性操作环境中也可以使用能储存可由计算机访问的数据的其它类型的计算机可读介质,诸如盒式磁带、闪存卡、数字视频盘、Bernoulli盒式磁盘、随机存取存储器(RAM)、只读存储器(ROM)等等。多个程序模块可储存在硬盘39、磁盘29、光盘31、ROM24或RAM25中,包括操作系统35、一个或多个应用程序36、其它程序模块37以及程序数据38。用户可以通过诸如键盘40和定点设备42等输入设备向个人计算机20输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线23的串行端口接口46连接到处理单元21,但也可以通过其它接口,如并行端口、游戏端口或通用串行总线(USB)连接。监视器47形式的显示器也可经由诸如视频卡或适配器48等接口连接到系统总线23。一个或多个扬声器57也可通过诸如音频适配器56等接口连接到系统总线。除显示器和扬声器之外,个人计算机通常包括诸如打印机等其它外围输出设备(未示出)。个人计算机20可以使用与一个或多个个人计算机,如远程计算机49的逻辑连接在网络化环境中操作。远程计算机49可以是另一个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有相对于个人计算机20上述的元件。图1描述的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。当在LAN网络环境中使用时,个人计算机20通过网络接口或适配器53连接至局域网51。当在WAN网络环境中使用时,个人计算机20通常包括调制解调器54或用于通过广域网52,如因特网建立通信的其它装置。调制解调器54可以是内置或外置的,它通过串行端口接口46连接至系统总线23。在网络化环境中,相对于个人计算机20所描述的程序模块或其部分可储存在远程存储器存储设备中。可以理解,示出的网络连接是示例性的,可以使用在计算机之间建立通信链路的其它装置。当在图1所示的类型的系统上实现时,本发明利用了使得用户更易于执行围绕文件操纵和文件夹导航(浏览)的基本任务并提供可以在新特征中充分利用的更高级存储能力的虚拟文件夹。虚拟文件夹基于文件和项目的元数据而非盘上的实际物理底层文件系统结构以不同的视图向用户展示这些文件和项目。图2是根据本发明的虚拟文件夹系统200的框图。如以下更详细描述的,虚拟文件夹允许用户改变控制查看数据的方式的"旋转点(pivot)"。作为一个示例,用户可将其音乐作为可按照专辑来分组的所有歌曲的平面列表来查看。或者,用户可切换视图以仅显示出流派或艺术家或年份等。用户可调整视图以仅看见适合手头的任务的对象。这允许取消对通过文件夹的进一步导航(向下和反向)的需求的改进的浏览体验。同样的课程和能力适用于对不作为文件来储存的其它数据类型建模。例如,可以此方式向用户展示联系人,从而给予用户类似的界面能力以及比由平面地址簿提供的更丰富的用于操纵联系人的基础架构。如图2所示,虚拟文件夹系统200包括文件夹处理器210、关系型数据库230、虚拟文件夹描述数据库232、其它外壳文件夹组件234、文件夹处理程序组件236以及外壳浏览器和视图组件240。文件夹处理器210包括本机处理代码组件212、处理程序工厂组件214、属性编写器组件216、行集语法分析器组件218、查询构建器组件220、枚举器组件222和属性工厂组件224。关系型数据库230储存关于系统中所有文件的属性。它也完整地储存某些项目,如联系人(即,非文件项目)。一般而言,它储存关于其包含的文件和项目的类型的元数据。关系型数据库230从查询构建器220接收SQL査询。关系型数据库230也向行集语法分析器组件218发送SQL行集合,对每一项目列发送一行,列为项目属性。虚拟文件夹描述数据库232包括虚拟文件夹描述。虚拟文件夹描述数据库232向查询构建器组件220发送数据,包括要显示在文件夹中的类型的列表、初始过滤器以及从其显示结果的物理位置(范围)。对于其它外壳文件夹组件234,文件夹处理器210对于处理程序或属性委托给来自多种类型的项目的现存外壳文件夹,包括所有文件。其它外壳文件夹组件234将属性从其它文件夹发送到属性工厂224。其它外壳文件夹组件也向处理程序工厂214发送处理程序。文件夹处理程序组件236为仅在数据库中存在的项目,如联系人提供代码行为。这允许非文件项目与文件相似地运行。文件夹处理程序组件236向处理程序工厂214发送处理程序。对于本机处理代码组件212,文件夹处理器210基于项目的属性直接实现特定的处理程序。本机处理代码组件212向处理程序工厂214发送处理程序。对于本机处理代码组件212以及文件夹处理程序组件236,与所有名称空间一样,虚拟文件夹必须为其项目提供一组处理程序(上下文菜单、图标、縮略图、信息提示、…)。对于这些(信息提示、数据对象、拖放处理程序、背景上下文菜单…)中的大多数,虚拟文件夹为它所持有的所有类型提供一公用(本机)处理程序。然而,还有类型的作者必须提供的其它处理程序(在项目本身上的上下文菜单、可写属性存储、…)。默认处理程序也可以被覆盖。虚拟文件夹对文件重复使用这一处理程序并允许非文件项目执行同样的动作。处理程序工厂214采用ID列表并产生提供上下文菜单、图标等的代码行为。一般而言,文件夹处理器210可以使用本机处理程序、外部处理程序或委托给其它外壳文件夹来获得处理程序,如上文关于本机处理代码组件212、其它外壳文件夹组件234以及文件夹处理程序组件236所描述的。处理程序工厂组件214根据视图所请求的向视图240中的外壳浏览器发送处理程序。处理程序工厂组件214向属性编写器216发送属性处理程序。属性编写器216将诸如剪切、复制和粘贴等用户意向转换为对文件或项目的属性权限。外壳浏览器和视图组件240向属性编写器216发送数据,包括对元数据的直接操纵(剪切/复制/粘贴)或编辑。一般而言,由于虚拟文件夹呈现了基于项目属性的组织,因此诸如移动和复制(拖放)等操作变为在这些属性上的编辑。例如,在按作者堆栈的视图中将一个文档从作者1移动到作者2表示改变作者。属性编写器组件216实现这一功能。行集语法分析器218采用数据库行集合并将所有项目属性储存在外壳ID列表结构中。行集采用虚拟文件夹的分段定义并构建之后可以发给数据库的SQL串。行集语法分析器组件218向枚举器组件222发送ID列表。如上所述,行集语法分析器组件218还从关系型数据库230接收数据,包括SQL行集,每一项目占一行,列为项目属性。査询构建器组件220构建SQL查询。查询构建器组件220从枚举器组件222接收数据,包括来自导航的新过滤器。査询构建器组件220还从虚拟文件夹描述数据库232接收数据,包括要显示在文件夹中的类型列表、初始过滤器以及从其显示结果的物理位置(范围)d查询构建器组件220向关系型数据库230发送SQL査询。一般而言,查询构建器组件220包括一组行(也即,表)。这就是运行该査询所产生的。行集语法分析器组件218采用每一行,并使用列名称来将行转换为ID列表。ID列表是一种众所周知的外壳结构,它用来引用名称空间中的项目。执行这一步骤允许虚拟文件夹正如外壳的其余部分的任意其它名称空间一样。而且,将这一数据高速缓存能够帮助将可能成本较大的数据库访问保持最小化。枚举器组件222响应于对虚拟文件夹的导航来操作。如上所述,枚举器组件222从行集语法分析器组件218接收ID列表,并向查询构建器组件220发送来自导航的新过滤器。枚举器222也向外壳浏览器和视图组件240发送数据,包括返回以插入到导航之后的视图的ID列表。属性工厂组件224采用ID列表和属性标识符,并返回那些属性的值。属性工厂组件224从包括属性处理程序的处理程序工厂组件214接收数据。如上所述,属性工厂组件224还从其它外壳文件夹组件234接收数据,包括来自其它文件夹的属性。属性工厂组件224还按视图的请求向外壳浏览器和视图组件240发送数据,包括项目属性。外壳浏览器和视图组件240在窗口中显示文件夹的内容,并处理用户与所显示的文件或项目的所有交互,如点击、拖曳和导航。因此,外壳浏览器和视图组件240接收用户动作。外壳浏览器和视图组件240还获得其从文件夹(本情况下为文件夹处理器210)所需要的关于代码行为的数据。如上所述,虚拟文件夹基于常规文件和文件夹(也称为目录)的元数据而不是盘上的实际物理底层文件系统结构以不同的视图向用户展示这些文件和文件夹。因此,系统能够采用储存在数据库中的属性并将其表示为类似文件夹的容器。由于用户已熟悉使用.文件夹工作,因此通过以类似的方式呈现虚拟文件夹,用户可以更快地适应新的系统。图3是示出用户用于提供取回所选项目的査询的例程300的流程图。在框302处,文件夹处理器从用户获取査询。在框304中,文件夹处理器将该查询传递到关系型数据库。在框306处,关系型数据库将结果提供回文件夹处理器。在框308处,文件夹处理器以虚拟文件夹和项目的形式向用户提供结果。图4是示出用于依照默认査询或来自用户的查询来构造虚拟文件夹并在屏幕上显示的例程320的流程图。在框322处,当用户首次打开虚拟文件夹时,使用默认查询。这一默认查询从注册表中取得。例如,对音乐库的默认査询可以是显示按专辑分组的所有歌曲。在框324处,文件夹处理器对这一查询构造查询对象,然后将这一查询传递到关系型数据库。在框326处,关系型数据库生成该査询的结果,并将这些结果作为数据库行和列传回文件夹处理器。在框328处,文件夹处理器采用这些结果,并将它们从数据的行和列转换为由文件夹视图用于用所得的虚拟文件夹和项目来填充屏幕以供用户交互的枚举器结构。在判定框330处,用户判定是否要改变视图(通过发出不同的查询或"旋转命令(pivot)")。例如,用户能够发出"显示所有艺术家"的旋转命令。如果用户确实想改变视图,则该例程返回至框324,其中文件夹处理器向关系型数据库传递该新查询,并接收回结果的新行和列,并构造新的枚举器结构。该过程然后如上所述地继续,使用枚举器清除并更新文件夹视图,来将"艺术家"对象拖曳到屏幕。在一个示例中,提供了表示用户能够导航到其中的容器的专辑对象。例如,双击"Beatles"专辑将导航视图来查看Beatles的所有歌曲。文件夹处理器向关系型数据库发出"显示所有Beatles的歌曲"的査询,关系型数据库交还这些歌曲的数据的行和列。文件夹处理器创建所有这些歌曲的枚举器,该枚举器然后被拖曳到屏幕。用户也能够在浏览虚拟文件夹的同时在任一点处选择视图。从上述示例,在縮减到只显示Beatles的歌曲之后,用户能够改变视图来仅将歌曲显示为专辑。将项目的视图改为另一表示的过程称为"堆栈(stacking)"。这是由于项目在概念上基于该表示被排列成"栈"。在这一情况下,对各种专辑的每一个,歌曲被重新排列成栈。用户然后能够导航到这些栈之一,仅看见来自该特定专辑的歌曲。再一次,用户能够基于属性(如评级)将这些剩余歌曲的视图重新排列成栈。如果选择了评级属性,则来自Beatles专辑的歌曲将在栈中以一、二或三星的评级来显示。每一査询的结果取决于范围内包括了哪些物理或虚拟位置。例如,可以令范围仅包括用户的"我的文档(mydocuments)"文件夹中的文件夹。或者,范围可以包括计算机上的所有文件夹,或者甚至多个网络连接的计算机上的所有文件夹。用户能够通过范围属性单来查看并改变范围。在一个示例中,可以通过右键点击虚拟文件夹并选择"properties(属性)"来展示范围属性表。用户能够向范围添加新的文件夹,或移除先前添加的文件夹。虚拟文件夹向其提供特定实用程序的一组用户是知识工作者。虚拟文件夹允许知识工作者方便地在按照文件类型、项目、件号、作者等査看文件之间切换。由于知识工作者各自往往具有组织文档的不同方法,因此虚拟文件夹可以用来适应这些不同的偏好。图5是依照硬盘上的物理文件夹排列的文件夹结构的树图。这一物理文件夹排列基于文件夹的传统实现,该实现可以基于NTFS或其它现有的文件系统。这类文件夹被称为物理文件夹,因为它们的构造是基于盘上的实际物理底层文件系统结构。如后文所详细讨论的,这与虚拟文件夹相反,虚拟文件夹创建位置不相关的视图,这允许用户以与当前用来操纵物理文件夹的方式类似的方式来操纵文件和文件夹。如图5所示,文件夹400是"我的文档"文件夹。在第一级,文件夹400包括文件夹410、420和430,分别对应于客户1、2和3。在第二级,文件夹410、420和430的每一个分别包含文件夹411、421和431,每一个都分别对应于所选择的客户的合同。在第三级,文件夹411、421和431的每一个分别包含文件夹412、422和432,每一个都对应于2001年。在第三级,文件夹411、412和431的每一个也分别包含文件夹413、423和433,每一个都对应于2002年。可以理解,对于想要导航到如图5所示的物理文件夹文件结构的用户来说存在许多障碍。例如,如果用户希望处理用户产生的所有合同,则用户首先需要导航到文件夹411来处理客户1的合同,然后需要重新导航到文件夹421来处理客户2的合同,并且再一次需要重新导航到文件夹431来处理客户3的合同。这一排列令用户很难访问所有的合同,并且通常来说阻碍了所有合同的同时査看和操纵。类似地,如果用户希望查看2001年产生的所有合同,则用户需要分别导航并重新导航到文件夹412、422和432。如后文将要详细描述的,本发明的虚拟文件夹提供了改进的文件系统结构。图6是虚拟文件夹结构的树图。如后文将要详细描述的,虚拟文件夹创建位置不相关的视图,这允许用户方便地操纵其文件和文件夹。如图6所示,虚拟文件夹被表示为栈。虚拟文件夹500是"所有项目"文件夹。在第一级,虚拟文件夹500包含虚拟文件夹510、520和530,分别对应于客户、合同和年份。如后文将要详细描述的,这一结构允许用户依照所期望的参数来访问文件。图7是图6的虚拟文件夹结构的树图,其中,在第二级,虚拟文件夹510还包括虚拟文件夹511和512,分别对应于合同和年份。换言之,虚拟文件夹510的客户栈进一步按合同和年份来过滤。确定每一虚拟文件夹中包含哪些文件和项目的过程将在后文详细描述。图8是图7的虚拟文件夹结构的树图,其中,在第三级,虚拟文件夹511包含虚拟文件夹513,它对应于年份。换言之,虚拟文件夹511的合同栈进一步按年份过滤。尽管依照客户、合同和年份来构造虚拟文件夹510、511和513的虚拟文件夹结构,但应当理解,虚拟文件夹允许出现其它构造顺序,如后文参考图9所详细描述的。图9是图6的虚拟文件夹结构的树图,其中,在第二级,虚拟文件夹520进一步过滤为虚拟文件夹521和522,对应于客户和年份。在第三级,虚拟文件夹521进一步过滤为虚拟文件夹523,对应于年份。图8和9的组织结构之间的对比帮助说明了虚拟文件夹系统的灵活性。换言之,在虚拟文件夹系统中,用户能够依照所期望的参数来导航虚拟文件夹,这与取决于图5所示的物理文件结构的位置相关视图相反。图10所示是示出文档库的栈的屏幕显示600的图示。如上所述,栈可以用来表示一类虚拟文件夹。如后文将要详细描述的,屏幕显示600包括快速链接元素610-613、过滤器元素620-626、活动元素630-633、信息和控制元素640-645以及虚拟文件夹栈651-655。快速链接元素包括"allcategories(所有类别)"快速链接610、"allauthors(所有作者)"快速链接611、"Januarywork(—月作品)"快速链接612以及用于显示其它快速链接613的选择。如后文将要详细描述的,用户能够选择快速链接来执行所期望的虚拟文件夹的导航。快速链接可以由系统提供,并且某些快速链接可由用户创建并保存。过滤器元素包括"filterby(按……过滤)"指示器620、条目空白区621、"bydate(按日期)"指示器622、"year(年份)"选择器623、"pickanauthor(选择一个作者)"选择器624、"pickacategory(选择一个类别)"选择器625以及"morefilters(更多过滤器)"选择器626。"filterby"指示器620指示用户以下项目可以用来过滤虚拟文件夹或项目的这一事实。条目空白区621提供了用户能够键入所期望的新过滤条件的区域。"bydate"指示器622指示用户通过从"year"选择器623选择日期可以按所选择的年份过滤虚拟文件夹或项目的这一事实。"pickanauthor"选择器624允许用户依照特定的作者过滤。"pickacategory"选择器625允许用户依照所选择的类别来过滤。"morefilters"选择器626允许用户在显示器上弹出其它过滤器。活动选择器包括"createanewcategory(创建一个新类别)"选择器630、"activity(活动)"选择器631和632以及"moreactivities(更多活动)"选择器633。如后文将要详细描述的,所呈现的活动可以用于一般所期望的功能,或专门针对对当前所显示的虚拟文件夹类型有用的活动。例如,用户能够选择"createanewcategory"选择器630来创建由新栈表示的新类别。如上所述,活动选择器631和632可以更专门地针对正被显示的文件夹或项目的类型。例如,当前的显示是文档库,对于文档库,"activity"选择器631和632可针对专门为文档设计的活动,如编辑或创建附件。如果当前库为照片库,则"activity"选择器631和632可以用于专门针对照片的活动,如组成照片相册或与其他用户共享照片。信息和控制元素包括信息行640和信息行(地址栏)641、控制行642、回退控件643以及信息行644和645。信息行640和地址栏641提供了关于虚拟文件夹或项目的当前导航的信息。在本示例中,信息行640指示当前导航为到文档库,而地址栏641指示更完整的导航,它显示文档库处于存储范围之内。控制行642提供了若干标准控件,回退按钮643允许用户通过导航返回。信息行644提供了关于当前的导航的内容的数值信息。在本示例中,信息行644指示有41个项目,它们占用了文档库的栈中IOOMB。信息行645可用来提供额外的信息,如关于选中的文件的额外信息。文档库的栈包括"ABCCorp.(ABC公司)"栈651、"backups(备份)"栈652、"businessplans(商业计划)"栈653、"XYZCorp.(XYZ公司)"栈654以及"marketingreports(市场报告)"栈655。每一栈顶部的数字指示每一栈中有多少项目。例如,"ABCCorp."栈651被示为包括8个项目。栈的总项目数合计达信息行644中所指示的项目数,如上所述本示例中为41。提供了选择框SB,它可由用户用来选择所期望的项目。对"ABCCorp."栈651的选择得到该栈的项目的视图,如后文关于图ll所描述的。图11所示是显示图10的"ABCCorp."栈651中的项目的屏幕显示的图示。应当注意,信息行640和地址栏641现在指示当前导航是显示"ABCCorp."栈。"ABCCorp."栈651被示为包括8个文档751-758,它们分别对应于文档1-8。信息行644相应地指示有8个项目,它们占用20MB的存储器。图11的文档可以进一步排列为ABCCorp.栈内的栈。换言之,在由ABCCorp.栈651表示的虚拟文件夹内,可以组织额外的虚拟文件夹来容纳文档,如后文关于图12-16所描述的。图12所示是在其中对图11的文档选择堆栈功能的屏幕显示的示图。如图12所示,用户能够弹出功能框760。功能框760包括"view(査看)"选择761、"arrangeiconsby(按……排列图标)"选择762、"stacks(栈)"选择763、"refresh(刷新)"选择764、"opencontainingfolders(打开包含的文件夹)"选择765、"cut(剪切)"选择766、"copy(复制)"选择767、"undo(撤消)"选择768、"new(新建)"选择769以及"properties(属性)"选择770。选择框SB被示为围绕"stacks"选择763。图13是示出其中对图12的堆栈功能选择"stackbyauthor(按作者堆栈)"参数的屏幕显示的图示。如图13所示,显示呈现各种堆栈选项的框780。堆栈选项包括"unstack(拆栈)"选项781、"stackbycategory(按分类堆栈)"选项782、"stackbyauthor(按作者堆栈)"选项783以及"stackbyuser(按用户堆栈)"选项784。选择框SB被示为围绕"stackbyauthor"选项783。图14是示出其中按作者对图13的文件进行堆栈的屏幕显示的图示。如图14所示,栈791和792分别对应于作者Bob和Lisa。如每一栈的顶部的数字所指示的,Bob栈791包括2个项目,而Lisa栈792包括5个项目。项目758(对应于文档8)没有作者,因此不包括在"author(作者)"栈中。栈791和792示出栈可以在多级上组织,如在"ABCCorp."栈651之内。因此,虚拟文件夹可以在多级上形成,如"Lisa"栈792处于文档库内的"ABCCorp."栈之内。图15是示出其中进一步选择"stackbycategory(按分类堆栈)"选项以对图14的文件重新堆栈的屏幕显示的图示。如图15所示,选择框SB围绕"stackbycategory"选项782。由于某些项目已在栈791和792中堆栈,因此选择"stackbycategory"选项782将对项目进行重新堆栈,如下文参考图16所详细描述的。图16是示出其中按分类对图14的文件重新堆栈的屏幕显示的示图。如图16所示,栈793和794分别对应于"XYZCorp."禾B"marketingreports"类别。对应于文档1和文档2的项目751和752未被指定于任一额外的类别,因此不落入任一其它类别栈。图n是示出其中选择对物理文件夹的快速链接的屏幕显示的图示。选择框SB被示为围绕"allfolders(所有文件夹)"快速链接616。如后文关于图18所详细描述的,"allfolders"快速链接616提供了向物理文件夹的视图的切换。图18是示出物理文件夹的屏幕显示的图示。示出的物理文件夹包含图17的虚拟文件夹栈的文件。换言之,包含在图17的栈651-655之内的项目也包含在系统的特定物理文件夹中。这些在图18中示为位于当前计算机上的"MyDocuments(我的文档)"文件夹851、位于当前计算机上的"Desktop(桌面)"文件夹852、位于硬盘C:上的"Foo"文件夹853、位于服务器上的"MyFiles(我的文件)"文件夹854、位于外部驱动器上的"ExternalDrive(外部驱动器)"文件夹855、位于另一计算机上的"MyDocumets(我的文档)"文件夹856以及位于另一计算机上的"Desktop(桌面)"文件夹857。如图18所示,用户能够从图17的虚拟文件表示切换到图18的物理文件表示。这允许用户在虚拟文件表示和物理文件表示之间来回切换,取决于当前任务期望哪一表示。物理文件夹851-857的不同位置还示出虚拟文件系统的范围可以是相对宽广的,如后文所详细描述的。图19是示出用户能够用于直接操纵虚拟文件夹的例程880的流程图。如后文将要详细描述的,为操纵虚拟文件夹所提供的机制类似于当前用于操纵常规文件夹的机制(如点击和拖曳、复制、粘贴等等)。如图19所示,在框882处,系统提供定义的动作,用户可以执行这些动作来直接操纵被表示为显示对象的虚拟文件夹。在框884处,用户执行定义的动作。如上所述,这类动作的一个示例可以是用户点击并拖曳虚拟文件夹以将其内容复制到另一虚拟文件夹。在框886处,如用户执行的动作所指示地操纵虚拟文件夹和/或内容。图20是示出其中将新的WestCoast栈656添加到图10的栈的屏幕显示的图示。WestCoast栈656通过用户创建新的"WestCoast"类别来形成。在其初始创建时,新的WestCoast栈656为空,且具有0个项目。在图20的实施例中,将2个项目添加到WestCoast栈656。用于向栈添加项目的一种方法是选择一个特定的项目,然后对该项目的类别元数据进行修改或者添加额外的类别,如添加类别"WestCoast"到2个项目,如图20的实施例所完成的。这一过程示出类别数据是项目的元数据属性,是一种类型的特设属性。换言之,这一类型的属性不具有任何隐含的意义,且可以由用户赋予任意值。例如,类别"property(属性)"能够具有任意值,而"author(作者)"属性应当为人名。如后文参考图21将要详细描述的,也可以点击并拖曳项目以从其他栈复制到WestCoast栈656(在这一情况下,项目的类别被自动更新来包括"WestCoast")。在这点上,图20示出选择框SB围绕ABCCorp.栈651,来准备复制其内容。图21是示出其中使用直接操纵以将文件从ABCCorp.栈651复制到WestCoast栈656的屏幕显示的图示。换言之,如图20所示,用户选择ABCCorp.栈651,然后如图21所示,用户点击并拖曳该栈来复制到WestCoast栈656。由此,图20中具有2个项目的WestCoast栈656现在被示为包括总共10个项目,包括来自ABCCorp.栈651的另外8个项目。当来自ABCCorp.栈651的项目被复制到WestCoast栈656时,这通过将8个项目的类别描述修改为除包括原始的"ABCCorp."类别之外还包括"WestCoast"类别来实现。这示出了可执行的一种类型的直接操纵。直接操纵的另一示例是右键点击一个项目并选择删除。在一个实施例中,当用户选择删除功能时,向用户查询该项目是否应当被完全删除,或仅从当前虚拟文件夹移除。如果如上所述仅从当前虚拟文件夹分类栈中移除项目,则这可以通过从项目的元数据移除期望的类别来实现。换言之,如果从ABCCorp.栈651复制到WestCoast栈656的项目的其中之一然后将要从WestCoast栈656中移除,则这可以通过将特定文件的类别数据修改为不再包括"WestCoast"类别来实现。图22是示出用于系统动态生成新过滤条件的例程900的流程图。过滤条件用来操纵虚拟文件夹。过滤条件本质上用作用于縮减一组项目的一组工具。在一个实施例中,过滤器包括元数据类别及其值(在用户界面中以可点击的链接或下拉菜单呈现给用户)。这一说明性实施例在下文结合图141和142来描述。用户点击过滤条件来过滤显示上的当前的结果项目集合。图22示出了如何动态地生成过滤器。如图22所示,在框902处,审査当前显示上的集合中项目的属性(来自元数据)。在框904处,基于显示上项目的公共属性动态地生成建议的过滤条件。在框906处,向用户呈现建议的过滤条件来对过滤项目目进行可能的选择。作为这一过程的一个示例,系统可审査一组项目的属性,如果项目一般具有"Authors(作者)"作为属性,则过滤器可以提供可供过滤的作者的列表。然后,通过点击特定的作者,不具备该作者的项目从显示上的组中移除。这一过滤过程向用户提供了一种用于縮减显示上的项目的集合的机制。图23是示出用于系统基于所选择的过滤条件来过滤项目的例程920的流程图。在框922处,用户或者输入新过滤条件,或者选择系统呈现的过滤条件之一。如上所述,过滤条件可以由系统动态地生成,或可以预设。在框924处,对来自显示上的集合的项目评估其所选择的属性是否匹配过滤条件。例如,如果过滤条件是对于作者为"Bob"的项目,则依照其作者属性是否包括"Bob"来评估该项目。在框926处,其选择的属性不匹配过滤条件的项目被从显示的集合中移除。图24-29—般示出了过滤过程如何在屏幕显示上出现。如下文将参考图24-29,描述的,在一个实施例中,过滤一般可以根据以下过程来操作。在用户点击一过滤器值之后,该过滤器范围之外的项目以动画形式从屏幕上消失。动画一般被设计成使得项目被移除且没有添加新项目变得明显。回退按钮643可由用户选择以撤消过滤器操作。在一个实施例中,创建包含顺序的过滤器动作的导航栈,用于在选中回退按钮643时撤消每一过滤器动作。每次当选择一个过滤器值时,更新信息区640和地址栏641以指示当前过滤器值。在一个实施例中,在选择一个过滤器值之后,向用户提供用于保存到当前过滤器导航的新快速链接的选项,如将在后文参考图30或创建自动列表更详细描述的。当选择过滤器值时,可将过滤器控件更新为对视图中剩余的项目是适当的。图24是示出其中按条件"AB"过滤图10的桟的屏幕显示的图示。如图所示,在过滤器区621中,用户键入条件"AB"。信息行640和地址栏641指示显示中的项目现在为按条件"AB"过滤的项目。如图所示,ABCCorp.栈651仍包含8个项目,而Backups栈652现在包含3个项目,XYZCorp.栈654也包含3个项目。由此,信息行644指示总共有14个项目,占用总共35MB的存储器。图25是示出其中按条件"ABC"过滤图10的栈的屏幕显示的图示。对于图24的过滤条件"AB",用户仅需键入另外一个字母"C"来作出总的过滤条件"ABC"。如图25所示,信息行640和地址栏641现在指示显示上的项目是包含条件"ABC"的项目。ABCCorp.栈651仍被示为包含8个项目,而Backups栈652现在仅包含2个项目。XYZCopr.栈654消失是因为其没有一个内容匹配"ABC"过滤器。信息行644现在指示显示上的栈中总共有10个项目,占用25MB的存储器。由此,图24和25提供了用户如何键入新过滤条件以及之后如何使用这些过滤条件来过滤显示上示出的项目的示例。回退按钮643可由用户用于返回通过过滤过程。如上文参考图IO所描述的,回退按钮643允许用户返回通过一导航。对于图24和25的示例,在按照图25中的条件"ABC"过滤之后,用户可选择回退按钮643以返回过滤过程中的一个步骤,这将返回到图24的状态。或者,在另一实施例中,回退按钮643可以清除整个过滤条件,且因此可返回到发生过滤之前的状态。在这一情况下,通过在图25中按下回退按钮643,用户返回到图10的状态。在一个实施例中,除回退按钮之外,提供了另外的手段以使用户在过滤导航中返回或修改过滤导航。该另外的手段涉及允许用户直接访问并修改地址栏641,这相应地改变过滤器导航。换言之,通过直接访问和修改地址栏641,用户可移除所应用的过滤器中的一个或多个,或者修改任一所应用的过滤器的值。该特征在2003年4月17日提交的美国专利申请第10/420,040号中有详细描述,该申请是共同转让的,且通过整体引用结合于此。也可结合诸如图24和25所示用户键入过滤条件来使用定时器。定时器用于监视用户键入中的暂停。在选择的无键入间隔之后,应用过滤器。例如,在图24的状态中,用户键入过滤条件"AB",而在"A"和"B"之间没有显著的时滞。在键入条件"AB"之后,用户暂停,由此产生图24所示的状态,其中应用过滤条件"AB"。过了某一时间之后,用户添加字母"C"以完成过滤条件"ABC",然后再次暂停,此时如图25所示应用过滤条件"ABC"。在一个实施例中,在用户在过滤器区621中键入过滤条件,然后选择另一过滤器或导航之后,更新导航状态,并且使过滤器区621中的过滤条件再次为空。另外,如下文将参考图26-29更详细描述的,仅过滤器控件可基于对特定过滤条件的选择来更新。图26是示出其中选择系统提供的过滤条件"year2002(2002年)"的屏幕显示的图示。如上所述,在"bydate(按日期)"指示器622下面,年份选择器623包括年份2000、2001或2002。选择框SB被示为围绕年份2002,这指示用户选择它作为所期望的过滤条件。图27是示出其中应用过滤条件"2002"的屏幕显示的图示。同时示出的还有对"pickamonth(选择一个月)"选择器623A的选择。如图27所示,在应用过滤条件"2002"之后,栈中的项目数减少。更具体地,ABCCorp.栈651现在包含6个项目,Backups栈652现在包含8个项目,BusinessPlans栈653现在包含3个项目,XYZCorp.栈654现在包含5个项目。信息行644现在指示总共有22个项目,占用50MB的存储器。信息行640和地址栏641现在指示显示上所示的项目是被过滤以包含过滤条件"2002"的项目。图28是示出其中呈现用于选择月份来过滤的列表的屏幕显示的图示。提供了包括月份列表的框950。在显示上提供框950是由于用户选择了"pickamonth"选择器623A。选择框SB被示为围绕January(—月)这一月份。图29是示出其中图28的栈进一步按一月过滤的屏幕显示的图示,还示出了过滤条件"day(日)"。如图29所示,信息行640和地址栏641现在指示显示上的项目是按条件"January"过滤的项目。Backups栈652现在被示为包含2个项目,而BusinessPlans栈653也被示为包含2个项目。信息行644指示显示上总共有4个项目,占用总共10MB的存储器。如果用户希望进一步将结果过滤到一个特定的日,则提供了"pickaday(选择一个日期)"选择器623B。其中可选择一日或日期范围的说明性日历控件14400在图144中示出。如上文参考图24-29所描述的,过滤条件可由系统呈现,或由用户键入。一旦选择一个过滤条件,则可更新所呈现的其余过滤条件(例如,在图26中选择年份"2002"之后,在图27中不再呈现用于选择年份的选项,而是提供"pickamonth"选项)。如上所述,返回按钮643可以由用户选择以返回通过过滤过程。例如,在图29中选择了"January"的月份之后,用户可选择回退按钮643以将过滤过程返回到年份"2002",如图27所示。过滤器菜单还可包括"stackby(按……堆栈)"功能,它类似于如上参考图15和16所述的"按……堆栈"功能运作。例如,"filetype(文件类型)"过滤器可具有用于"Excel"、"PowerPoint"、"Word"的选择,"Stackbyfiletype(按文件类型堆栈)"也是如此。选择"stackby"功能将视图改为示出用于各种文件类型的栈。一般而言,过滤器可被配置成应用于文件或项目的不同属性。在一个实施例中,过滤器可根据不同类型来分类,诸如字母表索引;离散值;日期;以及数值范围。用于字母表索引的示例属性可包括文件名、作者、艺术家、联系人友好名、所有者、文档作者、文档标题、文档主题以及描述。用于离散值的示例属性可包括位置、文件类型(应用程序名)、流派、音轨、年代(用于音乐)、评级(用于音乐)、比特率、受保护、文档类别、文档页计数、文档评注、照相机型号、维度、产品名、产品版本、图像X、图像Y和文档创建时间。用于日期的示例属性可包括最后访问、最后修改、创建日、拍摄日(用于图片)。用于数值范围的示例属性可以是文件大小。可以理解,上文参考图24-29所描述的过滤器允许用户减少项目列表以找出感兴趣的特定项目。作为一个特定示例,根据上述过程,用户可将当前文档列表縮减到仅显示由特定的人创作并在上一星期编辑的MicrosoftWord文件。这一功能允许用户在有许多项目的列表中找出一个特定项目,并且帮助用户避免必须手动扫描列表中的每一项目。图30是示出用于创建新快速链接的例程940的流程图。如后文将要详细描述的,快速链接是预定义的链接,用户能够点击该快速链接来创建用户选择的项目集合的视图。在一个实施例中,快速链接可被认为是一种类型的旋转点。快速链接提供了一种用于检索虚拟文件夹的机制。点击快速链接可以将用户带到所期望的文件夹(正如点击"favorites(收藏夹)"将用户带到网站一样)。快速链接能够由系统预定义,或者由用户设定。例如,点击"allauthors(所有作者)"将返回按作者堆栈的视图。点击"alldocuments(所有文档)"可返回所有存储区域的所有文档的平面视图。用户也可以创建其自己的快速链接。如图30所示,在框942处,用户在显示器上作出选择,指示应当从当前过滤条件或导航形成新的快速链接。在框944处,用户提供该新快速链接的新名称。在块946,保存新快速链接并且在显示上的快速链接部分中提供新快速链接名称。图31是示出用于基于图29的过滤创建名为"JanaurayWork(—月作品)"的新快速链接的屏幕显示的图示。如上所述,在图29中,栈已按照一月的月份过滤。在图31中,用户指示应当将图29的过滤保存为新快速链接,并将该新快速链接命名为"Januarywork"。由此,在显示的快速链接部分中示出了新的"Januarywork"快速链接612。对于形成新快速链接,一般向用户提供如"savethiscollectionasaquicklink(将该集合保存为快速链接)"等选项。图32是示出其中选择"AllAuthors(所有作者)"快速链接的屏幕显示的图示。如图32所示,选择框SB被示为围绕"AllAuthors"选择611。可由快速链接访问的集合的其他示例包括"allauthors"、"recentdocumeiits(最近文档)"、"alldocumentsI'veshared(我共享的所有文丰当)"、"alldocumentsI'veauthored(我创作的所有文档)"、"alldocumentsnotauthoredbyme(不是由我创作的所有文档)"、"desktop(桌面)"以及"alltypes(所有类型)"。图33是示出其中呈现图32的项目的所有作者的列表的屏幕显示的图示。如图33所示,提供了信息行950,它指示显示项目的名称、作者、修改日期、类型、大小以及项目的位置的列。示出了分别对应于Author1-4(作者l-4)的作者列表951-954。图34是示出其中从图33的列表中选择"Author1(作者1)"的屏幕显示的图示。作者1的文档包括分别对应于文档1和2的文档951A和951B。文档951A被示为由作者1创作,在2001年7月11日修改,该文档是MicrosoftExecl文件,占用282Kb的存储器,并从位置Wserver"folder2获得。文档951B被示为由作者1创作,在2002年12月22日修改,该文档是MicrosoftWord文件,占用206千字节的存储器,并且物理地储存在位置MyDocuments\folderl中。文档951A和95IB的位置也示出本发明的虚拟文件夹可以包含来自不同物理位置的项目,如后文所详细描述的。图35是示出用于创建新库的例程960的流程图。库的一个示例是上文参考图10描述的文档库。一般而言,库包括可以关联在一起的有用类型的文件的大组。例如,照片可以是一个库,音乐可以是另一个库,文档可以是再一个库。库可以提供与特定类型的项目相关的工具和活动。例如,在照片库中,可以有与操纵照片相关的工具和过滤器,如用于创建幻灯片放映或共享图片的工具和过滤器。如图35所示,在框962处,创建新库,它包括具有所选择的特征的项目。在框964处,将所选择的项目分组为库。在块966处,提供了与项目的所选择的特征或其他所期望的功能相关的工具和/或活动。图36是示出其中显示了可用库的集合的屏幕显示的图示。如图36所示,库包括文档库971、照片和视频库972、音乐库973、消息库974、联系人库975以及电视和电影库976,还有所有项目的库977。所有项目的库977被示为包括275个项目,它们是来自所有其他组合的库的项目的总数。信息行644指示总共有275个项目,总共占用700MB的存储器。应当注意,文档库971是上文参考图10所描述的库。图37是示出用于定义虚拟文件夹或自动列表集合的范围的例程990的流程图。如后文所详细描述的,虚拟文件夹系统能够表示来自多个物理位置(如,不同的硬盘驱动器、不同的计算机、不同的网络位置等等)的项目,使得对用户而言,所有项目都是容易访问的。例如,可以在单个显示上向用户呈现来自多个物理位置的音乐文件,并且一次操纵所有的文件。如图37所示,在框992处,为要从其提取项目的物理位置定义了范围。在框994处,响应于査询,从范围中定义的物理位置提取项目。在框996处,由该査询提取的所有项目被呈现在单个显示上。图38是示出可以形成虚拟文件夹集合的范围的不同源的框图。如图38所示,系统1000可包括当前计算机1010、另外的计算机1020、外部和可移动存储1030以及网络上的位置1040。总体范围1001被描述为包括从其提取用户的项目来创建集合的所有物理位置。范围可由用户设定和修改。如上所述,其它图示出了项目可以来自不同的物理位置,如图34示出来自服务器和当前计算机上的MyDocuments文件夹的不同文档,而在图18中示出物理地储存在多个位置的物理文件夹。图39是示出用于在虚拟文件夹集合中包括非文件项目的例程1080的流程图。非文件项目与通常位于物理文件存储中的文件项目形成对比。非文件项目的示例是诸如电子邮件或联系人等内容。如图39所示,在框1082处,使用数据库来包括可以通过查询搜索的非文件项目以及文件项目。在框1084处,响应于查询,提取非文件项目和文件项目两者来匹配该查询。在框1086处,在显示上呈现匹配査询的非文件项目和文件项目两者。图40是示出显示各种非文件项目的屏幕显示的图示。如图40所示,项目被过滤为包含"John"的项目。项目被示为包括联系人项目1101、电子邮件项目1102以及文档项目1103和1104。联系人项目1101和电子邮件项目1102是非文件项目。图上(210)。接着,等高线图和添加的插值数据集被显示(212)。0068回到图12,平衡中心156显示为添加到病人足部图像的黑点。图14中示出了根据本发明一个实施例的可用于计算病人的足部作用在足垫上的力的质心的位置的过程。过程220包括获取(222)栅格的数据点的坐标的加权平均值。每个栅格位置根据病人的足部作用在栅格单元的压力的大小来加权。压力的大小通过使用足垫所收集的高度数据而确定。加权平均值就是平衡中心。确定平衡中心的栅格位置(224),接下来将其添加到高度信息显示中(226)。无论所采用的是何种显示模式来显示从足垫收集到的高度信息,平衡中心都可以添加到该显示模式中。0069如上文所讨论的,根据本发明一个实施例的用户终端能够动态地捕获信息。动态信息捕获可用于获取关于病人在行走或跑动时其足部下表面的变化形状的方式的信息。0070在运动时获取关于病人足部形状的信息的过程的实施例在上文相关联于图7己有描述。图15示出了根据本发明一个实施例的用于显示关于运动时病人足部的形状的信息的过程。过程240包括取回所存储的数据的第一帧(242)。接着,该帧数据被处理来以期望格式产生图像。通常期望格式会是二维插值高度信息显示或者三维等高线图。二维插值高度信息显示或者三维等高线图可以根据上面的描述来产生。然后,图像帧被存储(246),并确定是否有任何额外的数据帧被捕获(248)。如果额外的数据帧存在,则这些帧中的每一个都被取回,期望格式的图像被产生并存储。这个过程重复直到没有额外的数据帧残留。一旦从每个数据帧产生图像,则接下来图像帧的序列可以被显示在计算机屏幕上(250)。如果有足够的处理功率,图像帧的显示可以与后续数据帧的图像生成同时进行。0071除了显示关于病人足部形状的信息,根据本发明的用户终端能够分析病人的步态。在显示动态信息的期间,用户终端可示出在每一帧中平衡中心的位置,显示所经过的时间,以及显示花费在步态周期的三个重要阶段中(即接触、中间姿态和推进阶段)的时间的百分比和持续时间,禾n/或"步态线","步态线"是动态信息的每一帧的所并且可通过诸如点击属性控件来访问相关联的控件功能等用户选择来调用。可能有对用户可用的多种属性。由此,显示对用户最有用的属性的一个相关子集是可行的。在这一点上,显示在显示首部中的该组属性可由用户定制、可以是默认模板的一部分、或者可以是地址栏上的査询的函数。选择要显示的一组属性的一种方法是在个别外壳文件夹(即,页面)的基础上,以使对每一虚拟文件夹(自动列表)、列表、文件文件夹等,可默认地定制该组属性。例如,对于称为"RecentDocuments(最近文档)"的示出最近查看的所有文档的虚拟文件夹,"DateLastAccessed(最后访问日期)"属性可能是有用的,而在其它虚拟文件夹中,它可能不是有用的。同样,可在属性首部内通过例如拖放来记录或移除属性。图141A示出了根据本发明的一个说明性实现的对于细节视图的属性首部14100,而图142A示出了对于诸如标题视图或縮略图视图等其它列表视图模式的属性首部14200。如可以见到的,图141A和142A中的属性首部之间的主要差别是细节视图中的首部14100中的个别属性控件映射到细节视图中的列大小,而首部14200中的个别属性控件仅占用配合属性名所需的空间。在属性首部下方的是列表视图模式(未示出)的区域,其中显示了显示对象(例如,物理文件和文件夹、虚拟文件和文件夹)。相应首部中的每一属性控件可包括如图141B中的细节视图和图142B的其它列表视图模式中所示的被划分成主部分14110和拆分部分14112的拆分按钮。该拆分按钮状态可在用户将光标14120定位在属性控件的一部分上或属性首部14100中时展示给用户,或者可以在最初显示属性控件时展示。将光标14120定位在属性控件的主部分14110上并选择(例如,点击)使得显示对象根据与该属性控件相关联的属性来分类。在图141B所示的示例中,属性是"Type",对属性控件的主部分14110的选择使得显示对象按照字母表来分类。或者,可显示所有物理文件夹,然后是所有MicrosoftExcel文档,然后是所有MicrosoftPowerPoint文档,然后是所有MicrosoftWord文档,然后是所有虚拟文件夹(自动列表)等等。当按照属性对显示对象分类时,属性控件可提供显示对象己按照属性分类的视觉指示。例如,属性控件可采取作为已被按下的按钮的可视外观,或者将其与其它属性控件区分的其它外观。如果在按照"Type"进行分类之前按照诸如"Date"等另一属性对显示对象进行分类,则该属性将成为次要分类条件,使得在文档类型内,显示对象次要地按日期分类。如图141C和142B所示,将光标14120定位在属性控件的拆分部分14112上并选择使得呈现用于对应于该属性控件的属性的排列和过滤下拉菜单。排列和过滤下拉菜单提供了允许用户按照对应于属性控件的属性对显示对象的视图进行分组、堆桟或过滤的各种控件。排列和过滤下拉菜单包括含有排列命令的列表的排列部分14130以及含有过滤条件的列表的过滤部分14135。这两个列表可以由图141C和142B所示的可视划分符来分隔。在图141C和142B的示例中,过滤条件对应于项目的各种"Type"属性。过滤部分14135中提供的该组特定过滤器是对其视图中的至少一个项目满足过滤条件的可能的过滤条件的一个子集。例如,如果视图中的显示对象之一是以"vacation(假期)"作为关键词的照片,则"vacation"将出现在用于对应于该关键词属性的关键词属性控件的排列和过滤下拉菜单中。可以理解,所有过滤条件可能无法适合到排列和过滤下拉菜单中。如图所示,在图141C和142B中,提供了允许用户查看其它可用的过滤条件的滚动条控件。可以理解,项目可通过诸如拖放等操作移进或移出视图。每次当从视图添加或移除项目时,过滤部分14135中提供的该组特定过滤器被更新以考虑到所添加或移除的项目。过滤条件可被预设,或者可基于对与视图中显示的属性控件和项目相对应的属性的评估来动态生成。上述图22及其所附描述提供了用于动态地生成新过滤条件的说明性流程。该组可能的过滤器及其显示顺序可以取决于特定属性如何对项目归类。采用诸如关键词等多值属性,每一个别值可具有自己的存储段。由此,如果一个项目具有关键词"vacation;Hawaii;beach(假期;夏威夷;海滩)",则将创建三个分开的存储段用于过滤,对"vacation"有一个,对"Hawaii"有一个,对"beach"有一个。同一过程适用于将在下文进一步讨论的分组和堆栈操作。对于属性日期,假定今天的日期是2004年11月19日周五,则日期可被归类为以下类别LongTimeAgo(很久以前);TwoYearsAgo(两年前);LastYear(去年);2004January(2004年1月);2004February(2004年2月);......;2004August(2004年8月);2004September(2004年9月);LastMonth(上个月);ThreeWeeksAgo(三周之前);TwoWeeksAgo(两周之前);LastWeeks(上周);Sunday(周日);Monday(周一);Tuesday(周二);Wednesday(周三);Yesterday(昨天);Today(今天);Tomorrow(明天);TwoDaysFromNow(现在开始的两天后);LaterThisWeek(本周末);LaterThisMonth(本月末);NextYear(明年);SomeFutureDate(某一将来的日期)。诸如"Size"和"Type"等其它属性可具有如在WindowsXP操作系统中找到的相同的存储段化。根据一个方面,过滤部分中用于涉及日期(例如,创建日期、修改日期等)的属性的过滤条件的列表包括附加过滤选项,它可以在过滤条件的列表的顶部,称为"PickaDate(选择一个日期)"。选择这一过滤条件使得显示日历选取器控件14400,用户可从中选择一个特定日期或日期范围。图14400提供了其中选择了日期April20(4月20日)的这一控件的示例。某些属性可以不被划分或存储段化,诸如Filename(文件名)、Comment(评注)、Description(描述)。对于这些属性,可能没有用于分组、堆栈和过滤目的的将属性分解成离散的存储段的有用分解。在这一情况下,排列和过滤下拉菜单中呈现的唯一选项可以是分类。排列和过滤下拉菜单中的每一过滤条件可包括提供关于满足相应的过滤条件的项目数的指示的对应的指示符。如图141C和142B所示,与过滤条件"PowerPoint"相邻地提供了图标14138,并且它表示纸片的栈。对与其它过滤条件相邻定位的其它图标的检查指示它们也表示纸片的栈。然而,纸片图标的栈在外观上可以变化,且是动态生成的,其中在图标中堆栈的纸片数分别表示满足相应的过滤条件的项目数。例如,图标14138示出与对应于过滤条件"EmailMessage(电子邮件消息)"的图标相比堆栈了更多纸片,过滤条件"EmailMessage"示出与对应于过滤条件"OutlookDocument(Outlook文档)"的图标相比堆栈了更多纸片。由此,与过滤条件"EmailMessage"相比,有更多项目满足过滤条件"PowerPoint",而与过滤条件"OutlookDocument"相比,有更多项目满足过滤条件"EmailMessage"。过滤部分14135还可包括对应于过滤调节列表中的每一过滤条件的复选框控件。例如,复选框控件14140对应于过滤条件"IllustratorArtwork(Illustrator艺术作品)"。选中过滤条件旁边的复选框控件使得该过滤条件通过在所选择的复选框控件中放入勾而被添加到当前选择中,并且将对应于排列和过滤下拉菜单的过滤部分14135中的其它过滤条件的复选框控件保持在其前一选中或未选中状态。同样,选中复选框控件可在包含显示对象的区域中显示过滤操作的活动预览。由此,选中复选框控件使得显示上所表示的项目包括满足对应于该复选框控件的过滤条件的项目。如果没有选中其它复选框控件,则满足所选复选框控件的唯一显示对象将被表示在显示上。可以理解,对复选框控件的选中或取消选中可以用任意数目的方式来发生,包括使用定点设备、键盘输入、语音输入以及这些的组合。例如,如果用户按下〈SHIFT〉键,则她可类似于WindowsXP操作系统如何允许多个选择那样来选择一定范围的过滤条件。参考图141C和142B,显示区域(未示出)中的每一显示对象以类似于以上例如对于图21所描述的方式满足地址栏(未示出)中的当前查询。选中复选框控件14140使得复选框控件14140如图141D所示呈现为被复选的复选框控件1410A,并使得仅满足过滤条件"IllustratorArtwork"的那些项目呈现在显示上。类似于图23所描述的例程的例程可用于在不选中其它复选框控件时选中一个复选框控件,其中这一情形中的步骤922对应于用户对与过滤条件之一相对应的复选框控件的选中。在选中复选框控件之后,选择〈enter〉命令或在排列和过滤下拉菜单之外发布命令(例如,点击图形用户界面上的别处)使得排列和过滤下拉菜单关闭并应用当前选中的过滤器。同样,选择过滤条件或与过滤条件相关联的图标将取消对任何其它复选框控件的选中,关闭排列和过滤下拉菜单,并应用该过滤条件。在这些情形中,地址栏(类似于诸如图24等其它图中所示的地址栏641)被更新以包括查询中的过滤条件。当一个复选框控件被选中(复选)时,选择对应于第二过滤条件的另一复选框控件将该过滤条件添加到当前选择中。选中其它的复选框控件使得该其它的复选框控件被呈现为被复选的复选框控件,并且使得仅满足对应于被复选的复选框控件的过滤条件的每一个的那些项目被呈现在显示上。参考图143,当己选中对应于过滤条件"PDFdocument(PDF文档)"的复选框控件时选中对应于过滤条件"ExcelWorksheet(Excel工作表)"的控件复选框使得显示被更新为包括满足地址栏中的査询并满足过滤条件"ExcelWorksheet"或"PDFdocument"中任一个的那些项目。由此,根据本发明的这一方面,当从单个排列和过滤下拉菜单中选中各自对应于相应的过滤条件的多个复选框控件时,则执行逻辑OR(或)运算。如所讨论的,选择〈ente^命令或在排列和过滤下拉菜单之外发布命令使得排列和过滤下拉菜单关闭,并应用当前选中的过滤器。在这些情况下,地址栏中所示的査询被更新为包括含有过滤条件的逻辑OR组合的单个过滤器。对于所讨论的示例,添加到地址栏中的下一段的过滤器可以是"ExcelWorksheet,PDFdocument"。对复选框控件取消选中使得复选框控件被呈现为未被复选,并使得满足对应于剩余的被复选的复选框控件的过滤条件的那些项目被呈现在显示上。当在排列和过滤下拉菜单中选中(复选)复选框控件时,每一选中的复选框可通过选择排列和过滤下拉菜单的排列部分中的命令"Don'tfilterby^PROPERTYNAME>(不要按照<属性名>在过滤)"来取消选中。参考图143,排列和过滤下拉菜单的排列部分14330包括命令"Don'tfilterbyType(不要按照Type来过滤)",选择该命令将使得过滤部分14335中被选中的复选框控件被取消选中并且未被复选。当过滤部分中没有选中(复选)的复选框控件时,"Don'tfilterby<PROPERTY>(不要按照<属性>来过滤)"命令被禁用,并且显现为变灰或者如图141C和142B中的排列部分14130中所表示的那样渐隐。当在至少一个复选框控件被选中时用户关闭对应于第一属性的排列和过滤下拉菜单时,第一属性控件可提供显示上的显示对象的视图已被过滤的指示符。参考图142C,符号14250出现在对应于属性"Type"的属性控件中,以指示显示对象的视图已按照属性"Type"来过滤。当在对应于相应的过滤条件的至少一个复选框控件被选中时用户通过从属性首部中选择第二属性控件来关闭对应于第一属性的排列和过滤下拉菜单时,提供对应于第二属性控件的排列和过滤下拉菜单。在这一情况下,排列和过滤下拉菜单中的该组过滤条件是对其视图中的至少一个项目满足用于第二属性控件的过滤条件以及用于第一属性控件的过滤器的可能的过滤条件的子集。同样,该组过滤条件可包括已从与第一属性控件相关联的排列和过滤下拉菜单中选择的任何过滤器。例如,如果用户从与第一属性控件"Type"相关联的排列和过滤下拉菜单中选择用于过滤条件"PowerPoint"的复选框控件,然后选中用于第二属性"Author"的第二属性控件,使得用于"Author"的排列和过滤下拉菜单出现,则如果过滤条件"Hamlet"和"Horatio"各自是一个或多个"PowerPoint"文件的作者,则"Hamlet"和"Horatio"都将出现。然而,如果"Horatio"不是任何"PowerPoint"文件的作者,则"Horatio"不出现在排列和过滤下拉菜单中。如果"Horatio"和"Hamlet"都是正确的过滤条件,则如果然后选中了用于其每一个的复选框控件,将用满足逻辑运算Type=PowerPointAND(Autho尸HamlitORAutho产Horatio)的项目来更新视图。如果选择々nter〉命令,则应用上述逻辑运算,并且将地址栏修改成包括段"PowerPoint",之后是段"Hamlet,Horatio",且可更新视图以反映满足该查询的项目。一般而言,当添加到地址栏中的査询时,用逻辑AND(与)运算来组合来自不同属性的值。根据另一方面,如果属性首部中的所有属性列都不能看见,则截去不适合属性首部的列,并且可通过诸如工具栏常见的人字形等溢出控件来访问。选择人字形按钮显示了提供被截去的属性控件的菜单。图143提供了从溢出属性控件激活的排列和过滤下拉菜单的一个示例。具体地,图143描绘了属性首部的右边缘,其中人字形14350表示额外属性是可访问的。选中人字形14350导致对应于属性"Author"和"Type"的两个额外属性控件的呈现。光标被定位在"Type"属性控件上,且对应于排列和过滤下拉菜单的控件被选中,从而呈现了包括排列部分14330和过滤部分14335的排列和过滤下拉菜单。排列和过滤下拉菜单中存在的排列命令包括"Stackby<PROPERTY>(按<属性>堆栈"和"Groupby<PROPERTY>(按<属性>分组)"以及上述"Don'tFilterby<PROPERTY>"命令。在图141C、142B禾P143所示的排列和过滤下拉菜单的示例中,属性是"Type"。因此,排列命令包括"StackbyType(按Type堆栈)"和"GroupbyType(按Type分组)"。当视图中的项目不按与排列和过滤下拉菜单相关联的属性堆栈时,启用"Stackby<PROPERTY>"命令。选择"Stackby<PROPERTY>"命令使得根据被应用来生成过滤条件的类别在视图中创建项目的栈。由此,对于属性"Type",桟可包括"MicrosoftWordDocuments"、"PowerPoint"、"ExcelWorksheet"和包括在排列和过滤下拉菜单的过滤部分14135中的过滤条件列表中的其它过滤条件。说明性栈可采用类似于例如图10中所示并在上文描述的项目651-655的外观。同样,"StopStackingby<PROPERTY>(停止按<属性>堆栈)"命令可以在项目按照当前激活的属性控件的属性来堆栈时可用。对这一命令的选择使得按照当前属性的堆栈停止。当视图中的项目不按与排列和过滤下拉菜单相关联的属性分组时,启用"Groupby<PROPERTY>"命令。对"Groupby<PROPERTY>"命令的选择使得根据被应用来生成过滤条件的类别在视图中创建项目的组。被分组的项目的外观可以类似于WindowsXP操作系统中的分组。同样,"StopStackingby<PROPERTY>"命令可以在项目按照当前激活的属性控件的属性分组时可用。对这一命令的选择使得按照当前属性的分组停止。图41-50和图134-135是与对应于图10的信息行141并根据本发明形成的虚拟地址栏有关的图示。如将在下文中更详细描述的,虚拟地址栏包括多个段,每一段对应于用于选择内容的一个过滤器。每一段的相应过滤器共同表示用于选择内容的一个虚拟地址。图41是适用于操作本发明的一个示例性联网计算环境1200的框图。该示例性联网计算环境1200包括诸如关于图1所描述的个人计算机1202等计算设备,用于与用户交互,且用户在其上査看该计算设备本地或远程地储存的文件。尽管以下讨论相对于个人计算机来描述本发明,但是应当理解,计算设备1202包括多种类型的物理设备,包括但不限于小型和大型计算机、PDA、图形输入板计算机以及能够与用户交互并显示储存在计算设备上和别处的文件和内容的其它设备。示例性联网计算环境1200还可包括诸如服务器1204等储存计算设备1202可访问的文件并经由如图41所示的因特网1206等通信网络连接到计算设备的一个或多个远程服务器。另外,计算设备1202还可连接到诸如远程数据库1208等储存文件或其它内容的其它信息源。本领域的技术人员可以认识到,储存在远程服务器1204和远程数据库1208上以及在诸如硬盘驱动器166(图1)等本地存储设备上的文件和信息可由计算设备1202作为计算设备上的集成文件系统的一部分来访问并在其上显示。另外,尽管图41中呈现了远程服务器1204和远程数据库1208的一个特定配置,但本领域的技术人员可容易地认识到,该特定配置仅用于说明的目的,而不应被解释为限制本发明。图42示出了现有技术中的具有与显示计算机文件系统中的文件相关联的常规地址栏1302的示例性文件查看器1300。出于本讨论的目的,文件査看器是诸如显示设备158(图1)等显示设备上用于向用户显示文件或其它内容的视图或窗口。文件査看器可以是对应于特别用于向用户显示文件的可执行程序的窗口。或者,文件査看器可以是必须从本地或远程连接到计算机系统的存储设备保存或检索数据的可执行程序上打开或关闭的对话框内的视图。应当注意,文件查看器的上述示例是说明性的,且不应被解释为限制本发明。常规地址栏1302中的地址对应于文件系统中的特定位置。如上所述,为编辑显示在常规地址栏1302中的地址,用户必须根据文件系统的特定知识来修改地址。或者,用户可选择树视图1304中的一个条目来导航到替换位置。本领域的技术人员可以认识到,示例性文件视图1300中未示出的地址栏1302外部的其它控件也是可用的。尽管常规地址栏1302中显示的地址对应于文件系统中的特定位置,但是分布在文件系统中的多个文件夹之中的相关文件不能结合常规地址栏1302来显示。图43示出了具有与显示计算机文件系统中的文件相关联的虚拟地址栏1402的示例性文件查看器1400。具有虚拟地址1404的虚拟地址栏1402被配置成显示与由图42的现有技术的文件査看器1300的常规地址栏1304所显示的相似的信息。也称为虚拟路径的虚拟地址根据选择准则引用储存在计算机文件系统中的文件。类似于诸如图42的地址1304等常规地址,虚拟地址的选择准则可引用储存在文件系统分层结构中的特定位置中的文件。然而,与常规地址形成对比,虚拟地址的选择准则还可不考虑其特定文件系统位置来引用文件。由此,虚拟地址可引用储存在计算机文件系统中的多个位置(包括物理和虚拟位置)中的文件。如图43所示,根据虚拟地址栏1402中的虚拟地址1404,文件查看器1400能够显示未在图41的文件査看器1300中找到的其它文件,诸如文件1406和1408。另外,虚拟地址栏1402还可用于显示除计算机文件系统中的文件之外的内容。例如,虚拟地址栏1402可用于引用包括系统设备、系统服务或因特网位置的内容。图44A示出了操纵虚拟地址栏1402中的虚拟地址1404的一段以在计算机文件系统中导航。诸如虚拟地址栏1402等每一虚拟地址栏由诸如段1502、1504、1506和1508等一个或多个交互式段组成。虚拟地址栏中的每一段可对应于关于计算机文件系统可访问的所有可用内容或文件的一个或多个预定过滤器或选择准则。虚拟地址栏1402中的所有段的过滤器共同表示虚拟地址栏的虚拟地址。虚拟地址栏中诸如段1502等第一段被称为根段,或根过滤器。根段表示可供虚拟地址栏1402选择的内容的最广泛类别。例如,1502"Files"(文件)可能表示引用计算机文件系统可访问的所有文件的过滤器。或者,根段可表示引用计算机系统上对用户可用的所有系统服务的过滤器,或者引用计算机系统中安装的所有硬件设备的过滤器。本领域的技术人员可以认识到,本发明可以利用众多其它替换的根过滤器。由此,上述示例是出于说明的目的而给出的,且不应被解释为限制本发明。另外,对每一段显示的标签,诸如根段1502上的"Files"是说明性的,且不应被解释为限制本发明。根据一个说明性实施例,显示在段上的标签是用户可配置的。虚拟地址栏1402中的每一其它段,诸如段1504、1506和1508表示当在文件查看器1400中选择并显示文件或内容时要应用的其它过滤器。例如,根段1502"Files"引用计算机系统可用的所有文件。段1504"DocumentLibrary"(文档库)通过选择由用户诸如通过文字处理程序、电子表格或某一其它文档生成应用程序作为文档生成的那些文件来过滤由根段1502选择的文件。段1506"WordDocuments"(Word文档)根据使用诸如微软公司的Word应用程序等文字处理程序生成的那些文档来过滤由段1504选择的文件。最后,段1508"AuthorA"(作者A)根据它们是否由"作者A"创作来过滤由段1506选择的文字处理文档。由此,根据虚拟地址栏1402中表示的虚拟地址选择的内容必须满足对应于虚拟地址栏中的所有段的过滤器。虚拟地址栏1402中的段一般是按照从最具包含性的过滤器到最不具包含性的过滤器来排序的。例如,如先前所讨论的,段1502"Files"是最广泛且最具包含性的。段1506"WordDocuments"和段1508"AuthorA"是较不具包含性的。虚拟地址栏1402示出了从左到右的段的排序,且出于本讨论的目的,段1504、1506和1508在根段1502之后。然而,应当理解,诸如从上到下排列等其它方向也是可能的,而不会脱离本发明的范围。由此,从左到右的方向应被示为说明性的,而不应被解释为限制本发明。如上所述,虚拟地址栏1402中的段,诸如段1502、1504、1506和1508不必对应于计算机文件系统中的特定位置,诸如文件夹、驱动器和目录。由此,段1504"DocumentLibrary"可引用分布在多个服务器、驱动器或文件夹/目录上的文件或内容。然而,虚拟地址栏1402中的某些段可引用计算机文件系统分层结构中的特定位置。对引用特定文件系统位置的虚拟地址段进一步讨论在下文参考图48A和48B给出。与常规地址栏形成对比,虚拟地址栏1402中的每一段表示一可作用的交互式用户界面元素。例如,虚拟地址栏1402中的段响应于用户选择,监视光标是否在特定的一段时间内位于该段上,并且可通过拖曳用户交互从虚拟地址栏中移除。因此,如图44A所示,用户可将光标1510放置在虚拟地址栏1402中诸如段1504"DocumentLibrary"等段上来选择或点击该段,以导航到该层,艮口,在该段处截断虚拟地址,如参考图44B所描述的。图44B示出了选择虚拟地址栏1402中的一段1504的结果。通过点击虚拟地址栏1402中的段504,用户表明导航到虚拟地址栏中该层的期望。实际上,用户修剪掉所选择的段之后的过滤器。例如,通过点击段1504"DocumentLibrary"(图44A),所得的虚拟地址1404不再包含段1506"WordDocuments"和1508"AuthorA"(图44A)。另外,由于用户导航到较不具限制性的一组过滤器,因此所得的虚拟地址栏1402中的虚拟地址1404更具包含性。这是通过在图44B的文件査看器1400中添加先前在图44A的文件査看器1400中未找到的文档,包括文档1512、文档1514和文档1516,以及指示可以査看由于空间限制而无法在文件査看器1400(图44B)中显示的其它文件的滚动按钮1518的存在来指示的。图44C类似于图44A,但是用段1520替换了段1508。段1520包括两个过滤器或选择准则"2002"和"2003",它们被逻辑地组合以产生文件査看器1400中显示的结果。两个过滤器或选择准则之间的","用作逻辑操作数。可以理解,可应用诸如AND(与)、OR(或)、NOT(非)、NAND(与非)、NOR(或非)、XOR(异或)等布尔操作符。在本实现中,","用作"OR"操作符,因此满足所有前述过滤器或选择准则(Files、DocumentLibrary、WordDocuments)且在"2002"或者"2003"创建的项目满足该逻辑表达式,并被呈现在文件査看器1400中。这两个过滤器或选择准则可标识虚拟或物理位置中的项目。例如,一个过滤器或选择准则可标识物理位置中的项目,而另一个可标识虚拟位置中的项目。可在单个段中逻辑地组合任意数目的过滤器或选择准则,但是出于实用的目的,较佳的是将组合的数目限于可以在地址栏上一起显示以将用户混淆最小化的数目。尽管跨各属性逻辑地组合过滤器或选择准则落入本发明的范围内,但较佳的是出于组织的目的在同一属性内逻辑地组合过滤器或选择准则并避免潜在的用户混淆。可以理解,过滤器或选择准则的逻辑组合可在地址栏中的一个或多个段内发生。如果一个段在图44C中的段1520之后添加例如带过滤器"AuthorA"的段,则文件査看器中显示的项目被进一步縮减到"2002"或"2003"创建的由A创作的word文档。从图44C中选择段DocumentLibrary导致图44B所示的文件查看器400,其中段"WordDocuments"和"2002,2003"被移除,且呈现满足过滤器"DocumentLibrary"的文件。除选择虚拟地址栏中的段以导航到较不具限制性的段之外,用户还可能希望导航到或选择虚拟地址中的当前段的对等过滤器。对等过滤器是可被选择并应用于虚拟地址栏中的给定段的替换过滤器。例如,参考图44A,用于段1506"WordDocuments"的对等过滤器可包括诸如"ExcelDocuments"(Excel文档)、"Journals"(期刊)等过滤器。其它类型的过滤器,包括特定文件系统位置、硬件设备或计算机服务也可应用于虚拟地址栏中的给定段。对等过滤器可以逻辑上与给定段的当前过滤器相关或与其不相关。虚拟地址栏中的每一段可具有对等过滤器。选择虚拟地址栏中的一个段的对等过滤器有时候被称为侧向导航。选择虚拟地址栏中的段的对等过滤器在下文中参考图45A-45D并且还参考图49来描述。图45A-45D是示出选择与虚拟地址栏1600中的虚拟地址的段相关联的对等过滤器的图示。如图45A所示,虚拟地址栏1600具有包括多个段,即段1602-1608的虚拟地址。为对虚拟地址栏1600中的给定交互式段选择一对等过滤器,用户必须作出对该交互式段的替换选择或替换操纵。作出替换选择的一种方法是右键点击给定段。右键点击在本领域中是已知的,并且指的是使用鼠标或其它输入设备上的次要按键,其中该次要按键通常在鼠标的右侧。或者,由于交互式段可监视光标何时位于其上,因此可通过将光标定位在交互式段上并使光标在一预定量时间内停留在该位置上(有时候称为悬停)来作出替换选择。然而,尽管本讨论描述了使得显示对等过滤器的替换方案,但是它们出于说明的目的,且不应被解释为限制本发明。本领域的技术人员可以认识到,可以有用于生成替换选择的众多替换方案。为示出替换地选择一段,参考图45A,用户首先将光标1610放置在段1604"DocumentLibrary"上一段预定时间,即悬停在该段上,以选择该段。图45B示出替换地选择虚拟地址栏1600中的段1604"DocumentLibrary"的结果。如图45B所示,在替换地选择段1604"DocumentLibrary"之后,显示包括对应于所选择的段的对等过滤器的对等过滤器视图1612。应当理解,对等过滤器视图1612中所呈现的对等过滤器仅用于说明目的,而不应当被解释为限制本发明。为选择一替换对等过滤器,如图45C所示,用户将光标1610定位在对等过滤器视图1612中所呈现的过滤器之一,如对等过滤器1614上,并选择该对等过滤器。如图45D所示,在选择了该替换对等过滤器1614之后,先前选择的段1604(图45A)被表示该选中的替换对等过滤器1614的新段1616所替代。另外,图45A的虚拟地址栏1600中在该替换地选择的段1604之后的那些段,具体地为段1606"Journals"和1608"AllDocumentsIn2002(2002年的所有文档)"在图45D中从虚拟地址栏1600中移除。尽管未示出,但由此断定,先前根据段1604"DocumentLibrary"、1606"Journals"和1608"AllDocumentsIn2002"选择的任何文件或内容不再显示在对应的文件查看器中,且仅显示根据段1602"Files(文件)"和1616"PictureLibrary(图片库)"选择的文件或内容。根据本发明的另一方面,用户还可能希望导航到或选择虚拟地址栏中当前段的子过滤器或选择准则。在文件树结构中,父节点(或父过滤器)具有由子节点表示的子项。每一子节点是子过滤器或选择准则,并且进一步限制了父节点或父过滤器或选择准则。虚拟地址栏中的每一段可具有子过滤器或选择准则。在图44A中,段1504是段1502的子项。选择虚拟地址栏中的段的子过滤器或子选择准则在下文参考图135A-135D并参考图134来描述。图135A-135D是示出与虚拟地址栏13500中的虚拟地址的一段相关联的子过滤器或选择准则的示意图。如图135A所示,虚拟地址栏13500具有包括多个段,即段13502-13508的虚拟地址。为对虚拟地址栏13500中的给定交互式段选择一子过滤器或选择准则,用户可选择与该给定交互式段相关联的子控件。子控件13503、13505、13507和13509分别与交互式段13502、13504、13506和13508相关联。可以理解,每一段及其相关联的子控件可形成一拆分按钮。选择子过滤器或选择准则的一个示例将结合图135B-135D来描述。为选择子过滤器或选择准则,参考图135A,用户首先将光标13510放置在子控件13505上一段预定时间,即悬停在控件上,以选择该子控件。其它选择操作也是可能的,诸如通过在子控件13505上执行左键点击操作来选择控件。图135B示出了选择与虚拟地址栏13500中的段"Files"相关联的子控件13505的结果。如图135B所示,在选择了子控件13505之后,显示包括用于对应的交互式段13502的子过滤器或选择准则的列表以及用于子过滤器或选择准则的对应图标的子视图13512。图标可标识一特定类型的子过滤器或选择准则,诸如它是表示虚拟还是物理位置以及该虚拟或物理位置的特定类型。在该子视图的示例中,示出了在子视图的左边的列中有图标且在右边的列中有子过滤器或选择准则的拆分菜单。应当理解,子视图13512中呈现的子过滤器或选择准则以及图标仅出于说明的目的,而不应被解释为限制本发明。并且,还应当理解,无论是否为子视图、对等视图或其它视图的的一部分,图标都可被显示为与任何地址类型相邻。为选择子过滤器或选择准则,如图135C所示,用户将光标13510定位在子视图13512中所呈现的子过滤器或选择准则,诸如子过滤器或选择准则13514上,并选择该子过滤器或选择准则13514。如图135D所示,在选择了子过滤器或选择准则13514之后,与子控件13505(图135A)相关联的父段13502之后的段13504被表示所选择的子过滤器或选择准则13514的新段13516所替代。另外,图135A的虚拟地址栏13500中在段13504之后的那些段,具体地为段13506"Journals"和13508"AllDocumentsin2002"在图135D中从虚拟地址栏13500中移除。尽管未示出,但可得出结论,先前根据段13504"DocumentLibrary"、13506"Journals"和13508"AllDocumentsIn2002"所选择的任何文件或内容不再显示在对应的文件査看器中,且仅显示根据段13502"Files"和13516"PictureLibrary"所选择的那些文件或内容。段可在现有段的结尾处通过各种用户交互被添加到虚拟地址栏中的虚拟地址。为向虚拟地址栏中的虚拟地址添加过滤器,用户可操纵与窗口上找到的特定过滤器相关联的可作用控件或与虚拟地址栏相关联的文件査看器。例如,参考图43的文件査看器1400,用户可点击可作用控件1412"2003"以向虚拟地址栏1402中的虚拟地址1404添加对应的过滤器。或者(未示出),用户可通过键入过滤器的名称在虚拟地址的结尾处手动键入己知的过滤器。存在向虚拟地址添加过滤器的众多其它方式,所有这些方式都被认为是落入本发明的范围之内。由此,应当理解,以上示例是出于说明的目的,而不应被解释为限制本发明。当将过滤器添加到虚拟地址栏中的虚拟地址之后,执行一过程以确保新添加的过滤器不会与当前作为虚拟地址的一部分存在的任何过滤器冲突。如果新添加的过滤器与现有过滤器冲突,则移除现有过滤器。如果新添加的过滤器与现有过滤器的宽度不同,即宽于或窄于现有过滤器,则新添加的过滤器与虚拟地址中的现有过滤器冲突。另外,如果新添加的过滤器与现有过滤器互斥,则新添加的过滤器与现有过滤器冲突。然而,与现有过滤器等效的新添加的过滤器不被添加,因为它没有任何效果。应当理解,以上对冲突的描述是出于说明目的而给出的,而不应被解释为限制本发明。本领域的技术人员将认识到,可能存在过滤器之间的其它冲突,它们被认为落入本发明的范围之内。图46A-46D是示出向虚拟地址栏1700中的虚拟地址1702添加过滤器,以及移除冲突的现有过滤器的示意图。图46A示出显示在虚拟地址栏1700中的示例性虚拟地址1702。如图46B所示,由段1706"2002"表示的新过滤器被添加到虚拟地址1702。如先前所描述的,新过滤器被添加到虚拟地址的末尾,如通过将段1706"2002"放置在图46B的虚拟地址栏1700中的段的末尾所指示的。之后,所执行的用于添加段1706"2002"的过程确定所添加的过滤器不与虚拟地址1702中任何当前过滤器冲突。由此,不从虚拟地址1702中移除任何现有过滤器。如图46C所示,将由段1708"AuthorA"表示的另一过滤器添加到虚拟地址1702。所执行的用于添加该新过滤器的过程确定该新过滤器"AuthorA"将与由段1704"AuthorA-F"表示的过滤器冲突,因为新过滤器"AuthorA"比现有过滤器窄。因此,从虚拟地址栏1700中移除段1704"AuthorA-F",并将段1708"AuthorA"添加到虚拟地址栏中段的末尾。图46D示出了将段1710"2003"添加到图46C的虚拟地址栏1700的结果。虚拟地址栏1702中的过滤器是限制性而非累积性的。每一过滤器进一步了所选择的内容。由此,互斥过滤器可防止虚拟地址1702选择任何文件或内容并从而形成冲突。如图46D所示,由于冲突而从虚拟地址栏1700中移除段1706"2002"(图46C),因为它与新添加的段1710"2003"互斥。当诸如虚拟地址栏1800(图47A)等虚拟地址栏由于虚拟地址栏的大小限制而不能完整地显示虚拟地址时,根据虚拟地址栏的大小显示虚拟地址的一部分。然而,虚拟地址中的未显示的部分仍能被用户访问。更具体地,虚拟地址栏显示可作用的视觉指示符以滚动虚拟地址栏中的虚拟路径。图47A和47B示出了显示其中虚拟地址超过了虚拟地址栏的显示容量的虚拟地址栏的示例性虚拟地址栏1800。如图47A和47B所示,滚动图标1802和1804指示虚拟地址栏1800的方向可被滚动以显示虚拟地址中先前未显示的部分。然而,尽管说明性示图示出了对滚动图标的使用,但它仅出于说明的目的,而不应当被解释为限制本发明。本领域的技术人员将认识到,有众多滚动虚拟地址栏中的虚拟地址的其它方法,所有这些方法都被认为是落入本发明的范围之内。根据另一方面,如果发生溢出条件,使得地址栏太小以致于无法适合构成地址的所有交互式段,则所显示的交互式段是最具体的。例如,参考图47C,较宽泛的交互式段FILES没有被包括在内,而最具体的交互式段被显示在虚拟地址栏1800上。人字形1806用作指示相邻的交互式段DOCUMENTLIBRAARY具有未被显示的祖先的溢出指示符。人字形1806具有双重角色,因为它同时用作子控件以及溢出指示符。如图47C所示,对人字形1806的选择提供了对交互式段DOCUMENTLIBRARY包括过滤器POWERPOINTDOCUMENTS、WORDDOCUMENTS、VISIODOCUMENTS和EXCELDOCUMENTS的子过滤器或选择准则,并且还显示了包括祖先FILES的对于交互式段DOCUMENTLIBRARY的祖先列表1808。从祖先或子过滤器列表中选择祖先过滤器或子过滤器导致地址栏被修改为显示该过滤器并移除所有的后续过滤器。可以理解,人字形1806可用作用于显示祖先列表的控件,且可存在独立的子控件。图48A是示出具有同时引用文件系统中的虚拟和实际位置两者的段的虚拟地址栏1900的框图。如先前所讨论的,虚拟地址栏1900中的虚拟地址可包含引用计算机文件系统分层结构内的特定位置的段,并且还可包含引用计算机文件系统内的虚拟或逻辑位置的段。由虚拟段引用的文件或内容可分布在多个物理位置之中。虚拟地址栏1900可包含引用物理位置的段以及引用虚拟位置的段。例如,虚拟地址栏1900包括引用计算机文件系统中的特定区域中包含的文件或内容,具体地为驱动器"C"的段1902"LocalDisk(C:)(本地盘(C:))"。或者,段1904"CaseFiles(案件文件)"本身引用储存在计算机文件系统分层结构中与案件文件相关联的的多个文件夹中的文件或内容。然而,结合段1902"LocalDisk(C:)",段1904"CaseFiles"仅引用在本地驱动器"C"上找到的案件文件。另夕卜,段1906"Contains'Fax(包含'Fax)"按照它们是否包含文字"Fax(传真)"对本地盘C:上且与案件文件相关联的文件进行进一步过滤。如图48B所示,虚拟地址栏1900可被配置成起常规地址栏的作用。例如,参考图48A,通过将光标1908放置在虚拟地址栏1900的空白空间中并在那里点击,虚拟地址栏1900从显示表示虚拟地址的段切换成起显示常规地址1910的常规地址栏的作用,如图48B所示。图48B的虚拟地址栏1900中的常规地址1910近似图48A的虚拟地址栏1900中显示的虚拟地址。然而,图48A的虚拟地址栏中不对应于计算机文件系统中的物理位置的那些过滤器不能被显示,因此从常规地址1910中移除。具体地,段l卯4"CaseFiles"和段1906"Contains'Fax,"不是常规地址1910的一部分(图48B)。为将起常规地址栏作用的虚拟地址栏1900重新配置成正常地起虚拟地址栏的作用,用户必须以除在栏的空白区上点击以外的其它方式来如此指示。当被配置成起常规地址栏的作用时,虚拟地址必须允许用户为地址编辑的目的而在空白区中点击。在常规地址栏的空白区中点击将编辑光标放置在地址/路径的末尾用于编辑目的。因此,为将虚拟地址重新配置成再一次以如上所述的其正常方式起作用,用户必须按下预定义的键或键序列,诸如Esc或Tab键,或通过点击窗口或视图的另一区域将焦点置于窗口或视图的另一区域。本领域的技术人员可以认识到,也可利用其它用户动作来将虚拟地址栏l卯O重新配置成如上所述以其正常模式起作用,所有这些都被认为是落入本发明的范围之内。图49是示出用于为虚拟地址栏中所标识的段选择对等过滤器的对等过滤器选择例程2000的流程图。在框2002处开始,例程2000检测对等过滤器选择激活。激活对等过滤器选择过程在上文参考图45A-45D描述。在框2004处,标识用户对其请求了对等过滤器选择的段。在框2006处,从预定对等过滤器列表确定用于所标识的段的对等过滤器。在框2008处,向用户显示对等过滤器。在框2010处,获得用户从所显示的对等过滤器中对对等过滤器的选择。在框2012处,通过从虚拟地址栏中移除所标识的段以及所标识的段之后的任何其它段来截断虚拟地址。在框2014处,将表示所选择的对等过滤器的段追加到虚拟地址栏中的剩余段。之后,例程2000终止。图50是示出用于向虚拟地址栏中的虚拟地址添如过滤器的示例性添加过滤器例程2100的流程图。在框2102处开始,示例性例程2100获得要添加到虚拟地址的过滤器。例如,如先前参考图43所讨论的,可根据虚拟地址栏外部的用户动作来向虚拟地址添加过滤器,或者可通过键入预定义过滤器的名称来直接将过滤器添加到虚拟地址栏。在框2104处,确定新过滤器是否与虚拟地址中已有的现有过滤器冲突。如上文参考图46A-46D所讨论的,新过滤器可能因縮小或加宽了现有过滤器的范围而与现有过滤器冲突。或者,新过滤器可能因为新过滤器与现有过滤器互斥而与现有过滤器冲突。如果在判别框2104处新过滤器与现有过滤器冲突,则在框2106处,从虚拟地址中移除现有过滤器。或者,在2104处,如果新过滤器不与现有过滤器冲突,或者在框2106中移除了现有的冲突过滤器之后,在框2108处,将新过滤器添加到虚拟地址的末尾。之后,示例性例程2100终止。图134是示出用于为虚拟地址栏中的相关联段选择子过滤器或选择准则的选择例程2200的流程图。在框2202处开始,例程2200检测对子控件的选择。子过滤器选择过程在上文参考图135A-135D描述。在框2204处,标识与所选择的子控件相关联的父段。在框2206处,从预定的子过滤器列表确定用于所标识的父段的子过滤器。在框2208处,向用户显示子过滤器。在框2210处,从用户接收从所显示的子过滤器中的子过滤器选择。在框2212处,通过移除父段之后的段来截断虚拟地址。在框2214处,将表示所选择的子过滤器的段追加到虚拟地址栏中剩余的段。之后,例程2300终止。图51-57是涉及根据本发明的另一方面的系统和方法的图示,该系统和方法提供了外壳浏览器内改进的用户体验。更具体地,提供了一种用户可用于基于与项目相关联的元数据来更容易地标识项目的系统和方法。转向图51A,窗口2200表示外壳浏览器的图形用户界面的屏幕大小显示区。窗口2200包含预览窗格区2202和视图区2204。预览窗格2202可包括预览控件2206、用户界面(UI)或编辑控件2208、以及任务控件2210。通常,预览控件2206向用户提供正被预览的项目(例如,选中的文件)的图像或其它视觉显示。预览控件2206还可向用户呈现诸如重复器按钮等允许用户通过点击鼠标按键将焦点从一个项目移至下一项目的控件。对应于一个或多个项目的元数据和/或对应于项目容器的元数据可显示在窗口2200内的各种位置中。例如,编辑控件和元数据可共同位于编辑控件区2208内,使得编辑控件区不仅包括所预览的项目的关键属性的显示,还向用户呈现了对元数据作出编辑的选项。任务控件2210包含与名称空间和/或选择相关的任务。为本发明的目的,术语"元数据"和"用户可修改元数据"不包括外壳项目名称。术语"外壳项目名称"指的是为对外壳浏览器内的项目进行分类和显示的目的而使用的属性。如上所述,本发明的一个独特方面是用户编辑外壳浏览器内的元数据的能力。本领域的技术人员可以理解,本发明构想了可任选特征在窗口2200内的存在。例如,预览控件2206和任务控件2210对于本发明的目的而言并不是必要的特征。此外,图51A中未示出的其它非必要特征,诸如包括重复器按钮或使用户能够打开/关闭预览窗格的显示/隐藏按钮的工具栏也落入本发明的范围之内。尽管如此,这些和其它可任选特征可协助用户容易地定位外壳浏览器中的特定项目。视图区2204提供了诸如文件系统文件或文件夹等一个或多个项目2212的列表视图。术语"列表视图"指的是容器内的项目的枚举或列表。术语"项目"和"外壳项目"此处互换地使用来指文件、文件夹和其它此类容器,以及可在列表视图中表示的其它非文件对象。非文件对象的示例可包括但不限于,合同、收藏夹和电子邮件消息。术语"外壳浏览器"和"文件系统浏览器"此处互换地使用来指允许用户导航通过包括文件和其它非文件项目的各种名称空间的浏览器。本领域的技术人员可以理解,本发明对窗口2200构想了多种可能的设计和布局。例如,预览窗格2202在图51A中被示为在视图区2204的上方。然而,诸如将预览窗格2202和视图区2204并排放置等其它布局显然也落入本发明的范围之内。编辑控件2208的位置也独立于所显示的元数据的位置,且独立于任何其它控件的位置。对列表视图区2204中所描绘的项目也有多种可能的査看类型,诸如细节、幻灯片演示、电影胶片、縮略图、平铺、图标等。图51B类似于图51A,不同之处在于视图区2204被以细节模式显示项目2212的视图区2214替代。如对于以细节模式显示的外壳项目典型的,项目2212在视图区2214的左侧按列对齐,且一个或多个列标题2216形成了包含与位于同一行中的对应项目有关的元数据2218的一组列的顶行。重要的是,本发明构想了用户通过在窗口2200内的任何地方实例化一个或多个编辑控件2208来显式地将一个元数据值改为另一值的能力。例如,编辑控件可在预览窗格2202和/或视图区2214内提供。例如,最初不对用户可见的编辑控件可在视图区2214内提供。这一控件可例如在用户悬停在元数据2218上然后点击它来进入编辑模式时实例化。接着参考图52,提供了外壳浏览器中的欢迎窗格2300的示意图。欢迎窗口有时候被称为"空选择"窗格,因为它表示名称空间或容器而非选择。如果用户尚未作出选择,则预览窗格2302显示与文件夹或外壳库有关的元数据2304和关键任务。如有所需,任务可被分成首要任务2306和其它相关任务2308。欢迎窗格2400还包括视图区2310,其中可查看多个文件或其它项目2312。欢迎窗格元数据2304可包括诸如容器(例如,MyPictures)的属性等信息,在这一情况下元数据显示可以是静态的。或者,欢迎窗格元数据2304可包括诸如对容器内的每一项目的元数据的采样等信息,在这一情况下,元数据显示可以频繁改变。例如,通过每隔30秒从一个项目轮转到下一项目,元数据显示可限于一次一个项目。图53是外壳浏览器中的选中窗格2400的示意图。与欢迎窗格形成对比,选中窗格表示用户的选择。如果用户选择一个容器或文件夹,则选中窗格不必与用于该容器或文件夹的欢迎窗格相同。在图53中,选中窗格2400包括预览窗格2402,预览窗格2402包含预览控件2404、元数据显示2406和任务显示2408。与欢迎窗格2300(图52中)类似,选中窗格2400也包括视图区2410,其中可査看多个文件或其它项目2412。然而,在图53中,用户选中了文件之一。因此,预览控件2404显示选中文件的预览图像,元数据显示2406示出选中文件的属性,而任务显示2408提供用于对选中文件操作的相关任务的菜单。图54是根据本发明的一个实施例的图53的选中窗格的示意性表示,但是它还包括允许用户修改外壳浏览器中的元数据的上下文菜单2500。图54中的上下文菜单2500向用户呈现了用于改变选中元数据的若干选项。菜单2500中所示的一般文本当然仅是可向用户呈现以便编辑所显示的元数据的选项类型的一个示例。上下文菜单可以在包括欢迎窗格的任何窗口中提供,以改善用户体验。如本领域的技术人员可以理解的,本发明可支持任何数量和种类的上下文菜单。出于本发明的目的,允许用户修改外壳浏览器内所显示的元数据的一种手段是提供诸如可编辑元数据上下文菜单2500等上下文菜单。用户可例如通过点击预览窗格中对应的文本或对象来唤出该上下文菜单。本领域的技术人员可以理解,本发明构想了除允许用户修改外壳浏览器内所显示的元数据的上下文菜单之外的手段。另一这样的手段是使用户点击元数据来进入编辑模式。与之相反,用户可通过悬停在预览窗格中的相关文本或对象上来进入编辑模式。众多替换手段是可用的,且落入本发明的范围之内。图55是示出根据本发明的一个实施例的允许用户修改外壳浏览器内的欢迎窗格中显示的元数据的方法2600的流程图。方法2600包括在2602处显示欢迎窗格和与欢迎窗格相关联的元数据。然后,在2604处,该方法提供了供用户修改所显示的元数据的控件。当用户在2606处操纵该控件来修改所显示的元数据时,该方法然后在2608处将经修改的元数据与该欢迎窗格相关联,以使经修改的元数据在下次显示欢迎窗格时可被显示。图56是示出根据本发明的一个实施例的允许用户修改外壳浏览器内的选中窗格中所显示的元数据的方法2700的流程图。在2702处,方法2700首先显示多个项目,诸如欢迎窗格中的项目或选中容器中的项目。当用户在2704处选择这些项目中的一个或多个时,该方法在2706处显示与所选择的项目相关联的元数据。在2708处,该方法提供供用户修改所显示的元数据的控件。当用户在2710处操纵该控件以修改所显示的元数据时,该方法然后在2712处将经修改元数据与所选择的项目相关联,以使经修改的元数据在下次显示所选择的项目时可被显示。在用户在2704处选择多个项目的情况下,所显示的元数据可包括所选择的项目的感兴趣的属性、属性的并集、或可能与所选择的项目有关的新属性。或者,所显示的元数据可包括每一选择的项目的元数据的旋转样本(例如,每隔30秒从一个选中项目的元数据轮转到下一选中项目的元数据。从对所有项目的选择得到的元数据的显示可能与从空选择得到的元数据的显示相同。图57是包含与外壳浏览器中显示的项目相关联的用户可修改元数据的数据结构2800的框图。数据结构2800包括指示项目名称的标题字段2802。在非文件项目的情况下,字段2802可包含用于按字母表顺序排列列表视图中的项目的任何属性的名称。数据结构2800包括包含与所显示的项目相关联的一个或多个属性的用户可编辑属性字段2804,其中用户可编辑属性与所显示的项目一起显示在外壳浏览器中。数据结构2800可任选地包括只读属性字段2806,该字段包含与所显示的项目相关联的任何只读属性并且应被显示在外壳浏览器中。给定外壳浏览器中的元数据显示的大小约束,可限制字段2804和2806中的属性的数目。因此,数据结构2800可任选地包括所有属性字段2808,它包含到包含与所显示的项目相关联的所有属性或元数据的位置(例如,属性页面)的链接或指针。当然,所有属性字段2808在字段2804和2806包含与所显示的项目相关联的所有属性的情况下可能不是必需的。数据结构2800被储存在一个或多个计算机可读媒体上,诸如储存在文件系统或外壳中,以提供外壳浏览器内丰富的存储视图,且由此提供改进的用户体验。本发明允许对常规的外壳浏览器而言不可能的多种情形。作为第一个示例,学生能够使用预览窗格来管理其研究计划。当她获得作为她正在工作的研究计划的一部分的新文档时,她可选择其文档库中的那些文档并使用编辑控件将文档作者名以及研究计划名称键入到关键字域中。现在,新文档将在其收藏夹视图中显示"DocumentsGroupedbyKeywordandListedbyAuthor"(按照关键字分组并按照作者列出的文档)。本发明允许的新情形的第二个示例涉及雇员查找即将到来的广告计划的材料。当他使用外壳浏览器浏览其雇主的库存照片集合时,他选择几张图片,并从预览窗格中添加新关键字"Summer2003Campaign"(2003年夏天计划)。在更新了多个选择的元数据之后,该雇员然后按照关键字制作数据透视表,并且可查看被分组在一起的所有"Summer2003Campaign"文件。利用本发明的许多其它情形对本领域技术人员将是显而易见的。图58-66是与扩展被配置成显示表示多种项目类型的多个项目的外壳浏览器中的对象预览器的功能的系统和方法的图示。如将在下文更详细描述的,提供了包括默认预览器和可扩展性机制的外壳浏览器。默认预览器提供了用于多种项目类型的标准功能级别。可扩展性机制允许由用于一个或多个项目类型的默认预览器提供的标准级别之外的功能。图58是现有技术的在用于查看其它非图片文件和文件夹的外壳浏览器环境内浏览储存在文件夹中的图片的图形用户界面的示意图。如上所述,对容易地标识储存在诸如PC等计算环境中的项目的需求显著增加。对于数字照片,用户传统上必须调用第三方软件程序以在PC上查看特定文件。图58示出了一种现有解决方案,即电影胶片视图,它允许用户在图形操作环境内更容易地査看和标识与给定文件相关联的图像。电影胶片视图的目标在于通过提供允许用户预览文件夹内的一个或多个图片文件的可调整大小的图像的快速重复进程来减轻在浏览图片文件夹时对其它软件程序的需求。图58涉及用于浏览储存在文件夹中的图片的系统,其中一系列文件夹图片在用于查看其它非图片文件和文件夹的环境(即,外壳浏览器)内被呈现为单行縮略图。它还允许用户在显示用户所选中的縮略图的放大的预览图像时选择性地将光标通过縮略图。图58是用户屏幕上的代表性窗口的图示。如图所示,窗口3200被划分成若干区,包括首部区、任务选项区3206、预览控件区3202、文字说明或注释区以及电影胶片区3204。任务选项区3206包含可由用户选择来执行与文件和文件夹的管理有关的各种各样操作的任务列表以及其它系统选择。这些操作中的某一些对于电影胶片区3204和预览控件区3202中的图片是专用的。预览控件区3202是其中显示用户选择的图片的放大预览图像的空间。该空间还可包含导航图标以协助用户重复通过一系列图片。紧靠预览控件区之下的是文字说明或注释区,它可用于显示各种文本信息。电影胶片区3204提供了显示给定文件夹内包含的图片文件的单行縮略像P1、P2、P3和P4的空间。另外,电影胶片区3204还包含允许用户滚动通过图片文件的文件夹的光标。应当注意,电影胶片区3204可包含并显示混合方向的縮略像。例如,如图58所示,Pl、P2和P4是横向的,而P3是纵向的。用户可选择縮略像中的任一个,这导致在预览控件区中显示用户縮略图选择图像的更大的预览图像。另外,对縮略像的用户选择还允许用户对所选择的图像选择并执行任务选项区3206中列出的任务中的任一个。第一控件按钮允许用户通过在一个方向上重复来快速并连续地预览给定文件夹内的每一縮略像的放大图像。换言之,用户无需特别"点击"每一和每个连续的縮略像来预览图片。相反,用户仅需重复点击第一控件按钮来移动通过该文件夹。第二控件按钮执行类似的重复功能,但是仅仅在相反方向上执行。转向图59,窗口3300表示通用外壳浏览器的图形用户界面的屏幕大小显示区。窗口3300包含预览窗格区3302和视图区3304。预览窗格3302可包括预览控件3306、编辑或元数据控件3308、以及任务控件3310。通常,预览控件3306将向用户提供正被预览的项目(例如,选中的文件)的图像或其它视觉显示。预览控件3306也可向用户呈现诸如重复器按钮等允许用户通过点击鼠标按键将焦点从一个项目移至下一项目的控件。编辑控件3308不仅包括所预览项目的关键属性的显示,还向用户呈现了用于对元数据进行编辑的控件。任务控件3310包含与名称空间和/或选择相关的任务。本领域的技术人员可以理解,本发明构想了窗口3300内可任选特征的存在。例如,元数据控件3208和任务控件3210对于本发明的目的而言并不是必要的特征。此外,图59中未示出的其它非必要特征,诸如包括重复器按钮或使用户能够打开/关闭预览窗格的显示/隐藏按钮的工具栏也落入本发明的范围之内。尽管如此,这些和其它可任选特征可协助用户容易地定位外壳浏览器中的特定项目。视图区3304提供了诸如文件系统文件或文件夹等一个或多个项目3312的列表视图。术语"列表视图"指的是容器内的项目的枚举或列表。术语"项目"和"外壳项目"此处可互换使用来指文件、文件夹和其它此类容器,以及可在列表视图中表示的其它非文件对象。类似地,"外壳项目"指的是外壳库中的项目。非文件对象的示例可包括但不限于,联系人、收藏夹和电子邮件消息。术语"外壳浏览器"和"文件系统浏览器"此处可互换使用来指允许用户导航通过包括文件和其它非文件项目的各种名称空间的浏览器。本领域的技术人员可以理解,本发明对窗口3300构想了多种可能的设计和布局。例如,预览窗格3302在图59中被示为在视图区3304的上方。然而,诸如将预览窗格3302和视图区3304并排放置等其它布局显然也落入本发明的范围之内。对视图区3304中所描绘的项目也有多种可能视图,诸如详细信息、幻灯片演示、电影胶片、缩略图、平铺、图标等。接着参考图60,提供了外壳浏览器中的欢迎窗格3400的示意图。欢迎窗格有时被称为"空选择"窗格,因为它表示名称空间或容器而非选择。如果用户尚未作出选择,则预览窗格3402显示与文件夹或外壳库有关的元数据3404和关键任务。如有所需,任务可被分成首要任务3406和其它相关任务3408。欢迎窗格3400还包括视图区3410,其中可査看多个文件或其它项目3412。欢迎窗格元数据3404可包括诸如容器(例如,MyPictures)的属性等信息,在这一情况下元数据显示可以是静态的。或者,欢迎窗格元数据3404可包括诸如对来自容器内的每一项目的元数据的采样等信息,在这一情况下,元数据显示可以频繁改变。例如,通过每隔30秒从一个项目轮转到下一项目,元数据显示可限于一次一个项目的属性。图61是外壳浏览器中的选中窗格3500的示意图。与欢迎窗格形成对比,选中窗格表示用户的选择。如果用户选择一个容器或文件夹,则选中窗格不必与用于该容器或文件夹的欢迎窗格相同。在图61中,选中窗格3500包括预览窗格3502,预览窗格3502包含预览控件3504、元数据显示3506和任务显示3508。与欢迎窗格3400(图60中)类似,选中窗格3500也包括视图区3510,其中可査看多个文件或其它项目3512。然而,在图61中,用户选中了文件之一。因此,预览控件3504显示选中文件的预览图像,元数据显示3506示出选中文件的属性,而任务显示3508提供用于对选中文件操作的相关任务的菜单。图62是根据本发明的一个实施例的类似于图61的选中窗格3500但带有扩展控件的选中窗格的示意图。选中窗格3600包括预览窗格3602,后者包含具有扩展控件3614的预览控件3604、元数据显示3616和任务显示3608。选中窗格3600还包括视图区3610,其中可査看多个文件或其它项目3612。用户已经选择了文件3612之一,因此预览控件3604显示选中文件的预览图像,元数据显示3606示出选中文件的属性,而任务显示3608提供用于对选中文件操作的相关任务的菜单。扩展控件3614表示超出外壳浏览器一般可用的功能级别。例如,诸如图58和61中所示的那些的默认预览窗格或预览控件可仅显示选中项目的预览图像。如果项目是文字处理文档或幻灯片演示,则默认预览图像可以是文档或幻灯片组的第一页。然而,通过扩展预览图像的功能使之更具有交互性,用户可相当容易地操纵6扩展控件3614来翻阅文档或幻灯片演示。这种增强的功能级别改进了用户的体验,因为它允许用户在不打开所预览的项目的情况下更全面地对其进行浏览,这对单独基于第一页可能无法容易地标识的文件尤其有用。扩展控件3614可作为外壳浏览器中的替换预览器的一部分供用户使用。术语"预览器"可指预览控件或包括预览控件的预览窗格。本发明构想了向用户提供对多种项目类型提供标准功能级别的默认预览器以及对特定项目类型提供不同功能级别的一个或多个替换预览器以增进用户的体验的外壳浏览器。向独立软件厂商(ISV)和其它第三方开发员开放替换预览器的开发通过以容易可识别的方式示出文件的相关方面对文件浏览体验增加了价值。本发明为包括但不限于图像文件、视频文件、联系人、游戏、扫描仪、摄影机、文档文件、电子表格文件、幻灯片演示文件、绘图文件以及写字板墨水文件等众多文件类型和非文件项目类型构想了自定义预览器。本发明允许常规外壳浏览器不可能的多个情形,其中某些已在上文中描述。第三方被允许通过提供可在内部査看文件类型并提供用户可理解的有意义的图像的代码来描述和阐述其文件类型。例如,Apple可实现QuickTime预览控件,它可在用户在外壳浏览器中选择QuickTimeTM文件时被显示。该预览控件可提供操作系统外壳中默认预览器之外的替换或扩展的功能级别,包括诸如显示QuickTime电影的前五秒钟和/或为用户提供按钮和控件以便启动QuickTimeTM播放器等功能。用于音乐文件的替换预览器可提供类似的扩展功能。如本领域的技术人员可以理解的,替换预览器中的扩展功能的可能性是无限的。图63是根据本发明的一个实施例的类似于图61但还包括允许用户修改外壳浏览器中的元数据的上下文菜单374的选中窗格的示意图。选中窗格3700包括预览窗格3702,后者包含预览控件3704、元数据显示3716和任务显示3708。选中窗格3700还包括视图区3710,其中可査看多个文件或其它项目3712。本领域的技术人员可以理解,元数据控件3706和任务控件3708对于本发明的目的而言并不是必要的特征。本发明构想了可协助用户容易地定位外壳浏览器中的特定项目或增进用户体验的这些和其它可任选特征的存在。图63中的上下文菜单3714向用户呈现了若干选项,包括为选中项目选择默认预览器或替换预览器中任一个的选择。菜单3714中所示的一般文本当然仅是可呈现给用户来选择预览器的选项类型的一个示例。上下文菜单可在包括欢迎窗格的任何窗口中提供,以改进用户体验。如本领域的技术人员可以理解的,本发明可支持任何数量和种类的上下文菜单。为本发明的目的,允许用户对外壳浏览器内的预览器进行选择的一种手段是提供诸如上下文菜单3714等上下文菜单。用户可例如通过在预览窗格中点击相应的文本或对象来唤出该上下文菜单。本领域的技术人员可以理解,本发明构想了用于从外壳浏览器内的多个可用预览器中为所显示的项目选择一预览器的除上下文菜单以外的手段。另一这样的手段是供用户在预览控件上点击来入一选择模式。类似地,用户可被提示通过在预览窗格内右键点击来选择预览器。与之相反,用户可通过悬停在预览窗格中的相关文本或相关对象上来进入选择模式。众多替换手段是可用的,且落入本发明的范围之内。图64A是示出根据本发明的一个实施例的用于允许用户选择支持多个项目类型的外壳浏览器中的预览器的方法3800的流程图。方法3800在3802处提供外壳浏览器中的多个预览器。这多个预览器可包括用于多个项目类型的默认预览器以及用于特定项目类型的一个或多个替换预览器。这些替换预览器可包括由第三方开发的已安装的应用程序。在3804处,方法3800向用户呈现对特定项目类型的两个或多个预览器的选择。选择预览器的提示可由外壳浏览器发起(例如,当显示新项目类型之后)和/或由用户发起(例如,通过在对象上点击以显示上下文菜单)。当在3806处从用户接收指示为特定项目类型选择了预览器之一的输入之后,方法3800然后在3808处使选中的预览器与该特定项目类型相关联。选中的预览器将仍被使用直到用户选择了一个不同的预览器。然而,如果选中的预览器是已安装的应用程序,则对该应用程序的卸载也将终止对选中预览器的使用。图64B是示出根据本发明的一个实施例的用于自动选择支持多个项目类型的外壳浏览器中的预览器的方法3810的流程图。方法3810在3812处提供外壳浏览器中的多个预览器。这多个预览器可包括用于多个项目类型的默认预览器以及用于特定项目类型的一个或多个替换预览器。这些替换预览器可包括由第三方开发的已安装的应用程序。在3814处,系统(而不是用户)自动且透明地从用于特定项目类型的两个或多个可用预览器中选择一默认预览器。系统可响应于诸如新项目类型的显示或替换预览器的存在等事件而选择预览器。系统被配置成基于逻辑规则选择默认预览器。在异常情况下,系统可在3816处决定忽略这些规则并选择在适用规则下不会被选择的预览器。例如,如果规则是选择比当前默认预览器新的可用预览器,则已安装的应用程序一般可具有将默认预览器改成现在由已安装的应用程序提供的预览器的授权。然而,例如外壳浏览器可保留忽略由新安装的应用程序所提出的改变的权力。例如,当新安装的应用程序不能被认证为所述项目类型的正确所有者时,忽略可能是适当的。在任何情况中,方法3810然后在3818处将选中的预览器与该特定项目类型相关联。选中的预览器将仍被使用直到一个不同的预览器被选中。然而,如果选中的预览器是已安装的应用程序,则对该应用程序的卸载也将终止对选中预览器的使用。接着参考图65,一流程图示出根据本发明的一个实施例的用于允许在支持多个项目类型的外壳浏览器中使用第三方预览器的方法3900。方法3900包括在3902处提供具有用于多个项目类型的默认预览器的外壳浏览器。方法3900还包括在3904处提供对用于多个项目类型的至少其中之一的替换预览器的第三方开发的可扩展性机制。替换预览器可在3906处在外壳浏览器中注册。在己安装应用程序的情况中,注册基本上可在安装时进行。例如,如果应用程序是由OEM安装的,则替换预览器可在用户获得计算机之前注册。或者,用户可本地或远程地安装应用程序。存在以上在3904处引用的可扩展性机制的众多可能的方法。一种这样的方法涉及展示一组应用程序编程接口(API),使得独立软件厂商(ISV)和其它第三方开发员可开发替换预览器。使用API方法,存在允许ISV将其预览控件与该ISV所拥有的项目类型相关联的注册机制。当该类型的项目或文件在外壳浏览器中被选中时,ISV的预览控件经由该注册机制和可扩展性API被实例化。API向预览控件提供数据表示视图中选中项目的数据以及表示视图中项目的父容器的数据。预览控件在这些数据上操作,并经由API提供在外壳浏览器中呈现的用户界面。用户可使用键击和鼠标事件提供输入,输入由外壳浏览器传递给预览控件,后者可在这些用户输入事件上操作。本领域的技术人员可以理解,在本发明的可扩展性机制的上下文中众多方法均是可能的。除API方法以外,可经由用户配置、指向HTML的指针或主宿flash来实现类似的功能。而且,可扩展性模型可要求仅拥有选中项目类型的一个应用程序可提供仅一个替换预览器。换言之,可用预览器的数目被限于一个默认预览器和一个替换预览器以避免多次注册的扩展预览器彼此竞争的较差的用户体验。然而,另一模型可以是允许可处理选中项目类型的任何应用程序提供一个附加预览器。一替换模型可允许任何运行的代码为任何项目类型提供一个附加预览器。也期望在某些情况下允许替换或移除默认预览器。众多其它模型是可能的,且由本发明构想。图66是存储在一个或多个计算机可读介质上且包含指示外壳浏览器中的多个预览器的信息的数据结构4000的框图。数据结构4000包括包含指示支持多个项目类型的默认预览器的信息的默认预览器字段4002。替换预览器字段4004包含指示用于第一项目类型的替换预览器的信息。另一替换预览器字段4006可包含指示用于第一项目类型的第二替换预览器的信息,或者它可包含指示用于第二项目类型的替换预览器的信息。本领域的技术人员可以理解,在某些情况中,只能有一个替换预览器字段,而在其它情况中,可以有两个或多个替换预览器字段。选中预览器字段4008包含指示当特定项目类型的项目被显示在外壳浏览器中时是调用默认预览器还是替换预览器的信息。在字段4006包含指示用于第二项目类型的替换预览器的信息的情况中,选中预览器字段4010可包含指示当第二项目类型的一个或多个项目被显示在外壳浏览器中时是调用默认预览器还是替换预览器的信息。字段4002、4004和/或4006中所包含的信息可包括被配置成当用户选择该类型的对象时运行的预览器代码。**以显式排除定义范围如上参考图37-38所述,用户或应用程序可定义跨多个物理位置的范围。根据本发明的一说明性方面,用户或应用程序也可使用移除与三态选择控件相关联的歧义的高级用户界面来定义范围的排除,从而标识未被包括在范围中的特定位置。因此,本发明的一个或多个方面可用于其中用户定义将受到随后的计算机操作影响的项目的范围、或域的软件输入控件。示例包括定义将安装的软件特征的范围、或要搜索的存储位置的范围。只有两个为说明性目的提供的示例,但不旨在限制本发明的范围。根据本发明的一个说明性方面,参考图67,范围选择控件6701除提供分层选择树6703以外还包括标识显式包括的项目6707和显式排除的项目6709的篮6705。范围选择控件6701允许用户通过检査该篮来迅速地视觉上看见什么被包括在范围中以及什么被排除在该范围之外。控件6701还向用户提供了用于经由与树6703的交互来指定什么被包括在范围内或排除在范围外的每一文件夹层处的详细控制。根据将在以下进一步描述的本发明的各方面,范围选择控件6701可使用不同的视觉指示来示出结果范围中不同的包括状态。通过使篮6705与树6703同步,范围选择控件6701允许用户在范围检査的分层树和排除篮模式之间迅速切换,从而提供用于范围创建和修改的现有控件的显著优化。现在将进一步参考图68来描述范围选择控件6701的操作。范围可被定义为用户经由范围选择控件6701显式或隐式地选择来包括的项目减去用户显式或隐式地选择来排除的项目的结果集。显式选择指的是用户确定地选择一特定项目来包括或排除。隐式选择指的是继承显式选中的祖先的包括/排除状态的确定选中项目的后代。当用户既没有显式也没有隐式选择一项目来包括或排除时,该项目被称为未被选中。如本领域中已知的,分层选择树6703可包括在具有至少一个子文件夹的每一文件夹旁边的展开/折叠小部件6803。点击或以其它方式选择展开/折叠小部件6803会展开或折叠相应的树节点。如此处所述,点击或以其它方式选择行的任何其它位置可从当前范围切换到该位置的选择。在行上双击可选择该节点来包括/排除,且可将其子节点展开一层或多层。用户也可选择对应于选中项目的复选框6805a-6805k,以在项目的状态之间来回切换。当用户显式选择一行来包括时,范围选择控件6701可通过呈现第一包括指示符来指示分层结构中的选择,第一包括指示符例如通过在显示屏上绘制或呈现指示符或图形来指示项目被显式包括。例如,在图68中,用户可能正定义搜索要找寻的数码照片的搜索位置的范围。复选框6805b指示用户已经显式选择了'2003,,指的是在2003年期间拍的照片。复选框6805b被选中,相应的一行可被加亮。选中文件夹内包含的所有的文件和文件夹因此目前被包括在范围中。如果显式选中的文件夹包含子文件夹,则控件6701可自动将该子文件夹展开一层或多层以便向用户显示。显式地选择'2003'也导致对'2003'的所有孩子和后代的隐式选择。隐式选择包括可通过呈现指示一项目被隐式包括的第二包括指示符来表示。例如,在图68中,对应于'2003'的所有后代的复选框6805c-6805i被呈现为包括渐隐的复选标记,且每一相应的行可使用渐隐的加亮呈现。当用户显式地选择项目时,该项目也可在适当位置上被添加到篮6705中,即被包括的项目6707(包括)或被排除的项目6709(排除)任一中。控件较佳地可维护显式选中项目与篮中条目之间1比l的比率。例如,图68中,用户显式选择了文件夹'2003'来包括在范围中。控件6701除在分层结构6703中将文件夹'2003'标记为显式选中之外,还列出包括6707中显式选中的项目。因为用户还未选择任何其它位置来包括或排除,因此目前在图68中的篮6705中不存在其它条目。根据本发明的一方面,在某些情况下,即使当用户原来显式地选择了一文件夹来包括或者排除时,该文件夹也可被认为被隐式选中。例如,假定用户首先显式选择了文件夹Vacation。Vacation文件夹变为显式选中,Fiji和Europe子文件夹被隐式选中。假定用户随后显式选择了2003文件夹。2003文件夹被标记为显式选中,且包括Vacation子文件夹在内的所有子文件夹被标记为隐式选中。即,无论何时用户显式地选择一项目,所有的子项目均可被标记为隐式选中,而不考虑它们之前的选择状态。然而,根据本发明的一方面,用户之前显式地选择项目的事实可被存储以供将来使用。例如,假定用户稍后取消选中2003文件夹,从而意识到早先无意中选择了2003文件夹。2003文件夹的每一子项目可回复至其之前的状态,因此Vacation文件夹返回至显式选中状态。一旦用户完成编辑范围并期望保存范围供将来使用之后,该范围可在包括每一选择的情况下被保存,或者可在没有关于与最终保存范围无关的选择的信息的情况下保存该范围。例如,在以上示例中,用户首先选择了Vacation文件夹的事实可在范围被保存时丢弃,因为之前对Vacation文件夹的选择可能与最终保存的范围无关。进一步参考图69,当文件夹被用户选择来排除时,该文件夹以及所有后代从范围中移除。用户可通过在文件夹被隐式地选择来包括之后显式地选择该文件夹,即用户重选该文件夹,来选择该文件夹来排除。当用户显式地选择一行来排除时,范围选择控件6701可通过呈现指示该项目被显式排除的第一排除指示符以在分层结构中指示该选择。例如,在图69中,复选框6805f指示用户已经显式地从范围中排除了'Ex-Girlfriends(前女友)'文件夹,例如如果用户不想要在搜索结构中包括前女友的照片。复选框6805f以实心X标记,且相应行上的加亮被移除。显式排除的文件夹内包含的所有文件和文件夹因此从范围中排除。如果显式排除的文件夹包含子文件夹,则控件6701可自动折叠子文件夹,因此仅向用户显示显式排除的文件夹(没有后代)。如果用户随后展开对应于显式排除文件夹的小部件,则其后代可使用第二排除指示符显示,说明隐式排除。显式选择'2003'来排除也导致'2003'的所有孩子和后代从该范围隐式排除。隐式选择排除可通过呈现指示项目被隐式排除的第二排除指示符来表示。例如,在图69中,对应于'Ex-Girlfriends,的所有后代的复选框6805g-6805i被呈现为包括渐隐的X,且每一相应行上的加亮可被移除。当用户显式排除一项目时,该项目可被添加到篮6705的排除6709中,从而视觉上将每一显式排除描绘为显式包括的项目的属性(每一排除也可任选地被存储为包括的属性)。例如,在图69中,用户显式地排除了文件夹'Ex-Girlfriends,以便从范围中排除。控件6701除在分层结构6703中将文件夹'Ex-Girlfriends'标记为显式排除以外,还可在排除列表6709中列出显式排除的项目,对应于包括6707中的显式包括文件夹2003。如果用户显式地选择了显式包括项目,则控件6701可将项目的显式重选解释为指示用户改变了他或她关于范围中项目的包括的想法。然而,代替显式地排除所重选的项目,控件6'701可仅从所重选的项目中移除显式包括状态以及任何后代的隐式包括状态,而不将所重选的项目或其任何后代标记为显式或隐式排除的。项目回复至未被选中状态。相应地,项目从篮6705中移除,对应于树6703中的项目的复选框可返回至其初始空白状态,且任何加亮可被移除。因此,根据本发明的一个说明性方面,仅之前隐式包括的项目可从范围中显式排除。进一步参考图70,用户可显式地包括来自之前隐式排除位置的项目。在图70中,用户决定在范围中包括文件夹'Cindy',因为用户与其前女友Cindy仍是朋友,但他不想要在该范围中包括他其他前女友的照片。当显式选择文件夹'Cindy'来包括之后,范围选择控件6701在复选框6805g中呈现第一包括指示符,并加亮相应的行。文件夹Ex-Girlfriends、Janet和Karen的隐式排除状态仍保持不变,因为这些文件夹不是Cindy的后代,而分别是其祖先或对等文件夹。当文件夹Cindy显式包括时,范围选择控件6701在包括6707中将相应的项目添加到篮6705。除与树6703交互以外,用户可类似地与篮6705交互来査看或修改范围。篮较佳地为每一显式选中的项目显示项目名称、位置和图标(尽管按需可显示不同的信息)。如果篮的物理显示大小不足以显示项目的整条路径,则路径可被截断,例如如图69中所示使用(或者可使用阿尔法混合)。或者,截断可在路径当中进行,由图70中路径当中的省略号示出。控件6701可根据任何所需算法确定要截断路径的哪一部分。在一个说明性实施例中,控件6701可根据以下优先级确定截断首先示出直接父亲,其次示出根(例如,C:\、DA等),最后在路径中填入父亲的顺序祖先直到全部路径被显示或直到分配的空间满。如果篮6705中的文件夹在树6703的当前视图中尚不可见,则选择该文件夹例如可导致树6703自动展开和/或滚动来显示选中的文件夹。树也可自动展开选中的文件夹以显示选中文件夹的任何子文件夹。显式排除可被定义为显式包括项目的多值属性(MVP),其中对应于同一显式包括项目的多个排除不导致篮中的附加行,而导致添加到对应于显式包括项目的排除的另一值。例如,图71中的视图是用户显式包括文件夹'2003',然后显式排除文件夹'Fiji',最后显式排除文件夹'Janet'的结果。当用户在篮6705中在从'2003'排除上悬停鼠标指针7101时,控件6701可显示完全合格的MVP7103,使得用户可检查排除。与包括一样,当用户从篮6705中选择排除时,控件6701可自动将树6703导航至选中项目。当用户完成他或她对范围的定义或修改时,用户可保存该范围至例如存储介质22、24、39、30等供将来使用。当用户对同一范围以变化的匹配准则重复执行搜索时,保存范围可能是有用的。当范围被保存时,它可被保存为显式包括的有序列表,而显示排除的列表中的每一条目具有零个或多个相关联的显式排除作为MVP。因此,该列表可存储用户进行的所有显式选择。然而,当用户首先显式选择一项目随后显式取消选择同一项目(例如,意识到原先无意中选择了它)时,该项目可以不被包括在列表中。以此方式,正确的范围可基于有序列表被重新创建,且在范围的使用过程之间添加的作为显式包括或排除项目的后代的任何新文件夹将在该范围被重新使用时正确考虑。例如,根据本发明的一说明性方面,范围可被存储为可扩展标记语言(XML)文件。以下的XML示出了标识显式包括和显式排除的范围,其中每一排除被存储为包括的属性,且其中顺序固有地按照数据存储在XML文件中的顺序来维护<scopc>〈includepath="c:\"〉<excludepath="c:\foo">〈includepath="c:\foo\alpha"/><includepath="c:\foo\beta'V></exclude><excludepath="c:\too'V></include>〈includepath="d:\7></scope>图72示出用于使用上述范围选择控件6701生成范围的方法。在步骤7201中,用户显式地选择树6703中的项目。在步骤7203中,范围选择控件6701确定显式选中的项目是否已设置为包括在该范围中。如果是,则该方法前进至步骤7209。如果否,则范围选择控件6701在步骤7205中确定显式选中的项目是否当前被设置为显式排除在该范围之外。如果是,则在步骤7206中,范围选择控件将显式选中项目的状态回复到该显式选中项目的父亲的状态。如果在步骤7205中显式选中的项目不是当前被显式排除(意味着该项目被隐式排除或被选择中任一情况),则范围选择控件在步骤7207中将该显式选中项目显式地包括在范围中,并将显式选中项目的所有后代隐式包括在范围中。接着,在步骤7208中,范围选择控件6701将显式选中项目添加到篮6705中的包括6707。在步骤7209中,范围选择控件6701确定之前包括的项目之前是被显式包括还是被隐式包括。如果项目之前是被隐式包括的,则在步骤7211中,范围选择控件6701显式排除该显式选中项目,并隐式排除该显式选中项目的所有后代。接着在步骤7213中,范围选择控件6701将该显式选中项目添加到篮6705中的排除6709,对应于该显式选中项目的最近的显式包括祖先。如果在步骤7209中该显式选中项目之前是被显式包括的,则在步骤7215中,范围选择控件6701移除该显式选中项目的包括状态,并使该显式选中项目的所有后代回复到其之前的状态。在步骤7217中,范围选择控件从包括6707以及任何相应的排除6709中移除该显式选中项目。本领域的技术人员可以理解,项目未被选中时的行为可以不同。例如,当祖先未被选中时,显式包括或排除的项目可以不回复至未被选中状态。当步骤7206、7208、7213或7217中任一之后,在步骤7219中,范围选择控件确定是否需要任何更多的修改。该确定可以是隐式的,此时用户没有特别请求进行更多的修改,而是仅继续至步骤7201来进行另一修改,或者另一方面,用户在步骤7221中选择'Save(保存),或'Search(搜索),按钮以向计算机20指示用户已经完成定义范围,且计算机20可为用户定义该范围的任何目的使用该范围。该范围可被称为由篮定义的显式包括项目以及相应的显式排除的结果有序列表。本领域的普通技术人员可以理解,一个或多个步骤可以是可任选的,且步骤可被重新安排来产生类似的结果。此外,当以上描述指示范围选择控件6701执行某种动作或作出某种选择时,范围选择控件6701可根据诸如存储在计算设备20上并由处理器21执行的软件或硬件指令等控制逻辑或在这些控制逻辑的控制之下操作。**用于静态列表操纵的列表窗格如上参考图51-66所述,外壳浏览器(也被称为文件资源管理器、资源管理器或文件浏览器)可用于在文件和非文件项目之间导航。现在将参考图73-76描述另一说明性实施例。图73示出资源管理器框架7301,它具有列表窗格7303、主视图窗格7305以及导航窗格7307。资源管理器框架7301也可包括其它特征,诸如面包屑(breadcrumb)栏7309(或者被称为虚拟地址栏)、菜单栏7311、搜索窗口7313以及信息或预览窗格7315。列表窗格7303的行为可以类似于上述篮控件201。列表窗格因此是可供用户用于在主要资源管理器窗口的上下文中操纵例如静态列表等集合的简单框架内(in-frame)模块。因此,例如,用户可创建to-do(要做)列表,并在列表窗格7303中打开该to-do列表,当经由主视图窗格7305浏览系统外壳时将若干项目添加至to-do列表,然后关闭列表窗格7303,从而可任选地保存经修改的to-do列表。作为另一示例,用户可选择跨主视图窗格7305中顺序查看的多个文件夹存储的一些照片,将选中照片置于列表窗格7303中,并通过从上下文菜单或菜单栏7311选择打印,通过选中列表窗格7303中的所有照片来打印照片的集合。用户可按需在保存照片的新集合的情况下或不保存的情况下关闭列表窗格。用户可通过选择菜单栏7311中的Window(窗口)菜单、然后从Window菜单(未示出)选择ListPane(列表窗格)来打开列表窗格。再次选择Window>ListPane将切换列表窗格7307的显示状态,这等效于Window>ListPane。在某些实施例中,可使用键盘快捷键,例如Ctrl-K,来切换列表窗格7307。用户从菜单栏7311选择Window>ListPane、或经由键盘输入Ctrl-K的动作对于用户是期望创建新的持久化静态列表还是用户期望为手边立即的任务收集少量项目然后在不保存列表的情况下关闭列表窗格而言可能是有歧义的。因此,根据本发明的一实施例,当用户打开列表窗格7303时,列表窗格7303中的任何对象至少被临时存储。如果用户在没有显式保存静态列表的情况下关闭列表窗格7303,则该静态列表的内容被丢弃。然而,用户可保存静态列表来持久化该静态列表,例如在稍后重用该静态列表或与他人共享该静态列表等。在一个实施例中,临时存储位置可以是LocalAppData\Windows\TemporaryList.wpl。由用户打开的每一资源管理器窗口可具有为存储临时静态列表直到用户可任选地确定保存该静态列表的目的而与其相关联的唯一临时存储位置。用户可以适用篮中任何其它列表的相同方式使用临时列表。项目可被添加、移除、重新排序等。当列表窗格7303被打开时,用户可右键点击主视图7305中的任何项目,并从上下文菜单(未示出)中选择"AddtoListPane(添加到列表窗格)"或査看菜单栏7311,这会将该项目作为列表中新的最后一个项目插入到列表窗格7303中。用户也可将项目拖放至列表窗格7303内。然而,因为这是临时列表(类似于WindowsMediaPlayer中的"nowplaying(现在播放)"项目),该列表的内容将在用户关闭框架7301或关闭列表窗格7303时被丢弃。系统可任选地在关闭列表窗格7303或框架7301之前向用户通知列表窗格中是否存在未被保存的内容。如果用户期望保存临时列表,则用户可选择标题文本框7317,输入列表窗格7303中的内容所标识的列表的名称,并选择Save(保存)图标7319。选择Save图标7319可调用常见文件对话框来允许用户选择其中存储静态列表的位置。或者,用户可在列表后台中进行上下文选择(例如,右键点击),并从上下文菜单中选择"Save...(保存...)"以调用该常见文件对话框。用户也可通过从菜单栏7311中选择File>New>List来打开列表窗格7303,这将打开之前关闭的列表窗格7303。如果列表窗格已经打开,则选择File>New〉List导致系统丢弃当前在列表窗格7303中的任何项目并创建新的临时列表。新的临时列表的行为正如通过用户选择View>ListPane而创建的列表一样,且具有相同的持久模型(即当被关闭时它被丢弃,除非用户先保存它)。导航窗格7307可包括列表节点7321,它可代表由用户创建的所有静态列表,或由用户创建且被存储在特定位置中的所有静态列表。用户也能够通过上下文选择列表节点7321并从上下文菜单中选择"NewList(新列表)"来创建新列表,这导致框架7301以具有默认标题的空列表打开列表窗格7303,默认标题例如"NewList",或在己经创建多个默认命名的新列表时的"NewList(n)"。可任选地,在导航窗格7307中,新创建的列表的列表名称可自动处于编辑模式中和/或用户可在列表窗格7307中的标题文本框7317中编辑该列表名称。新列表被创建在给定资源管理器框架7301的默认保存位置中。根据本发明的各方面,列表标题可以始终是可编辑的,以便为列表窗格7307中的列表输入新名称,这导致系统对存储设备上的列表重命名。如果用户为已经持久化的列表(即,列表已经被保存)选择保存按钮7319,则系统可如同用户选择了"Saveas...(保存为...)"选项一样执行。此外,当用户从菜单栏7311中选择File〉NewList时,可能不存在对导航窗格的外观的状态的改变。即,如果列表节点7321目前被展开,则新列表显现为分层地位于列表节点7321之下,只要存在可用空间或其字母插入允许其可被査看。然而,如果列表节点7321目前未展开,则对导航窗格7307不存在可见的改变。当列表窗格7303中的列表为空时,列表窗格7303可显示向用户指示如何创建列表的消息,例如"Addfilestothisbydraggingtheminhere(通过将文件拖至这里来添加文件)"。用户可双击或以其它方式选中列表窗格首部7320以关闭列表窗格7303并在主视图7305中呈现该列表内容。用户可替换地按下Shift+双击来打开以列表窗格7303中的所显示的列表为根的新资源管理器窗口。用户可选择在列表窗格737的右上角中的'X'(或其等效物)(未示出)以在没有主视图7305中的任何导航的情况下关闭列表窗格7303。当在篮中编辑持久化的列表时,可以存在显式保存模型,其中当用户关闭列表窗格7303或资源管理器框架7301时,或者将列表窗格导航到另一列表时,该系统呈现显式对话框以向用户询问该用户是否期望保存任何改变。列表窗格7303中的项目可展示与主视图7305中的项目类似的行为。例如,点击或选择列表窗格7303中的任何给定项目会选中该项目。当焦点在主视图7305与列表窗格7303之间移动时,主视图7305和列表窗格7303两者可继续反映其选择状态(使用窗格不具有输入焦点的任何软选择状态)。然而,仅一个窗格真正具有焦点,它在视图中反映为对于用户的关于箭头键将做什么的视觉暗示。当焦点位于列表窗格7303中时,相同选择和按键可如主视图7305中一样工作——Ctrl+A全选,箭头键移动等。使用上述系统,用户可拖放至列表窗格内,从而允许用户添加、删除、重新排序或以其它方式操纵静态列表中的对象。当拖至篮内时,系统可向用户提供各种视觉暗示。首先,资源管理器框架可加亮列表窗格7303的外缘来指示列表窗格7303是活动拖放目标。如果在列表中存在一个以上项目,则列表窗格也可提供插入栏(未示出)。当用户导航主视图7305时,列表窗格7303仍以给定列表为根,这向用户提供了在无需用户参与大量冗长的跨窗口拖放的情况下通过导航主视图7305中的文件系统来建立集合的内容的有效且简单的机制。进一步参考图74,当用户创建并保存列表7401之后,用户可通过上下文选择持久化列表7401以显示上下文菜单7405并选择上下文选项7403以便在列表窗格7303中打开该列表,来在列表窗格7303中重新打开持久化列表7401。用户可在列表窗格首部7320中选择列表图标623以选择当前正在列表窗格7303中编辑的列表的整个内容。用户可上下文选择(例如右键点击)列表图标623以显示上下文菜单7405。可任选地,用户可右键点击图标623并将其拖至新位置来移动列表的存储位置或在新位置中复制该列表。根据本发明的一方面,静态列表可具有与其相关联的任务,例如"Printphotos(打印照片)"、"BurnCD(刻录CD)"、"MakemoviefromVideoclips(从视频剪辑中制作电影)"等。在这一实施例中,对任务的选择可打开带有任务专用控件的空白列表。或者,当用户打开任务已与之关联的静态列表时,则列表窗格7303可自动显示依赖于该特定任务的任务专用控件。用户与列表窗格7303的交互保持不变,然而存在当处于基于任务的模式中时推动(pushtoward)用户的整体优化任务。因此,例如,图75示出了用户打开列表窗格之前的资源管理器框架7501的一部分。资源管理器框架7501包括具有任务选项7505a、7505b和7505c的菜单栏7503。任务7505c特别指刻录CD。任务7505a和7505b可分别指例如打印照片和从视频剪辑中制作电影。如图76中进一步示出的,当选择任务7505c之后,资源管理器框架打开具有集成的任务专用控件7601的列表窗格7303。在该示例中,任务专用控件7601向用户提供将静态列表的内容写至CD或其它光学介质或存储设备的选项。在这一情形中,如果集合是静态列表,则可使用逻辑调节系统以了解所标识的各对象的实际副本将要写至CD或其它介质而不仅是各对象的快捷方式或指针。由列表窗格7303中的列表标识的对象可按照其由静态列表指定的顺序写入,并且在适用时写入注释。基于任务的列表也可以是临时的,且如上所述当窗格7303或框架7501被关闭时被丢弃,除非用户先保存该集合。当用户完成主要任务(刻录、打印等)之后,任务控件7601可自动切换成"Save"按钮以重新强调否则当用户关闭列表窗格7303或框架7501时用户将丢失该基于任务的列表。列表窗格7303可按照无数方式以及显示细节、格式等的无尽变型来显示,同时仍提供上述功能。本领域的技术人员可以理解,以下对说明性视图的描述仅是示例,且不限制如权利要求书中所定义的本发明的范围。取决于艺术性的设计、所分配的空间等,各种变型是可能的。在一个说明性实施例中,列表窗格的视图状态可显示包括32x32点图标以及两行相应元数据的平铺显示。图标大小可任选地被锁定(Ctrl+鼠标因此可被禁用),或可由系统和/或用户变化。列表窗格7303可任选地限制水平向调整大小,使得平铺从不示为并排,这也有助于用户通过査看其垂直顺序认知地维护集合中项目的顺序。而且,列表窗格较佳地仅按照其在静态列表中的顺序来排序和显示项目。各种附加可任选特征可被包括在本发明的一个或多个说明性实施例中。例如,当用户关闭资源管理器框架且列表窗格正在命名的列表(例如,具有显式名称而不是临时默认名称的列表)上打开时,当用户接下来重新打开类似的资源管理器框架时,该列表窗格可以保持打开至用户之前正查看的列表。如果当框架被关闭时临时的要被丢弃的列表正位于列表窗格中,则当资源管理器框架被重新打开时该列表被丢弃但列表窗格保持打开(且为空)。列表窗格较佳地作为最右边的窗格打开,且可默认打开为200像素宽。光标当在列表窗格7303与主视图7305之间的边框上悬停时可变成调整大小移动柄(grabber)。列表窗格可被调节大小成最小宽度,例如33像素,且较佳地对每个资源管理器框架保持列表窗格大小。列表窗格也可调整大小成最大大小,例如与主视图7305—样大,来允许列表窗格增长(例如,不可以使列表窗格大于主视图7305的最小大小)。本领域的技术人员可以理解,默认大小可以不同于200像素,且列表窗格可呈现在不同于最右边窗格的位置中。例如,在其中语言是从右至左阅读(与大多数西方国家中从左至右相反)的系统上,列表窗格可显现为最左边窗格而非最右边窗格。**已保存文件的预览表示本发明的一方面涉及用于当通过向用户提供将要在系统上创建的文件的预览表示来创建文件时提供改进的用户体验的系统和方法。图77示出了当保存文件时可在GUI中找到的示例视图7701。在视图7701中,各种标记7702被示为描述根据用于生成视图7701的准则而存在的文件。取决于用户偏好,这样的准则可有所变化。例如,视图7701可被生成来显示系统上给定文件夹的内容。或者,视图7701可显示给定文件类型的所有文件(例如,图77的示例中示出了MICROSOFTEXCELWorksheet)。视图7701也可由准则的组合得到。例如,视图7701可以是属于某一用户或某一工程或存储在某一文件夹中的所有工作表的视图。可能的准则几乎是无限的,且除以上列出的以外还包括文件大小、创建日期、编辑日期、工程、所有者、存储器位置、用户、文件名等。视图7701可描述表示将要在系统上保存的文件的预览表示7703,即重影(ghost),其中重影向用户示出如果执行了保存操作则新文件将会在GUI中出现,且标识其中新文件如果被保存则应可找到的位置或视图。在图77的示例中,文件还未被给予名称,因此它具有标签"Untitled(未命名)"。重影7703可具有有区别的外观以指示它表示在技术上还不是系统上已存储文件的文件。外观上的区别可以是透明度或不透明度设定、颜色、字体、加亮或其它不同外观的任何其它方式。为了帮助确保当用户导航通过不同视图(例如,选择存储文件的一不同文件夹)时用户不会跟丢重影7703,重影7703可被配置成总是出现在视图中的预定位置中。例如,如图77中所示,重影7703可被配置成显现为示出的第一标记。外观上的不同可对应于当文件被选中时发生的改变。例如,重影7703可被默认选中,且其标记可具有在系统中用于表示选中对象的任何外观(例如,可以是上述的相同区别)。重影7703可作为视图7701中的任何其它标记来对待。用户可如对任何其它标记一般对重影7703进行选择、加亮、修改、拖放等。图78描绘图77的视图7701的示例,其中表示系统上现有文件的标记7801已经被用户选中。即,标记7801也可被给予有区别的外观,且可被给予不同于重影773的外观。然而,重影可包括不与已经存在的文件的标记7801相关联的其它功能。例如,重影7703可与可应用于不是已经保存的文件的功能和选项的唯一上下文菜单相关联。重影不限于其中使用大标记的GUI和视图。相反,它们也可出现在其它类型的视图中,诸如如图79中所示的清单。在图79中,重影7901向用户给出将要被保存的文件的预览表示(在该示例中,该文件被命名为"Accountsreceivable(可接收的帐目)")。重影可被结合在系统文件面板或常见文件对话框的GUI内,诸如图80中所示的的SaveFile(保存文件)对话框8001,它可由系统上的多个应用程序共享。在对话框/面板8001中,重影8002可显现为提供关于一旦新文件被保存它将如何显现的预览表示。在该示例中,示出了三个视图8003、8004、8005,其中一个视图8003包含MICROSOFTEXCEL工作表文件的标记,一个视图8004包含MICROSOFTPOWERPOINT演示文件的标记,而一个视图8005包含MICROSOFTWORD⑧文档的标记。重影8002出现在第一视图8003中,因为该文件目前被设置成被保存为MICROSOFTEXCEL⑧工作表。该设定在显示的元数据部分8006中示出,这显示将要保存的文件的一组元数据(例如,作者、文件类型等)。用户可与重影8002交互以改变将要保存的文件的元数据。用户可将重影8002拖放到不同的视图上来改变新文件的属性以匹配重影8002被拖放至的新视图中的那些属性。例如,如果文件类型将被改变,则通过点击并将重影8002从工作表视图8003拖至演示视图8004,系统可自动更新元数据8006来反映新文件将属于类型"演示"而不是类型"工作表"。类似地,对元数据的其它改变可通过移动标记来进行。例如,如果一个视图对应于具有第一优先级的项目,而第二视图对应于具有第二优先级的项目,则将标记从第一视图移动到第二视图可改变文档的优先级级别来匹配第二视图。对元数据进行的改变也可在重影8002中被自动反映。例如,如果用户在元数据8006中输入不同的文件名或类型,则重影8002可自动改变和/或重新配置自身来反映新的元数据,将标题改为新的名称,并基于新文件类型将自身重新定位到正确的视图中(例如,如果用户将类型改成演示,则重新定位到视图8004中)。作为另一示例,如果视图示出第一优先级,而该优先级在元数据中被改变,则标记可被移动至示出文档具有该新优先级的一不同视图。在某些情况中,如果重影8002被重新定位到当前未显示在屏幕上的视图或位置,则这可导致重影从用户当前的屏幕中完全消失。SaveFile对话框也可包括用于执行或中止保存过程的Save按钮8007和cancel(取消)按钮8008。图81A和81B描绘当将要在计算系统上创建文件时可能发生的示例过程。在步骤8101中,接收发起保存新文件的请求,并且可如上所述地创建重影预览以反映如果文件使用当前的元数据保存则当前保存的文件将如何显现。新文件可由请求保存的应用程序用元数据自动填充。显示也可包括对可编辑元数据的显示,且还可包括文件的预览縮略像。在步骤8102中,系统可检查来确定用户是否改变了当前视图以使新文件符合新视图的属性。改变视图可仅指导航通过显示空间或改变给定显示的准则,且可通过输入不同的准则(例如,请求查看类型气wav的文件)和域GUI导航(例如,将重影拖放到新视图内、或仅在文件夹标记上点击以进入该文件夹)来进行。例如,如果用户请求查看不同的文件视图,诸如如上所述不同类型、不同位置、不同工程等的文件,则该过程可前进至步骤8103以确定新视图是否表示该文件的有效保存位置(物理位置或逻辑位置)。例如,用户可能不具有用于将文件保存到某些位置或某些视图的特权,或者要保存的文件与新视图中的其它文件不兼容(例如,用户已经将视图改变成电子表视图,而新文件是不兼容的图像文件)。作为另一示例,来自常见文件对话框的重影可被禁止移至对话框外的位置。改变视图不一定总是导致对新文件属性的改变。在某些示例中,用户可仅改变视图来查看不同的文件,而不期望更新新文件的属性来匹配所改变视图的属性。例如,用户可能仅想要查看对特定优先级存在哪些其它文档,而不一定要改变正被保存的文件的优先级。如果当视图被改变时不期望对属性的这一改变,则该过程可从步骤8102移至步骤8106。如果新位置无效,则系统可移至步骤8104,并采取步骤来向用户警告无效位置己被选择。例如,预览重影可简单地从视图中消失。而且,可向用户提供消息。如果发生这一情况,则系统可简单地保持处于该状态,直到用户选择表示文件的有效位置的不同视图。或者,用户可通过例如按下Cancel按钮8008来中止该过程。如果新视图是有效位置,则系统可移至步骤8105,并完成改变。这可涉及重新定位预览重影使得它出现在新视图中的步骤。文件的元数据也可被自动更新来反映新选中视图所需(如果有)的元数据。例如,如果用户选择给定工程中的所有文件的新视图,则"Project(工程)"元数据属性可被修改以反映该新工程。在步骤8016中,系统可检査来确定用户是否请求新文件代替现有文件。这可通过例如将重影预览标记拖放至现有文件的标记上来完成。如果发生这一情况,则在步骤8107中,将采取措施以保留该组原始的元数据属性,例如通过将它们保存到存储器。所显示的元数据属性可由要被替换的文件属性来替换,以反映新文件将假定与其正替换的文件相同的属性的这一事实。如果用户改变他/她关于替换的想法,则保存原始属性可能是有帮助的。当然,不总是需要拖放至现有文件上,且在其中不期望这样的功能的情况中,可跳过步骤8106。在步骤8108中,系统可等待来查看用户是否执行保存过程(例如,通过按下Save按钮8007)。如果用户执行保存过程,则在步骤8109中新文件替换旧文件。步骤8107中保留的之前的属性可被丢弃。如果用户决定不执行替换过程,诸如通过再次选中重影,则该过程可转到步骤8110,在那里重影可按其之前状态显示。步骤8107中所保存的原始元数据属性可用于重新填充重影预览的元数据字段。或者,新文件可保留之前要被重写的文件的属性。这种替代方式可使用户易于在不必单独输入每一元数据属性的情况下复制整个一组元数据属性。例如,曾(且不再)要被替换的项目的属性可被保留为可在将来应用于新保存文件的"戳记"或新的一组默认属性。在步骤8111中,可进行检査来确定用户是否已使用例如元数据显示区8006编辑了元数据属性值。如果用户己经编辑了元数据,则在步骤8112中系统可自动将重影预览移至与新属性相当的新位置,且如果必要,则更新重影预览的外观以反映该新元数据属性(例如,如果文件类型被改变则选择不同的标记,或在该标记下修改文件名)。在步骤8113中,系统可检査来确定用户是否已诸如通过按下Save按钮8007来请求执行保存。如果用户已经请求了保存操作,则在步骤8114中,新文件被保存,且重影预览被解散(新文件现在显现为正常标记)。如果用户还未完成保存,则可在步骤8115中进行检查以确定用户是否通过例如按下Cancel按钮8008来中止保存操作。如果用户已经取消了保存操作,则可在步骤8H6中移除重影。重影的属性数据也可从系统中删除。**资源管理器视图的专门化根据本发明的一方面,资源管理器(外壳浏览器)窗口(如以上参考图51-57描述的)可基于使用上下文或正被导航的数据/文件来专门化,从而提供当浏览系统上的文件时改进的用户体验。图82显示了示出诸如资源管理器窗口中的显示区等不同面板如何可在概念上相关的关系图。在某些情况下,可以有开始面板8201,它可用作被提供给用户以开始浏览系统中可用的文件的初始显示区。开始面板8201可提供查看用于浏览文件的不同面板的能力,诸如音乐浏览器8202、文档浏览器8203、图片浏览器8024、计算机浏览器8205、或系统和/或用户所需的任何其它浏览器8206。这些浏览器中的每一个可以是用于浏览满足特定准则的文件的顶层面板。例如,音乐浏览器8202可显示系统上满足诸如音频音乐文件类型等某一音乐准则的文件的清单。浏览器也可提供使用不同准则创建的子浏览器,诸如显示满足一个或多个流派准则的文件的流派8202a浏览器面板;或显示与一个或多个歌曲播放列表有关的文件的播放列表8202b浏览器面板。这些面板又可允许显示满足进一步准则的文件。例如,流派8202a面板可显示作为具有流派信息的歌曲的音乐文件的子集,且可提供显示具有摇滚流派的音乐文件的进一步的子集的摇滚子面板。可创建任何数量的面板以适应任何期望的关系或显示文件数据的方法。文档浏览器8203可提供用于某些类型的文档(例如,电子表格)或属于给定工程(例如,XYZ工程)的文档的单独的浏览器。每一可用浏览器可由存储在计算机系统的存储器中的模板定义。模板可仅仅是标识视图内容、组织、要显示的特征等的文件。模板也可指定要在浏览器视图中显示的实际文件。图83描绘了浏览器显示8301的一个示例。显示8301可包括向用户提供的一个或多个命令8302。命令可以是任何形式的命令条目,诸如菜单、链接、按钮、图标、或其它标记,且可以是基于建立浏览器视图的模板而自定义选择的。例如,如果浏览器8301是音乐文件的显示,则命令8302可包括对音乐文件有意义的特定命令,诸如"CopytoCD(复制到CD)"、"Play(播放)"和/或"ShopforMusicOnline(线上购买音乐)"。当然,命令8302也可包括与各种浏览器相关联或由其共享的命令,诸如用于文件操纵(例如,保存和打开文件)的"File(文件)"命令以及用于编辑当前面板(例如创建副本面板、或排序多个现有面板)的命令,且可包括命令菜单。除命令的存在/不存在以外,命令显示8302也可自定义显示的外观,诸如其颜色、用户界面元素细节(颜色、大小、定位等)、可选元素的排序等。显示8301可包括示出可用浏览器面板的列表面板8303。该列表可包括系统上所有可用视图的清单,它可按照嵌套菜单/子菜单的格式呈现以节省显示面积。这种视图范围可被称为页面空间。列表8303可替换地列出与当前面板相关联的浏览器面板的子集,从而得到较小的页面空间。例如,如果当前显示8301是音乐面板,则列表8303可显示播放列表和流派视图选项,或者具有其自己的面板的特定播放列表和/或流派。显示8301可包括文件面板8304,后者可包含满足为当前浏览器面板建立的准则的文件的清单。文件面板8304可包括表示数据文件的标记(诸如图标和/或文本)、以及文件的一个或多个属性(例如,其名称、作者、文件大小、文件类型、工程联营、创建/修改日期等)。属性可被排列,诸如成列,且可取决于在给定用于所选显示8301的准则时所适当的来重新排列和/或修改。例如,音乐浏览器可选择列出"SongTitle(歌曲标题)"作为第一属性,其次是"Artist(艺术家)"和"Album(专辑)",而工程XYZ的浏览器可首先列出"EditDate(编辑日期)",随后是"FileSize(文件大小)"和"FileType(文件类型)"。某些浏览器类型可能希望略去不期望的属性(例如,"Album"属性对电子表格文档可能不是很有用)。每一浏览器显示8301可具有文件及相关联属性的自定义排列。列宽、行大小、标记外观(例如,大小、颜色等)、分组、堆栈以及任何其它显示属性可被包括在该自定义中。例如,某些浏览器可将其文件显示为縮略图(例如,图片浏览器可这样做),而其它浏览器可仅在文件及其属性的文本清单中显示文件。显示8301还可包括提供从文件面板8304中选出的一个或多个文件的内容的预览的预览面板8305。还可以有显示从列表视图数据8304中选出的一个或多个文件的属性的属性面板8306。属性面板8306可提供比列表视图8304中所示更多的细节和/或数量的属性。显示8301还可包括其它类型的显示以及用户界面元素,诸如导航命令、面板调整大小命令等。显示8301的各部分中的每一个可被实现为不同的软件模块。例如,可以有负责定义将进入Commands(命令)显示8302的用户界面元素的Commands模块、用于处理文件面板8304中的显示元素的ListView(列表视图)模块、用于生成预览面板8305的内容的Preview(预览)模块等。这些模块可展示应用程序编程接口(API)元素以促进与其它应用程序的互操作性,且各种模块可配备诸如用于给定视图的准则、其位置、其大小等的参数。具有不同模块可简化定义具有不同布局和排列的新面板的过程。每一浏览器显示8301还可具有除上述在显示区中具有不同内容以外的区别。例如,每一浏览器可具有其自己的自定义显示区排列,使得某些区域可基于特定浏览器的准则和/或内容来调整大小/添加/移除。例如,音乐浏览器可能希望除去预览面板8305,并在命令区8302中提供音乐命令(例如,播放、暂停、提示、添加到播放列表、刻录到CD等)。其它显示区可被重新排列和/或调整大小以利用由预览面板之前占用的空间。浏览器的具体布局可在例如定义浏览器视图的模板中设置。例如,图84描绘了使各元素以不同方式排列的不同的浏览器8401的示例。在该示例中,可用浏览器视图的列表8402被放大以占据由预览面板放弃的空间。作为另一区别,每一浏览器视图可具有其自己唯一的显示主题,诸如水印图案、颜色主题、字体等,以有助于进一步将该视图与系统上的其它视图区分开。对每一浏览器,上下文菜单(例如,可用命令、文本等)、用户界面行为、鼠标左键/右键点击上的默认命令、以及其它显示/交互特性也可不同。图85描绘了可显示各种浏览器的示例过程。在步骤8501中,系统可接收定义要显示的视图的一个或多个准则。这些准则可来自各个来源。例如,用户可能已经选择了用于显示的预定义模板,且系统可仅接收该选择(或与该模板相关联的准则)。或者,系统可接收用于新视图的准则,诸如基于使用由用户提供的关键字的关键字搜索的新视图。在步骤8502中,可使用该准则来标识系统上满足或符合该准则且要被包括在浏览器显示中的各个文件。这些文件可经由对系统存储器的搜索来标识,或者如果模板已经标识了要列出的文件,则这些文件可只需从模板信息中标识。当文件被标识时,在步骤8503中,系统可组装特定浏览器视图或面板。组装面板可包括参考预定义模板来确定面板中需要的各个元素/模块。在某些情况中,当被标识为用于显示的文件满足来自为该模板所建立的多个准则中的一组不同的准则时,或者如果所标识的文件适于在具有较窄准则的不同模板中显示时,面板还可被自定义和/或修改。例如,如果用户请求用于与诸如XYZ工程等给定过程相关联的所有文件的浏览器时,可期望系统提供工程浏览器面板。这一面板可使用工程可包括多个类型的文件且可具有分开的显示区以便基于文件类型分离文件的可能性来定义。然而,如果特定工程碰巧仅具有一个类型的文件,则系统可动态地为当前显示自定义浏览器面板。进一步自定义的面板可提供适用于该文件类型的扩展的命令选项,或移除正常将用于显示其它类型的文件的显示区和/或元素。浏览器视图可基于满足用于建立面板的准则的文件的身份来动态地修改。可执行其它类型的自定义组装。浏览器可根据要被显示的文件的数目来调整面板,使得第一显示区的屏幕空间的一部分可被转换成一不同的显示区(例如,示出较小的列表视图,但示出较大的属性区)。浏览器可基于用于标识用于显示的文件的搜索准则来调整面板(例如,准则可被结合在显示的预定部分内,或结果可基于准则以及文件有多匹配它们来排列)。在步骤8504中,浏览器视图可在与计算机系统相关联的显示设备上生成。然后,在步骤8505中,系统可检查来确定用户是否执行了与浏览器视图的交互或向其提供了输入。用户交互可包括编辑文本、通过选中不同的视图来导航通过页面空间、和/或与浏览器上任何所显示元素交互。如果用户已给出了输入,则在步骤8506中,系统可作为响应修改浏览器。对浏览器的修改可包括移除、添加或修改浏览器视图中所显示元素中的一个或多个,且可导致显著不同的显示。例如,查看Music浏览器视图的用户可选择音乐文件之一并请求査看用于与选中音乐文件相关联的工程的Project浏览器,该Project浏览器可具有完全不同的显示格式。浏览器显示可被动态修改来添加和/或移除任一上述特征,这将产生连续向用户提供高级上下文适当的信息的浏览器界面。当改变或修改特定浏览器时,系统可提供视觉效果来平滑转换。例如,可使用动画来示出所显示元素的重新定位,可使用渐隐来示出元素的添加/删除,以及可使用变形效果来示出一个元素改变成另一个。尽管不同的视图是可能的,但用户(或系统或其应用程序)也可指定某些特征(例如,显示元素、可用命令、菜单等)或格式将在多个浏览器视图中保持不变以有助于最小化用户混淆。在步骤8506之后进行的或如果在步骤8505中未接收到任何用户输入之后的步骤8507中,系统可检査来确定浏览器是否要被关闭,即离开,且如果是,则该浏览器的浏览器过程可结束。如果否,则过程可返回至步骤8505以等待其它用户输入。图86示出可能存在于系统中以生成上述各个浏览器视图的逻辑关系的示例示意图。浏览器视图一般可由底层操作系统管理(例如,图86左侧的受管8601组),或者它们可不被操作系统管理,使得单个的后安装应用程序可控视图(例如,图86右侧上的不受管8602组)。系统可定义基本的总体视图框架8603,后者可定义对多个视图共用的各方面。例如,系统的基本视图框架8603可包括预览窗格、左窗格和任务窗格。基本配置可被传递(例如,作为数据结构)给不受管浏览器应用程序(Browser)8604,后者又调用默认视图例程(DefView)8605来生成用于浏览器应用程序8604的期望的默认浏览器视图。应用程序可包括用于启动浏览器视图的子例程8606,且该例程8606可访问包含定义要为特定浏览器应用程序8604生成的视图的页面描述8607的受管数据结构。页面描述8607可包括对浏览器页面结构8608的引用。浏览器页面8608结构可包括最终定义视图的各个属性。例如,可能存在定义要被包含在该视图中的基本特性的视图属性8609(这些特性可以是基本视图框架8603中的同一预览窗格、左窗格和任务窗格)。页面8608还可具有数据源属性8610,后者可标识可从中获取填充特定视图的数据的位置。源8610例如可包括静态数据列表。页面8608还可包括命令属性8611,后者可标识将由视图支持的各条命令。每一命令可由单独的应用程序和/或例程实现,且可包括用于处理预览窗格任务、上下文菜单选项等的命令。当然,以上仅是可如何管理和实现各个浏览器视图的一个示例。以上讨论涉及"浏览器",但是此处所述的特征不必限于系统外壳浏览器。希望提供数据文件的自定义视图的任何应用程序可利用此处所述的特征。本发明所属领域的技术人员在仔细阅读包括附图的说明书之后,可以清楚本发明的替换实施例和实现。例如,所述过程中的各个步骤可按需被重新排列、修改和/或删除以实现此处所述特征的所选子集。此外,在上文中,对"本发明"的一个或多个"方面"或"实施例"中可找到的某些特征的引用仅用于示出可被有利地单独使用或结合其它概念的各个概念,且不应理解成暗示仅存在一个此处所公开的发明性概念,或者所附权利要求书中的任一项中均需要所有所述特征。相反,所附权利要求书中的每一项作为其自己独立发明成立,且不应被理解成具有超出所述的以外的任何限制。**页面空间控件大量信息被存储在计算机系统和网络上和/或可通过计算机系统和网络使用,且这些信息可供计算机用户为各种不同目的使用。尽管计算机可向用户提供大量信息,但信息仅当用户可以可靠地从系统或网络定位和检索所需信息时才有价值且对用户有用。如果它不能在无需相当的搜索时间、劳动和/或挫折的情况下被容易地定位和/或检索,则所存储的信息对用户而言价值很小或者没有价值。因此,本发明的各方面涉及用于存储、搜索、导航和/或检索计算系统和/或网络中或经其可使用的电子信息的系统、方法以及计算机可读介质。本节被划分成小节以协助读者。小节包括术语;本发明的各个方面的概括描述;根据本发明的示例系统、方法和计算机可读介质;以及结论。页面空间控件术语以下术语可在本节以及本说明书全文中使用,且除非以其它方式指定或可从上下文中明确,否则这些术语具有以下提供的含义"分层属性"-其值可包括分类唯一串的有序集合的一类属性。可例如按照经其指定串的路径而使每一串唯一,且该路径也可用于定义每一属性值所属的类别。"父属性值"-具有一个或多个可能的子属性值的属性值。"子属性值"-作为另一属性值的孩子的属性值。"自动列表"-从在固定范围上查询匹配一组预先选择的过滤条件的信息得到的文件或其它数据的列表。"自动列表"的示例包括但不限于文件创建日期、文件创建时间、最后编辑日期、最后编辑时间、文件分级日期、文件作者列表、最后使用=昨天、最后使用=上一周等。如下所述的"导航面板"可包括一个或多个"自动列表"。"列表"-到自动列表、文件、文件集合、文件夹等的快捷方式或"链接"。如下所述的"导航面板"可包括一个或多个"列表"。"页面"-特定文件夹、虚拟文件夹、列表、自动列表等。"页面"可构成用户可例如通过从菜单、从根据本发明的各方面的导航工具中选择项目来导航到的分层表中的节点。存储系统中和/或经由计算机系统或网络可用的各层上的单独的"页面"或"页面"的清单可出现在导航面板和/或显示面板中,如将在以下更详细描述的。"计算机可读介质"-可由计算机系统上的用户访问的任何可用介质。作为示例而非限制,"计算机可读介质"可包括计算机存储介质和通信介质。"计算机存储介质"包括以任何方法或术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。"计算机存储介质"包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术;CD-ROM、数字多功能盘(DVD)或其它光学存储设备;磁带盒、磁带、磁盘存储或其它磁性存储设备;或能用于存储所需信息且可以由计算机访问的任何其它介质。"通信介质"通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语"已调制数据信号"指的是这样一种信号,其一个或多个特征以在信号中编码信息的方式被设定或更改。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述中任一个的组合也应包括在"计算机可读介质"的范围之内。页面空间控件本发明的各方面的概括描述页面空间控件本发明的各方面的概括描述分层关系中的存储属性本发明的各方面涉及其上存储数据结构的计算机可读介质。根据本发明的至少某些示例的数据结构可包括(a)包含电子文件的至少某些内容的第一数据集;以及(b)包含与电子文件相关联的属性数据的第二数据集。该第二数据集可包括指示与电子文件相关联的第一属性的第一平面路径串,其中第一平面路径串指示属性数据的分层结构。可任选地,如有需要,第二数据集可包括指示例如在分层结构中与电子文件相关联的多个属性的多个数据平面路径串。第二数据集可按照任何期望的方式提供,例如作为被包括在第一数据集中和/或与之相关联的元数据。当然,如有需要,包含附加属性数据的第三数据集(甚至更多的数据集)可被包括在电子文件中和/或与之相关联,其中第三数据集(或其它数据集)包括指示与电子文件相关联的另一属性的另一平面路径串,且其中该另一平面路径串指示第三(或其它)数据集中属性数据的分层结构。本发明的其它示例方面涉及用于存储包括分层属性信息的电子数据的系统和方法。这样的系统和方法可包括(a)创建包括用于存储在计算机可读介质上的电子数据的电子文件(例如,使用一个或多个计算机处理系统);(b)接收指示第一属性值将作为电子文件的一部分被包括或与电子文件相关联的输入数据(例如,经由鼠标、笔、数字化仪、键盘、网络连接、磁盘驱动器等),其中第一属性值包括第一数据集,第一数据集包括指示第一属性值的第一平面路径串,且其中第一平面路径串指示第一属性值的分层结构;以及(c)存储其中包括第一平面路径串或与之相关联的电子文件(例如,在电子存储器设备中),其中第一平面路径串以任何期望的方式被存储或与电子文件相关联,例如通过链接信息、作为文件的一部分、作为元数据等。可任选地,根据本发明的至少某些示例的系统和方法还可接收指示第一属性值将作为电子文件的一部分被包括或与电子文件相关联的输入数据,其中第二属性值包括第二数据集,第二数据集包括指示第二属性值的第二平面路径串,其中第二平面路径串指示第二属性值的分层结构,且其中对电子文件的存储包括存储其中包括第二平面路径串或与之相关联的电子文件。任何数量的属性值可按照根据本发明的这种方式被存储在电子文件中和/或与之相关联。本发明另外一些示例方面涉及用于处理包括与之相关联的分层属性信息的电子数据的系统和方法。根据本发明的至少某些示例的系统和方法可包括(a)在计算机系统或网络上接收指示多个所定义的属性值的分层结构的数据(例如,接收到计算机系统或网络的存储器中),其中相比分层结构中的所有其它定义的属性值,这些定义的属性值中的每一个具有与之相关联的唯一的平面路径串;(b)接收指示新的属性值要被包括在分层结构中用户期望位置处的用户输入(例如,经由鼠标、笔、数字化仪、键盘、网络连接、磁盘驱动器等);以及(C)基于分层结构中的用户所期望的位置,确定新的属性值是否会具有不同于分层结构中现有的所有其它平面路径数据串的一平面路径数据串。新属性值的平面路径数据串可包括,例如至少第一父属性部分和第一子属性部分(可任选地,第一父属性部分或第一子属性部分的至少其中之一可与分层结构中至少一个其它的定义的属性值的一部分完全相同)。该方法还包括,当新属性值的平面路径数据串被确定为不同于分层结构中现有属性的所有其它平面路径数据串时,在用户期望的位置处将新属性值添加到分层结构。当使用根据本发明的示例的各种系统和方法时,用户可将指示搜索査询的输入输入到系统内,其中搜索查询包括对搜索属性的选择,搜索属性包括分层属性结构中的属性值。一旦输入了搜索査询之后,根据本发明的至少某些示例的系统和方法可确定存储在计算机系统或网络上或经其可用(可任选地带有限制要被搜索的文件的范围的搜索范围)的哪些电子文件满足搜索查询,其中被确定为满足搜索查询的电子文件包括其中存储或与之相关联的第一搜索属性。作为另一示例,搜索査询可包括用户对分层结构中的多个属性的选择,且对存储在计算机系统或网络上或经其可用(可任选地位于受限搜索范围内)的哪些文件满足搜索查询的确定可包括对包括所选属性的至少其中之一的电子文件的标识。根据本发明的示例的计算机可读介质、系统和方法中所包括的属性数据可按照任何合适或期望的方式被存储,而不背离本发明,例如以指示属性数据集中属性数据的分层结构的这样一种方式。作为示例,属性数据结构可采取以下格式之一父属性值-定界符-子属性值;父属性值-定界符-子属性值-定界符-孙子属性值;子属性值-定界符-父亲属性值;和/或子属性值-定界符-父属性值-定界符-祖父属性值。当然,可提供平面路径数据串中属性分层结构和数据结构中的任何数量的层次,而不背离本发明。本发明的其它方面涉及包括其上存储用于提供分层属性数据和/或使用分层属性数据,例如用于存储、搜索、导航和/或检索电子文件及相关信息的计算机可执行指令的计算机可读介质,包括用于执行上述各种方法和/或操作上述各种系统的计算机可读介质。页面空间控件本发明的各方面的概括描述多重属性选择本发明的其它方面涉及用于处理包括多个用户选择,包括对电子文件属性数据的多重选择的输入数据的方法和系统。这样的系统和方法可包括例如(a)从包括多个搜索元素的分层结构中选择第一搜索参数(例如,经由诸如鼠标、笔、数字化仪、键盘、网络连接、磁盘驱动器等用户输入设备);(b)从该分层结构中选择第二搜索参数(例如,经由诸如鼠标、笔、数字化仪、键盘、网络连接、磁盘驱动器等用户输入设备);以及(C)确定第一搜索参数是否位于与第二搜索参数相同的分层结构中的元素集内(例如,使用计算机处理系统)。可由计算机处理系统根据第一搜索参数是否被确定为位于与第二搜索参数相同的元素集内来生成各种显示(例如,在计算机显示设备上)。根据本发明的至少某些示例,当第一搜索参数被确定为位于与第二搜索参数相同的分层结构中的元素集内时,可显示指示满足第一搜索参数或第二搜索参数的电子文件的并集的搜索结果。除此之外或作为替代,当第一搜索参数被确定为位于第二搜索参数的分层结构中的元素集之外时,可显示指示满足第一搜索参数和第二搜索参数两者的电子文件的交集的搜索结果。根据本发明的至少某些示例,各个搜索元素的分层结构可包括以分层方式排列的多个属性。搜索参数的至少其中之一可包括这些定义的属性值之一。可任选地,在至少某些示例中,搜索元素的至少其中之一将构成文件夹元素、列表元素、自动列表元素或分层结构中任何其它期望的元素。本发明的至少某些示例的另外一些特征可包括可任选地至少部分地基于搜索元素的分层结构和/或为搜索范围选择分层结构的各部分的用户输入为搜索活动确定或定义范围。本发明的其它方面涉及包括其上存储的计算机可执行指令的计算机可读介质,这些指令用于执行各种搜索方法和/或操作各种搜索系统,包括如上述的那些系统和方法。页面空间控件本发明的各方面的概括描述显示面板的分组和堆栈本发明的另外一些示例方面涉及提供用于信息存储在计算机系统或网络上或经其可用的电子文件的用户界面的计算机显示。根据本发明的至少某些示例的用户界面可包括(a)显示搜索元素(页面空间)的分层结构的导航面板(也被称为页面空间控件),其中分层结构中的至少某些个别的搜索元素可任选地响应于用户输入被展开,以显示分层结构中的一个或多个子搜索元素,且其中导航面板接收针对一个或多个搜索元素的用户输入;以及(b)显示至少部分涉及通过搜索电子文件获取的搜索结果的信息的显示面板,其中搜索结果至少部分基于经由导航面板接收的用户输入来确定。导航面板的分层结构中的个别搜索元素一旦被展开之后,可保持展开以显示分层结构中的子元素,而不考虑搜索结果在显示面板中显示的方式(例如,以堆栈方式、以分组方式、以组合的分组和堆栈方式等)。分层结构中的各个搜索元素可包括例如属性值、列表元素、自动列表元素、文件夹元素等,且分层结构可至少部分由单独的用户输入定义。根据按照本发明的用户界面的至少某些示例,选择子搜索元素或改变导航面板的分层结构中的搜索元素的用户输入将产生和/或驱动用户界面的显示面板中所显示的搜索结果中的相应改变。本发明的其它示例方面涉及用于导航存储在计算机系统或网络上或经其可用的电子数据的系统和方法。这样的系统和方法可包括(a)提供显示导航元素的分层结构的导航面板(例如使用计算机处理系统),其中分层结构中的至少某些个别导航元素可任选地响应于用户输入被展开以显示分层结构中的子导航元素;(b)经由导航面板接收选择导航元素中的一个或多个的用户输入(例如,经由用户输入设备,诸如鼠标、笔、数字化仪、键盘、网络连接、磁盘驱动器等);以及(C)例如在显示设备上显示至少部分涉及通过搜索电子文件获取的搜索结果的信息,其中搜索结果至少部分基于经由导航面板接收的用户输入被确定(例如,使用计算机处理系统),且其中信息与导航面板的显示同时被显示在显示设备上。此外,根据本发明的至少某些示例的系统和方法还可包括:经由导航面板接收从分层结构选择一个或多个新导航元素的新用户输入(例如,经由上述输入系统);以及至少部分基于所选的一个或多个新导航元素来改变所显示的信息(例如,使用计算机处理系统),其中所改变的信息与导航面板同时显示在显示设备上。新用户输入在至少某些示例中可从最初被选中来过滤所显示的信息的导航元素构成分层结构中的子导航元素。再一次,分层结构中的各个搜索元素可包括例如,属性值、列表元素、自动列表元素、文件夹元素等,且分层结构可至少部分地由单独的用户输入来定义。根据本发明的至少某些示例的另外一些系统和方法可包括用于显示关于存储在计算机系统或网络或经其可用的电子数据的信息的系统和方法。这样的系统和方法可包括例如(a)例如在显示设备上提供显示导航元素的分层结构的导航面板(使用计算机处理系统生成),其中分层结构中的至少某些个别导航元素包括文件夹元素;(b)经由导航面板接收选择至少一个文件夹元素的用户输入(例如,使用上述用户输入设备);以及(C)在显示设备上显示至少部分涉及通过搜索电子文件获取的搜索结果的信息,其中搜索结果至少部分基于经由导航面板接收的用户输入来确定(例如,使用计算机处理系统),其中信息与导航面板的显示同时被显示,且其中信息被显示,使得在选中文件夹元素之下提供的任何子文件夹被显示为栈。根据本发明的示例的至少某些系统和方法的附加特征可包括经由导航面板接收从分层结构选择一个或多个新导航元素的新用户输入(例如,经由用户输入设备);以及至少部分基于所选的一个或多个新导航元素来改变所显示的信息(使用计算机处理系统来生成显示)。新用户输入可用于选择分层结构中的属性值,且所显示的信息可至少部分地对应于具有与之相关联的所选属性值的电子数据。本发明的另外一些方面涉及包括其上存储的计算机可执行指令的计算机可读介质,这些指令提供用户界面、执行各种搜索和/或显示方法、和/或包括对分层搜索和导航元素的使用在内地操作各种搜索和/或显示系统,这种使用包括提供用户界面、执行各种方法和/或操作各种如上述的那些系统。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质在现代计算机操作系统和其上有用的应用程序中,众多文件导航、搜索、列出和/或检索操作经由査询操作进行,此时系统试图定位满足各个查询参数的项目(诸如所存储的电子文件或其它数据)。本发明的各方面提供至少在某些情况中也可用于项目放置和文件存储的导航工具,它们协助用户进行这些文件导航、搜索、列出和/或检索工作。根据本发明的示例方面,用户可使用根据本发明的导航工具例如导航至和/或定位与导航控制菜单中的任何页面有关的信息;将页面添加至导航控制菜单或清单;将项目添加至任何集合(诸如属性集、自动列表集、列表集、文件夹集等);査看现有和/或系统文件夹的内容(例如,"MyDocument(我的文档)"文件夹等);査看文件夹内展开的子文件夹;将属性或其它数据添加到文件或其它项目(例如,可任选地以分层的方式)甚至是存储在自动列表或系统生成的列表中的文件或项目;等等。此外,根据本发明的至少某些示例方面,用户和/或独立软件厂商将能够自定义系统导航工具以供不同应用程序中、不同视图中、不同操作模式等使用。如有需要,也可向用户给出各种工具以便将导航面板还原至之前的状态或其原始状态。作为更具体的示例,如有需要,根据本发明的示例的导航工具可按照允许用户迅速定位并査看与感兴趣的页面有关的信息的列表和/或自动列表来设计或定制。例如,如有需要,系统可将列表或自动列表命名为"DocumentsStackedbyAuthor(按作者堆栈的文档)"(等)以便允许用户迅速跳转至示出基于为各个文档命名的底层作者和/或基于当文件被创建、存储、编辑、下载、修改等时与之相关联的属性而被收集在一起的"栈"的视图(如有需要,用户还可深入至栈内,例如以便按特定作者定位特定文档)。其它可能的栈的分组或清单可包括诸如"重要文档"、"最近文档"、"好音乐"、"最近使用"、"最近获取"等清单。以下是本发明的各方面的更详细描述。本领域的技术人员可以理解,该描述仅包括本发明的各方面的示例,而不限制本发明。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质以分层关系存储属性如上所述,本发明的某些示例方面一般涉及用于结合存储在计算机系统或网络上和/或经其可用的文件和数据来存储和使用"属性"的系统和方法。一般而言,当将新文件保存到计算机系统或网络,诸如PC、PC网络、服务器等时,用户一般向文件分配"属性"。这样的"属性"的示例包括Comment(注释)、AuthorID(作者ID)、Keywords(关键字)等。尽管这种能力是有用的,且在某些情况中可能是足够的(例如,当仅涉及一小组属性时),这种常规上可用的"平面"属性结构随着时间的推移(例如,随着可用属性的总数增加)可能变得难以管理和/或使用。而且,使用这种平面属性数据结构,用户必须分开输入每一所需属性和/或将其与个别文件相关联。这可能是耗时的任务。此外,不能准确和/或完全地将属性与相应文件相关联可能会限制用户稍后搜索、定位和/或检索所需数据的能力。例如,随着不同的各个可用属性数目的增加,当用户必须在搜索查询中正确命名与文件相关联的各个属性中的一个或多个时,用户越发难以可靠地检索项目。根据本发明的至少某些示例方面向用户提供连同电子文件一起分配和存储至少某些文件"属性"数据,例如作为元数据的能力,其中所分配的属性数据是分层结构的一部分。当越来越多的属性可供用户使用(例如,经由用户对新属性的指定和/或定义)时,以提供根据本发明的示例的分层结构提供属性将允许用户经由简单的一个属性分配动作迅速向文件分配多个属性。根据本发明的示例的分层属性的可用性及对其的使用也可允许用户具有对排序其属性值的更多控制(例如,在分层显示中,以便在分层结构的高层中提供最常见或重要的元素等),且这也将允许用户表示属性的各个值之间的关系,且当检索项目或向项目分配值时使这些关系得以反映。根据本发明的示例的分层属性的可用性及对其的使用也将向用户给予组织属性中所生成的值以及使用该组织来浏览并检索其项目的强制方式。如将在以下更详细描述的对根据本发明的示例的分层属性的使用可允许用户更容易地导航通过跨不同属性的多个文件、定位所需文件和/或使用单个属性来检索文件(在至少某些情况中,甚至当所搜索的属性未由用户显式分配给文件而仅是由用户分配的属性的分层结构中的一部分时)。图87A示出了可与诸如数码照片、音乐、视频、电子文档等各种电子文件关联使用的"关键字"属性的示例属性分层结构200。在该示例中,用户定义了可在向文件分配属性时,例如在文件被首次存储、创建、下载、修改、编辑、移动时等使用的分层结构200。在该分层结构200中,"人"节点构成了分层结构200中的父层节点。如图所示,"人"节点包括三个直接子节点(即,"朋友"、"家人"和"同事"),且这三个子节点中的每一个包含进一步的单独的子节点。在使用时,向文件分配关键字(例如,包括与电子文件相关联的元数据中的关键字)不仅使该特定关键字与文件相关联,且使相关联的关键字在分层结构中的任何更高的父关键字与该文件相关联。作为基于图87A的更具体的示例,在该示例系统和方法中,向电子文件分配关键字"爸爸"也将自动使关键字"家人"和"人"与该文件相关联,因为这些关键字存在于与所分配的关键字"爸爸"相关联的分层路径中(即,该示例中所应用的总体分层关键字数据为爸爸〉家人〉人)。从而,包含"爸爸"、"家人"和/或"人"这三个项目中的任何一个的搜索查询将返回对该文件的命中。当没有根据本发明的该示例的分层时,如果用户想要将每一关键字与文件相关联和/或能够基于这些关键字中的任何一个来检索与文件有关的信息,则他/她将必须将所有这些关键字分开应用于文件(例如,"爸爸"、"家人"和"人"中的每一个)。本发明的其它方面涉及用于进入或捕捉可能存在于属性之间的分层结构(例如,用户定义的分层结构、自动生成的分层等)的系统和方法。如有需要,该分层属性信息可例如作为包含在电子文件本身中和/或与之相关联的元数据、平面路径来存储,这类似于分层文件夹被存储在各种市场上销售的系统和方法(诸如带有Microsoft公司所提供的各种操作系统和应用程序中可用的文件夹的系统和方法)中的方式。更具体地,根据本发明的至少某些示例的系统和方法将电子文件的一个或多个分层属性存储为平面路径串(类似于已知的平面文件夹路径串),这允许外壳操作系统以与当今文件夹分层结构可在利用文件夹结构的各种常规系统和方法中被导航和/或处理的相同或类似的方式使用分层属性来正确地堆栈、过滤、分组和/或导航或处理与所存储的文件相关的信息。类似地,提供属性的分层数据结构向用户给出以类似于用户可在己知和常规文件夹系统中深入子文件夹的类似方式深入子属性以到达分层结构中较低的子属性层的能力。在该数据结构中(例如,在数据集或字段中,诸如在与文件相关联的元数据中),各种属性值可由诸如上述平面路径串等路径区分。以此方式,单个值(例如,单个节点名)可在分层结构中出现多次,只要到完全相同的节点名或值的路径在该名称出现的每一位置是不同的。图87A示出了一示例。具体地,如图87A中所示,值"Jim"出现在"家人"节点和"同事"这两个节点的下方。因为到这两个"Jim"值的路径彼此不同(即,人〉家人〉Jim对比人〉同事〉Jim),因此包括同一最终名称的这两个值(可任选地,如图87A中所示处于同一分层层次上)可在分层中共同存在而不引起困难。特定的节点名或值可在分层结构中出现任意次数,只要到其的路径在每一实例中不同于到同一名称或值的所有其它路径。本发明的其它示例方面涉及消除分层结构的不同分支中利用同一名称或节点值的属性之间的歧义的过程。在以上结合图87A所示的示例中,名字"Jim"与家庭成员和同事两者相关联。为了在这两个情况之间区分,根据本发明的至少某些示例的系统和方法仅需比较所述两个情况的在分层结构的更高层中的值来确定所述值是否具有不同的父属性、节点或路径。使用以上示例,根据本发明的至少某些示例的系统和方法可通过査看每一"Jim"的父节点以便在分层结构中的两个共同节点名之间区分。这种调查示出一个"Jim"节点具有"家人"作为父节点,而另一"Jim"节点具有"同事"作为其父节点。因为它们的直接父节点是不同且可区分的,因此这两个"Jim"节点可在属性分层结构200中共同存在。当然,不同的父节点名不必位于所考虑的节点的直接父节点处(例如,不同命名的父节点可位于祖父节点层、甚至位于更高的节点层和/或位于分层结构中的不同节点层)。然而,图87B中示出的分层结构8750在根据本发明的至少某些示例系统和方法中一般不被允许。更具体地,如图所示,除了位于最低层的某些节点以外,图87B中的分层结构8750类似于图87A中的分层结构8700。在图87B中,"家人"节点包含位于同一分层层次上具有相同名称的两个子节点(g卩,两个"Jim"节点)。因为到这些"Jim"节点中的每一个的平面路径串相同(即,人〉家人〉Jim),因此操作系统和/或应用程序不可能将这些节点彼此区分,从而每次使用平面路径串"人〉家人〉Jim"时将存在歧义。如图87B的示例中所示,如果用户试图设置两个完全相同的属性路径,则根据本发明的至少某些示例的系统和方法将显示出错消息,呈现对话框,请求输入新名称和/或向用户指示该名称或值在分层结构中的这个位置处不被允许。属性值可按照任何方式和/或在任何期望的时候被分配给单独的文件和/或使之与单独的文件相关联,而不背离本发明。例如,可向用户给予当新文件被下载至和/或保存到用户的计算机系统或网络上时向文件分配属性值的机会。图88示出了示例用户界面8800,用户可经该用户界面将文件保存到他/她的计算机系统或网络,且如有需要,他/她可通过该用户界面向该文件分配一个或多个属性。如图所示,用户界面8800包括导航面板8802,它显示可与文件相关联和/或分配给文件的属性或其它信息中的至少某一些(例如,当与新文件相关的信息被输入到输入面板8804时,在"编辑配置文件"过程中,和/或在任何其它期望的时间)。值得注意的是,导航面板8802中的属性以分层方式排列。各个属性可按照任何期望的方式,例如通过在输入面板8804中的适当位置(例如,"Keyword(关键字)"输入框中)中键入或写入节点名、通过将属性名从导航面板8802"拖"并"放"至输入面板8804中的适当位置等,被分配给文件和/或使之与文件相关联。作为另一示例,如有需要,属性可通过将文件的图标或其它表示(例如,从文件列表)拖至导航面板8802中的期望值或节点名上并在该位置处放下该图标或其它表示来分配(如有需要,导航面板8802中的分层结构可展示"自动展开行为",其中将图标或其它文件表示拖至父属性值上并在该属性值上方保持(而不放下)将展开该父属性值(如果可能)至至少其分层的下一层(例如,以当今可用的系统和程序中某些文件夹会"自动"展开的相同方式))。除经由如图88中所示的导航面板8802向文件分配属性值以外,如将在以下更详细描述的,根据本发明的至少某些示例的分层属性系统的用户可导航或搜索其分层结构、管理和/或编辑其分层结构、和/或采取其它动作。根据本发明的至少某些示例,当文件或其它项目被分配了作为另一属性值的孩子的一属性值(例如,图88中的值"Playoffs(季后赛)")时,该文件或其它项目也自动继承与所分配的属性值相关联的任何和所有父属性值(例如该具体示例中的"SportPics(体育图片)>Basketball(篮球)")。而且,如有需要,即使父属性值在其下具有一个或多个子属性值,也可将该父属性值分配给文件或项目,(例如,可将"Basketball"属性分配给文件)。在这一情况下,在根据本发明的至少某些示例系统和方法中,尽管父属性将被分配给文件,但其子属性值(即,该示例中的"Practice(练习)"或"Playoffs")中任何一个均不会自动分配给该文件或项目(尽管其父属性被分配)。当然,如有需要,系统和方法也可被设置成在这种情况下自动将其子属性分配给文件或使之与文件相关联,而不背离本发明。如将在以下更详细描述的,根据本发明的至少某些示例,列表文件、搜索或包括父属性值作为搜索元素或参数的其它查询将返回以所指定的父属性值及其任何子属性值两者为标签的所有项目。以此方式,根据本发明的示例的存储系统和方法允许用户容易地以相对较少的高度专用的描述性属性对项目加标签(例如,在分层结构中的较低层次处),但通过在分层结构中在愈加宽广的父节点下安排属性,可使带有标签的项目即使在响应于相对较宽的搜索査询时也易于显现。如有需要,在根据本发明的至少某些示例中,当搜索结果、列表文件结果或文件预览结果响应于搜索査询而被显示时,与该文件相关联的主值(例如,由用户分配的实际值)将被加亮和/或使之以某种方式为用户所知或可供用户使用。可用(例如,之前由用户、系统或他人定义的)和/或所存储的分层属性可由根据本发明的示例的系统和方法在任何期望的时间和/或在任何期望的位置显示,而不背离本发明。例如,如图88中所示,属性可在"Save(保存)"或"SaveAs(保存为)"操作期间显示(例如,在导航面板8802中)。它们也可在文件"搜索"、"列出"或"査看"操作期间例如在图88的导航面板8802中所示出的同一分层树布局中显示。而且,如有需要,根据本发明的示例的分层属性可显示在其中由当今的应用程序和/或操作系统示出常规属性的任何和/或所有位置中(例如,如"列表视图"显示中所示的属性,如"项目详细信息"显示中所示的属性、如文件"预览"显示中所示的属性等)。而且,如有需要,根据本发明的示例的分层属性可被显示在用于导航属性的任何控件中,诸如在支持属性的树控件中。图88示出了在树控件屏幕(例如,在导航面板8802中)显示分层属性的示例。另一方面,图89示出了在项目或文件"预览"屏幕8900中显示属性信息的示例。如图89中所示,该示例项目或文件"预览"屏幕8900包括项目的縮略图或图标显示8902(例如,在该示例中,文件中所包括的图片的小型形式),以及与文件有关的某些系统和/或其它实际信息,诸如文件名(file—name)、其保存的时间/日期(Time/Date)、文件大小(filesize)和用户输入"caption(标题)"信息。此外,项目或文件"预览"屏幕8900显示用户输入的某些"属性"信息,包括所分配的关键字(keywords)(以平面路径串格式显示)、图片主题ID、用户输入分级信息等。当然,可在这样的屏幕中列出任何数量的属性,而不背离本发明(可任选地,使用显示与任何未显示属性有关的信息的能力)。属性信息可在任何期望的时间并以任何期望的方式输入和/或与单独的文件相关联,而不背离本发明。除在文件最初被保存到计算机系统或网络上时将的属性信息与文件一起包括以外,与单独的文件相关联的属性也可在其它所需时间被添加、删除和/或修改,诸如当文件被打开、编辑、或使用、响应于"编辑配置文件"或"编辑属性"命令等时。属性可经由键入(可任选地使用匹配串的"自动完成",可任选地从分层结构中的任何层次)、通过拖放操作、通过"右键点击"操作、通过笔"按下并保持"操作等来输入。有助于设置、编辑和/或删除与特定文件相关联的属性的任何工具也可在预览屏幕8900中访问和使用,而不背离本发明。此外,分层排列中属性的实际内容可由用户在任何期望的时间和/或以任何期望的方式改变,而不背离本发明,包括例如以常规"文件夹"结构在常规应用程序和操作系统中添加、删除和/或编辑的方式。作为示例,可经由"右键点击"鼠标按键动作(这可显示适当的用户界面,例如包括"插入新属性"、"删除现有属性"、"改变节点层次或位置"、剪切、复制、粘贴或其它适当动作的菜单)或以任何其它期望的方式将新属性添加到现有属性下和/或删除现有属性。作为另一示例,如图90中所示,如有需要,现有属性在分层结构中的位置可例如经由"拖放"操作移动来被改变。更具体地,图90示出显示例如用于存储和编辑数码照片的应用程序的分层属性清单的导航面板8802。图90的左手边示出用户经由拖放操作(由箭头9002示出)将关键字"Ocean(海洋)"的图标从"Camping(露营)"父节点下方移至紧靠在"Keyword(关键字)"节点下方的分层层次。一旦经由拖动操作(例如,使用保持按下左鼠标按键)在期望的位置处(例如,在该示例中紧靠"Keyword"节点上方)定位之后,"Ocean"节点可通过在该位置处放下它(例如,通过释放鼠标的左键)而在分层结构中被重新定位。如图90的右手边中所示,该动作将会重新定位节点"Ocean"。如有需要,用户可经由附加的拖放操作移动之前的子节点"Pacific(太平洋)"和"Atlantic(大西洋)"以伴随"Ocean"节点。或者,如有需要,根据本发明的至少某些示例的系统和方法可如此操作,使得对节点的重新定位也将导致对其子节点(如果有)的自动重新定位。如有需要,根据本发明的至少某些示例,用户可在以此方式(或采取其它预定动作)拖动属性值时按下"Control(控制)"按钮以使得该属性值(以及可任选地其子属性值)的另一副本出现在不同的属性值下(例如,使用粘贴命令)。当然,可使用用于剪切、复制和/或重新定位节点和/或其相应的子节点的其它方式和协议,而不背离本发明(例如,重新定位带有折叠的孩子的节点可用于以一个动作重新定位该节点以及其所有的子节点,而重新定位其孩子被全部展开并显示的节点仅可用于重新定位该父节点而非其孩子等)。可在系统和方法中使用移动节点的其它默认方法和方式,而不背离本发明。在至少某些情况中,取决于根据本发明的系统和方法的具体特征,可能在这种重新定位动作期间生成错误,例如如果同一属性名在所移动属性的新路径或位置中出现一次以上。根据本发明的示例的系统和方法可按照任何期望的方式处理这样的情形,例如通过不完成所需的移动,通过提供允许用户改变路径内的名称的界面、通过显示以用于矫正问题的各种选择来向用户建议该问题的对话框等。作为另一示例,如有需要,可开发将允许路径内对单个名称的多次使用(例如,Location>NewYork〉NewYork)的系统和方法,使得除非试图产生具有相同的整个平面路径串名的多个节点,否则这种错误不会出现。利用根据本发明的示例的分层属性特征的用户可为属性开发相对较大的分层结构,使得当整个分层结构被完全展开时,其跨度长于导航面板8802中的可用空间和/或其显示屏幕的高度。这种情形可按照任何期望的方式被处理,而不背离本发明,例如通过在导航面板内提供滚动条、通过允许子节点在其亲节点下折叠(且例如以类似于常规可用的系统和方法中分层文件夹结构展开和折叠的方式,基于用户输入全部展开或折叠)等。当被开打时,图88和90中所示的类型的导航面板8802可在分层结构内的任何期望位置处和/或在任何期望的展开/收縮条件下打开,诸如总是位于分层结构位置的顶部,位于分层结构中最经常使用的位置、位于分层结构中最近使用的位置、位于分层结构中包括打开的文档(如果有)的位置、在全部展开条件中、在全部折叠条件中、在最近使用的条件中等。而且,导航面板8802可例如基于用户偏好、默认等在显示屏幕上的任何期望位置处出现,诸如在左侧或如有需要,根据本发明的至少某些示例的系统和方法在出厂时可包括基本分层结构,且该基本结构可由用户用作建立更完整、更复杂的分层结构,例如对其自己的使用更具针对性和专用性的分层结构的起始点。这一例如用于存储数码照片、音频、视频或其它用户数据的预定基本分层结构的示例可包括诸如Keywords.Events(事件)、Places(地方)、People(人)(例如,可能具有子节点,诸如Author(作者)、Photographer(摄影者)、SubjectPeople(主题人物)等)、Dates(日期)、MyPictures(我的图片)、MyMusic(我的音乐)、MyDocuments(我的文档)、MyVideos(我的视频)等基本节点。任何所需信息可被包括在该基本分层结构中,而不背离本发明。图91示出例如可响应于"列出文件"、搜索、査询、导航或其它适当命令而出现的示例显示屏幕9100。值得注意的是,该示例显示屏幕9100的左手边包括其下存储了该用户的至少某些文件(例如,该示例中,与数码照片存储/编辑系统有关)的分层属性的导航面板9102。在根据本发明的至少某些系统和方法中,具有导航面板9102的显示屏幕可以是用户的分层属性的主要输入和交互点。从这一屏幕9100中,用户能够基于所创建的各种分层目录以及与文件相关联的其它存储数据来査看文件、提出搜索查询和/或过滤其文件。如图91中所示,加亮分层结构中的节点"Keyword"(例如通过鼠标左键点击动作)拉出具有分配给其或与其相关联的关键字的用户文件的完整清单。在该示例系统和方法中,该动作拉出包括在屏幕9100的显示部分9106中示出单独文件的縮略标或图片9104的数码照片文件的清单。该示例中的单独文件基于紧靠在加亮的搜索条件下方的分层结构的单独子层次来分组(即,在该示出的示例中,被分组为"SportPics"、"Summer(夏天)和"Camping"组,由于显示部分9106的大小限制,未示出分层结构的其它层次(即,"Flowers(花)"和"Ocean")。当然,也有可能有显示搜索或列表视图结果的众多方式,而不背离本发明。任何期望的形式或格式可用于存储或表示具有单独文件的分层属性,而不背离本发明。例如,如果子属性值被分配给一文件,则经分层结构到达该属性值的路径可被存储为实际文件的一部分和/或与该实际文件相关联(例如,作为包括在文件中和/或与文件相关联的元数据)。作为示例,分层结构的表示或数据结构可包括,至少(父属性值)[定界符](子属性l)[定界符](子属性2)…。回到图91中所示的更具体示例,以与其相关联的单独属性"Football(足球)"和"GamesAttended(参与的比赛)"保存的文件可具有与该文件相关联的元数据,这些元数据在至少某些情况中连同关于该文件的信息例如以"Keyword/SportPics/Football;"和"Keyword/SportPics/GamesAttended".的形式一起显示(例如,如图89中所示)。在这些示例中,父属性值为"Keyword"、每一实例中的第一子属性值为"SportPics",第二属性值分别为"Football"和"GamesAttended",而定界符为斜杠"/"(定界符可以是用于分隔属性名的特殊字符,且该定界符可以不包括在属性名中以便避免系统中的混淆)。当然,可在平面路径数据串中包括任何数目的子属性层次,而不背离本发明。例如面板9102的导航面板中列出的属性至少部分可以类似于常规文件夹在各种已知操作系统和应用程序中行为的方式来行为。例如,在导航面板9102中展开和/或折叠分层属性的方式可类似于在类似的文件夹面板或控件中展开和/或折叠文件夹的方式。作为更具体的示例,为了査看并显示父属性下的子属性值,用户可点击在属性左侧提供的"小部件"(注意,例如图91中"Summer"关键字其中具有"+"符号的小部件(在该示例系统中,小部件中"+"符号指示存在一个或多个附加的未被显示的子属性,而小部件中的"-"符号指示,该特定属性已经被展开))。在至少某些示例中,如果属性或节点没有孩子,则其左侧的小部件可被略去、它可不包括其它指示符(例如,"+"或"-"符号等)、它可包括另一指示符、或者可使用另一期望的方式指示没有子节点。也可使用如图91中所示的缩进方案来有助于更好地示出该分层结构。值得注意的是,因为单个文件可具有与之相关联的多个属性,因此同一文件或项目可在显示面板9106中的多个分组中出现(注意,例如,图片13和44出现在图91中的"SportPic"分组和"Summer"分组两者中)。根据本发明的至少某些示例的系统和方法可支持用户改变、修改和/或使用分层属性结构的其它方式。作为一个示例,在显示面板9106中没有项目被选中时经由右键点击动作选中导航面板9102中的属性值的情况下,可向用户(例如,经由界面)给出将新的分层属性作为孩子添加到右键点击选中的节点下方的选项(例如,带有可编辑文本框的新节点可出现在分层结构中新属性值的位置处以便允许用户键入(或以其它方式输入)新属性值)。可例如经由鼠标右键点击提供"删除"功能或选项以便允许用户删除分层结构的任何期望部分,诸如单个节点、节点及其所有子节点等。例如可提供"升级"或"降级"功能,以便允许用户选择属性值并分别将其在分层结构中向上或向下移动(可任选地连同所有其自己的孩子值)一个层次(例如,升级使得所选节点移动至这样的一个层次,使得它现在显现为与其之前的直接父节点对等)。作为另一示例,例如可经由鼠标右键点击提供"重命名"功能,这将允许用户向任何属性值或节点给出不同的名称(可任选地,具有如上所述如果同一名字在路径中被使用两次和/或如果呈现了两个完全相同的平面路径名的限制)。根据本发明的示例,当文件在显示面板9106中被选中时,例如经由鼠标右键点击可提供的可能功能包括"移除属性"功能和"添加属性"功能,这可用于从与该文件一起存储和/或与该文件相关联的元数据或其它数据中移除一个或多个属性和/或向其添加一个或多个属性。当然,可提供其它功能和/或执行以上功能的其它方式,而不背离本发明。如果必要,以经由上述各个功能改变的给定属性和/或路径为标签的所有文件或项目可使其相应的属性数据和/或路径信息被更新来反映用户对路径和/或属性进行的改变。根据本发明的至少某些示例的附加特征涉及共享分层属性,例如当包括分层属性数据的现有文件被发送给具有支持分层属性数据但不必具有对应于新接收的文件的相同的可用分层属性结构的系统或网络的另一用户时。根据本发明的至少某些示例的系统和方法可被构造成允许以类似于共享具有平面属性值的文件(或其它项目)的方式来共享具有分层属性值的文件(或其它项目)。根据本发明的系统和方法的至少某些示例,当文件或其它项目被传入具有分层属性值的系统时的默认行为将如下(a)新文件的分层结构将在分层关键字一般由系统或网络显示的所有区域中例如以如同新接收的文件原始在该目标系统或网络上创建一般的相同方式被显示;(b)如果与新文件所需的相同的分层结构已经存在于新接收方的系统或网络上,则该新文件项目将其自己与己经存在于系统或网络上的分层结构相关联;(C)如果仅新文件所需的路径的一部分存在于接收方的系统或网络上,则适应新文件的分层结构的其余部分将在接收方的系统或网络上创建;和/或(d)如果新文件所需的路径没有存在于接收方的系统或网络上,则适应新文件的新分层结构将被添加到接收方的系统或网络。以下提供了在文件被接收并被保存到新用户的系统或网络的情形中共享的属性分层结构的更详细示例。在该示例中,接收方用户具有带有路径/属性值"Family/Brothers/Toby(家人/兄弟/Toby)"的现有属性分层结构。新文件由接收方用户接收(例如,作为电子邮件附件),且被保存至接收方的系统的该新文件包括来自文件发送方的分层配置的元数据。文件发送方和文件接收方两者均使用根据本发明的示例的分层数据结构来操作程序、系统和/或方法。下表描述了接收方用户的系统可在各种不同情形中处理新文件的接收的方式。表l<table>tableseeoriginaldocumentpage104</column></row><table>整个新的分层结构)与文件相关联的各个属性值可在任何适当的时间且以任何适当的方式被显示,而不背离本发明。例如,如上结合图89所述,属性信息可被显示在与文件相关联的"预览"面板中。作为附加示例,如有需要,与给定文件相关联的属性可使用与文件相关联的"属性"页面或"显示属性"命令来包括。现有属性也可例如在保存、保存为、编辑配置文件、打开文件或其它类似操作期间显示。如有需要,与文件相关联的所存储的属性也可当文件正被打开和/或已打开时被显示在例如工具栏中,且用户可具有例如当现正对文件工作、当文件被保存之后、文件被打开之前可用于编辑属性的界面。众多其它选项可用于显示与给定文件相关联的所保存的属性数据,而不背离本发明。当然,任何数量的属性也可与给定文件相关联,而不背离本发明。而且,与文件相关联的任何期望数量的属性数据可在各个位置中显示,而不背离本发明。例如,如果期望,可对显示与文件相关联的一个或多个属性的任何位置处的每一属性(或至少某些属性)示出整个分层路径(例如,如图89中所示,在"预览"或"属性"面板中)。作为另一示例,如有需要,仅所分配的属性值本身可在各个位置处显示(而分层结构的其余部分例如可在光标"悬停"动作期间等经由导航面板以及经由将在以下更详细描述的文件信息堆栈和分组特征见到)。作为更具体的示例,如果单独文件(诸如数码照片)具有分配给其的以下分层关键字"SportsPics>Baseball〉Practices>CardioDrills",则该冗长的平面路径串可仅通过提供路径中的最低子节点,即"CardioDrills"来在至少某些位置中表示。然而,属性清单的这种截断的格式冒有具有名称冲突和/或对用户而言略微不清楚的风险(例如,如果节点"CardioDrills"存在于分层结构中的多个位置处)。在这样的情形中,如有需要,可连同最低层关键字一起显示附加分层信息以便区分冲突的信息。例如,如以上结合图87A中所述,根据本发明的至少某些示例的系统和方法中的每一分层节点具有不同且唯一的路径。该信息可用于解决上述冲突。具体地,例如当存在上述类型的冲突(定义为以相同方式可视地表示的两个分层属性值)时,根据本发明的至少某些示例的系统和方法将遍历该冲突路径,直到找到不同的父属性值,且该值将被显示(可任选地连同冲突的最低层节点信息)。例如,如果所包含的分层结构和/或单独文件以"SportsPics>Baseball>Practices>CardioDrills"和"SportsPics>Basketball>Practices>CardioDrills"两者为标签,则例如在"预览"或"属性"显示中的所显示的属性信息可被表示为例如"CardioDrills...Baseball"和/或"CardioDrills...Basketball",和/或以某种其它适当的方式表示以明确地示出正确的分层结构。作为分层属性信息的实际使用的另一示例,众多企业以至少某种程度的分层结构安排(例如,部门、分部、职位等)。可为利用单个公司结构的分层特性的这一企业开发根据本发明的示例的更有针对性的操作系统、方法和/或应用程序。例如,可为公司雇员所使用的计算机系统、网络和/或应用程序提供预定的分层结构,它们包括用于为公司所存储的数据中的属性的预定义分层结构。这样的系统和方法可允许其中可组织并存储其数据的公司的系统和网络中的至少某种总体敏感的分层结构。本发明的各方面还涉及包括其上存储的分层属性数据的计算机可读介质,以及包括其上存储的用于允许在各种操作系统、应用程序环境和/或包括上述系统和方法在内的各种其它系统和方法中输入和/或使用分层属性数据的计算机可执行指令的计算机可读介质。计算机可读介质可构成存储在上述计算机可读介质的各种具体示例上的计算机可执行指令。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多属性选择如上所述,本发明的附加方面一般涉及用于搜索包含在计算机系统或网络上的信息、可任选地利用上述分层属性结构的系统和方法。使用华盛顿州雷德蒙市微软公司的Windows⑧计算机操作系统,该公司引入了用于保存、组织和检索来自计算机系统或网络的电子信息,即文件夹的真实世界的模拟。该文件夹系统是严格的最终用户概念,它被引入来给出对计算机上所存储或经其可用的电子数据和信息的真实世界的感受。计算机用户一般将其计算机的硬盘驱动器看作其中组织其文件的大型档案柜。然而,对计算机系统本身而言,电子文件仅是磁性编码到硬盘驱动器(或以某种其它方式)的一连串位,而"文件夹"仅是计算机系统引用这些文件集的一种方式。使用微软公司的NT文件系统("NTFS"),引入了支持硬链接的能力。这种特征允许用户将电子文件置于多个文件夹中。当然,物理上,这种特征无需表示这些电子文件的位在计算机的硬盘驱动器(或其它存储系统)上被多次复制,例如对其中放置文件的每一文件夹一次。相反,不同的文件夹引用回同一文件。然而,当最初被发行时,未向最终用户展示该能力,因为将单个文件置于多个文件夹内不匹配用户的真实、物理世界概念(即,同一物理纸张不能同时位于两个单独的物理文件夹内)。在可在其中实现本发明的至少某些概念的至少某些操作系统中,引入了名为"列表"的新的最终用户概念。作为物理模拟,可将"列表"看作引用项目集合(即,电子文件)的容器。为了更好地理解"列表",描述了对"文件夹"的更详细说明。"文件夹"可被看作是被认为是以某种方式彼此相关的一"组"或一群项目(例如,呈现在同一"文件夹"中可以是一组中的项目被认为"相关"的一种方式)。一组或文件夹中每一项目或文件可包括名为"PARENTFOLDER(父文件夹)"的属性(例如,以路径的形式,诸如"c:\users\usera\documents")。值得注意的是,该路径也是最终用户隐喻,且不必反映计算机的物理结构。实际上,驱动器本身的概念可被认为是隐喻,因为单个物理硬盘驱动器可被划分成多个"驱动器",诸如c驱动器、d驱动器等。用户可定义"组"的另一方式是经由"列表"。"列表"可被认为是与"文件夹"相关,因为它们均被看作是定义一组项目。然而,不同于"文件夹",根据本发明的至少某些示例的"列表"不使用如上所述的"PARENTFOLDER"属性来定义这种关系。相反,"列表"将允许同一项目(例如,电子文件)存在于多个位置中(例如,多个独立"列表"中)。如同"文件夹"一样,"列表"是最终用户概念。将电子文件或其它项目置于多个"列表"中不会引起表示底层数据的实际物理位被复制,相反,底层电子文件或项目由该"列表"引用(或以某种方式"链接")。为了使这种讨论反过来联系至真实世界示例,个人可具有"购物列表"和"紧迫的'要做'列表",其中他们跟踪他们要购买的项目以及他们需要做的事情。这两个"列表"均可包括诸如"妻子的生日礼物"等项目。用户理解,购买礼物既是购物时必须要做的,也是必须要相当紧迫地去做的事情。然而,用户还理解,正是因为这一项目进入他/她的两个列表中,这不意味着他们需要购买两个礼物。相反,购买礼物的单个动作将允许用户从其相应的列表中移除每一项目。可在其中实现本发明的至少某些方面的操作系统还可包括"自动列表","自动列表"如同"列表"和"文件夹"一样,它定义一组项目。这组项目可基于与计算机系统上所存储或经其可用的项目相关联的公共属性值来自动生成。例如,如有需要,用户可基于属性值等级=5星来具有自动列表。使用该"自动列表"特征,用户可容易地定位并查看与被分级为5星的其所有文件有关的信息,而不顾它们出现的具体文件夹或"列表"。只要文件或项目具有与其相关联的5星等级,则根据本发明的至少某些示例的系统和方法将自动包括该文件或项目作为例如在用户査询要求査看5星自动列表的任何时候该动态且自动生成的集合的成员。"自动列表"的其它示例可包括,例如最近创建的文件、最近编辑的文件、最经常使用的文件、作者ID、创建时间/日期、编辑时间/日期、文件类型、应用程序名等。与"自动列表"的内容有关的一个方面涉及该列表的范围(即,将被搜索以生成"自动列表"的这组文件和/或位置)。对根据例如计算机所在的环境、用户偏好、使用计算机或网络的方式等设置对"自动列表"的范围的各种限制。例如,"自动列表"的范围可被限于特定机器、机器或机器网络上的特定用户文件、和/或以任何其它期望的方式,而不背离本发明的各方面。作为更具体的示例,"5星"自动列表的范围可被限于要搜索的一组特定文件或文件夹,诸如给定物理计算机上的文件或文件夹和/或由给定用户创建的文件或文件夹。然而,如有需要,用户可设置自动列表范围(或其它搜索范围)以便在计算机和/或包含该计算机的网络上搜索任何东西,诸如定位存储在用户的台式机或膝上型计算机中任一个上的所有"5星"文件。当用户保存在其PC上的文件数目越来越多(例如,文档、音乐、视频和图片文件等),以及对网络化计算机系统的越来越多的使用,用户选择较小搜索范围(例如,用于自动列表或其它搜索)的能力可能变得重要(例如,避免对过多无关的数据(例如,来自其他用户或其它位置的数据)的定位和显示、避免搜索延迟等)。作为更具体的示例,图形设计者可能想要对"自动列表"搜索设置范围,以将其搜索以及所返回的内容限于仅包含照片(或可任选地,仅特定用户的照片)的硬盘驱动器部分(例如,目录等)d该用户可能不一定想要搜索PC上的所有东西和/或该PC可能连接的网络上的所有东西。这样的用户可能不希望看到也可能满足为"自动列表"设置的搜索参数的其他用户的文件。从而,在根据本发明的至少某些示例的系统和方法中,用户可选择并定义"子项目域"作为搜索范围的一部分。"子项目域"是定义供计算机系统搜索的较小范围的一组文件夹。该子项目域可包括其中用户存储其标记有某些属性的数据、项目等的一组文件夹和/或子文件夹。图92A和92B示出子项目域范围设定方面的示例。例如,图92A示出多个用户(例如,用户A、B和C)共享的单独的计算机或网络9200,其中该示图中的每一节点指示由各个用户创建和/或供各个用户使用的文件夹或其他文件"容器"集合。如上所述,在搜索活动期间,包括在与"自动列表"生成有关的活动期间,用户可将系统设置成仅搜索这些可用"文件夹"或其它元素的一部分。例如,通过为某一搜索或自动列表设置"子项目域范围",用户可将他/她的搜索限于仅仅文件的某些文件夹。图92A示出了由三角形9202表示的"子项目域",它被设置成仅搜索包括和位于文件夹"用户B"下方的文件夹。当然,"子项目域"可被设置成包括网络9200的任何部分,而不背离本发明。此外,如有需要,对由给定计算机系统生成的各个不同的自动列表,该范围可有所不同,而不背离本发明。通过使用诸如图92A中所示的子项目域范围,"自动列表"或其它搜索活动的结果可能更相关,因为搜索更针对仅某些指定的源数据(例如,该示例中的用户B的数据)。而且,可提高执行速度,因为要检査的项目集合较小。当然,可提供用户界面,使得用户可容易地调节和改变用于任何搜索活动,包括自动列表搜索的子项目域。这种可设置"子项目域"的内容不必限于单个文件夹或甚至文件夹分层结构的单个公共分支。相反,如有需要,按照根据本发明的系统和方法的至少某些示例,用户可设置搜索范围(诸如"自动列表"生成搜索范围)以考虑位于多个文件夹中,可任选地位于网络或计算机存储器的多个分支中的文件。图92B示出图92A的示例的单个计算机或网络9200,但在该示例中,搜索"子项目域"被设置成搜索仅包括在由两个独立用户提供的文件夹中的数据,如子项目域三角形9204和9206所表示的(在图92B所示的示例中,为来自用户B和C的照片数据)。再一次,使用该子项目域范围,"自动列表"或其它搜索活动的结果可能更相关,因为在该示例中搜索更针对于仅期望用户的数据,且可提高执行速度,因为要检查的项目集合较小。还从上述各方面延伸出本发明的附加方面。在根据本发明至少某些示例系统和方法中,多个文件夹和/或属性可由用户选作对计算机上所存储的信息的搜索和/或显示的范围。如以上例如结合图87-91所述,这样的系统和方法可利用以分层方式显示属性和/或文件夹的导航面板。在显示计算机上所存储的项目的文件夹的常规和当前可用的"文件夹树"中,用户不能一次选择一个以上文件夹。如果用户想要査看多个文件夹的内容,则他或她必须打开多个窗口(例如,对每一期望的文件夹一个窗口)和/或接连地打开并检查所期望的文件夹。从而,用户不能在公共屏幕中査看来自多个文件夹的所有信息,这使得难以获取对存储在计算机系统或网络上的可用信息的准确概观。"列表"和"自动列表"的可用性进一步加剧了这个问题。如上所述,列表和自动列表可包括有助于定义或分类存储在计算机系统或网络上的文件和/或其它项目的一组属性值。通常,用户想要基于所显示的信息包括与之相关联的多个属性的要求来进一步縮减经由列表或自动列表过程呈现的信息(即,标识为满足搜索准则的相关文件)。例如,用户可能希望查看来自特定的旅行地点且也包括特定个人(例如,配偶)的所有所存储的照片。在没有使用多重属性选择技术的能力的情况下,用户可能不能容易地找到满足这两个独立属性准则的文件的子集。本发明的各方面涉及允许当例如从导航面板中提供或以其它方式可供用户使用的属性的分层清单中将多个属性选为搜索准则的一部分时进行搜索、解释搜索结果和/或显示搜索结果的系统和方法。这样的系统和方法可例如在导航、搜索、显示和/或以其它方式与各个列表、自动列表和/或文件夹交互时使用。涉及本发明的该方面的一个特征涉及信息或文件被确定为满足搜索的方式,这包括多个属性和/或其它搜索参数。更具体地,在某些情况中,用户可能偏好查看满足多个属性搜索查询的任一特征的所有信息的组合的并集(g卩,显示满足属性A"OR(或)"属性B中任一的信息),而在其它情况中,用户将偏好查看仅满足多个属性搜索查询的两个特征的信息的交集(g卩,显示满足属性A"AND(与)"属性B的信息)。作为一些更具体的示例,当用户请求检索标识包含与其中所包含的家庭成员一起拍摄的"毛伊岛图片"的所有文件的信息时,他们期望搜索系统和方法仅检索包含家庭成员且在毛伊岛拍摄的那些图片。使用这一査询,用户一般不希望査看所有的毛伊岛图片(包括其中不包含家庭成员的所有图片),以及所有家庭图片(包括不是来自毛伊岛的图片)。另一方面,当用户请求检索标识被分级为三星或四星中任一种的文件的信息时,他们期望搜索系统和方法检索具有这些分级中任一个的文件(因为至少大多数文件不能同时由用户分级为三星和四星)。从而,本发明的至少某些方面涉及基于例如从例如以分层方式排列的属性和/或文件夹的导航面板中所选的信息或多个搜索参数,自动确定用户可能希望接收"并"集还是"交"集信息的算法。一般而言,如将在以下更详细描述的,当所搜索的多个属性、列表、文件夹、项目和/或其它参数属于分层结构中的同一"属性"时,根据本发明的至少某些示例的系统和方法将基于所选的多个参数的并集(逻辑OR运算)返回关于文件的信息(例如,在"搜索"、"列出文件"或其它导航任务期间)。另一方面,当所搜索的多个属性、列表、文件夹、项目和/或其它参数属于或横跨不同属性时,根据本发明的至少某些示例的系统和方法将基于所选的多个参数的交集(逻辑AND运算)返回关于文件的信息(例如,在"搜索"、"列出文件"或其它导航任务期间)。该算法的运算的更详细示例将在以下结合图93到103描述。当然,如有需要,可向用户给出(例如,经由界面屏幕、鼠标右键点击等)忽略为给定搜索查询自动选择的AND或OR运算的选择和/或机会,以便自定义并针对该特定査询的结果。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多重属性选择单个多值属性内的多重选择图93示出包括导航面板9302的示例显示屏幕9300,导航面板9302可包括属性、文件夹等的分层清单(所示示例中面板9302中的各个节点)。存储在节点下和/或与节点相关联的信息可任选地包含标识与该节点相关联(例如,自动地、由用户输入、由他人输入、当该文件从另一源下载时等)的单独的电子文件或信息项目(例如,电子邮件文件、音乐文件、数码照片文件、电子文档、音频和/或视频文件等)的信息。标识对应于为搜索查询或列表文件活动所指定的一个或多个准则的文件的至少某一些的信息在该示例显示屏幕9300中被显示在显示面板9304中。使用导航面板9302,用户可选择表示与该文件相关联的所分配属性的一个或多个分层节点,且显示面板9304将包含标识满足用户所指定的属性准则的文件或其它信息集合的信息。如图93中所示,在该示例中,用户指示他们希望系统检索标识包括示出Person一A和Persoi^D的图片的文件的信息(如图中通过加亮示出)。作为更一般的描述,在该示例中,用户选择从分层结构中选择了单个多值属性内的多个值(即,从单个属性("People")中选择了表示person—A的分层图标并选择了表示Person—D的图标)。"People"属性被称为"多值"属性,因为"People"属性下的文件可具有多个单独的属性条目(例如,给定图片可包含一个以上所标识的个人,且因此可具有与之相关联的多个"People"子属性)。响应于该査询、搜索或"列出文件"命令,根据本发明的该示例的系统和方法检索包含Person—A或Person—D中任一个的任何图片(它们将要被检索,系统自动或某人将必须在某个时间使"PerSOn_A"或"Person—D"属性或关键字与各个图片文件相关联(例如,如上所述作为元数据),从而指示该个人包括在图片中)。值得注意的是,在该示例搜索查询中,根据本发明的该示例的系统和方法自动检索并集信息,即标识包含Person—A或Person—D中任一个的文件的信息(分别由图93中的图标中所包括的名字中的字母"A"和"D"表示),包括包含Person—A和Person_D两者的任何图片(即,该示例中的图片ABD1、ABD2、ACD1、AD1以及ABD3)。本质上,根据本发明该示例的系统和方法基于用户在导航面板9302中指定的输入参数来执行逻辑OR运算。从而,从这个示例中,可得到按照根据本发明的至少某些示例系统和方法的选择算法的第一规则。按照该规则,从用户对单个多值属性集内的多个集合的选择返回的信息将自动以"合并",即逻辑"OR"査询语言方式返回。当然,如有需要,根据本发明的至少某些示例的系统和方法可向用户提供忽略该规则和/或该自动选择动作(从而运行"AND"运算)的能力。值得注意的是,在所示的显示面板9304中,两个选中数据集以其整体示出或可用,且维持彼此分开(即,该示例中,一个子面板9306用于Person—A图片,一个子面板9308用于Person一D图片)。值得注意的是,单个列表项目可适当地出现在每一子面板9306和9308(或其它)中(即,该示例中,表示图片ABD1、ABD2、ACD1、AD1和AD3的图标出现在每一子面板9306和9308中)。当然,可使用显示所检索信息(例如,在显示面板9304中)的众多其它方式而不背离本发明,这些方式包括例如,在没有对源属性的指示和/或不提供对同一文件或项目的重复表示的情况下显示文件或项目的经编译的清单。作为另一示例,如有需要,在期望逻辑AND运算的情况中,显示部分9304也可包括包含逻辑AND运算的结果(即,该示例中,包括PersonA和PersonD两者的图片)的显示子面板等,以使该信息可容易地供用户使用。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多属性选择单值属性内的多重选择如上所述,在图93的示例中,"People"属性是多值属性(意味着存储在该属性下的信息项目(例如,文件)可具有与之相关联的一个以上下层子属性)。然而,某些属性可被认为是"单值属性",这意味着存储在该属性下的每一信息项目(例如,文件)仅包含该属性的下层孩子的单个实例。单值属性的示例可包括但不限于大小、分级等。图94示出了其中用户从包括属性(或文件夹等)的分层排列的导航面板9402中选择多个属性(例如,在列出文件、搜索查询或其它动作中)的示例显示屏幕9400,其中选中的属性位于单值属性"Rating(分级)"下(g卩,用户一般可和/或将仅向文件给出一个分级)。值得注意的是,在该示例中,如从导航面板8402中的加亮清楚的,用户请求检索具有3或4星分级的所有图片。响应于该查询、搜索或"列出文件"命令,根据本发明的该示例的系统和方法检索为3星或4星中任一个的任何图片(它们将被检索,系统将自动或某人必须在某个时间使分级属性与各个文件相关联(例如,如上所述作为元数据))。值得注意的是,在该示例搜索中,根据本发明该示例的系统和方法自动检索并集信息,即标识分级为3星或4星中任一个的文件的信息。本质上,根据本发明该示例的系统和方法基于用户在导航面板9402中指定的输入参数来执行逻辑OR运算。实际上,在该示例中,因为"Rating"属性是单值属性,因此执行逻辑"AND"运算是无意义的,因为"AND"运算将在每一实例中返回空集合(即,因为每一文件包含一个且仅一个分级,因此在包含3星和4星分级两者的搜索期间将不会定位到任何文件)。从而,从该示例中,可得到按照根据本发明的至少某些示例系统和方法的选择算法的另一规则。按照该规则,从用户对单值属性集内的多个集合的选择返回的信息将自动以"合并"方式,即以逻辑"OR"查询语言方式返回。当然,如有需要,根据本发明的至少某些示例的系统和方法可向用户提供忽略该规则和/或该自动选择动作的能力。值得注意的是,在所示显示面板9404中,两个选中的数据集以其整体示出或可用,且维持彼此分开(即,该示例中,一个子面板9406用于3星分级图片,一个子面板9408用于4星分级图片)。值得注意的是,在该情况中,没有单个列表项目出现在每一子面板9406和9408(或其它)两者中,因为按照该示例中的定义,每一文件包含单个分级值。当然,可使用显示所检索的信息(例如,在显示面板9404中)的众多其它方式而不背离本发明,这些方式包括例如,在没有对源属性的指示的情况下显示文件或项目的经编译的清单。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多属性选择附加的逻辑"OR"示例如上所述,以上规则可应用于文件夹结构和/或分层属性结构中的项目。图95和96示出当用户选择被应用于导航面板中的分层属性时的一些附加示例。,如图95的显示屏幕9500中所示,用户在导航面板9502中所呈现的分层属性表中选中了两个独立条目,即Cars>Import>German(汽车>进口〉德国)属性和Cars〉American(汽车>美国)属性。因为选中的属性仍位于公共多值父属性(该示例中为"Cars")之下,因此以上规则适用,且显示面板9504将响应于该査询、搜索或列出文件操作而显示这两个选中属性的并集。更具体地,如图95中所示,显示面板9504包括标识对应于逻辑OR运算的所有所存储的文件的信息,即满足搜索准则中任一条,即所存储的对应于德国进口汽车的数码图片或所存储的对应于美国汽车的数码图片的信息。在该特定实际情况中,逻辑AND运算几乎没有意义或很少可能,因为典型的汽车不能被认为又是"进口"且又是"美国的"(然而,例如如果多辆车被包括在给定图片中,且对图片中的各辆车,属性与文件相关联,则AND运算将返回命中)。值得注意的是,在该示例中,分层结构中这两个选中项目(即,属性)不位于同一分层层次中。尽管如此,在该情况中进行了逻辑OR运算,因为如上所述,该算法的规则要求当选中属性位于公共父属性(然而,该公共父亲属性不必是选中节点两者或任一个的直接父亲)之下时执行OR运算。值得注意的是,在所示的显示面板9504中,两个选中的数据集以其整体示出或可用,且维持彼此分开(即,该示例中,一个子面板9506用于德国车图片,一个子面板9508用于美国车图片)。再一次,在该实例中,没有单个列表项目出现在每一子面板9506和9508(或其它)两者中显现,但因为单张图片可包括一辆以上车,可能在子面板9506和9508中有重叠的图片。当然,可使用显示所检索的信息(例如,在显示面板9504中)的众多其它方式而不背离本发明,这些方式包括例如,在没有对源属性的指示、没有重复的照片清单的情况下显示文件或项目的经编译的清单。而且,如有需要,逻辑AND运算的结果也可任选地连同逻辑OR运算的结果一起显示在显示面板9504中显示。图96示出其中导航面板9602中的多个分层属性节点被用户选中的另一示例显示屏幕9600。在该示例中,一节点及其相应的孙子节点之一被用户选中(即,Cars(汽车)节点和Cars〉Import>UK(汽车〉进口〉英国)被选中)。在该情况中,逻辑AND运算几乎没有意义,因为如果用户想要列出仅对应于英国进口车的文件,则他/她可单单选中UK节点以创建该清单(无需多重选择)。从而,以上选择规则仍适用,即因为选中的属性位于公共父属性(该示例中的"Cars")内,因此系统将自动检索,且显示面板9604将响应于该査询、搜索或列出文件操作而自动显示这两个选中属性的并集。更具体地,如图96中所示,显示面板9604包括标识对应于逻辑OR运算的所有所存储文件的信息,即满足任一搜索准则,即所存储的对应于所有汽车的数码图片或所存储的对应于进口英国车的数码图片的信息。与上述各个显示面板一样,显示面板9604使两个选中数据集以其整体可用,且维持彼此分开(即,该示例中,一个子面板9606用于所有汽车图片,一个子面板9608用于英国进口车图片)。在该示例系统和方法中,子面板9608中的所有英国车图片也包括在更一般的Cars子面板9606内,因为所有的英国车图片必须落入Cars父亲节点内(例如,如以上关于分层属性所述的,当子属性被分配给文件时,该文件也自动被分配所分配的子属性的所有父属性)。当然,可使用显示所检索的信息(例如,在显示面板9604中)的众多其它方式而不背离本发明,这些方式包括例如,在没有对源属性的指示、不显示重复照片的情况下显示文件或项目的经编译的清单。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多属性选择逻辑"AND"示例图93-96的以上示例涉及诸如文件夹、分层属性等给定分层分组内的多个用户选择。参考图97到99示出了用于确定响应于分层文件夹或属性结构中多个用户选择而要显示什么数据的示例算法的另一规则。一般而言,算法的该"规则"要求,当在不同的父属性集上进行多用户选择时,将显示搜索结果的"交集"(即,将执行逻辑AND运算,并显示结果)。在图97中所示的示例中,显示屏幕9700示出其中显示多值分层属性的导航面板9702。用户选中了横跨最高层父属性集中的两个的属性,即Locations〉Toronto(地点>多伦多)和People>Person—D。在这种类型的情形中,用户一般期望执行逻辑AND运算,使得所显示的结果仅包括在Toronto拍摄且包括Person—D的图片(例如,一般对这种类型的搜索査询,用户不希望査看所有Toronto图片或包括Person—D的所有图片)。从而,如该示例中的显示面板9704中所示的,得到的所显示的结果仅包括其中包括Person—D的来自Toronto旅行的那些图片。因为显示了两个选中集合的交集,因此没有理由来分开示出来自每一用户选中集合的结果,如以上在图93-96中所示(即,显示面板9704中的每一项目都可存在于Locations〉Toronto清单和Pe(3ple>Person—D清单中),尽管这些单独选中的集合如有需要也可被示出(例如,覆盖用户想要查看两个单独的集合的可能性)。当然,可使用例如在显示面板9704中显示搜索结果的任何方式,而不背离本发明。此外,如有需要,可向用户提供忽略由根据本发明该示例的系统和方法产生的自动AND运算的能力。逻辑AND运算的应用不限于与多值分层属性一起使用。例如,如果图97中的用户选择之一或两者构成了单值属性(诸如导航面板9702中所示的星"Rating"属性之一),且另一选择位于不同的父属性集中(诸如"People"或"Locations"属性集中),则可显示选中的星Rating属性和选中的People或Locations属性的"交集"(即,仍将执行逻辑AND运算,并显示结果,因为选择横跨不同属性集)。用于应用逻辑AND运算的算法规则在跨不同分层属性进行选择时,甚至在这些选择位于分层结构内的不同深度时也适用。图98示出一示例。如图98的显示屏幕9800中所示,用户在导航面板9802中选中属性Keyword>Cars>Import和Date(日期)>2004。因为顶层父属性不同,因此进行逻辑AND运算,且显示面板9804显示这两个属性的交集(即,它显示具有选中属性两者的文件,即来自2004年的进口车的图片)。尽管实际上选中节点之一与另一选中节点相比具有不同数目的父节点(从而,存在于分层结构中总体不同的层次),仍进行该AND运算。该同一算法规则可适用,且可获得类似的交集结果,而不考虑用户选中的属性之一或两者是单值属性还是多值属性。此外,用于应用逻辑AND运算的算法规则在跨不同分层属性进行选择时,甚至在这些选择的至少其中之一不包括分层结构中的较低层项目时也适用。图99示出一示例。如图99的显示屏幕9900中所示,该示例中的用户在导航面板9902中选中属性Rating>4_Star和People(未选中People节点下任何具体个人)。因为顶层父属性不同,因此进行逻辑AND运算,且显示面板9904显示这两个属性的交集(即,它显示与其中包括"People"属性(例如,任何个人)且被分级为4星的文件有关的信息)。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多属性选择分层结构中的多个选择对于文件夹、列表或其它结构的使用如上所述,对分层结构中的多个用户选择的使用的各方面也可应用于包括常规文件夹的分层结构(例如,OR/AND函数的执行可使用以上规则来确定,即使用户选中元素之一或两者包括文件夹结构)。概念上,根据本发明的至少某些示例方面,"文件夹"可作为单值属性来对待。更具体地,因为如上所述单个文件将仅驻留在单个常规文件夹中,因此可根据本发明的这些方面,将文件夹作为单值属性来对待。可任选地,如有需要,多个用户选择可包括对分层结构中的文件夹元素和属性元素的选择的混合。各个示例如下。图100示出包括导航面板10002的显示屏幕90000,导航面板中存在分层属性和文件夹结构两者。在图100中所示的示例中,用户选中了两个单独的文件夹,即MyPictures〉Trips(我的图片〉旅行)文件夹和MyPictures〉Old(我的图片>旧)文件夹。因为这两个选择位于分层结构中同一顶层父元素(即,该示例中的"MyPictures")之下,因此通过应用上述各个算法规则来应用逻辑OR运算,且如显示面板10004中所示,所显示的结果示出这两个选中集合的并集。尽管这些选中的集合的内容可按照任何期望的方式显示在显示面板10004中,但在该示出的示例中,所显示的文件如以上例如在图93-96中一般描述的在单独且不同的子面板中标识。如上所述,用户文件存在于常规文件夹分层结构中的单个位置处(即,单个文件或其它项目不能同时存在于两个独立且分开的文件夹中)。从而,逻辑OR运算在图100中所示的情形中最有意义,因为逻辑AND运算将返回空集合作为结果。图101示出了其中OR/AND逻辑运算选择规则和算法被应用于用户选择包括至少一个文件夹集合且选择横跨分层结构的独立且不同的部分(即,具有不同的最终顶层父节点的部分)的情况的示例的显示屏幕10100。如图101的分层导航面板10102中所示,用户选中分级节点(在该示例中为4一Star)和文件夹节点(该示例中为MyPictures>Old文件夹节点)。应用上述各个规则和算法,因为选择具有分层结构中不同的顶层父节点,因此应用逻辑AND运算,且关于这两个分层元素的交集的信息被显示在显示面板10104中。更具体地,在该示例中,具有"4星"分级的所有所存储的"旧"图片被显示在显示面板10104中。当然,可使用显示查询、搜索或列出文件结果的任何方式,而不背离本发明。而且,如有需要,显示面板1014可被设计成另外示出来自逻辑OR运算的结果,和/或用户可能能够以某种方式向系统告知期望进行逻辑OR运算。根据本发明的至少某些示例,相同的OR/AND逻辑运算选择特征可应用于分层结构中的列表元素。"列表"概念上可被认为是简单地构成项目的集合,诸如文件等。图102示出其中各个列表元素被包括在导航面板10202中所示的分层结构中的示例显示屏幕10200。用户选中"AllLists(所有列表)"下的多个元素,即"TopIssues(头等问题)"节点和"ProjectY(工程Y)"节点。在显示面板10204中,所生成的显示提供关于满足这些搜索准则中任一个的列表项目,即被指定为"TopIssues"的列表元素或被指定为对应于"ProjectY"的列表元素的信息。值得注意的是,列表项目中的某一些可被包括在这两个的节点的分组之下(例如,项目2和4)。尽管这些选中的集合的内容可按照任何期望的方式被显示在显示面板10204中,但在该示出的示例中,所显示的列表元素如以上例如在图93-96中一般描述的在单独且不同的子面板中被标识。而且,如有需要,显示面板10204可被设计成还示出来自逻辑AND运算的结果,以覆盖用户期望该AND结果的可能性。而且,如上所述,如有需要,可向用户给出忽略自动OR运算选择的能力。上述OR/AND逻辑运算选择确定算法和规则也可应用于其中用户选择两个以上分层元素(例如,三个或更多文件夹、列表元素、属性等)的情形中。一般,在这样的情形中,逻辑OR运算(即,并)是针对同一分层父元素集下进行的任何选择来执行的,而逻辑AND运算(即,交)是针对跨不同分层父元素集进行的选择来执行的。可任选地,如有给定分层父元素集内的任何运算(即,OR运算),则它可先被执行。图103示出这种类型的运算的示例。具体地,如图103的显示屏幕10300中所示,用户从分层导航面板10302中选中三个元素,艮卩Dates>2004属性、Keyword>Cars>Import属性以及Keyword〉Cars〉American属性。作为响应,根据本发明的至少某些示例的系统和方法将首先针对选中的Keyword属性执行OR运算,以定位包括所存储的满足这些准则中任一个的关键字属性的所有所保存的文件。然后,从所标识的那些满足Keyword准则中任一个的文件中,作出关于哪些文件也满足日期准则的判断(通过应用逻辑AND运算)。显示面板10304中所显示的结果然后将示出2004年的进口车图片和美国车图片。尽管这些选中的集合的内容可按照任何期望的方式显示在显示面板10304中,但在该示出示例中,所显示的关于文件的信息如以上例如在图93-96中一般描述的在针对不同的"OR"选择的单独且不同的子面板中提供。上述规则以及这些规则在确定对多个用户选择是进行逻辑OR运算还是逻辑AND运算时的应用是有利的,因为当用户使用分层属性、文件夹、列表或其它结构来存储、搜索和检索来自计算机系统或网络的信息时,这些规则及其应用产生可预测且合乎逻辑的结果。当然,如有需要且如上所述,可向用户提供界面以允许他们在任何时候忽略这些自动检索结果,例如如果规则在任何个别情况中产生不期望的结果。当新信息被引入计算机系统或网络时,可继续应用以上规则,包括应用于新添加的信息,而不考虑新信息是可被包括到现有分层内还是需要新/附加的分层结构。一旦以某种方式被置于分层结构中,以上OR/AND逻辑运算选择过程可通过确定各个选择是否位于给定属性或其它分层元素层次内和/或它们是否横跨不同的顶层父属性或其它分层元素层次来执行。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质多属性选择计算机可读介质根据本发明的附加方面也涉及其上存储计算机可执行指令的计算机可读介质,这些指令用于执行各种多属性或其它值选择方法和/或供包括上述系统和方法在内的包括多属性或其它值选择方法各种系统中使用。计算机可读介质可构成存储在上述计算机可读介质的各个具体示例上的计算机可执行指令。页面空间控件根据本发明的各方面的示例系统、方法和计算机可读介质显示面板中的分组和堆栈当今在基于Window^的计算机操作系统(例如,华盛顿州雷德蒙市微软公司所提供的)中,可能将文件集合(例如,来自搜索查询或列出文件命令)组织成组。例如,可使用按照文件"类型"的分组将位于搜索域内的所有PowerPoint@演示(微软公司提供的演示软件)置于一个分组内和/或将所有数码图片置于另一分组内。然而,用户可能难以高效且有效地处理较大的项目集合,因为他们仍必须定位正确的分组以便最终定位他们希望进一步考虑的文件。例如,如果用户拥有其中包含100,000个文件的文件夹,则分组这些文件可能有助于对各文件进行略微的分类,但用户仍可能难以定位所需的特定文件(例如,尤其当关键字搜索或其它搜索技术不能有效縮减所分组的文件时)。在根据本发明的至少某些示例的应用程序和/或操作系统中,用户可利用"堆栈"的能力作为用于视觉上将文件组织成集合的新的/附加的方式。例如,如果系统和方法要按"文件类型"堆栈,则用户将能够查看其被堆栈成单独集合的所有文件,例如PowerPoi,演示文件集合、电子表格集合、数码图片集合等。这些集合中的每一个可通过堆栈图标例如在计算机生成的显示中表示,该图标概念上用作该项目集合的虚拟容器。堆栈是有助于用户縮减他们所关心的项目集合的非常有用的方式,因为堆栈清楚地向用户列举并标识各个可用的堆栈选项。应用于更具体、真实世界的示例,堆栈在概念上可被看作前往汽车租赁场所并要求他们告诉你停车场上有什么颜色的车。他们可能告诉你他们今天有蓝和红色的车可用。概念上,这是当用户按属性堆栈其文件时发生的情况,即他们可获取该属性的每一唯一值的栈。该堆栈特征(以及其它显示特征)可应用于例如如以上结合图91和93-103中所述的那些的用户界面。在这样的用户界面中,根据本发明的至少某些示例的系统和方法可示出包括诸如列表、自动列表、文件夹和包括例如用户定义属性的属性等内容的信息。每一自动列表可被设计成提供供用户以各种方式,例如按某一属性查看标识其文件的信息的一种方式。作为更具体的示例,音乐自动列表可例如按表演艺术家堆栈,且按该表演艺术家属性搜索将允许用户査看以音乐集合中所包括的所有艺术家,例如Bjork、Madonna等标识的栈。然而,仅示出到该自动列表的快捷方式的一个问题在于,如果计算机系统存储有来自多个不同艺术家的音乐,且使这些音乐可在视图中使用,则用户仍可能难以定位所需的单个艺术家和/或所需的单个专辑、CD或歌曲。根据本发明的示例的系统和方法的一个方面涉及展示可用自动列表的堆栈结构作为导航面板和/或与之相关联的显示面板中的子节点。作为一个更具体的示例,对上述"艺术家"自动列表情况,根据本发明的至少某些示例的系统和方法可允许用户在导航面板和/或显示面板中展开"艺术家"(或其它)节点,从而允许他们控制和/或查看保存在计算机、网络或系统上的所有唯一艺术家(或其它节点)。本发明的其它方面涉及例如在导航面板和/或呈现涉及到信息分组和堆栈的信息的显示部分中处理和/或操作这样的信息的方式。更具体地,本发明的各方面将以相同方式对待"分组"和"堆栈"的信息,并允许被分组来表示导航面板中的分层结构的自动列表。换言之,如果用户具有显示面板中按"艺术家"分组的音乐文件的视图,则根据本发明的示例的系统和方法可用于在导航面板中为各个艺术家生成子节点。在至少某些情况中,子节点实际上可构成另一栈,从而当用户点击这些子节点之一时,视图中的项目集合将过滤到仅那些结果。这向用户给出视图中存在的项目的快速索引,并允许他们实际上縮减文件的集合而非仅视觉上或精神上组织它们。根据本发明的其它示例涉及根据本发明的至少某些示例的系统和方法的用户在父文件夹中堆栈以及展平其文件夹分层结构的能力。例如,当用户在硬盘驱动器目录或其它数据集合(例如"D:\Data"分组)中按文件类型堆栈时,根据本发明的至少某些示例的系统和方法将搜索所有子文件夹,并取出这些项目并将其置于栈内。这向用户给出导航至任何文件夹并查看其按所需属性值而非其文件夹分层结构来组织的内容的能力。一般而言,本发明的各方面是有用的,因为在根据本发明的至少某些示例的系统和方法中,分组和堆栈可用于在导航面板中创建动态组织结构,且提供选择导航面板或显示面板中一分组并縮减视图中的项目以仅显示该集合的能力。本发明的其它附加一般方面涉及将分组和堆栈作为自动列表的子节点来对待,以及选择导航面板和/或显示面板中的一分组并经由该选择进一步縮减所显示的视图的能力。以下将描述本发明的这些方面的更具体的示例。如上所述,"分组"和"堆栈"是可视化项目集合的两个不同方式。图104示出包括导航面板10402和显示面板10404(它基于导航面板10402中所接收的输入示出与所存储的各个文件或项目有关的信息)的显示屏幕10400。值得注意的是,在图104中,导航面板10402指示选中属性或关键字"CwmVom(食肉类)",则相应的显示面板10404示出分层结构中仅靠O^mVom父节点之下的单独的子节点的栈。更具体地,如图104的示例中所示,显示面板10404包括狗(C"wWae(犬科))的图片的栈和猫(尸e/W^(猫科))的图片的栈。值得注意的是,在导航面板10402中,Oj"/^7e和Fe&foe节点下的子节点被完全显示(至其最低层次),尽管实际上这些集合在显示面板10404中被示为是被堆栈的。在至少某些情况中,堆栈可能不构成在显示面板10404中显示信息的最佳方式。例如,如图104中所示,至少在某些情况中,堆栈可能不合需要,因为用户不能容易地査看关于栈内的内容的任何信息(例如,如图104中所示,用户不能查看关于栈内容的縮略标或其它更多所显示的信息)。当未以"非堆栈"方式在显示面板10404中显示信息时,用户至少在某些情况中可能必须"深入"至分层结构的最深层次,以便最终査看图片(或与特定文件有关的其它更具体信息)。这种要求可能是不方便的,尤其是当分层结构具有多个层次、众多文件被包括在分层结构中、和/或用户不确定所需文件是否位于分层结构内时。图105示出另一个示例显示屏幕10500,它在显示面板10504中使用分组而不是堆栈。值得注意的是,在导航面板10502中相同的节点仍保持加亮(在这个具体示例中,即"Carnivom"节点),但显示面板10504显示在选中的父节点下相应子节点下分组的搜索结果作为分开的子面板10506和10508。而且,在子面板10506和10508内,在此示例显示屏幕10500中的下层文件信息是以非堆栈方式显示的,因此用户可以快速且容易地看见分层结构内与下层内容相关的信息。值得注意的是,在图105所示的例子中,与特定节点(例如Candiae节点)下包含的所有项目相关的信息是在相应的子面板中(例如在子面板10506中)提供的,而不管该信息在分层结构中所位于的层次(例如,不管该特定的图片和与之相关联的"Candiae"属性、"Cams"属性、"Lupus"属性或"Latrans"属性是否存储在一起)。该特征让用户能更快且更方便地访问和识别所需信息。注意,这同一个显示面板10504可作为其它搜索或列出文件命令的结果出现,例如,如果用户将导航面板10502中的Candiae和Felidae两个节点都加亮。用户还可以快速地在导航面板10502的分层结构中导航以查看不同的信息分组。通过比较图105和图106,可看到一个可能的改变示例。注意,在图105中,如上所述,Carnivora属性是由用户在导航面板10502中选择的,导航面板10502提供与该属性一起存储的信息的显示,并基于所选属性的子节点来分组(即在本例中基于Candiae和Felidae子节点来分组)。在图106的显示屏幕10600中,用户已经将导航面板10602中的加亮的选择改变为更特定的Panthera属性(Carnivora属性下的孙节点)。如图106所示,这一改变使显示面板10604提供对Panthera属性节点下的子节点的分组,B卩,以Leo和Tigris属性为标签的图片分组(分别见子面板10606和10608)。从图105和106明显看出,导航面板10502与10602和显示面板10504与10604,连同结合这些面板一起使用的分层属性,让用户能够在整个分层结构中以有意义的方式存储、搜索和导航他们存储的数据,并得到可用数据的有效縮略图或其它"预览"信息。值得注意的是,导航面板中的内容和用户输入驱动在显示面板中提供的内容,尽管如果需要的话也允许通过显示面板进行用户输入。图106与107各自的显示屏幕10600与10700的比较示出按照本发明的至少某些示例存在的其它特征。当在导航面板10702中的各种不同的自动列表之间改变(例如从图106中的Keyword>Mammalia〉Camivora〉Felidae>Panthera到图107中的DateTaken)时,导航面板10702中的分层结构没有折叠,而是在用户离开它时它保持不变(例如,在所示的例子中,Mammalia属性及其子节点的全部分层结构保持展现)。一般而言,按照本发明的至少某些示例,导航面板10702没有反映出或改变成反映出在显示面板10704中(例如在子面板10706和10708中)显示的内容,而是导航面板10702驱动在显示面板10704中存在的内容。各种各样原因使得导航面板10702的这种"不折叠"特征很有用。例如,一般用户预期该分层结构以这种方式保持可见,例如根据他们与常规的电子文件和/或文件夹系统的交互。作为另一个例子,以这种方式保持分层结构打开、展开和可用(例如直到被用户关闭)可以更便捷,例如,如果用户决定返回到该分层结构,例如为了其它的搜索、导航或预览的目的,为了给文件分配属性的目的等等。而且,通过在用户导航且有可能手动改变导航面板10702时将其保留在未改变的状态中,用户过去访问的位置将仍保持随时可用,使得如果需要的话,他们可以快速地返回到他们去过的地方。如果需要的话,按照本发明的至少某些示例,可在显示面板中使用分组和堆栈的组合。使用这种分组和堆栈的组合的一个例子例如可在图108所示的用户界面显示屏幕10800的显示面板10804中看到。更具体地,图108示出一个具有导航面板10802的显示屏幕10800,导航面板10802包括与存储的数字音乐集合相关的信息,其中至少一些与存储的音乐相关的信息包括分层属性。在这个示例显示10800中,用户已经加亮了标题为"SuperMusicView(超级音乐视图)"的自动列表,在这个列表中包含的音乐数据己经与包括各种不同音乐流派的属性存储在一起(例如,一个子节点用于"Classical(经典)"音乐,一个用于"Jazz(爵士)",一个用于"Pop(流行)",一个用于"Rap(说唱)",等等)。当然,可在分层结构中包括任意数量的流派而不脱离本发明。通过选择"SuperMusicView"父节点,按照本发明这个例子的系统和方法在显示面板10804中显示与存储在按各种流派(例如,分别用于"Classical"、"Jazz"和"Pop"流派的子面板10806、10808和10810)分组的系统上的音乐相关的信息。在本例中,在每个单独的流派分组内,信息例如按专辑或音乐选择发行的年代来堆栈。如果需要的话,用户可以例如在显示面板10804或导航面板10802中进一步"深入"到该分层结构中,以查看与栈内存储的信息相关的更多详细信息(例如,个别CD或专辑标题,在这个说明例子中,即通过执行分组来堆栈的信息或与包括个别专辑的栈相关的艺术家,等等)。在本发明的系统和方法的至少某些示例中,如果需要的话,进一步深入到个别CD或专辑标题中可用于显示与包含在该专辑或CD上的个别歌曲或音轨的标题有关的信息。当然,该分层属性结构中可包括任意数量的栈、分组和/或任意希望类型的信息而不脱离本发明。注意,在图108中所示的示例导航面板10802和显示面板10804中,自动列表的分层结构的至少某些部分是在导航面板10802中显示的,而不管分组或堆栈是否出现在显示面板10804中。事实上,在这个示例结构中,显示面板10804既包括分组的信息,也包括堆栈的信息。一般而言,分组的信息是作为"透明容器"存在的,意味着分组中的内容在视图中对于用户是随时可用且可见的。另一方面,包含在"栈"中的信息可视为在一个"不透明容器"中,意味着由于堆栈显示,至少一些个别内容对于用户是隐藏的(但如果需要的话,通过进一步加亮或者经由导航面板10802和/或显示面板10804"深入"到个别栈中,隐藏的内容可被显示或使之可用)。对于按照本发明的示例的系统和方法中包含的窗口、显示面板、子面板等等中的任一个,当可用信息不止填充了可用的显示区域时,可用任何想要的方式得到用户对未显示信息的访问,例如,通过使用如在显示面板10804中所示的滚动条、通过"下一页"/"上一页"按钮或图标、和/或以任何其它希望的方式。按照本发明的示例的分层属性和其它元素、导航面板和信息组和/或栈的显示可结合常规的文件夹结构使用而不脱离本发明。一般而言,堆栈文件夹(例如在显示面板中)对于用户不是很有用,因为在分层结构中单独的文件夹可具有非常不同且不相关的主题,并且因为在文件夹内组织信息的用户经常不是将许多文件存储在其文件夹分层结构的任何给定层次上。因此,按照本发明的至少某些示例,在一个文件夹中堆栈会使文件夹分层结构变平并且将包含在该文件夹内的项重新组织成基于该属性的集合。图109示出一个显示屏幕10900,它包括其中包含了文件夹分层结构的导航面板10902。当用户在导航面板10902中选择"Vacation(假期)"文件夹时,显示面板10904显示下层文件夹结构(即本例中在"Vacation"文件夹下的"LunarEclipse(月食)"和"Aurora(极光)"文件夹),同时也显示包含在这些文件夹中的单独文件(从而使文件夹结构"变平",以使下层的信息对于用户随时可见和可用)。这可例如通过创建"自动列表"元素或节点以查看选中的文件夹及其全部子文件夹来实现。当然,在显示面板10900中呈现来自文件夹的信息的其它方法是有可能的,而不脱离本发明。例如,如果需要的话,不是使图109所示的分层结构变平,而是可以在显示面板10904中保持文件夹结构,尤其是在加亮的文件夹本身包括分层结构的若干层次的情况下。例如,如果需要的话,当在导航面板10902中选择一个文件夹时,可通过从子文件夹中移除个别项目并且在按这些子文件夹命名的栈中显示这些项目来显示信息。当然,其它显示技术是有可能的,而不脱离本发明。一旦在导航面板中加亮或选择了数据,也可对它进行各种操纵,和/或在显示面板中显示与其相关的信息。图110示出了按照本发明的至少某些示例可使用或出现的示例显示屏幕11000。在本例中,用户界面显示屏幕11000包括导航面板11002和显示面板11004,在导航面板11002中出现了一个分层文件夹结构。因为本例中的文件夹结构有较深的分层结构,因此当导航面板11002中的一个文件夹被加亮时(例如本例中的"Vacations"文件夹),显示面板11004中的信息从下层的子文件夹结构(即在"Vacations"文件夹之下的文件夹)中移除并被放在单独的栈中。如果用户随后要重新组织该信息(例如,通过点击导航面板11002中的"Location(位置)"图标或其它属性图标、从右键点击或下拉菜单中选择一个属性等等),可按位置重新组织和堆栈数据,如图110所示。因为图110中的这种对数据的修改过的堆栈(按"Vacations"和"Location"堆栈)不是以该文件夹中提供的方式对应于"Vacations"文件夹的内容,所以在图110的导航面板11002中没有显示加亮。实际上,这个动作类似于使包含在选中文件夹中的全部信息变平并随后将该信息基于包含在选中属性之下的子属性重新组织成栈。当然,在系统和方法中可提供例如在上述类型的导航面板中用于响应于用户命令来分组和/或堆栈的许多选项,已经响应于用户命令的其它系统动作,而不背离本发明。下文包括可包括在本发明的至少某些示例中的选项的至少一些其它例子。作为一个例子,当按多值属性分组或堆栈时,按照本发明的至少某些示例的系统和方法可为该属性之下的每个顶层值提供一个组或栈,并且进一步子属性值可以不在在显示面板中展示(尽管如果需要的话,在这些较低的子属性值中的下层信息可被显示和/或可使之能被显示)。在这样的系统中,如果需要的话,用户可以通过导航到各种分层层次组中来使子属性值可见,例如使用分层导航面板、深入到显示面板中提供的栈中等等。如果需要的话,按照本发明的至少某些示例,不需要提供将全部关键词(分组的或堆栈的)作为平面列表来查看的方法,并且在导航面板中加亮的信息将控制显示面板中显示的内容。如果需要的话,按照本发明的至少某些示例的系统和方法可让用户能够在任何层次上"拆桟",例如通过提供允许用户"展开全部栈"、"展开这个栈"和/或类似功能的菜单项目(例如按钮、右键点击菜单、工具栏菜单等等)。当信息被分组和/或堆栈时,也可发生其它动作,例如与包含在组和/或栈中的分层属性相关的操作。一个例子涉及拖曳和/或放下操作。在本发明的至少某些示例中,当将一个项目从一个组拖曳到另一个组时,该项目可改为具有新应用的组和/或应用于它的栈的属性值(即,改为还包括来自拖曳和/或放下操作的"目的地"组和/或栈的属性值,并且可任选地,如果必要且需要的话,至少将原始的源组和/或栈的属性值移除。另一个示例操作涉及"粘贴"操作。当通过粘贴操作将一个项目放到一个新的组和/或栈中时,目的地属性及其父属性值可应用于新放置的项目。而且,响应于导航到一个组和/或栈可提供许多不同类型的显示或显示内容。然而,如上所述,按照本发明的至少某些示例,具有组标题属性值的全部项目可在一个初始显示中显示,并且同时显示标记了该组的子属性值/父属性值(如果有的话)的全部项目。如果需要的话,可在导航面板和/或显示面板中提供某种类型的指示符,来指示分层结构中的项目可以进一步被展开以显示子属性值(例如,在本说明书的附图中所示的若干示例中与图标或窗口小部件一起使用的"+"符号)。这个相同的惯例可在过滤菜单中使用而不脱离本发明。图111示出示例显示屏幕11100,其中示例菜单11102已经被拉出(例如,通过右键点击动作或以任何其它合适的方式),它允许用户进一步过滤包含在显示屏幕11100的显示面板11104中的信息。更具体地,在本例中,通过点击要用于过滤的所需菜单项目,可对显示面板11104上存在的信息进行改变。在本例中,如果需要的话,使用每个菜单项的右边远侧的脱字符结构">"来指示进一步的较低分层层次可用于过滤。本发明的其它方法还涉及包括其上存储的计算机可执行指令的计算机可读介质有关,这些指令用于执行各种分组和/或堆栈方法和/或用于在显示诸如分组和/或堆栈方式的属性、文件夹、列表等等信息的各种系统,包括上述系统和方法中使用。计算机可读介质可包括存储在上述计算机可读介质的各种特定例子上的计算机可执行指令。**页面空间控件中的多个根因为已知的导航系统只包含单一的根节点,因此导航树将用户文件夹的组织和其它结构限制在单一表示中。这样一种限制为有效地査看和导航具有相当关联性的文件夹造成了相当大的障碍。在一个例子中,用户在他或她的存储驱动器上具有有限的空间,并且因此被迫将他或她的照片存储在两个分开的驱动器上。在已知的单一根解决方案中,用户被迫通过展开明显处在两个不同存储点处的导航树来访问两个存储区域。这样一种导航方法妨碍了同时查看两组照片。因而,按照本发明的一些方面,应用程序或用户可在页面空间控件(例如上述导航面板)中建立多个根。图112示出按照本发明的一个示例性实施例的、实现多根导航窗格的外壳浏览器窗口的局部屏幕快照11200。外壳浏览器窗口11201包括横越窗口顶部的菜单栏11205、在右侧的外壳浏览器窗格11210和沿着外壳浏览器窗口11201左侧的多根导航窗格11215。如在此所述的在外壳浏览器窗口11201内的多根导航窗格的实现使用户能够在导航时具有明显的灵活性。用户或者可通过经由外壳浏览器窗格11210中的页面视图访问单独的文件夹或页面来浏览文件和/或数据,或者可使用导航窗格11215通过直接跳到表示对应于一个页面视图的文档或文件的所需节点来导航。如在此使用的,页面指相关文档的集合;页面视图指在一个特定页面中的数据项的图形显示;而页面节点指一个特定页面的图标或图形的表示。每个页面可包括和/或表示相关文件、数据或页面的静态列表、自动列表、物理文件夹、虚拟文件夹和任何其它结构或数据集合,并且如下进一步所述,在外壳浏览器窗格11210中显示的每个页面可具有在导航窗格11215中显示的相应节点。同时査看外壳浏览器窗格11210和导航窗格11215两者的能力方便了许多与多根导航窗格11215相关联的定制选项。例如,可将文件夹或列表从外壳浏览器窗格11210拖曳到导航窗格11215来定义导航窗格11215中另外的根。在导航窗格中,根节点一般与缺少父页面节点的页面节点有关。按照本发明的一个方面,导航页面中的每个根节点可能具有一个父节点,然而,导航窗格不显示标识为根节点的节点的任何父节点。用户因而在父节点存在的情况下不能通过根节点本身导航到根节点的父节点。图113示出按照本发明的示例性实施例的多根导航窗格。多根导航窗格11215可包括多个根节点11311、11312和11313。根节点通常用作用于导航存储在诸如硬盘等设备上的数据的起始点。导航窗格11215将根节点11311、11312和11313与任何被展开的后代节点组合起来,以图形地示出数据的组织。在一个分层表示中,根节点11311、11312和11313可沿导航窗格11215中的单一垂直轴对齐,以表达它们作为根节点的状态。因此,根节点11311、11312和11313各自的子页面11321、11322和11323可定位在其相应的根节点之下,并且与位于根节点11311、11312和11313的垂直轴之右的第二条垂直轴对齐。如果第一页面直接依赖于第二页面,则第一页面或节点称为第二页面或节点的后代。根节点11311、11312和11313和后代页面节点11321、11322和11323的相对定位图形地描绘了它们的分层关系。存储分层结构的更多层次(例如根节点的后代的后代)可按照上述方案使用用于定向的父页面节点的位置在导航窗格11215上表示。本领域的技术人员将意识到,如本领域所公知的,可利用众多祖先/后代定位方案来表示根节点及其后代的分层关系。每个根节点11311、11312和11313和后代页面节点11321、11322、11323可进一步包括展开控制小部件11320、标识图标11326和标识文本11325。一般而言,标识文本11325表达存储在其中的页面或文件的一般类别或描述。例如,根节点11311可加标签"Lyon'sDocFolder"(Lyon的文档文件夹),以将该页面的内容标识为属于用户Lyon的文档。标识图标11326可定位在毗邻标识文本11325处,以允许用户在图形上区别一个或多个根节点11311、11312和11313或者页面节点11321、11322和11323。例如,用户可创建一个唯一的图标来标记他或她对于某些页面的所有权或者指示存储在所表示的位置处的文件类型。同样,用户可使用不同的图标来表示不同类型的页面(即文件夹、列表、自动列表)。为访问页面节点并查看其内容,用户或者可双击标识文本11325,或者切换与该特定节点相关联的展开控制小部件11320。通过使用这些方法中的任意一种,用户可展开父页面节点,从而展示它的后代节点。展开控制小部件11320的不存在表示该页面节点没有后代,并且因而不能被展开。如果展开控制小部件11320的确存在,则控制窗口小部件11320可改变为相应页面节点的当前状态(即展开或折叠)。例如,当页面节点被折叠时(即隐藏其后代节点),展开控制小部件11320可包括一个从标识文本11325向外指出的空白箭头11350。相反,如果页面节点处于展开状态,则展开控制小部件11320可包括一个指向该页面节点的被显示的后代的黑箭头11351。如本领域所公知的,展开控制小部件11320可以用许多方法并使用诸如"+"和"-"等各种符号、颜色和/或动画来实现。图U4A示出按照本发明的示例性实施例的用于定制导航窗格的方法。用户可1以用各种方法来定制导航窗格11215,包括添加新的根节点、移除现有的根节点、修改页面节点出现在窗格中的顺序以及创建指向页面或根节点的快捷方式。在本实施例中,用于定制导航窗格的方法允许用户添加一个表示指定的页面的节点到窗格11215作为根节点。新的根节点的添加方便了通过绕过无关父页面导航到经常使用的页面的过程。为添加新的根节点,用户可在一开始使用本领域所公知的外壳浏览方法定位所需页面11457。例如,用户可使用图112的外壳浏览器窗格11210来定位所需页面11457。如图所示,在定位了所需页面11457之后,用户随后可从外壳浏览器窗格11210(图112)中选择页面11457并将其拖曳到导航窗格11215。在接收到创建新根节点的用户请求后,导航窗格11215可标识页面的类型、获得页面的物理位置、确定页面的后代以及创建一个包括指向页面的物理位置以及后代的可展开/可折叠列表的指针的根节点。与简单的指针或快捷方式形成对比,根节点是一种动态的工具,它不仅允许用户通过选择该节点来査看相应的页面,而且还能查看或隐藏(即展开或折叠)相关联的后代列表。例如,如果用户想要使文件夹"Louie'sDocuments"(Louie的文档)成为导航窗格11215中的根节点,则导航窗格11215将标识它是文件夹页面类型的。随后,导航窗格11215将在窗格11215中创建一个指向"Louie'sDocuments"的物理或虚拟位置的名为"Louie'sDocuments"的节点结构。当根节点表示静态或动态的列表时,该根节点可存储标识它所指的列表的定义的位置的信息。同样,可将其它的页面/根节点添加到导航窗格11215。在本发明的一个实施例中,根节点的列表存储在注册表中,注册表可包括对应于系统选项、硬件等的数据和设置。诸如注册表等介质中的存储允许在导航窗格中自定义的根节点列表,以在不同的浏览会话中保持不变。本领域的技术人员将意识到,节点的列表可使用一组其它方法并用各种介质来存储。用户可通过使用上下文菜单中可用的移除选项来从导航窗格11215中移除预先存在的根节点11312。在本发明的一个实施例中,用户可通过选择和/或右键点击(即,使用鼠标)根节点11312来访问特定根节点11312的上下文菜单。一旦用户从上下文菜单选择了移除选项,导航窗格11215就移除所选择的根节点11312及其相关联的后代列表11412。参考图114B,用户可进一步在导航窗格11215中通过选择根节点11311、11312和11313并将其拖曳到其较佳位置来调整根节点11311、11312和11313的顺序。用户同样可对具有共同父节点的兄弟节点进行重新排序。可用位置指示符11470标识目的地位置,以确保根节点的准确重新定位。例如,用户可通过将Work(工作)128页面114卯拖曳到由位置指示符11470标识的位置来重新组织Lyon'sDocFolderl1312。或者,用户可将导航窗格11215上的现有页面拖曳到桌面。通过这么做,用户可在桌面上创建到所选页面的快捷方式而不从导航窗格11215中移除该页面节点。在这样一个情况中,导航窗格11215可创建节点指针的副本并将该副本放在桌面上。还有另一种替换方案(未示出)允许用户将父子节点和子节点捆绑在一起,使得它们出现在同一分层层次上。例如,用户可将"Lyon'sDocFolder"11312和子文件夹"Work"11480捆绑在一起。通过将父子文件夹捆绑在一起,"Lyon'sDocFolder"11312和"Work"114卯出现在导航窗格的同一分层层次上而不是在实际上修改底层结构。这一特征让用户能够临时修改导航窗格的分层视图而不造成永久的改变。用户也可使用与图15所示的按照本发明的一个说明性实施例相似的配置对话框来添加、移除、重命名和/或重新排序根节点。配置对话框11500可包括显示的页面窗格11505、可用页面窗格11510、添加按钮11515、移除按钮11520、重新排序按钮11525和11526、复位按钮11530、重命名按钮11535和设为主页选项11540。配置对话框11500允许用户在一个窗格11510中査看可用页面的列表,同时修改显示的页面窗格11505中的导航窗格的内容。可用页面窗格11510显示对应于选中位置的可选择页面的列表。用户可通过使用下拉菜单11550改变该选中位置。一旦用户已经有了可用页面的列表,用户随后可选择一个可用页面并且选择添加选项11515来创建对应于该选中页面的新根节点。显示的页面窗格11505可自动更新其内容以反映新根节点的添加。换言之,在检测到改变时,配置对话框11500可刷新窗格11505和11510来反映最当前的信息。如果用户想要移除当前根节点,则用户可在显示的页面窗格11505中选择该根节点并且选择移除选项11520。在移除根节点后,导航窗格解除该节点与相应页面的关联并且从窗格中移除该节点。其它选项允许用户重命名当前根节点或者将根节点设置为主页。用户可通过选择节点并使用箭头按钮11525和11526调整其相对位置来重新排序显示的页面窗格11505中的根节点。如果用户在添加、移除、重新排序或重命名一个或多个根节点时犯了错误,则用户有复位选项11530来复位他或她对导航窗格所做的改变。选择复位按钮11530可将用户从窗口11500最后被打开起所做的改变还原,或者可还原到默认状态,从而撤消用户已经做过的任何改变。图116A示出按照本发明的说明性性实施例的用于定制页面节点的页面属性对话框。用户可通过属性对话框11600来配置指定页面节点的上述属性。属性对话框11600可包括展开控制选择工具11603、图标选择工具11505、标识文本改变工具11610、尺寸选择栏11615和隐藏选项11620。展开控制选择工具11603和图标选择工具11605为用户提供改变展开控制图标(例如在前面的操作系统中改变成"+"和"-")和毗邻标识文本的表示图标的灵活性。展开控制选择工具11603和图标选择工具11605可通过允许用户在图像与图标的数据库中搜索并从中选择的下拉列表或通过外壳浏览器实用程序来实现。对于展开控制选择工具11603,可要求用户选择两个图象来表示折叠与展开两种状态。或者,选择工具11603和11605可包括可用图标或图像的预定义菜单。一旦用户已经选择了一个图标,他或她就有在将改变应用于页面节点之前预览改变的选项。另外,用户可改变页面节点和下层页面的标识文本的内容和外观。这可以通过编辑导航窗格内的文本来完成,或者通过属性对话框11600来完成。属性对话框11600可包括用于调整字体、字体大小、样式(斜体、粗体、小型大写字母等)和颜色的选项。例如,用户可增大字体大小并且改变有特别含义或重要性的页面及其代表节点的字体颜色。这一特征可允许用户向其他人标识该页面有很高的重要性或相关性。页面属性配置对话框11600的另一个选项可允许用户隐藏导航窗格中的页面节点,从而在查看导航窗格时该页面节点是不可见的。在本发明的一个实施例中,当页面节点被隐藏时,其后代节点可被提升到导航窗格中的根节点状态。因而,隐藏选项允许用户同时创建若干个根节点。在图116B中示出包括隐藏的页面节点的导航窗格。组11610包括隐藏的Autolist(自动列表)根节点的后代页面节点,而与该隐藏的节点无关的Folders(文件夹)页面节点11615也是可见的。当用户正在使用依赖于一个特定的根节点的页面大范围工作时,隐藏该特定的根节点也是有利的。通过隐藏该节点,不要求用户不断地展开和折叠该根节点以与子节点交互。**多值属性进一步进行上述参考图51-66的讨论,本发明的其它方面可提供一种让用户修改属性(或元数据)的系统和方法。在一个方面,提供了包括文件属性的显示的外壳浏览器,这些属性可包括多值属性。用户可编辑多值属性,并且系统可智能地协助用户编辑多值属性。系统可标记化多值属性值,并且可在多值属性域内提供持久的提示文本来向用户提示该域的选项。系统可显示聚集的属性值,并且可结合视觉差异来将聚集的值与它们所要应用的文件相关联。编辑聚集值是有可能的,并且当编辑聚集的多值属性时,系统可智能地协助用户基于各种因素,诸如己经在使用的条目和使用这些属性值的上下文来选择(或避免)条目。当对多个选中文件聚集多值属性时,系统也可采取步骤来帮助保持特定的值出现在各文件中顺序。趋向于更频繁地出现在一个文件的多值属性的开始处的值将趋向于出现在相应的聚集的多值属性的开始处。图117A-B描绘可结合上述和在此所述的特征的预览过程的示例流程图。在步骤11701,作为该过程的初始步骤,可在系统上安装一个或多个预览器。预览器可以是作为底层操作系统软件的一部分出厂的软件。预览器也可以是在出厂后加载到计算机系统上的附加软件。例如,底层操作系统可展示允许将来对预览器的开发和/或添加的一组应用程序接口(API)。在步骤11702,可进行检査以确定是否要为一个或多个预览器创建新的关联。关联可以是管理要被使用的预览器的时间和类型的任何准则和/或请求。可创建关联来定义要对给定用户身份使用的预览器类型(或者如果特定用户希望完全禁止预览器),和/或要对某种基于系统条件的预定义条件(例如,可用资源、存储器、当前正在运行的应用程序、已生成或要生成的预览数量、可用电源、日时、其它应用程序的状态等等)以及文件类型(例如,用户可能喜欢对家庭视频使用一种类型的预览器,而对压縮的歌曲使用不同的预览器)使用的预览器,使得系统使用的默认预览器可以是用户定义的。用户可指示某些文件类型只具有基本/非交互型预览,或者如果系统经历了预定数量的失败、崩溃或挂起,则系统可以自动地禁止预览。应用程序可与一个或多个预览器相关联,使得从该应用程序打开的预览器或者由该应用程序创建的文件的预览始终可使用相同的预览器来预览。这些关联本质上可以是分层的,使得多个预览按首选项排列。请求新关联的步骤11702可在启动时、安装应用程序后、执行预定的应用程序后和/或用户请求时发生。如果接收到创建新关联的请求,则在步骤11703创建该关联。创建关联的动作可通过向用户查询当要使用某些预览器时要满足的特定准则来完成,或者通过自动地从应用程序和/或系统本身检索这样的准则信息来完成。当创建时,实际的关联可以采用存储在计算机系统的存储器中的、将预览器与上述任一准则相关联的数据的形式。在步骤11704,进行检查以确定是否需要打开预览器。有许多事件可以触发预览器的打开。例如,当用户打开系统上的外壳浏览器并且开始细察文件和/或文件夹时,浏览器可启动预览器来显示一个或多个选中文件(或当没有选中任何文件时的默认文件)的预览。或者,预览器可在任何其它应用程序请求时触发。预览器也可通过创建由多个应用程序共享的公用文件对话框来触发。公用文件对话框预览在下面进一步讨论。如果要打开一个预览器,则系统可在步骤11705接收要被预览的一个或多个选择。这可涉及接收要被预览的文件(或多个文件)的标识。这样的选择可由用户作出,诸如通过移动鼠标指针到一个列出的文件并按下鼠标左键或者点击并拖曳围绕多个文件清单的选择框来选择一个或多个文件。或者,可自动作出选择。例如,某些应用程序可默认为预定的文件,并且可自动地选择该文件用于在初次打开时预览。诸如MICROSOFTWORDTM等文字处理程序可默认为包括文本编辑特征的预览器。系统可自动选择用于预览的文件,作为进行搜索的结果。用户可输入诸如关键字等搜索准则,并且系统或应用程序可自动选择搜索结果之一用于预览。例如,用户可在系统搜索工具中键入"peanut"(花生)作为关键字,并且包括"peanut"的结果文件清单可连同第一个列出的文件的预览一起显示。一旦选择了要预览的文件,系统随后在步骤11706选择并生成合适的预览。选择合适的预览可基于己经创建的一个或多个关联(例如,用户已经选择了一个特定的预览器来预览某种类型的所有文件,或者用于预览某些文件),并且还可基于可用(或可消费)的系统资源。或者,可请求用户例如通过从所呈现的适合用于要预览的选择的预定预览器的列表中进行选择来标识对当前预览应使用哪一预览器。在某些情况下,可能希望在正在启动更丰富的交互式预览的同时生成可被査看的初始基本预览。例如,如果文本文档的丰富预览需要好几秒钟来加载和生成,则可在这期间向用户呈现可以较快生成的更基本的预览。该更基本的预览可具有部分或没有丰富预览所提供的交互功能,并且可以至少让用户开始预览选择。选择预览可包括可以使用的预先存储的预览器序列。例如,一个特定的应用程序或视图可具有可用预览器的分层序列,诸如完全的丰富预览器、削减特征的预览器、基本縮略图预览(不需要是交互式的)以及与当前在MICROSOFTWINDOWSTM操作系统中使用的桌面图标相似的基本图标。当要打开预览器时,系统可从一个预览器,诸如完全的丰富预览器开始,然后沿预览器序列"后退"以找到最合适的预览器。例如,完全的丰富预览可能对具有提供让用户能够通过预览修改文档的翻页、缩放和文本编辑能力的预览器的特定视图是默认的,并且如果没有足够的系统资源(例如由于存储器限制、其它应用程序、其它预览器等)来适当地提供预览,则系统可检査列表中的下一个预览器(例如具有较少特征的预览器)。下一个预览器可能具有略微减少特征,例如,它只提供在文档中导航(例如翻页和縮放)的能力,而没有编辑能力。这一预览器需要较少的系统资源来运行,并且在资源不可用时是较佳的。如果仍没有足够的资源来提供给这第二个预览器,则系统可以检查下一个预览器(例如,具有很少或没有交互性的基本縮略图视图),依此类推,直到在给定可用资源的情况下找到合适的预览器。当生成预览时,该预览可作为独立于请求该预览的应用程序的不同进程来启动。例如,如果在系统外壳浏览器中提供预览器,则该预览器可作为独立于该外壳浏览器的进程来执行。将预览作为独立的进程,外壳浏览器可能就不会发现它自己处在一个必须等待来自预览应用程序的响应的位置,从而避免在预览器遭遇困难时的崩溃或挂起。这样的困难可以由各种困难引起。选中文件可能有被破坏的数据,使得预览应用程序不能处理它;预览应用程序本身可能有错误或缺陷从而不能平滑地操作;文件被加了错误的标签或错误地标识从而选择了错误的预览应用程序(例如,文件可能指示它是音频文件,而实际上是文本文件);或者系统资源可能遭遇诸如坏存储器扇区等问题。让预览器作为不同的进程提供了一定程度的崩溃/挂起抵抗力。如果预览器遭遇错误、崩溃或挂起,则问题将只限于预览面板本身,而外壳浏览器将继续运行。在某些情况中,系统可跟踪特定预览应用程序遭遇困难、崩溃和/或挂起的次数,并且如果超过预定数量(例如3次),则系统可采取减少使用该特定预览器的频率的步骤。例如,系统可降低该预览器的优先级,或者创建要求不同预览器的关联。在步骤11707,可进行检査以确定用户是否已经与任何已显示的预览交互过。交互可以采用已知的计算机交互的任何形式。例如,交互可以是在预览面板内的鼠标点击。交互可以是在预览面板中选择一个或多个图形界面元素,诸如翻页按钮光标箭头等等。交互可以采用键盘键的形式,诸如在文本文档的预览内移动光标的光标移动键。如果发生交互,则在步骤11708将发生适当的处理。处理交互可采用对用户输入的任何响应的形式。例如,响应于用户在预览面板内点击鼠标或其它指针,处理可开始编辑过程。编辑过程可允许用户直接从预览面板查看和/或编辑被预览的文件,而不需要用户离开具有预览面板的视图。在步骤11709,进行检査以确定是否已经调整预览面板的大小。例如,可通过用户输入命令和/或通过点击和拖曳预览面板的边界或调整大小工具来调整面板的大小。如果调整了面板的大小,则在步骤11710显示新的经调整大小的面板。如果需要的话,经调整大小的面板可被配置成自动地保持在原始面板中存在的相同的屏幕高宽比。可诸如通过关联将某些文件类型配置成始终具有相同的屏幕高宽比(例如视频始终为4:3)。如果伴随预览显示属性或元数据,则也可调整属性和/或元数据显示区的大小以对应于新的预览面板大小。例如,属性或元数据显示区可被配置成始终具有与预览面板相同的高度或宽度。相反,可响应于调整属性/元数据显示区的大小来调整预览器的大小。如果需要的话,新的大小可存储在系统中,作为与特定的文件类型、当前视图、应用程序和/或用户相关联的新的默认大小,并且在下次需要预览时使用。在步骤11711,可进行检查以查看预览面板的新大小是否已经过了预览的一个或多个预定阈值。如上面提到的,预览器可具有一个或多个准则供它们使用。一个这样的准则涉及可用于预览器的显示区的总量。例如,可为不同大小的预览提供不同层次的交互性和/或功能性。使用诸如MICROSOFTWORDTM等文字处理程序作为例子,较大的预览可提供更详细的功能性,诸如导航/翻页和縮放文档、改变字体大小或者使用预览中的光标编辑文本,而如果显示太小以至于不能合理使用光标来编辑文本,则MICROSOFTWORDTM文档的较小预览仍可包括导航和縮放功能,但省略了光标文本编辑。预览器可具有一个或多个与其相关联的阈值大小,它(们)可在关联期间创建,并存储在计算机系统的存储器中,并且在符合或过了阈值时能标识替换预览器。例如,预览器可能需要最低256像素的宽度来实现某些功能,而只有在512像素时才能包括其它功能。如果新的大小过了诸如最小或最大阈值等阈值,则可在步骤11712选择并生成替换预览。替换预览的生成可与在步骤11706中预览的生成相同。因此例如,如果预览面板的大小已经减少到超过某个最小大小,则可使用提供那些交互特征中仍可在较小大小下使用的较小子集的替换预览器。或者,如果预览面板已经放大到超过某个最大大小,则可使用提供可在较大大小时使用的更多特征的替换预览器,诸如具有更多用户界面控件或允许在预览内详细编辑的预览器。在步骤11713,进行检查以确定是否要编辑显示的属性或者元数据。这样的数据可通过例如,在显示的一条元数据上点击鼠标或指针,并且使用文本输入项或菜单用户界面输入一个值来编辑。在步骤11714,采取合适的步骤来编辑特定的属性。实际的步骤可取决于正在编辑的数据的类型。日期域可带出日历用户界面元素,从而允许用户査看并选择日期(和/或时间)值用于输入。其它类型的数据可通过文本输入框输入,并且可从诸如下拉菜单等菜单选择其它类型。在步骤11715,进行检査以确定系统是否在等待丰富预览器的加载。如上面提到的,在系统上正在初始化丰富预览的同时,可提供更基本或普通的预览。如果系统正在等待丰富预览器,则在步骤11716,进行检査以确定丰富预览器是否已准备好。如果已准备好,则系统在步骤11717用丰富预览代替现在的预览。步骤11717也可包括对用户的确定丰富预览器是否仍是所需的査询。尽管这个步骤显示两个预览器,但也可使用两个以上预览器。例如,系统可在等待縮略图预览的同时显示图标,并且随后在等待丰富预览的同时显示縮略图。在步骤11718,进行检査以确定是否要关闭预览器,并且如果是,则在步骤11719关闭预览器。随后,该过程返回到步骤11702重新开始。当然,图117a-b所示的过程仅仅是示出安排多个步骤的方法的一个例子,并且任何步骤可以按实现(或移除)在此所述的任何特征所需地重新排序、重复、移除或修改。图118是结合了本发明的一个或多个方面的另一个外壳浏览器界面U800(或外壳浏览器)的例子。浏览器11800可以作为操作系统的一部分来提供,用于查看一个或多个目录、网络、驱动器、文件夹等的内容,并且可以是通用的或非应用程序专用的。在浏览器11800中,列出了多个项目11801,连同文件名、文件类型和为各个项目列出的其它数据。如在本例中所示,多个不同类型的文件(例如,文本文件、图像文件、音频文件和/或诸如文字处理应用程序等现有应用程序的自定义数据文件)可在外壳浏览器中显示。项目11801被示为按日期组织(例如,今天和昨天的文件),但可使用任何分类或组织(例如,文件大小、文件名、工程名称、文件类型、艺术家、专辑、创建日期、编辑日期等等)。用户可选择清单之一,诸如清单11801a(示为以第一种模式在视觉上区分,该模式可以是红色),并且外壳浏览器11800可显示对应于所选择的项目11801a的交互式预览面板11802。例如,当项目11801a是包含文本数据的文件,诸如MICROSOFTWORDtm文件,或者其它文字处理程序文件时,交互式预览面板11802可显示出现在选中项目11801a中的一页或多页文本。交互式预览11802可允许用户直接在预览面板中编辑和/或操纵显示的文本。例如,可允许用户在交互式预览11802内点击鼠标指针来使光标出现在面板内,并且用户可操纵光标或输入键盘输入来添加、删除和/或修改显示的文本。其它类型的控件,诸如翻页控件、字体/格式控件、滚动控件、文件管理控件、输入/输出控件等等也可出现在预览面板11802中。不同类型的数据文件可具有不同类型的交互式预览。例如,用于音频文件的交互式预览可能包括控制所选音频文件在计算机系统的一个或多个扬声器(诸如扬声器197)上的播放的音频预览的控件。.wav文件或.mp3文件的预览可包括这样的音频命令。可以有用于播放、暂停或提示音频文件的播放的控件。诸如图片的预览等某些预览可包括縮放/扫视控件,用于允许操纵显示的图像。视频预览可具有用于播放、暂停或提示视频在计算机的显示器上和音频在扬声器上的播放的控件。交互式预览11802也连同图118中^f示的具有标签11803a的多个属性11803(包括元数据)与相应值11803b—起显示。任何类型的文件属性可与标签一起显示。示例属性可包括文件大小、文件夹位置、文件名、工程名、编辑/创建日期、应用类型等等。出现的各种标签和属性11803可按照选择的文件的类型来定制,使得可针对不同类型的文件出现不同的属性集,取决于适合所选文件类型的内容。例如,所选择的包含歌曲的音频文件可具有专辑名、艺术家、歌曲名和发行日期的属性,而所选择的电子表格文件可用不同的属性,诸如组名、工程名、工程领导和工程起始日期来替换这些属性。要显示哪些属性的决定可自动配置,或者可向用户给出选择(和/或取消选择)要出现在特定文件类型的属性区中的属性的选项。属性可按类型来区分优先顺序(例如"专辑名"属性类型对于歌曲文件比图像文件更重要)以方便该显示。对于显示的信息的其它变化也是有可能的。例如,某些标签(诸如文件名和文件类型)可被认为是可任选的,或者可从显示中完全省略。来自图118的一个示例是文件名和文件类型,这已经在屏幕的其它地方显示了,并且如果由预览器再次在属性区域中显示则是多余的。能用于这样的不显示的标签的空间可用于显示另外的属性信息。没有值的属性默认可被省略,或可被标志为即使为空也要出现。作为另一种变化方案,可为某些属性提供不同数量的空间来容纳更长的属性。这些属性可在属性显示区中编辑。例如,用户可简单地点击或悬停在显示的属性值上,并且开始输入/编辑数据的过程。用于输入/编辑数据的界面可取决于所涉及的特定属性或类型。诸如日期等某些属性可具有日历显示和/或下拉菜单来选择值。例如,用户简单地将鼠标指针移动到日期域上,并且可以出现日历显示以帮助用户通过从日历中选择来输入日期。可显示可能选项的下拉菜单或列表来简化输入。例如,通过在月份域上点击鼠标指针,系统可显示月份列表,用户可从中选择以填充该域。可在预览显示中显示带有光标的简单文本框,以允许用户从预览显示中直接键入和/或编辑属性值,而不需要用于该数据的单独的对话框。文本框可以是填空框,用户可以使用光标或键盘来打字。可使用任何其它形式的数据输入。为帮助用户标识可编辑的属性,这些属性可在显示中以某种方式在视觉上加以区别或强调。例如,可使用不同的颜色(例如黄色)、字体(例如加粗字母或全大写字体)、外观和/或符号来指示用户可编辑的值和不可编辑的值。也可使用加亮来区别或强调某些域。例如,可编辑域可具有在其中和/或围绕它们的某种颜色(例如淡黄色),这与在打印文档上使用黄色轮廓色时创建的效果相似。某些文件类型可具有比适合于给定预览显示更多的属性。在某些实施例中,可以有诸如ALL(全部)按钮11804等可允许用户査看给定文件的全部属性,或者至少査看另外的属性的选项。如在上面步骤11709中提到的,可向用户给予调整预览和/或在浏览器11800中使用的属性显示的大小的选项。例如,可在预览面板11802中使用调整大小工具11805,并且通过选择和移动该工具,用户可以使浏览器11800自动调整预览器和/或属性区占用的显示区。图119示出了一个示例用户界面,其中用户己经调整交互式预览11802的大小以具有较大的大小,结果得到较大的交互式预览11901。新的预览11901可被配置成具有与旧的预览11802相同的屏幕高宽比,或者可允许用户修改屏幕高宽比,作为调整大小过程的一部分。有了较大的预览11901,浏览器11800也可增加分配给属性显示的空间,使得属性和预览在尺寸上是相对应的。例如,属性区域11902可被配置成具有与经调整尺寸的预览相同的高度,并且可自动重新排列显示的数据以适应该新的大小。可在该较大的区域中显示另外的属性。如上面提到的,预览大小的改变在某些情况中可引起所提供的预览类型的改变,使得不同大小的预览面板导致不同类型的交互式预览。因此预览11901可在交互性的层次和/或提供的功能类型方面不同于预览11802。作为一个例子,如果预览小于256像素宽,则某些图形编辑功能可能没有意义。如果用户调整用于显示属性的区域的大小,则可以发生相同类型的调整大小。例如,用户可在属性区11902的边界上点击和拖曳鼠标指针并调整该区域的大小,并且使预览区11901改变大小以符合新属性区11902的尺寸。图120示出一个例子,其中预览已经被调整大小成较小的预览12001。较小的预览面板12001可在给定其较小尺寸的情况下具有一组减少的特征。属性区12002也可按照预览面板12001来减小,并且可重新安排和/或移除所显示的属性或元数据,以适应可用空间的减少。某些预览可展现MicrosoftWINDOWStm操作系統中存在的图标行为,使得右键点击、左键点击、拖曳等可具有相同的效果。例如,将一个图标拖放到另一个上可使第一个文件被附加到第二个文件上。除了调整预览面板和/或属性显示区的大小之外,可自动或者按用户请求重新排列这些元素。例如,用户可能希望移动(例如,通过选择首选项、通过点击和拖曳预览、或者某个其它用户输入)预览12101(图121)以具有不同的方向和外观。在预览某些类型的文件时,不同的方向可能更好。例如,以"横向"格式拍摄的照片或者视频图像的预览更适合于宽比高大的方向(例如"横向"),而其它类型的文件(例如文本文档或"纵向"图像)更适合于高比宽大的方向。两种格式之间的选择也可以例如基于文件类型来自动完成。例如,作为步骤11706中的预览选择或步骤11703中的关联的一部分,系统可自动检查文件类型、属性和/或元数据以确定哪个预览方向最适合于要预览的选择。为方便重新安排以及上面提到的预览面板的崩溃/挂起抵抗力,预览面板和属性/元数据区域可作为独立的软件模块来实现。每个模块可作为在系统的处理单元120上的不同进程执行。或者,预览和属性/元数据面板不必作为系统中不同软件或软件模块来实现,而是可以作为公用模块来实现。集成的层次可以是基于所希望的扩展性层次、软件存储器覆盖范围(footprint)和其它因素的设计选择。如前面提到的,预览面板可结合到计算机系统的公用文件对话框中。公用文件对话框可以是要由计算机系统上执行的各种应用程序共享的、计算机系统提供的用户界面元素和/或程序。例如,操作系统可能提供可由希望在系统上创建文件的任何应用程序使用的公用的"OpenFile(打开文件)"或"SaveFile(保存文件)"对话框。在这样的公用文件对话框中包括预览器允许多个不同类型的应用程序得到具有预览的好处,并且允许应用程序有效地提供本机不支持的文件的丰富的交互式预览,而不需要应用程序开发者开发它们自己的预览器。在公用文件对话框中结合预览器还提供了跨多个应用程序一致的界面,其中用户偏好和关联可在各应用程序中一致地使用。而且,在公用文件对话框中提供预览器可允许应用程序有效地为形形色色的文件类型一甚至应用程序在本机不支持的文件类型提供丰富的交互式预览。例如,电子表格应用程序可能已经安装了它自己的丰富交互式预览器来处理数据密集型电子表格的预览。可能没有编辑该电子表格应用程序的数据文件的能力的独立的文字处理应用程序仍可使用公用文件对话框来提供这样的预览。图122示出作为"OpenFile"公用对话框的一部分的预览器的例子。这些公用文件对话框连同它们的预览一起可扩展地通过某些API被提供给其它应用程序。在某些情况中,用户可能希望一次性选择多个文件,或者同时让多个文件被有效选择。在这些情况中,预览器可如上所述地操作,从而为每个选中文件提供独立的预览。或者,系统可改变其行为。例如,如果在步骤11705,系统确定多个文件被选中,则生成预览的步骤11706可涉及确定哪个选中文件将被预览和哪些文件将不被预览的过程。这一确定可基于诸如上述关联和首选项等各种准则(例如,第一个选择、最后一个选择、最新的选择、最大的选择、最简单的预览、用户预览器首选项等等)来做出。系统也可采取同时生成对应于多个选择的预览的步骤。如在图123中所示,可对多个预览面板12301给予堆栈的外观以示出正在预览多个选择。主预览12301a可出现在最上面,并且可具有所有与其它预览相同的上述丰富交互性。用于其它选择的其它预览12301b、12301c和200d可堆栈地出现在主预览12301a之下,并且可具有水平偏移X和垂直偏移Y。偏移可以是一个常数,以提供一致的外观。或者,每个后续预览的偏移可随着更多的预览被放入背景中而变小。可以有被堆栈的预览的预定最大数量,超过该数可使用不同的外观。例如,如果预览的预定最大数量设置为6(可以由系统或用户来设置),并且如果选中超过6个文件,则堆栈的预览可具有不同的外观,如图124所示。在该图中,前6个预览以外的预览12401a、12401b和12401c被示为以较小的偏移堆栈。这些另外的预览可被呈现为简单的空白预览、具有预定的模式、和/或具有一定程度的透明或不透明以向用户指示有更多的选中文件未被预览。也可使用替换的多预览显示。例如,可使用预览的旋转3维传送带(carousel),诸如图125所示的。有六个面的传送带12501可在它不同的面12502a、12502b、12503c(显示在背面)、12502d(显示在背面)、12503e(显示在背面)和12502f上显示六个独立的预览。可提供用户界面元素12503来允许在传送带上手动导航,诸如旋转或縮放,或者传送带可被自动地旋转(或者根本不旋转)。其它方法包括在散开式(fanned-out)显示中显示多个预览、并排地显示多个预览(如果需要则调整大小)、在堆栈的3维等面积视图中显示预览(类似一叠纸)和在自动或手动导航的情况下顺序地显示预览。多个选中文件(例如通过在多个文件上点击鼠标光标、按住SHIFT或CTRL键、或者点击和拖曳围绕多个文件的选择区域选择的)的预览也可以根据选择的文件的类型而变化,并且可对选中文件的不同组合使用不同的预览序列。例如,当选择多个图像文件时,系统(例如经由操作系统、硬件、应用程序等)可使用堆栈式演示,而当选择多个视频文件时使用顺序的视频预览。系统也可在选择多个文件时縮回或简化所提供的预览,以便节省资源。上述各种功能可被实现为单一的集成代码段,或者作为子例程或模块的集合。例如,可以有处理多个文件的预览的迭代程序模块、负责在预览中提供的用户界面命令的命令模块、生成预览本身的预览模块、处理预览显示的属性/元数据部分的属性模块等等。如上面提到的,这些预览功能可在用户要在系统上显示文件或其它数据的清单的任何时候提供。当通过使用一个或多个准则来生成特定的清单时,诸如当显示是用户请求的关键字搜索的结果时,预览器可使用搜索准则来组装预览。例如,应用程序可能希望将在搜索中使用的关键字通知给预览器,使得预览器可以确定要使用哪个预览,或者当要使用多个预览时如何排序预览。这可以是可扩展的特征,其中为预览器提供搜索准则。如上面提到的,可作出多个选择,并且所显示的预览图像可作为结果而改变。这些多个选择也可引起属性和/或元数据的显示的改变。例如,图126示出一个示例视图,其中已经选择了两个文件12601和12602。可用独特的方式或独特的外观来区别和/或强调所选择的文件,诸如具有不同的颜色、字体、形状、纹理、样式、大小、背景色、图案等等。这些选中文件的属性和元数据可显示对两个文件相同的属性(诸如每个文件的工程名)12603、12604,并且可具有相应的外观,使得用户可以容易地将属性与其相应的文件相匹配。例如,属性可以是彩色编码的,以标识它们所属的选中文件。为文件12601显示的图案可强调和/或区别该文件,诸如按照颜色(例如红色)、加亮(例如围绕文本的不同颜色,如纸质文档上的轮廓色)、字体(例如,加粗、下划线、全部大写、TimesNewRoman等等)、大小(例如较大的文本)等等。可显示文件12601的属性的属性12603可具有用于该文件的相同的强调和/或区别,以将属性与其各自的文件相关。多个选中文件的许多属性和/或元数据可被聚集并且将它们作为合集或总和来一起呈现。例如,如果一个显示的属性是文件大小(例如,使用多少千字节(kb)或兆字节(Mb)),并且选中了多个文件,则文件大小属性可显示聚集的文件大小值,它是所选中文件的文件大小的合计(例如4.3Mb)。作为另一个例子,如果一个显示的属性具有关键字,则多个选中文件的关键字可被聚集在一起并且作为单个关键字属性呈现。某些聚集可导致较大的属性显示,并且可使用上述相同的外观强调/区别,以将聚集的属性与它们各自的文件相关。或者,可进一步将这些属性与选中文件区别开来(例如,不同的颜色、字体、加亮、外观、大小等)以指示该属性是所有选中文件的聚集。图127示出一个例子,其中聚集的属性值12701用通过阴影表示的不同外观表示,这分别与在选中文件12601、12602上的图案不同。阴影可表示例如红颜色,而文件12601和12602上的图案可以是绿色和黄色。聚集值的强调和/或区别在某些情况下可以用指示这些值的来源的方式来完成。例如,图128示出图127所示的视图的放大的属性/元数据显示。诸如关键字等某些聚集的属性可导致从多个选择聚集的多个属性值的清单12801。这些聚集的属性可被给予指示哪些值来自哪个选中文件的不同外观。在图128的例子中,值12802和12803是以一种阴影的形式显示的,以指示这些特定值(例如关键字)对于两个选中文件12601和12602是共同的。该阴影可以反映上述区别和/或强调的任何类型(例如红颜色)。用第一种模式显示值12804和12805以指示它们与共享此相同模式的一个选中文件12601相关联(例如,文件及其值都是蓝色),而值12806具有不同的模式以指示它与共享此相同模式的另一选中文件12602相关联(例如这个文件及其值是绿色的)。可使用独立的线12807来描绘对于所有选择文件共同的值,以区别其它值。当然,不同的外观可在选择多个文件时被给予不同的意义。标签12808也可在视觉上区别和/或强调以指示它是聚集的属性。例如,标签12808也可以是红色的。强调和/或区别也可以从用户对聚集值中的某些值的选择开始。例如,用户可选择聚集列表中的值之一,并且使随后的显示出现,该显示指示哪些文件共享所选择的值。指示可按共同的外观形式出现,其中所选择的值及其相应的文件以共同的方式显示。例如,通过在值12806上点击,系统可自动改变该属性值的字体为黑体字体,并且可对文件清单12602进行相同的改变以标识其属性被选中的文件。尽管上面的讨论着眼于与外壳浏览器中的预览一起显示的属性和元数据,但这些特征也可用在其它上下文中。涉及多个属性和/或元数据的显示的任何情况可从在此描述的特征中获得好处。尽管有些种类的属性更易于聚集,因为它们具有数字(例如文件大小只是各个尺寸的合计),但其它类型的属性可能更难聚集。例如,某些属性具有文本文字作为值(例如关键字)。而且,某些个别的属性和/或元数据本身可具有多个值,称为多值属性。例如,给定文件的"关键字"属性可具有零个、一个、二个、三个或任何数量的不同关键字作为值(例如,一个文件可列出"花生"、"食物"和"糖果"作为与该文件相关的关键字)。这多个值也可按对于每个文件有意义的方式来排序,使得第一个列出的值可以更重要(例如,主要涉及花生的文件可将"花生"列出作为第一个关键字,因为它最重要,并且可按重要性的降序排列在第二位和第三位列出"食物"和"糖果")。当各自具有多个关键字的多个文件被选中时,聚集这些属性的过程不象只是加数字那样简单。当发生这种情况时,系统可显示值清单,其中的值是基于它们对于各个选中文件出现的顺序以某种形式的排列顺序排列的。可采取步骤来帮助确保当所得的聚集值的列表对应于这些值在对于各个选中文件出现时的相对重要性。例如,五篇报纸文章可具有标识在这些文章中讨论的城市的关键字,并且按下列顺序排列文件l:奥斯汀,芝加哥,波士顿,底特律文件2:芝加哥,底特律,波士顿文件3:芝加哥,波士顿文件4:底特律,芝加哥文件5:波士顿,奥斯汀在本例中,芝加哥在"第一位置"给出两次(例如,文件2和3讨论芝加哥非常多),而在"第二位置"给出两次(例如,文件1和4没有集中于芝加哥,但它们提到它)。所得到的这些属性的聚集可移除冗余,并且可以用表示"芝加哥"(以及其它值)对于文件的相对重要性的顺序来显示这些属性,并且还考虑特定值全部出现在文件的属性中的次数"芝加哥,波士顿,底特律,奧斯汀"。因此在本例中,多个选中文件总体上涉及芝加哥最多,接着是波士顿,再后是底特律,最后是奥斯汀。图129A-B示出用于确定显示对多值属性聚集值的顺序的示例过程,并且可在每当需要这一聚集显示时和/或每当多值属性被改变时运行该过程。该过程是单一可转移投票(SingleTransferableVote)算法的经修改的形式。在此过程中,当特定值首先列在文件的属性中时,它被视为第一位置的一张"选票"。如果该值列在第二位,则它是第二位置的选票,依次类推。该过程产生非冗余的顺序,它既基于每个特定值出现在选中文件中的次数,也基于由每个选中文件放置该值的相对重要性。在步骤12901,全局整数常数C或者被自动地建立(例如计算机系统可检测系统资源的可用性并调整该常数以避免使系统停顿),或者被手动建立(例如,可给予用户取决于他们在多值属性的聚集时想要的详细程度来设置C为他们所希擎的高或低值的选项)。这个常数表示执行该过程的位置或排序的数量,例如C可以是十(10)。较高的常数C将允许在排序时有较大的粒度,但将需要较大的处理能力和更长的时间。这个值可根据用户偏好、系统设置、可用资源、系统负载等来动态建立。在步骤12902,对选中文件中存在的每个值开始循环。在步骤12903,对投票中的前C个位置执行嵌套循环。在步骤12904,对于每个位置,系统对于该位置接收到的当前值的投票数进行计数。这两个循环的结果是使系统对于每个值确定它在前C个位置的每一位置上接收到多少"投票"。然后,在步骤12905,开始另一个循环以处理C个位置的每一个,从最高位置(第一位置)开始并继续前进到第C个位置。在步骤12906,进行检查以确定对于正在考虑的位置,是否有任何单一值接收到最多的投票。在步骤12907,如果一个值接收到该位置的最多投票,则该值被判给该位置,并且从投票制表过程中的其余计算中移去该值。因此在上例中,芝加哥接受到第一位置的最多投票(两张投票)。如果在步骤12906,没有单一值具有该位置的最多投票,那么对于当前位置有一个平分(2个或多个值具有该位置的相同数量的投票,或者全部值在该位置有零张投票),并且该过程移到步骤12908,其中进行检査以确定正在检査的当前位置是否是要检査的最后一个位置(第C个位置)。如果否,则该过程移动到步骤12909。在步骤12909,系统向前一个位置"取数"(peek),以标识当前平分的值在下一个位置接收到的投票数。在步骤12910,如果平分值之一具有下一个位置的最多投票,则在步骤12911将当前位置给该值,并且将其它平分值持有的当前位置的投票移动或转移给下一个位置。换言之,在步骤12911的"输者"将它们在当前位置的投票加到它们在下一位置的总数上,使得对于在当前考虑的位置中接收到的投票但未判得该位置的每个值,它在计算下一轮的获胜者时,在当前一轮的投票被转入并加到它在下一轮的投票。如果在步骤12910,没有一个平分值具有下一个位置的最多投票,则在步骤2913,所有平分值对于当前位置按字母顺序排序(并且接下来的若干位置也是如此,直到所有平分值都被给予一个位置为止),并且该过程返回到步骤12905。同样,如果在步骤12908,该过程在发生平分时恰巧正在检查最后一个位置(位置C),则该过程也移动到步骤12913以按字母顺序对平分值排序,并且继续到步骤12905。从步骤12905,如果最后一个位置(第C个位置)已经被处理,则该过程移动到步骤12914,其中剩余的未排序值的所有剩余投票都作为第C个位置的投票来对待,并且按照哪一个在第C个位置具有最多投票连同使用字母顺序打破的平分来对剩余值排序。图129A-B所示的算法可在存储器中保持一张合计表,该表将各种投票计数和值制表。该表是有利的,因为系统可以随着过程的运行逐渐将表加载到操作RAM中,从ram中删除不再需要的部分,并因此减少运行该过程所需要的运行时存储器的总量。在某些情况中,各种多属性值可经历一个归一化过程。归一化过程可删除文件的多属性字段中值的冗余出现。例如,文件可具有关键字(狗,猫,狗),并且归一化过程可保持这些值的第一次出现,并且移除同一值的后续出现(例如,得到"狗,猫")。未归一化的数据可存储在系统的存储器中,并且归一化的版本可覆写该数据,或者归一化数据可简单地独立存储在存储器中。在某些情况中,归一化可在用户修改多值属性时发生。在某些情况中,用户可能希望通过与聚集的显示的交互来编辑多值属性。当发生这种情况时,系统可响应于对聚集的多值属性显示所做的改变来修改每个文件的多值属性。例如,在聚集的显示的末尾添加一个新的属性可简单地使该新的属性追加到每个文件的多值属性上。如果在聚集的多值属性显示的开始处插入一个新属性,或者任何其它的插入,则可发生相同的事情。某些改变,诸如在聚集的属性显示内重新排序属性,可引起对每个文件的多值属性的相应的重新排序。多值属性还可具有独特的方法来编辑数据。例如,用于这样的属性的域可出现在列表中,与图130中所示的相似。域13001可以是活动的文本编辑框,用户可在其中打字以输入数据,并且该域可具有多个值13002,这些值可在该域中由诸如分号等字符来描述。值13002可展现原子行为,或者权标(token)行为,使得整个值可作为单个选择来选择。因而,在某些情况中,当在域13001中放置插入点来编辑数据时,原子值13002可作为单个单元来工作,这与多个字符相反(例如"NYC",与"N""y""c"相反),并且甚至可能禁止将插入点放入原子值内,使得在原子值内放置插入点的尝试(例如通过在其中点击鼠标)会导致插入点被放置在原子值之前或之后。按下箭头键以在原子值周围导航也会在单次按键中从该值的一侧移动另一侧。而且,当选择区是有可能的时候,这样的区域可能被禁止只选择原子值的一部分,使得选择该值的预定部分(例如一半)时导致整个值被选中。悬停在原子值上可使该值进入指示它是原子值的悬停状态。例如,悬停状态可包括框或加亮,或者围绕整个原子值的其它视觉区别或强调。对于原子值,也可通过拖放操作来重新排列这些值。权标行为不限于一次性简单地选择整个词。该词可由替换的用户界面元素来代替。例如,时间可由时钟的图形图像来代替;日期可由日历图像来代替。原子值可展现图标行为,使得点击(或右键点击)它们会引起其它层次的交互性,诸如带出命令菜单、选项列表、其它弹出框等等。可以将值拖到其它文件和/或属性上,并且这些值可加到其它文件和/或属性上。在域列表的末尾,可以有提示串13003,它提醒用户该域包含什么数据。在有些情况中,提示串13003只在域13001处在编辑状态中时,诸如当给予它键盘焦点用于输入数据时才出现,并且提示串13003不作为多值域中的实际值来对待(例如,不是作为域内的值保存到存储器,而是作为用户界面的一部分生成的)。可使用前述的任何类型在视觉上区别和/或强调提示串13003(例如,它在围绕字母的区域中具有某种颜色的加亮),并且可展现某些类型的默认行为。例如,只要域13001处在编辑状态中并且插入点在值串的末尾,提示串13003可自动地出现。一旦用户开始打字以在插入点处插入新值(例如,通过开始在文本框中打字),并且加上新的字符,则提示串13003可自动消失。如果用户完成或放弃输入新值,则提示串会自动重新出现。在编辑状态,域也可显示下拉菜单13004,它为用户提供可能值的列表来添加到多值域13001,并且用户可以从菜单中选择一个输入。下拉菜单13004可包括自动建议功能,这可以按照图131中所示的过程来实现。首先,该过程可在步骤13101中开始,收集已经用于给定属性和/或由给定用户使用全部值。在步骤13102,菜单13004可以省略已经存在于选中文件的多值属性中的值,因为用户不可能想要添加重复。在步骤13103,该列表可按普及性、按字母顺序或按任何其它希望的方法来分类。然后在步骤3104,可在自动建议的情况下显示该菜单。如果列出值中的某一些已经对部分但非全部选中文件存在,则这些值可被给予不同的外观(例如,加亮、着色、图案,字体等,如上所述)来指示该事实。在任何选中文件中未使用的值也可被给予不同的外观来指示该事实。域也可具有自动完成特征,如图132所示。通过自动完成特征,当用户开始键入新值来添加到多值属性(诸如在图132例子中通过键入"D")时,系统可自动试图用预期值完成该输入。自动完成特征可使用图133中所示的过程来完成。在步骤13301,预期值可通过首先取用于给定属性的所有值来选择,并且在步骤13302,过滤掉已经应用于选中文件的值。进一步的过滤可在步骤13303进行,以标识以已经由用户输入的字母开始的值,并且选择以用户已经键入的字母开始的第一个值(按字母顺序)。在步骤13304,剩余的可能项可按普及性、按字母顺序或按任何其它希望的方法来分类,并且在步骤13304,显示剩余列表。列表中第一个输入项可默认被选中,并且可被加亮且剩余的字符可在用户输入数据之后自动放在域内,如果需要可加亮。上述自动建议和自动完成特征也可包括其它类型的过滤步骤。例如,过滤器可选择由用户选择和/或输入的最新近的值;或者基于所创建的属性清单的上下文来过滤可能值。例如,如果选中文件被选择显示为工程视图(例如,显示与给定工程相关的文件)的一部分,则系统可自动确定某些可能值有更多(或更少)可能在该工程中使用,并且可相应地过滤该列表。当用户正在域中输入数据时,可进行检査以确认该输入。例如,某些域可被预定为只具有可能值的指定的范围或者列表(例如星期几),并且如果用户试图在多属性域中输入无效输入,则系统可简单地拒绝该输入,向用户提供指示该输入项为无效的消息。本发明的替换实施例和实现在本领域的技术人员仔细阅读了本说明书包括附图之后将变得显而易见。例如,在所述过程中的各步骤可按所愿来重新排列、修改和/或删除,以实现在此所述功能的经选择的子集。另外,在上文中,对在"本发明"的一个或多个"方面"或"实施例"中存在的某些特征进行参考只说明可有利地单独或与结合其它概念使用的各种概念,并且不应当认为隐含着只在此公开了一个发明概念或者在所附权利要求书中要求全部所述特征的意思。相反,所附的每一项权利要求代表它自己的不同发明,并且不应当视为具有超过它们所述的任何限制。**动态滚动本发明的各方面可用于提高在常规的文件夹树控件(例如,导航窗格、导航面板、页空间控件等等)中的导航或其它数据的导航能力。图136中传统的文件夹树控件13600允许用户能够查看、组织和检索数据。通常垂直滚动条13602和水平滚动条13604伴随着文件夹树控件,作为允许用户在文件夹树结构中导航的一种机制。在用户垂直通过文件夹树结构的分层结构导航时,相关节点不再在狭窄的可查看窗口窗格中完全可见。例如,在图136中,在标签为"Installer(安装程序)"的节点13606最初有焦点时,响应于用户反复按"向下箭头"键,在"Installer"节点之下不可见或者被遮住的节点13608各自依次变成加亮并接收焦点。然而这些节点在狭窄的窗口窗格中不是完全可见的。用户必须顺序地向右水平滚动狭窄的可査看窗口窗格,使这些节点13608完全可见。在图137中,显示了按照本发明的各方面的文件夹树。本领域的技术人员将意识到,图137仅仅是按照本发明的各方面的文件夹树的一个例子。本发明的诸方面可连同各种树控件或其它数据导航一起来实现。在一个例子中,文件夹树可以是用户界面控件的分层树形集合,它随着用户的导航以分层层次显示出树的分支。文件夹树控件的使用可点击由树控件显示的节点以在原地展开该节点;如果该节点已经被展开则可以折叠它。如在本领域中已知的,诸如显示"+"或"-"的小部件等小的窗口小部件可用于指示节点是折叠还是展开的。节点的展开分层地显示在当前选中节点之下的嵌套节点。用户可例如通过点击按钮、点击节点或者点击所显示的窗口小部件来展开/折叠节点。文件夹树控件使用户能够在分层排列的数据上导航,如在本领域中已知的。在图137中,垂直滚动条13702伴随着文件夹树控件,作为允许用户通过文件夹树结构导航的一种机制。例如,在图137中,响应于用户将浮动的垂直滚动条控件13708朝着窗口窗格的底部拖曳,文件夹树控件将可见的内容向上滚动,从而显示来自窗口13700下面的先前未显示的节点。按照本发明的一个说明性方面,当用户沿一个维度(例如垂直地)导航时,文件夹树控件可自动地在另一个维度上(例如水平地)滚动,以确保与用户相关的节点处在窗口13700的可见区域内。相关节点可以是当前节点、具有输入焦点的节点或者选中的节点。相关节点可以是树结构中例如水平地靠在鼠标位置的旁边的节点。当用户滚动、展开或折叠文件夹树控件的任何节点从而使相关节点不再是完整和/或部分地可见时,文件夹树控件可自动地水平滚动文件夹树,使得相关节点在窗口13700内可见。本领域的技术人员将意识到,尽管本说明性实施例执行自动水平滚动,但其它实施例可响应于用户的水平滚动而自动垂直滚动,例如,在用户正在导航更有助于水平排列而非垂直排列的其它类型的数据的情况下。例如,本发明的各方面可在其中指示导航的用户输入的实际百分比在水平方向上的系统中实现。在该情况下,本领域的技术人员可实现本发明的各方面,从而存在自动的动态垂直滚动。例如,在图137的情况中,当鼠标指针在位置13705处,紧靠在下一相关节点13704的右边,则所显示的树不需要被水平滚动,因为节点13704的文件夹名完全可见。然而,当用户使用鼠标指针13705拖曳浮动垂直滚动条控件13708使得鼠标指针13705处在水平地靠在节点13706边上的位置时,则所显示的树视图可被自动地水平滚动,如下进一步所述的。在本例中,鼠标指针13705在水平地靠近节点13706的地方。此外在本例中,所显示的树视图水平地向右滚动,导致树向左移动一段预定距离,使得文件夹名完全可见,或者尽可能在给定预定的可见区域13700的宽度的情况下完全可见。如果文件夹名由于任何原因被截断,那么预定的距离可以是使得动态水平滚动结果能让整个被截断的文件夹名完全可见的距离。本领域的技术人员在被提供了在此公开的教导后,将意识到用于自动滚动导航控件(例如文件夹树控件)的预定距离可在本发明的各实施例之间变化。在一个例子中,用于自动滚动的预定距离等于将相关节点13706与预定可见区域13700的右边对齐所需的距离。在第二个例子中,相关节点比预定的可见区域13700宽,并且用于自动滚动的预定距离等于将相关节点13706与预定的可见区域13700的左边对齐所需的距离。在第三个例子中,用于自动滚动的预定距离等于将相关节点13706与预定可见区域13700的中心对齐所需的距离。这些例子仅仅说明用于近似地在预定可见区域13700中对齐相关节点13706的适当的预定距离,并且不应当将它们狭隘地解释为限制权利要求书的范围。按照本发明的各方面,所述的动态水平滚动可延迟适当的时间段。例如,水平滚动可设置为立即发生,或者可设置为在用户初次将鼠标指针定位到相关节点边上之后100ms发生。实现时间延迟的至少一个好处是创建或提供平滑移动的外观。本领域的技术人员将意识到,设置的时间延迟量可适当变化。图138A和138B示出按照本发明的各方面的用于査看和组织存储数据的示例性用户界面的屏幕快照。本领域的技术人员将意识到,类似的导航控件界面可用于文档、消息、视频文件和联系人,其中在每种情况下导航控件界面尤其适用于所呈现的种类的数据项目。这样的面向内容的界面可作为用户界面或外壳的组件提供给操作系统产品。在图138A中,节点13802当前具有响应用户输入的焦点。仅仅作为一个例子,这样的用户输入可包括用户在节点13802附近或之上移动鼠标指针。在相关节点(节点13802)上接收到焦点后,树控件确定水平滚动是否适当。在此情况下,文件夹名(即描述符)完全可见。因此,不执行自动水平滚动。然而,当用户在节点13804附近或之上移动鼠标指针时,则节点13804接收到焦点。图138B示出按照本发明的各方面的正处于这种情况的文件夹树控件。在图138B中,下一相关节点13808当前具有焦点。节点13808是与节点13804相同的数据项目,然而,节点13808在图138B中具有焦点,而节点13804在图138A中没有焦点。而且,在图138B中,文件夹树已经自动水平地动态向右滚动预定的距离,使节点13808的整个名称可见。在此情况下,节点名是"FolderName"且未被截断。文件夹树控件水平滚动的预定距离可通过计算近似地将节点名的末尾与内部窗口窗格的边缘或其附近对齐所需的距离量来确定。同时,先前有焦点的节点13806不再加亮且可能不是完全可见的。导航控件的视图在确定需要滚动(例如水平滚动)之后动态地水平滚动适当的距离。本领域的技术人员将意识到,本发明的至少一个优点是不需要显示水平滚动条,从而在有限的显示屏幕上得到附加的可见区域用于显示文件夹树的数据。尽管不需要水平滚动条,但本发明不排除包括和/或使用水平滚动条。例如,可以构想水平滚动条对于用户的好处是在视觉上指示所显示视图相对于文件夹树的当前水平位置。按照本发明的各方面,图139示出描述用于响应于用户控制的在一个维度上对内容的滚动或导航而自动地在另一个维度上动态滚动内容的计算机实现的方法的流程图。本领域的技术人员将意识到,图139所示的步骤可以不按所述顺序来执行,并且图139所示的一个或多个步骤是可任选的。在步骤13902,向用户呈现初始的内容视图。内容可按带有多个节点层次的分层文件夹树控件的形式显示。图138A只是分层文件夹树的第一视图的一个例子。图136是分层文件夹树的第一视图的另一个例子。在步骤13906,用户在第一维度上滚动内容和/或与内容交互。这些动作仅是指示内容导航的用户输入的某些例子。各种用户输入通过将相关内容的位置移动到预定的可见区域中来滚动相关内容。例如,导致内容的垂直滚动的用户导航的一种形式是在用户将浮动垂直滚动条控件13606拖向包含文件夹树控件的窗口窗格13600的顶部或底部的时候。同时,各种非滚动用户输入通过更新哪个内容与用户相关的指定来与相关内容交互。一个例子是当用户按压输入设备115上的"向上箭头"、"向下箭头"和"上页"或"下页"按钮同时文件夹树控件窗口是活动的时候。而且,非滚动用户输入的一个例子在图138A中示出。如果被呈现了图138A所示的内容视图的用户在节点13808之上或附近移动鼠标指针,则节点13808接收焦点。在此例中,用户与内容交互,而不是在第一维度滚动内容。在另一个例子中,用户可同时与内容交互并在第一维度上滚动内容。在又一个例子中,参考图136,用户可通过按压展开窗口小部件来与文件夹树交互,导致该小部件所对应的节点13610的子节点13608只被部分地显示在文件夹树控件的可见区域内。在步骤13908,如果相关内容完全可见,则不需要自动滚动。如果相关内容在预定的可见区域中不是完全可见(或者至少部分被遮掩),则可在第二维度上滚动相关内容到相关内容具有增加的可见性的状态。仅作为一个例子,图138A中的相关内容是节点13802,它在该例中有焦点。在用户通过在节点13804之上或附近移动鼠标指针来与图138A中的内容交互(例如在步骤13906)之后,节点13804然后将接收到焦点并成为相关内容。由于节点13804在预定的可见区域内至少部分地不可见(遮掩),因此相关内容可自动地在水平维度上滚动,如下进一步所述的。在另一个例子中,参考图136,如果用户选择了对应于节点13610的展开窗口小部件而使子节点13608只是部分地显示在可见区域内,则相关内容可包括节点13610及其子节点13608两者。在步骤13910,步骤13912的执行被延迟预定量的时间。在本发明的各实施例中,延迟的预定时间量可以是零或任何其它非零值。例如,在图138A中,可在动态水平滚动文件夹树控件预定距离之前经过100ms的延迟预定时间量,从而得到图138B中所示的视图。本领域的技术人员将意识到,设置的延迟时间量可适当变化。在步骤13912,自动地在第二维度上动态滚动内容预定距离。例如,在图137的文件夹树控件的情况下,如果发现相关节点13706不是完全可见,则可水平地滚动文件夹树控件预定距离,使得节点描述符(例如文件夹名)的末尾近似地与预定的可见区域的右边对齐。本领域的技术人员将认识到,在各种情况中,可能希望近似地将相关节点与预定可见区域的左边对齐,或者近似地将相关节点与预定可见区域的中心或其附近对齐。在以上每一种情况下,节点应该被解释为要近似地与可见区域的预定边缘对齐。在每个情况中的预定距离可相应地变化。例如,参考图136,响应于用户选择对应于节点13610的展开窗口小部件,相关内容可近似地与预定可见区域的左边对齐,使得为子节点13608提供增加的可见性。而且,应该认识到,使用修饰语"第二"应当解释为意味着第一维度是必要或要求的。例如,如果在步骤13906,用户通过移动鼠标指针使得它将焦点从节点13802改变到节点13804来与图138A中显示的内容交互,则在步骤13912,可在水平维度上自动地动态滚动内容。在此情况下,即使在垂直维度上没有初始的滚动,"第二维度"也是水平维度。最后,在步骤13914,为用户提供内容在预定可见区域中的更新视图。例如,图138B是在步骤13914之后得到的文件夹树的经滚动的内容视图。经更新的视图为用户提供相关内容(节点13808)在图138B的狭窄的可见区域中增加的可见性。"公用文件对话框本发明的各方面可经由一个或多个编程接口与其它程序、系统、模块等通信。编程接口(或简称之为接口)可以被视为用于令一个或多个代码段能与由一个或多个其它代码段提供的功能进行通信或对其进行访问的任一机制、过程、协议。可选地,编程接口可以被视为能够通信地耦合至其它计算机的一个或多个机制、方法、函数调用、模块等的系统的组件的一个或多个机制、方法、函数调用、模块、对象等。上述语句中的术语"代码段"意在包括代码的一个或多个指令或代码行,并包括,如,代码模块、对象、子例程、函数等等,无论应用的术语是什么、或代码段是否被单独编译、或代码段是否被提供为源码、中间码或对象代码、代码段是否在运行时系统或进程中使用、或它们是否位于同一或不同机器上或跨多个机器分布、或由代码段表示的功能是否完全由软件、完全由硬件或硬件和软件的组合来实现。作为例子,且非限制,诸如应用程序编程接口(API)、入口点、方法、函数、子例程、远程过程调用和组件对象模型(COM)接口等术语都包含在编程接口的定义之内。编程接口通常可如图145A、图145B或图145C所示地査看。图145A示出两台计算机之间的接口。图145B示出了接口"接口1"为管道,第一和第二代码段通过该管道进行通信。图145C示出了接口包括接口对象I1和12(可以是或不是第一和第二代码段的部分),它们令系统的第一和第二代码段能通过介质M进行通信。在图145C的视图中,可以认为接口对象I1和I2为同一系统的单独接口,并且也可以认为对象Il和12加上介质M构成了接口。尽管图145A、145B和145C示出了双向流程以及该流程的每一侧上的接口,但某些实现可仅具有一个方向上的信息流和/或仅具有一侧的接口对象。编程接口的各方面可包括第一代码段向第二代码段发送信息的方法(其中,"信息"以其最广泛的意义使用,并包括数据、命令、请求等等);第二代码段接收信息的方法;以及该信息的结构、序列、语法、组织、模式、定时和内容。在这一点上,只要信息以接口所定义的方式传输,底层传输介质本身可以对接口的操作不重要,无论该介质是有线还是无线,或两者的组合。在某些情况下,在常规意义上,当一个代码段仅访问由第二代码段执行的功能时,信息可不在一个或两个方向上传输,因为信息传输可以是或者通过另一机制(如,信息被放置在与代码段之间的信息流分离的缓存、文件等中)或者不存在。这些方面的任一个或所有可以在给定的情况下重要,如,取决于代码段是否是松耦合或紧耦合配置的系统的一部分,并且因此该描述应当被认为是说明性的而非限制。编程接口的这一概念对本领域的技术人员是已知的。有其它方法来实现编程接口。这些其它方法看似比图145B和145C的视图更精密或复杂,但是它们仍执行类似的功能来完成同一整体结果。现在结合图145D-145M描述编程接口的某些说明性替换实现。分解。可以通过将通信分裂成多个离散通信来间接地实现从一个代码段到另一个的通信。这在图145D和145E中示意性地描述。如图所示,可以按照功能的可分组来描述某些接口。由此,可以分解图145C和145D的接口功能来达到相同的结果,如同可以在数学上提供24,或2乘2乘3乘2—样。因此,如图145D所示,可以细分由接口"接口1"提供的功能以将该接口的通信变换成多个接口"接口1A"、"接口1B"、"接口1C"等,而达到相同的结果。如图145E所示,由接口II提供的函数可以被细分成多个接口Ila、Ilb、Ilc等,而达到相同的结果。类似地,从第一代码段接收信息的第二代码段的接口I2可以被分解成多个接口I2a、12b、12c等。当分解时,包括在第一代码段中的接口的数量不需要匹配包括在第二代码段中的接口的数量。在图145D或145E的任一情况下,接口"接口1"和II的功能性精神分别与图145B和145C的保持相同。接口的分解也可遵从联合、通信和其它数学性质,使得分解较难识别。例如,命令操作可以是不重要的,并且因此由接口完成的功能可以在达到该接口之前由另一段代码或接口较好地完成,或者由系统的单独组件执行。此外,编程领域的普通技术人员可以理解有各种方式来作出不同的函数调用而达到相同的结果。重定义。在某些情况下,可能忽略、添加或重定义编程接口的某些方面(如参数),而仍达到预期的结果。这在图145F和145G中示出。例如,假定图5的接口"接口1"包括函数调用S^。,'e(7^7w/,/^c&o",(平方),它包括三个参数input(输入),precision(精度)和ow/pirf(输出),并且由第一代码段向第二代码段发布。如果中间参数;^ec&'OM在给定的情形下无关紧要,如图IO所示,它也可以被忽略或甚至由另一参数来替换。在任一情况下,只要在输入由第二代码段平方之后返回输出,就可以达到Square(平方)的功能。/Vec&o"也有可能对计算系统的某一下游或其它部分是极有意义的参数;然而,一旦认识到;^ecWo"对计算平方这一有限目的不是必需的,它可以被替换或忽略。例如,不是传递一个有效的值,而是在不对结果产生不利地影响的情况下传递诸如出生日期等无意义的值。类似地,如图145G所示,接口Il由接口I1'替换,它被重定义来忽略或向接口添加参数。接口I2可类似地被重定义(为接口I2')来忽略不必要的参数,或可在别处处理的参数。如从上文中清楚的,编程接口在某些情况下可包括对某一目的而言所不需要的方面,诸如参数,因此可以忽略或重定义它们,或在别处处理它们用于其它目的。内联编码。合并两个单独的代码模块的一些或全部功能也是可行的,使得它们之间的"接口"改变形式。例如,图145B和145C的功能可以被分别转化成图145H和1451的功能。在图145H中,图145B的先前的第一和第二代码段被合并成包含两者的模块。在这一情况下,该代码段仍可以彼此通信,但是该接口可以适用于更适合单个模块的形式。由此,例如,正式的Call(调用)和Return(返回)语句将不再必需,但是依照接口"接口1"的类似的处理或响应仍是有效的。类似地,如图145I所示,图145C的部分(或所有)接口I2可以内联地写入接口I1来形成接口I1"。如图所示,接口12被划分成I2a和I2b,并且接口部分I2a与接口II内联编码来形成接口11"。脱离。可以通过将通信分裂成多个离散的通信来间接地完成从一个代码段到另一个的通信。这在图145J和145K中示意性地描述。如图145J所示,提供了一个或多个中间件(脱离接口(DivorceInterface),因为它们从原始的接口脱离功能和/或接口函数),以转化第一接口"接口l"上的通信,使得它们符合不同的接口,在本情况下为"接口2A"、"接口2B"和"接口2C"。这可以在这样一种情况中完成,例如,依照"接口1"协议设计应用程序的已安装基础与如操作系统进行通信,但是然后改变该操作系统来使用不同的接口,在本情况下为接口"接口2A"、"接口2B"和"接口2C"。要点是改变了由第二代码段使用的原始接口,使得它不再与第一代码段所使用的接口兼容,因此使用中介来令旧接口和新接口兼容。类似地,如图145K所示,可以使用脱离接口DI1引入第三代码段以从接口II接收信息,并使用脱离接口DI2引入第三代码段以向例如接口I2a和I2b发送接口功能,接口I2a和I2b被重新设计成使用DI2工作,但是提供相同的功能性结果。类似地,DI1和DI2可共同工作以将图145C的接口II和12的功能翻译成一新操作系统,而同时提供相同或类似的功能性结果。重写。再一种可能的变化是动态地重写代码,以使用别的东西来替换接口的功能,而仍达到相同的总体结果。例如,可以有一种系统,其中向执行环境(如由.Net框架提供的环境、Java运行时环境或其它类似的运行时类型环境)中的即时(Just-in-Time)(JIT)编译器或解释器提供了中间语言(如MicrosoftIL、JavaByteCode等)中呈现的代码段。可以编写JIT编译器以动态地将通信从第一代码段转化到第二代码段,即,令它们符合第二代码段(原始或不同的第二代码段)所需要的不同接口。这在图145L和145M中有描述。如图145L中所看见的,这一方式类似于上述的脱离情形。它可以在这样一种情况下完成,例如,依照"接口1"协议设计应用程序的已安装基础操作系统进行通信,然后改变该操作系统以使用不同的接口。JIT编译器可以用于令已安装基础应用程序的空中通信符合操作系统的新接口。如图145M所描述的,可以应用这一动态重写接口的方法以进行动态分解,或者改变接口。应当注意,上述通过替换实施例实现与接口相同或相似的结果的情形也可以以各种方式串行、并行或与其它介入代码组合。由此,上文呈现的替换实施例并非相互穷尽,并且可以被混合、匹配和组合以产生与图145B和145C中所呈现的一般情形相同或等效的情形。也应当注意,如同大多数编程构造,本发明可能未描述达到与接口相同或相似的功能的其它类似的方式,但是它们仍由本发明的精神和范围来表示。"文件对话框"是指为了打开、保存或指示要处理的文件和/或如何处理文件的目的而创建的对话框。尽管本发明的实施例将参考用于打开和用于保存文件的对话框的例子来描述,但在这点上本发明是不受限制的。文件对话框的其它例子包括用于插入文件附件、用于导入文件等的对话框。如在此使用的,"文件"这个词有着宽泛的意义,并且通常是指可由计算机访问的信息的集合。文件可包括文本、编程指令和/或各种其它类型的数据。根据文件包含的数据,文件对于用户可标识为文档、照片或某种其它类型的项目。文件也可以分裂或存储在盘或其它存储介质上的一个或多个物理位置中。本发明不限于存储在常规的分层文件树结构中的文件。在至少某些实施例中,文件可具有多个如上所述的元数据特性(或者称为"属性")。使用这些特性的值,文件随后可被分组成用户感兴趣的集合。作为示例,一个计算机上的文件可具有诸如文件作者、文件所属的顾客以及文件类型等元数据特性。用户A随后创建有关顾客X、Y的电子表格、文字处理和幻灯片演示文件,并将所有这些文件储存在目录子文件夹"C:\Users\User_A\"中。用户B创建用于那些相同顾客的电子表格、文字处理和jpeg图像文件。用户B将电子表格和文字处理文件存储在"C:\Users\User_B"中,而将图像文件储存在"C:\Media\Photos\"中。所有这些文件然后可基于列表来访问。例如,"ClientX(顾客X)"列表将所有用于客户X的电子表格、文字处理、幻灯片和jpeg文件分成一组,而不管作者是谁。通过指定ClientX列表,用户能够看见这些文件的分组,而不必分别在多个子目录中导航。这些"作者"、"顾客"和"文件类型"元数据特性是为了说明而提供的。其它例子包括诸如级别、注释、工程等属性。可以实现非常大数量的元数据特性类型,并且本发明不受元数据特性类型的限制。图146所示的是按照本发明的至少某些实施例的"OpenFile(打开文件)"对话框14600。尽管附图中的示例对话框被示为在由操作系统(诸如WINDOWS操作系统的各种版本)生成的图形用户界面(GUI)中的独立窗口,但在这点上本发明不受限制。例如,按照本发明的文件对话框也可作为预先存在的窗口的窗格(或其中的框架)来生成。OpenFile对话框14600包含在对话框窗口的框架14601之中并具有标题14602。控件14603分别允许用户最小化、最大化或关闭对话框14600。箭头14604是"后退"控件,用户可用它返回到用户先前已经查看过的文件分组。毗邻于标题14602的是导航栏14605和搜索栏14606,在下面描述这两者。OpenFile对话框14600分成四个区域14607-14610。浏览器区域14607包括位置栏子区域14611和页面空间子区域14612。位置栏14611中的条目对应于文件的列表、目录位置或其它分组,并且表示用户可导航到的"位置",用于定位文件。选择位置栏14611中的条目之一引起在页面空间区域14612中相应的显示。在某些情况下,该显示可以是对应于选中位置(例如,选中列表或其它分组)中的文件的图标的集合。在某些情况下,并且与WINDOWSXP操作系统的WINDOWSEXPLORER(资源管理器)组件相似,选择一个特定的位置栏条目可连同用户可导航到的一个或多个文件夹、目录或其它位置的图标一起显示文件图标的集合。位置栏14611中的一个或多个条目是能展开的,用于显示文档的子列表或其它子分组。例如,图146中的"People(人)"条目能展开来展现属于不同个人(即具有对应于不同个人的适当的元数据特性)的文件的列表。在图146的例子中,用户已经选择了对应于"RecentPhotos(最近的照片)"列表的位置栏条目,并且因而该列表在页面空间14612中连同对应于该列表中的文件的縮略像的集合一起呈现。用户随后可以通过选择"Name(名称)"、"Size(大小)"、"Location(位置)"、"Event(事件)"或"Date(日期)",基于文件名、文件大小、位置、事件或文件创建日期的属性值来对这些文件进行分类。可用于对页面空间14612中的文件进行分类的类别可基于在位置栏14611上选择的条目而改变。同样,在页面空间14612中显示文件的方式可基于文件类型而变化。文本文件可表示为保存在该文件中的文档的第一页的縮略像。在某些情况下,文件可由对应于创建该文件(或者与该文件相关联)的应用程序的图标来表示。滚动条14613允许用户查看另外的文件。在选择页面空间14612中显示的文件之一后,在信息窗格区域14608中提供该文件的更多详细信息。在信息窗格区域14608中显示的是选中文件的较大预览(或"重影")14614,以及各种元数据特性的值14615。尽管图146的例子显示对图像文件的选择,但本发明在这点上不受限制。例如,在页面空间14612中显示的一个或多个文件可以是文本文件。在选择了这样一个文件后,该文本文件的第一页的图像可作为重影14614来显示。当然,在信息窗格区域14608中为选中文件显示的属性和值可以改变。使用前面用户A和用户B的例子,选择"ClientX"列表中的一个文件可在信息窗格区域14608中显示作者和客户的值。返回到导航栏14605,为用户提供了指示用户到达当前页面空间显示所沿的"轨迹"的信息。在图146的例子中,用户首先导航到"Photos&Videos(照片和视频)"列表,且随后到"RecentPhotos"子列表。用户随后可以基于标题或关键字值使用搜索栏14606来定位当前页面空间内的文件。在浏览器区14607和信息窗格区域14608之下是可扩展性区14609。如下面更详细地说明的,文件对话框的可扩展性区可包括由实例化对话框14600的软件程序的开发者指定的多种多样用户界面(UI)控件中的任一种。如在此使用的,"UI控件"包括用户可以选择以便与实例化该对话框的应用程序(或其它计算机程序)交互的各种类型的图形元素(例如通过将光标悬浮在该控件上并按下鼠标按钮)。UI控件包括但不限于,按压(或"命令")按钮、"单选"按钮、复选框、文本输入(或"编辑")框等等。UI控件还包括只向用户提供信息(即,不是向用户提供选择某物或提供输入的机会)的图形元素。这样的唯有信息的UI控件的例子包括文本块或划分其它UI控件的间隔。图146只示出一组单选按钮控件和一个用于这些单选按钮的文本标签("Options(选项)")。下面描述其它类型的控件的例子。在至少某些实施例中,可扩展性区14609是可任选的,并且开发者可完全省略它。在可扩展性区14609下面是命令区14610。命令区14610包括允许输入用户希望打开的文件名的文本输入控件14616。尽管未示出,命令区14610也可包括允许用户输入(或从下拉列表中选择)用户希望打开的文件类型的控件。例如,如果不同类型的两个文件具有相同的标题(例如,"report.DOC"和"report.PDF"),则该控件很有用。视图控件14617允许用户改变在页面空间14612中显示文件的方法。代替图标的集合,例如,用户代之以希望查看以"详细信息"模式(未示出)标识的文件,该模式提供文件名、类型、大小等的表。在至少某些实施例中,视图模式是基于与用户已经在浏览器区14607中导航到的列表或其它位置相关联的默认视图。开发者可以为任何位置设置默认的视图模式,并且允许用户忽略视图模式设置。当在"详细信息"模式中时,显示的列也是基于用户已经导航到的位置,但开发者可以指定(并且用户可以忽略)哪些列是可见的。控件14618允许用户改变对话框14600的外观,使得信息窗格区14608不被显示(见图147),或者如果信息窗格区14608已经被隐藏,就显示信息窗格区14608。命令按钮14619允许用户打开已经在页面空间14607中选中的或者在控件14616中标识的文件。命令按钮14620允许用户取消对话框14600。开发者还可忽略默认的按钮标签并且指定其它文本(例如,将"Open"按钮改为"CheckOut(登出)")。图148所示的是按照本发明的至少某些实施例的"SaveFile(保存文件)"对话框14800。SaveFile对话框14800包含在对话框窗口的框架14801内并且具有标题14802。控件14803和后退箭头14804的操作与图146的OpenFile对话框14600中的控件14603和U604相似。导航栏14805和搜索栏14806的功能与OpenFile对话框14600的导航栏14605和搜索栏14606相似。SaveFile对话框14800还包括浏览器区14807,它具有位置栏14811和页面空间14812。如同OpenFile对话框14600(图146)—样,在位置栏14811中选择一个条目导致在页面空间14821中显示有关与列表、目录文件夹或其它文件分组相关联的文件的信息,和/或允许导航到其它位置的图标的显示。在页面空间14812中显示的文件同样可以使用页面空间14812的顶部的控件("Name"、"Type"等等)来分类。SaveFile对话框14800还包括信息窗格区14808。在至少某些实施例中,并且如图148所示,用于SaveFile对话框的信息窗格区位于浏览器区之下。信息窗格区14808包括要保存的文件的重影14814。取决于要保存的文件类型,重影14814可以是存储在文件中的文档、图片或其它项目的縮略像,可以是对应于与文件相关联的应用程序的图标,或者可以是某种其它类型的图形表示。文件名控件14816允许用户为保存的文件输入名称。该域可具有由实例化FileSave对话框的应用程序建议的文件名(例如保存的文件的第一个词)。在某些情况下,用户可通过从页面空间14812中选择一个文件来代替现有文件,在此情况下被替换文件的文件名会自动添加到控件14816。在其它情况下,用户可能吃不准应当将文件存储在哪里。使用位置栏14811(页面空间控件),用户可以导航到一个或多个列表或其它文件分组并且找到合适的位置。当用户在这样的分组中导航时,他可以在页面空间14812中看到有关这些分组中其它文件的信息并且使用该信息来确定当前文件是否应当保存到这些分组之一。在某些情况下,当用户在保存的文件的各种可能位置中导航时,该文件的重影14826也在页面空间14812中显示。如此,为用户提供了他或她以后可以找到该文件的位置的可视指示。在页面空间14812中重影14826的存在也表示当前列表或其它分组是有效的保存位置。信息窗格区14808中还显示了用于有关保存的文件的各种元数据的域14815。在某些情况下,用户可选择这些域中的一个或多个来添加元数据值。例如,用户可选择"keywords(关键字)"域并添加能使文件更容易在将来的关键字搜索中找到的词。在其它情况下,元数据之一的值可由实例化对话框14800的应用程序来填充(至少在最初)。在另外一些情况下,元数据域的值可自动地基于为文件选择的存储位置来填充。例如,如果用户在"projectX(工程X)"列表中保存文件,则"工程(项目)"的元数据域(未在附图中示出)将被自动地用"X"填充。通过OpenFile对话框14600,文件的信息窗格区14808中所示的元数据类别和值可以改变。在信息窗格区14808下面的是可扩展性区14809。与OpenFilel4600的可扩展性区14609相似,SaveFile对话框的可扩展性区可包含软件开发者指定的多种多样的用户界面(UI)控件中的任一种。尽管在图148中示出一对复选框,但也可包括其它UI控件。可扩展性区14809在至少某些实施例中是可任选的。换言之,开发者有自由创建没有可扩展性区的SaveFile对话框。在可扩展性区14S09下面的是命令区14810。命令区14810包含用于将文件保存到选中位置的命令按钮14819,以及用于取消SaveFile对话框14800的命令按钮14820。这些按钮的文本可以由开发者改变(例如,将"Save"改变为"CheckIn(登入)")。在命令区14810中还包括用于隐藏浏览器区14807的控件14821。通过选择该控件,并且如图149所示,不再显示浏览器区14807。如此,可以提供更紧凑的SaveFile对话框。导航栏14805和搜索栏14806和/或控件14803的最小化和最大化箭头也可从紧凑型SaveFile对话框中移除。通过重新选择控件14821(其标签在图149中已经改为"ShowBrowser(显示浏览器)"),再次显示浏览器区14807。当显示浏览器区14807时,视图选择控件14817(图144)是可见的,并且其功能与OpenFile对话框14600(图146)的视图选择控件14617相似。如同OpenFile对话框14600—样,当显示SaveFile浏览器时默认的视图模式(例如,图标对详细信息)是基于用户已经导航到的列表或其它位置来显示的。当在详细信息视图模式中时,开发者可以类似地设置(并且用户可以忽略)视图模式设置和显示的列。如通过比较图146和148可以看到,在OpenFile对话框14600中的信息窗格区14608的位置与SaveFile对话框14800的信息窗格区14808的不同。这种重新定位对应于这两种类型的对话框的不同目的。用户一般在OpenFile对话框中寻找一个特定的文件。文件内容的图形描绘常常比详细的元数据更有帮助。因此,OpenFile对话框中的信息窗格区的焦点一般在文件预览上,并且将信息窗格定位在允许较大重影图像的地方。SaveFile对话框中的信息窗格区的焦点在于编辑以及在于为了将来的检索适当地存储文件。因而,SaveFile对话框的信息窗格区定位在鼓励元数据的输入和/或修改的地方。在至少某些实施例中,元数据域是基于预定的顺序显示在OpenFile和SaveFile对话框两者的信息窗格区中的。具体地,首先显示系统需要的元数据特性(例如文件名、文件类型、保存位置)。接下来显示的是实例化该对话框的应用程序所需要的元数据特性,但它们不必是所有应用程序所需要的(例如,压缩比、文件保护)。然后显示其余的属性。信息窗格区(以及整个对话框,如果必要的话)是自动调整大小的,以便显示所有系统和应用程序需要的属性。在至少某些实施例中,应用程序不能指定需要什么元数据,但应用程序可以"升级"元数据类型以具有优先级,使得相应的域将被显示在默认大小的对话框中。在图146和148中所示的是各种类型的UI控件中的两种,开发者可以将这类UI控件放在OpenFile或SaveFile对话框的可扩展性区中。开发者可包括多个相同类型的控件和/或可组合不同类型的控件。图148显示一对验证(或"复选框")UI控件。这样的UI可以包括文本("Optionl(选项l)"和"Option2(选项2)")并且可包含适用于多个复选框的标签("SaveOptions(保存选项)")。用户可用鼠标在复选框上打勾(或去除勾)。随后将控件的勾选/未勾选状态返回给程序。在以LTR(左至右)语言实现的至少某些实施例中,复选框控件的文本是向左对齐的,并且在定位该控件的列中换行。在可扩展性区中的标签可自动地与信息窗格区中的元数据域标签对齐。如在图148中看到的,可扩展性区14809中的"SaveOptions"标签与信息窗格14808中的"SaveIn(保存在)"和"FileType(文件类型)"对齐。如以下更详细地说明的,可扩展性区中的UI控件也可组织成一个或多个分组并且以多列显示。图146显示单选按钮UI控件的集合。每个单选按钮控件一般显示可能的输入选项的一行或多行文本(例如"OpenOriginalFile(打开原始文件)")。在每个选项的文本旁边的是用户可以用鼠标选择的小圆圈或其它区域。一旦被选择,该区域被填充一个黑点或者其它选择的指示。通常,只可以选择一个选项。如果用户选择一个选项且随后选择另一个选项,则移除第一次选择的黑点。单选按钮控件还可包括标签("Options(选项)")。在以LTR语言实现的至少某些实施例中,单选按钮控件的文本是向左对齐的,并且在定位该控件的列内换行。图150-154B所示的是各种其它类型的UI控件,软件开发者可以指定将它们包括在可扩展性区中。尽管图150-154B在SaveFile对话框的可扩展性区中示出这些其它类型的UI控件,但这些UI控件也可以包括在OpenFile对话框(或其它类型的文件对话框)的可扩展性区中。图150示出下拉框控件。如在图150中看到的,下拉框允许用户展开一个框以显示可能选择的列表。从下拉列表选择的选项随后自动地放在该框中。图151示出组合框控件。该UI控件允许用户将一个框展开成可能选择的列表(与下拉框类似),但也允许用户在该框中键入文本(图151中示为"typehere")。图152示出按压按钮UI控件15201和15202以及编辑框控件15203。在图152中还示出UI控件的分组。在至少某些实施例中,控件组可以包括一个或多个控件和适用于该组中的控件的标签。在图152的例子中,示出四个组。组15211包含一个组标签和三个复选框UI控件。组15212没有组标签,但包括两个单选按钮UI控件。组15213包括组标签、编辑框UI控件15203和两个按压按钮UI控件15201和15202。组15214包含纯文本,例如不是特定控件的标签或与之相关联的文本。尽管为了说明在图152中描绘了组15211-15214,但这样的描绘不必出现在实际的对话框中。可指定隔离符15204以放置在两个控件组之间。在至少某些实施例中,隔离符只横跨单列,并且作为组的最后一个元素来添加。作为第一或最后一个列元素的隔离符是隐藏的。在至少某些实施例中,并且如在图152中看到的,当显示对话框时,组中的控件在可扩展性区的同一列中保持在一起。在某些实施例中,并且如在图152中看到的,SaveFile对话框的可扩展性区中的UI控件组标签的右边自动地与信息窗格区的元数据标签("FileType(文件类型)"和"Keywords(关键字)")的右边对齐。SaveFile对话框的可扩展性区中的UI控件的左边同样自动地与信息窗格区中的元数据值域的左边对齐。纯文本自动向左对齐并且在包含该文本的列中换行。在某些实施例中,下拉菜单UI控件可以包括在命令区中,如图153A和153B所示。选择该菜单展现可选择选项的列表。选择某些选项可导致子菜单和/或其它对话框的显示。在某些情况下,下拉菜单和命令按钮可以组合成"拆分按钮"UI控件,它也可以位于命令区中。拆分按钮UI允许用户在下拉菜单中选择一个选项。拆分按钮然后重新用选中选项作为标签,并且用户随后可以按下该按钮以对选中选项起作用。其它控件也可以被添加到命令区,如在图154A中(按压按钮UI控件"<文本>")和图154B(复选框UI控件)所示。如果开发者只需要包括单个专用的控件并且避免消耗可扩展性区的显示面积,则这是所希望的。在至少某些实施例中,开发者不能将单选按钮组和标签添加到命令区。在命令区中包括一个控件还允许开发者强调该控件和/或将该控件与可扩展性区中的控件分开。因而,开发者可为可扩展性区指定某些控件并为命令区指定一个控件。然而,在其它实施例中,如果显示可扩展性区(例如,如果添加了两个或多个TJI控件),则除了菜单UI控件之外,在命令区中不放置其它控件。菜单常常包含适用于由应用程序实例化的多个对话框的选择,并且在某些情况下,命令区中允许菜单是更有效的。在某些实施例中,菜单总是位于命令区中。在至少某些实施例中,在可扩展性区中UI控件的排列和外观是自动的。实例化对话框的应用程序只是向操作系统(经由一个或多个编程接口)标识所想要的UI控件和/或组。操作系统随后控制排列和外观。不是显式添加到分组的控件作为它自己的组来对待。操作系统基于在编程接口中最初标识UI控件或组的顺序将每个组放在可扩展性区中。图155示出在SaveFile对话框中控件组的自动布局。如在图155中看到的,Save对话框的信息窗格区中的元数据域标签/值对形成两列。控件组随后被添加到可扩展性区中,与这些列对齐,以便最小化可扩展性区的高度。在两个组之间的间隔以及一个组内两个独立控件之间的间隔也是自动的。换言之,应用程序开发者不必精确地指定每个UI控件的位置。同样,UI控件的文本、组标签和纯文本的外观是由一个或多个操作系统主题文件自动控制的。图156示出按照至少某些实施例的OpenFile对话框的UI控件的自动布局。如在图146中看到的,OpenFile对话框的信息窗格区是与SaveFile对话框的信息窗格区不同地排列的。因此,OpenFile对话框的可扩展性区中的UI控件和UI控件分组是与命令区中的"FileName(文件名)"标签和相应的文本框控件对齐的。如果为OpenFile对话框的可扩展性区指定一个以上控件分组,则使用第二列。在至少某些实施例中,并且与SaveFile对话框相似,实例化OpenFile对话框的应用程序只是经由一个或多个编程接口向操作系统标识UI控件和/或组。操作系统随后控制UI控件的排列和外观。这些控件组按照开发者指定控件组的顺序添加到OpenFile对话框,并且自动地布局以便最小化可扩展性区的高度。间隔、文本字体等等由一个或多个操作系统主题文件来控制。除了指定要包括在可扩展性区(以及在某些情况下,命令区)中的UI控件之外,应用程序开发者可以用各种其它方法定制文件对话框。使用适当的编程接口(如下所述),开发者可以忽略对话框标题(例如,图146中的"OpenFile"标题,图148中的"SaveFile"标题)并使某个其它标题被显示。开发者也可以作出将影响在打开一个对话框时对话框将导航到的位置的选择。具体地,在初次打开诸如图146或图148所示的对话框时,对话框通常显示一个特定的列表或其它文件分组作为保存(或打开)文件的建议位置。在某些实施例中,文件对话框首先试图导航到下列位置之一(按首选项的顺序列出)(1)实例化应用程序指定的位置(例如,由该应用程序访问的最后位置),(2)由该应用程序打开或保存该文件的最后位置(如由操作系统跟踪的),(3)由该应用程序指定的默认位置,或者(4)操作系统指定的默认位置(例如,根目录、WINDOWS操作系统的桌面等等)。应用程序开发者也可以指定初始的浏览器模式。在某些实施例中,例如,SaveFile对话框自动用隐藏的浏览器区来打开,除非应用程序另外请求。在某些实施例中,OpenFile对话框始终由浏览器区来显示。响应于应用程序请求生成文件对话框的操作系统也可用默认大小并在屏幕上的默认位置上呈现对话框。例如,操作系统可自动将对话框定位在显示的中央并且将对话框和/或对话框的各个区域限制于某些大小。应用程序开发者可以通过指定该对话框的大小和/或位置来覆盖这些默认值。这可通过显式地为大小和/或位置提供值发生。这也可以隐式地发生。例如,应用程序可为可扩展性区指定比能包含在默认大小内更多的控件。对于显示中的其它窗口,用户也能够移动对话框和/或调整对话框的大小。同样,用户可以调整浏览器区(如果显示的话)和信息窗格区的大小。当信息窗格区被展开(例如通过用鼠标选择信息窗格区的边缘并在屏幕上拖曳该边缘)时,另外的元数据属性/值对变得可见。当信息窗格区被收縮时,可以看见较少的属性/值对。用户对于对话框或对话框的区域的大小或位置的改变(以及对于视图模式、在详细信息视图模式中可见的列等等的改变)可以持续到用户完成或取消对话框为止。在某些实施例中,部分或全部这样的用户改变可持续到以后的对话框。图157和158是示出按照本发明的实施例的应用程序请求生成文件对话框的方式与现有技术中请求文件对话框的方式之间的区别的框图。图157是示出应用程序请求WINDOWS操作系统的各种版本显示文件对话框的现有方式的框图。在图157中,应用程序首先创建对应于要显示的对话框的数据结构("DialgStr")。该结构包含控制该对话框的行为的众多变量和标志的值。在WINDOWS操作系统的各种版本中,该结构是"OPENFILENAME"结构。为了实例化对话框,应用程序随后调用一个操作系统函数,它有一个指向DialgStr结构的指针作为形参。具体地,应用程序调用"GetOpenFileName"(获得打开文件名)函数来实例化用于打开文件的对话框,并调用"GetSaveFileName"(获得保存文件名)函数来实例化用于保存文件的对话框。为了简单起见,这些函数在图157中被示出为"GetFN(pDialgStr)"。响应于对这一函数调用,操作系统随后生成包含默认对话框的窗口。如果应用程序开发者希望定制默认对话框以便包括自定义的UI控件,则需要另外的步骤。具体地,开发者必须为默认对话框中定义要容纳定制的UI控件的区域的(一个或多个)部分创建自定义模板。指向该模板的指针随后被包括在DialgStr结构中。操作系统从自定义模板检索数据并且使用该数据在默认对话框的子窗口内创建定制的控件。初看,图157的过程好象很直接。然而,自定义模板必须指定所有要用的自定义UI控件及其位置、如何显示控件等等。创建自定义的模板对于应用程序开发者可能是一件相当费力的事。而且,开发者还必须创建回调函数来处理由自定义UI控件接收到的用户输入。图157的过程还对操作系统开发者造成了问题。在应用程序开发者可在默认对话框的定制区域中包括什么内容的问题上只有很少的限制。同样,在应用程序开发者在默认对话框内可放置定制区域的位置的问题上也只有很少的限制。尽管图157示出所有定制控件在单一的毗邻块内,但情况不总是这样。自定义模板可以指定要放在默认对话框的多个子窗口内的众多自定义控件,并且定制区域可具有各种形状。鉴于所有这些因素,操作系统开发者难以(如果不是不可能的话)知道各种应用程序定制默认对话框的所有方法。进而,这增加了在升级操作系统时的困难。例如,对默认对话框格式的改变一在一个特定的位置添加一个新元素会使它与实例化在相同位置有定制内容的对话框的应用程序不兼容。图158是示出按照本发明的实施例的文件对话框的创建的框图。应用程序开发者创建对应于要显示的对话框的对象。该对象是由操作系统使之可用的对象类的实例化。一旦创建,该对象自动包括应用程序为了显示对话框、将控件添加到对话框以及设置对话框的行为可以调用的方法。这在图158中示意性地示出,其中应用程序已经调用了被实例化的对话框对象的各种方法以便将某些控件添加到该对话框(例如,"AddControll()"等)。调用其它方法(和/或在这些调用中包括的指定的变量值和/或标志)来控制对话框的外观和行为的其它方面。下面所述的是开发者可以通过调用这些方法来执行的动作例子。添加下拉框。允许打开下拉菜单。添加菜单。添加命令按钮。添加组合框。添加单选按钮。添加复选框。添加文本输入框。添加隔离符。添加文本。将控件分组。设置控件的标签。检索控件状态。设置控件状态。检索文件输入框内的文本。设置文本输入框内的文本。添加控件(例如到一个己经显示的对话框)。使控件更突出。移除控件项目。设置对话框可以打开或保存的文件类型(对于OpenFile对话框,文件类型可以用于过滤用户的视图;对于SaveFik对话框,文件类型可以确定什么扩展名要被追加到用户指定的文件名上)。设置当前选择的文件类型。检索当前选择的文件类型。附加事件处理程序来监听来自对话框的事件。为控制对话框行为设置标志,包括o是否提示用户在覆写文件之前确认(SaveFile对话框),o是否要求用户返回的文件名的文件扩展名符合当前选择的文件类型的扩展名(SaveFile对话框),O是否要求用户返回的项目名称是文件系统项目,O用户是否可以选择多个文件来打开,O是否要求用户在现有文件夹内指定文件,O要打开的文件是否必须己经存在,O是否提示用户创建由用户标识的还不存在的项目(例如文件夹或列表),以及O检测到共享违犯时的行为。检索在各种标志上的当前设置。设置对话框将打开的文件夹或其它位置。检索用户在对话框中的当前选择。检索对话框正在显示或对话框将打开(如果对话框当前未被显示)的当前文件夹。检索文件名文本框UI控件中的当前文本。设置对话框的标题。设置"Open"或"Save"按钮的文本。设置在文件名文本框UI控件旁边的标签文本。检索用户在显示的对话框中己经作出的选择。添加一个位置到位置栏。设置用户键入的文件名的默认扩展名。关闭对话框。将标识符与对话框的状态相关联(例如,最后被访问的文件夹、位置、大小)使得该状态将持续。清除对话框的持续状态。设置将最初出现在文件名域内的名称。指定要在保存对话框中收集的元数据特性值。设置保存的文件的属性存储。指定应用程序是否可以检索信息窗格区中的当前元数据值或者必须在已经关闭对话框之后等待和接收一组最终的值。将一组属性应用于文件。防止对话框关闭(如果,例如用户已经输入了无效选择)。基于调用的方法(示为从图158的对话框对象出发的箭头),操作系统创建所请求的对话框。如前所述,UI控件的排列是由操作系统设置的。因此,UI控件的详细放置信息(例如,指定从一个参考位置开始的像素x和y偏移)不必由应用程序开发者来提供。因为通过调用对话框对象内的方法方便了对话框定制,并且因为这些方法可以定制文件对话框的方式对于操作系统开发者是已知的,所以操作系统开发者更能知道操作系统修改将如何影响应用程序。具体地,定制的控件只限于那些可以通过所述方法调用之一来指定的控件。因为这些UI控件将被放在对话框的已知区域内,所以以后可以修改操作系统来改变对话框的其它部分。另外,多个对话框对象方法可以由操作系统调用以向应用程序通知各种事件。应用程序随后可以作为响应执行所希望的动作。例如,用户选择对应于指定文件的口令保护的控件可导致应用程序采取适当的步骤来保护该文件(或者直接或者经由到操作系统或到另一个应用程序的编程接口)。下面陈述关于操作系统可以通过调用这样的方法来通知应用程序的事件的例子。对话框将到关闭。用户已经导航(或正在导航)到新的文件夹。已经按下了帮助按钮。己经作出了用户视图选择。已经发生文件共享违犯。-Ty乂d:米开!j4出这口々X;^fr亦—IIT^;rfcAlH汁l_l;丄W_J>C_o用户已经指示文件应当被覆写。已经在组合框、单选按钮集合或菜单中作出新的选择。已经按下了命令按钮。复选框状态已经改变。在按钮上的下拉菜单将被打开。尽管已经描述了实现本发明的具体例子,但本领域的技术人员将意识到,存在上述系统和技术的许多其它变化方案和置换方案。作为一个这样的变化方案,在可扩展性区中或者在对话框的其它地方的一些或全部UI控件是能使用键盘来选择的。例如,用户可按下制表键来加亮一个特定控件并且随后通过按下"回车"键来激活该控件。作为另一个例子,一个特定的控件可具有相应的键组合(例如"Alt+S")。在至少某些实施例中,应用程序开发者可以修改用户如何通过键盘访问对话框的各方面。对于一个给定的应用程序,也可以有多个同时的文件对话框的实例。本发明的实施例还包括在其上记录了指令的计算机可读介质,当处理器执行这些指令时,执行一种方法的步骤和/或实现一种软件体系结构。如在所附权利要求书中使用的,短语"指示…的数据"包括指向位于其它地方的数据的指针或其它引用,以及实际数据本身。尽管已经例示和描述了本发明的较佳实施例,但将意识到,可以作出各种改变而不脱离本发明的精神和范围。例如,将意识到,在此所示的各种UI特征的位置是示例性的并且可被改变,并且各种UI特征的不同放置将仍落在本发明的精神和范围内。而且,在此所述的本发明的不同方面可用各种组合来形成而不脱离本发明的精神和范围。另外,所述过程中的各种步骤可按所愿重新排列、修改和/或删除以实现在此所述特征的经选择的子集。而且,在上文中,对在"本发明"的一个或多个"方面"或"实施例"中存在的某些特征进行参考只是说明可有利地单独或组合其它概念使用的各种概念,并且不应当理解为隐含了只存在一个在此公开的发明概念或者在所附的任何权利要求中要求所有所述的特征的意思。相反,所附每条权利要求作为它自己的不同发明而存在,并且不应当理解为具有超过它们所述内容的任何限制。权利要求1.一种由存储在一个或多个计算机可读介质上的计算机可执行指令定义的文件系统外壳浏览器,所述文件系统外壳浏览器可由用户导航来管理多个数据项目,所述文件系统外壳浏览器包括可由用户导航来标识具有共同元数据的第一组数据项目的页面空间控件;标识所述第一组数据项目的虚拟位置的虚拟地址栏;呈现所述第一组数据项目的第一显示的列表窗格;呈现对应于所述第一组数据项目中用户选择的一个数据项目的信息的预览窗格。2.如权利要求1所述的文件系统外壳浏览器,其特征在于,所述页面空间控件包括元数据值的分层树。3.如权利要求1所述的文件系统外壳浏览器,其特征在于,所述虚拟地址栏包括多个分层元素,每个元素在被用户选中时呈现可由用户选择的分层结构上等效的元数据值的列表。4.如权利要求3所述的文件系统外壳浏览器,其特征在于,当用户选中所述分层结构上等效的元数据值之一时,所述列表窗格呈现对应于所述分层结构上等效的元数据值之一的第二组数据项目的第二显示。5.如权利要求1所述的文件系统外壳浏览器,其特征在于,所述列表窗格以图标形式呈现所述第一组数据项目中的一个数据项目,所述图标形式指示对应于所述一个数据项目的多个其它数据项目。6.如权利要求5所述的文件系统外壳浏览器,其特征在于,所述图标形式包括其高度基于对应于所述一个数据项目的其它数据项目的数量的栈。7.如权利要求2所述的文件系统外壳浏览器,其特征在于,所述分层树的节点表示自动列表,所述自动列表由存储位置的范围和元数据值的一个或多个准则来定义。8.如权利要求1所述的文件系统外壳浏览器,其特征在于,还包括滑块可由用户可选择地改变滑块来选择所述第一组数据项目在所述列表窗格中的呈现风格的列表视图滑块。9.如权利要求8所述的文件系统外壳浏览器,其特征在于,所述列表视图滑块包括预设的呈现样式,所述预设的呈现样式包括图标呈现样式和列表呈现样式。10.如权利要求1所述的文件系统外壳浏览器,其特征在于,还包括自动列表构建器,其中用户定义包括一个或多个显式包括和一个或多个显式排除的自动列表范围。11.如权利要求1所述的文件系统外壳浏览器,其特征在于,还包括展示出供用户构建静态列表使用的功能的列表构建器。12.如权利要求1所述的文件系统外壳浏览器,其特征在于,所述页面空间控件被配置成基于用户垂直地滚动所述页面空间控件而自动地水平滚动。13.如权利要求1所述的文件系统外壳浏览器,其特征在于,当用户选择所述第一组数据项目的任一项目时,所述文件系统外壳浏览器执行对应于选中项目的启动活动。14.一个或多个存储计算机可执行指令的计算机可读介质,所述可执行指令提供可在数据处理设备的操作系统内执行的用户可导航文件系统外壳浏览器,所述文件系统外壳浏览器包括呈现元数据属性和属性值的分层树的第一窗格;呈现标识虚拟存储位置的元数据值的顺序列表的第二窗格,其中所述第二窗格反映出从所述第一窗格选择的属性值;以及呈现对应于所述虚拟存储位置的第一组数据项目的显示的第三窗格。15.如权利要求14所述的计算机可读介质,其特征在于,所述文件系统外壳浏览器还包括呈现对应于所述第一组数据项目中用户选中的一个数据项目的信息的预览窗格。16.如权利要求14所述的计算机可读介质,其特征在于,所述第二窗格中的每个元数据值对应于可由用户选择的在分层结构上等效的元数据值的列表,并且其中,当用户选择所述分层结构上等效的元数据值之一时,所述第三窗格呈现对应于所述选中的虚拟存储位置的第二组数据项目的显示。17.如权利要求14所述的计算机可读介质,其特征在于,所述分层树的节点表示虚拟文件夹,所述虚拟文件夹由存储位置的范围和元数据值的一个或多个准则定义,并且其中,所述虚拟文件夹对应于存储在所述范围内并且匹配所述一个或多个准则的全部项目。18.如权利要求14所述的计算机可读介质,其特征在于,所述文件系统外壳浏览器还包括可由用户可选择地改变来选择所述第一组数据项目在所述列表窗格中的呈现样式的列表视图滑块。19.如权利要求14所述的计算机可读介质,其特征在于,所述文件系统外壳浏览器还包括虚拟文件夹构建器,其中用户定义包括一个或多个显式包括和一个或多个显式排除的虚拟文件夹范围。20.如权利要求4所述的计算机可读介质,其特征在于,所述文件系统外壳浏览器还包括展示出供用户构建静态列表使用的功能的列表构建器。21.如权利要求14所述的计算机可读介质,其特征在于,所述第一窗格被配置成基于用户垂直地滚动所述分层树而动态地水平滚动。22.如权利要求14所述的计算机可读介质,其特征在于,当用户选中所述第一组数据项目中的任一项目时,所述文件系统外壳浏览器执行对应于选中项目的启动活动。23.—种作为计算机可执行指令存储在一个或多个计算机可读介质上的用户介面,所述用户界面对应于一文件系统外壳浏览器,并且所述用户界面包括彼此相对应地显示的三个或更多功能模块,所述功能模块是从以下集合中选择的页面空间控件模块,所述页面空间控件模块提供元数据属性和值的分层树,所述树可由用户导航以标识选中的元数据值;标识对应于所述选中的元数据值的第一组数据项目的虚拟位置的虚拟地址栏模块;提供可选择地改变的显示元素以允许用户选择所述第一组数据项目在列表窗格模块中的呈现样式的列表视图滑块;展示出供用户定义包括一个或多个显式包括的存储位置和一个或多个显式排除的存储位置的自动列表范围使用的功能的自动列表构建器模块;以及展示出供用户构建静态列表使用的功能的列表构建器模块。24.如权利要求23所述的用户界面,其特征在于,所述三个元素之一是虚拟地址栏元素,并且其中所述虚拟位置是作为元数据值的顺序列表来呈现的。25.如权利要求24所述的用户界面,其特征在于,在所述顺序列表中的每个元数据值对应于可由用户选择以改变元素在所述列表窗格模块中的显示的在分层结构上等效的元数据值的列表。26.如权利要求23所述的用户界面,其特征在于,所述三个元素之一是页面空间控件模块,其中所述三个元素中的另一元素是自动列表构建器模块,以及所述分层树的第一节点表示自动列表,所述自动列表对应于存储在所述自动列表范围内并且匹配一个或多个用户指定的元数据准则的全部项目。27.如权利要求23所述的用户界面,其特征在于,所述三个元素之一是页面空间控件模块,并且其中所述页面空间控件模块被配置成基于用户垂直地滚动所述分层树而动态地水平滚动。28.如权利要求23所述的用户界面,其特征在于,所述列表窗格模块以图标形式呈现所述第一组数据项目中的一个数据项目,所述图标形式指示对应于所述一个数据项目的多个其它数据项目。29.如权利要求28所述的用户界面,其特征在于,所述图标形式包括其高度基于对应于所述一个数据项目的其它数据项目的数量的栈。30.如权利要求23所述的用户界面,其特征在于,所述三个元素之一是列表视图滑块模块,并且其中,所述可选择地改变的显示元素包括预设的呈现样式,所述预设的呈现样式包括图标呈现样式和列表呈现样式。31.如权利要求23所述的用户界面,其特征在于,当用户选择所述列表窗格模块中显示的任一项目时,所述文件系统外壳浏览器执行对应于选中项目的启动活动。全文摘要提供了一种文件系统外壳。该外壳的一方面提供了基于文件和文件夹的元数据而非盘上的实际物理底层文件系统结构在不同视图中向用户展示常规文件和文件的虚拟文件夹(651-655)。用户能够通过直接操纵用该虚拟文件夹来工作,且提供了过滤器(620-626)用于缩小项目集合。快速链接(610-613)允许用户生成项目集合的有用视图。提供了由能关联在一起的大组有用项目类型(644、645)以及与项目有关的功能和工具(630-633)构成的库(640、641)。提供了包括多个段的虚拟地址栏,每一段对应于一用于选择内容的过滤器。提供了用户可用于基于与项目相关联的元数据容易地标识项目的外壳浏览器。文档编号G06F17/00GK101124572SQ200580029142公开日2008年2月13日申请日期2005年8月1日优先权日2004年9月24日发明者A·D·韦德,A·S·卡比尔,A·洛,B·A·贝茨,C·J·古扎克,C·R·安东尼,D·B·安德鲁,D·G·德沃切克,G·M·谢拉,G·P·乔伊斯,J·C·贝尔特,J·F·摩尔,K·M·塔布斯,L·K-F·翁,M·I·沃森,P·A·格斯莫里欧,P·L·卡特辛格,P·L·迈纳,R·B·伊万诺维克,R·M·班克斯,S·C·查理温德,T·K·比姆,T·P·麦基申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1