CN1613047A - 文件***外壳 - Google Patents

文件***外壳 Download PDF

Info

Publication number
CN1613047A
CN1613047A CNA038018713A CN03801871A CN1613047A CN 1613047 A CN1613047 A CN 1613047A CN A038018713 A CNA038018713 A CN A038018713A CN 03801871 A CN03801871 A CN 03801871A CN 1613047 A CN1613047 A CN 1613047A
Authority
CN
China
Prior art keywords
project
user
display
item
previewer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA038018713A
Other languages
English (en)
Other versions
CN1613047B (zh
Inventor
J·F·穆尔
D·G·德沃切克
N·H·巴卢
R·M·斑克斯
C·J·古扎克
P·L·密纳
D·J·谢尔登
J·B·库尔茨
J·C·哈利
T·K·比姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1613047A publication Critical patent/CN1613047A/zh
Application granted granted Critical
Publication of CN1613047B publication Critical patent/CN1613047B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一文件***外壳。该外壳的一个方面提供虚拟文件夹,它根据文件和文件夹的元数据,而不是在盘上实际物理底层文件***结构,在不同视图中向用户展示正规文件和文件夹。用户能通过直接操作(如点击和拖曳、复制、粘贴等)用该虚拟文件工作。提供过滤器使项目组范围变小。提供快速链接,它们被点击以产生项目组的有用视图。提供库,它包括互相关联的可用的项目类型的大的组,以及与项目相关的功能及工具。提供虚拟地址栏,它包括多个段,每段对应于用于选择内容的一个过滤器。提供一外壳浏览器,用户用它根据与项目相关的元数据能容易地识别该项目。提供在外壳浏览器中的对象预览器,它被配置成显示代表多个项目类型的多个项目。

Description

文件***外壳
技术领域
本发明涉及文件***,尤其涉及文件***外壳(shell)。
背景技术
现在的计算机文件***具有许多不合需要的局限性。一个局限是用户通常不能控制它们显示的结构。换言之,当组织文件夹时,用户必须选择结构,从而该结构以后难以改变。作为一个特定的例子,对于“音乐”文件夹来说,用户可能选择以音乐家/唱片集格式来组织音乐文件,其中对每位音乐家的所有唱片集文件夹集合成该特定音乐家的文件夹,且在某一唱片集上的所有歌曲都集合成该唱片集的文件夹。音乐家/唱片集格式无助于播放一类音乐(如播放两个不同音乐家的两首爵士歌曲),或播放对不同音乐家的唱片的选择。
另一个问题是,用户可能具有大量难以组织的文件。某些用户实施对文件严格意义的放置,从而对它们建立了严格的层次。当可用文档增加时,这种文件管理变得越来越复杂和困难,使得搜索及检索也困难。当利用来自其他地方的其它文件,如共享文件等时,问题尤其严重。
用户还必须处理在不同位置的文件,如在不同的设备上,在另外的PC上,或在线文件。例如,用户能在计算机上(只要能访问音乐节目)选择收听他们的音乐,或能在线收听来自网站的音乐,但是在此两个源之间存在严格的区分。来自不同位置的音乐难以组织,不能以同一样式或在同一处保存。作为另外的例子,存储在公司网络中的文件可能本来就与用户在当前机器上的文件相分离。
用户还必须不仅记住存储了什么文件数据,还要记住它存储在何处。例如对音乐文件来说,用户必须在各个***中保存副本,并试图跟踪哪个音乐文件放置在何处。这使文件难以定位,即使当它们是本地存储时也如此。
有时还难以寻找并返回到用户所具有的文件。用户可能难以回忆起他们在什么地方以及如何存储某些文件。给出一组文件夹和甚至一组类似的文件,用户常发现难以很快地找出他们正在寻找的文件。对存储在难以寻找的位置的文件来说,要定位则更复杂。此外,一旦用户在一文件夹中有足够多的文件,就难以迅速分析该文件夹,尤其在内容相似的情况更如此。
用户有时还难以寻找或返回网络上的文件。共享及发布文件常常难以做到,并且,从那些使文件变得可用的用户检索这些文件则通常甚至更加困难。用户通常必须记住或映射他们在网络上寻找文件所需要的各个站点和名字。
名字空间可能是变化的,它能对用户引起混淆,不知哪个是“正确的”。在网络上尤其如此,在网络上存在不同的命名习惯,限制等。例如,某些操作***可能要求短名且不带空格,以便使它们可见。
程序也常保存文件到它们自己的目录或其他名字空间,这使用户难以找到回到那些文件的路径。程序常具有它们存放文档的默认目录和位置。用户常常必须搜索他们的硬盘,并作出关于文件存在何处的猜测。
相关项目也常存储在分开的地方。用户拥有的相关文件可能存储在硬盘的不同部分中。随着具有多种内容类型(如图片、音乐、视频)的数字媒体服务的发展,此问题变得更加普遍。
文件***的另一问题涉及地址栏。当用户在计算机的文件***中漫游时,称为地址栏的传统的图形界面控制向用户示出它们在文件***层次结构中的何处。传统的地址栏借助文件夹、子文件夹、以及文件的文件***层次结构来示出当前位置。更改在传统地栏中显示的用户位置通常以两种方式之一完成。第一种是在地址栏中手工编辑地址。在地址栏中手工编辑地址允许用户在文件***层次结构中重新定位任何数目的位置,但需要用户具有关于在该计算机上文件***的组织的专门信息,即专门的文件***位置。第二种方法涉及使用外部导航工具,它在操作时更新地址栏,以反映新地址或新位置。虽然绕过了在地址栏中手工编辑地址,操作外部导航工具仍然需要用户具有关于文件***组织的专门信息,并在层次结构中遍历。但是由于在地址栏中的地址和文件***层次中特定位置之间的一对一的关系,传统的地址栏不能在如文件夹或驱动器那样的多个文件***位置中定位文件或数据。
现有技术缺乏允许用户指定显示储存在多个文件***位置中的文件的地址的地址栏。现有技术还缺乏允许用户容易地修改地址栏中的地址而不必手工编辑地址或不需要关于底层文件***的组织的专门知识。现有技术中还缺乏的是向用户呈现文件的另外选择的地址栏,使用户能选择从一个选择漫游到文件的那些选择。这种地址栏也可选地向用户呈现一传统的地址栏界面,使用户能根据用户的意愿按以前的经验来与该地址栏交互。
文件***的另一问题关系到对储存在计算机上的项目的识别。由于更多的个人在他们日常工作中利用计算机,且由于存储的信息的类型在图片、音乐、文档等之间变化,因此容易地识别存储在如个人计算机(PC)那样的计算环境中的项目的需求在惊人地增长。文档和媒体通常以层次方式存储在计算机上,且用存储在文件夹中的信息或媒体的文件加以组织。文件***浏览器使用户能漫游文件***,并定位及打开文件和文件夹。例如微软公司的WindowsExplorerTM是操作***实用程序,它使用户能浏览文件***。
许多用户发现,难以根据传统的文件***浏览器中当前可用的信息来正确地识别文件。当然,文件的内容能通过用应用程序将其打开而加以验证,但此浏览文件的方法特别低效。在文件***浏览器中查看有关文件的元数据的能力能大大帮助用户识别特定文件而不必打开它。例如在微软的Windows 9X操作***中,用户能通过访问某一对象的属性表来查看对象元数据。属性表以属性页的列表的类似索引卡选择的方式向用户展示一对象的属性或设置的列表,每种属性的作用在于对自定义参数的标准对话型控制。然而,使用属性表定位一项目是慢且麻烦的,某些用户发现难以在属性表中定位有关元数据。类似地,使用信息小贴示(infotip)定位一项目可能是慢且麻烦的,因为用户必须在每个文件上方悬停(hover)鼠标,以便查看到在信息小贴示中显示的有限的元数据。
传统的文件***浏览器不允许用户输入或编辑关于文件和文件夹的元数据,而允许用户输入或编辑关于文件和文件夹的元数据会大大增强用户以后定位文件的能力。至今,用户输入和编辑元数据的能力限于专用软件程序。例如,用于电子音乐文件的媒体播放程序向用户提供编辑与音乐唱片集及音乐家有关的元数据。这种程序的另外例子包括用于电子图片文件的应用程序。虽然,与支持多种文件类型的通用文件***浏览器相反,媒体播放程序及其他此类程序的使用局限于由该程序所支持的特定文件类型。
微软的Windows XP操作***包括在“我的图片”(My Pictures)文件夹中使用的图象浏览器。“我的图片”文件夹具有专门的特征,它使用户能将图片看成照片,而不只是文档的图标。“我的图片”的图像浏览特征包括查看略图大小及更大的照片、横向旋转照片、以及创建幻灯片演示的能力。用户还能看到照片的细节,如它的尺寸、拍照的日期和时间、以及拍照的照相机名。在“我的图片”文件夹中的预览控制区域包含用户选择的图像的放大的预览图像、帮助用户在一系列图片中累接选择的累接按钮(iterator button)、和用于以顺时针或逆时针方向旋转图片的控制。虽然Windows XP中图像浏览特征通过减轻了为观看和操作图片而调用应用程序的需求而使本领域得到了发展,但是用户仍然不能输入和编辑与图片相关的元数据。
因而对在外壳或文件***浏览器中需要改善用户体验,它使用户能根据与项目有关的元数据容易地定位项目。还需要有一种***及方法,它使用户能输入和编辑与外壳浏览器中各种类型的项目有关的元数据,而不需要调用应用程序。还需要一种文件***或外壳浏览器,它向用户提供改善的文件内容辨别特征,使得用户能容易地定位他们的文件。还需要一种用于外壳浏览器的改善的图形用户界面,它允许从多个可用的预览器中选择对某一文件类型的预览器。还存在对扩展的外壳浏览器的需要,它使软件开发者能在文件类型的基础上向用户提供额外的信息和功能。还需要提供跨越不同的项目集合的类似的UI体验。
发明内容
根据本发明的一个方面,提供一种利用虚拟文件夹的***和方法。虚拟文件夹根据文件和文件夹(也称为目录)的元数据,而不是在盘上实际物理底层文件结构,在不同的视图中向用户展示正规的文件及文件夹。因此,该***能采取存储在数据库中的属性,并将其表示成类似文件夹的容件。因为用户已经熟悉用文件夹工作,通过以类似方式表示虚拟文件夹,用户能快速地适应新***。
根据本发明的另一方面,根据在具有显示器和存储项目的存储器的计算机中使用的方法提供虚拟文件夹。按照该方法,选择元数据属性。然后该***搜索具有选定的元数据属性的项目,且提供虚拟文件夹显示对象,它表示具有该元数据属性的项目的集合。
根据本发明的另一方面,该***包括一文件夹处理器和用于存储有关这些项目的信息的关系数据库,文件夹处理器获得来自用户的查询。文件夹处理器首先获得来自用户的查询,并将查询送到关系数据库。关系数据提供结果返回给文件夹处理器,根据来自关系数据库的结果,文件夹处理器将该结果作为虚拟文件夹提供给用户。在一个实施例中,返回给文件夹处理器的结果包括数据库的行和列。该数据库的行和列由文件夹处理器转换成枚举器结构,然后使用它用最终的虚拟文件夹填充显示内容。
根据本发明的另一方面,用户能通过直接操作使用虚拟文件夹。换言之,提供的用于操作虚拟文件夹的机制类似于当前用来操作传统的实际文件夹的机制(如点击和拖曳、复制、粘贴等)。
根据本发明的另一方面,在具有显示器和用于存储项目的存储器的计算机中提供一种用于实现虚拟文件夹的直接操作的方法。按此方法,项目的组被表示成虚拟文件夹。提供规定的动作,它们能实现直接操作虚拟文件夹,其中当规定的动作完成时,虚拟文件夹象由规定的动作指导的那样地操作。规定的动作的例子是点击和拖曳虚拟文件夹。在一个实施例中,点击并拖曳第一虚拟文件夹到第二虚拟文件夹的动作实现将各项目从第一虚拟文件夹复制到第二虚拟文件夹的功能。复制项目到一个虚拟文件夹涉及添加或更改与项目相关的那些选定的元数据属性。
根据本发明的另一方面,提供用于操作虚拟文件夹的过滤器。过滤器本质上是用于将一项目组的范围变小的工具。在一实施例中,过滤器根据根据项目的属性动态地产生。例如,对一项目组,过滤器机制能审查这些属性,且若这些项目通常具有“作者”作为属性,过滤器能提供一作者列表。然后通过在某一作者上点击,则不具有该作者的项目消失。这使用户能缩减内容。
根据本发明的另一方面,在具有显示器和用于存储带有元数据属性的项目的存储器的计算机***中提供过滤项目的方法。在显示器上提供显示对象,每个显示对象代表一个或多个项目。评估由显示对象表示的项目的元数据属性。在显示器上提供一过滤器项,它对应于由多个项目共享的元数据属性,其中过滤器项的选择使得在显示器上表示的项目减少到共享指定的元数据属性的那些项目。
根据本发明的另一方面,多个项目呈现在显示器上,且根据项目的元数据属性动态地产生过滤器项。当选择过滤器项时,它将呈现在显示器上的项目减少到具有对应于该过滤器项的元数据属性的那些。
根据本发明的另一方面,多个项目呈现在显示器上,且提供一过滤器区域,用户能在其中输入过滤器项。当过滤器项是由用户输入的时候,呈现在显示器上的项目减少到包含该过滤器项的那些。随着用户输入过滤器项,当每个新的字符添加到过滤项时,另外一些项目被过滤掉。
根据本发明的另一方面,提供一回退按钮,它能用于反向通过过滤过程。例如,在用户已输入过滤器项之后,用户可能希望返回到在施加过滤器项以前呈现在显示器上的项目组。回退按钮使用户能返回到过滤器导航中的任何希望点。
根据本发明的另一方面,提供快速链接。在一个实施例中,快速链接是一组预定链接(如位于显示屏幕的左侧),能点击它们以产生项目组的有用视图。这些快速链接能由程序预定或由用户设定。例如点击“所有作者”能返回到按作者堆栈的视图。“所有文档”能返回跨越所有存储区域的所有文档的平面视图。用户也能创建他们自己的快速链接。例如,用户可能过滤到直至所有在2003年一月份修改的文档,并随后将其保存成快速链接。
根据本发明的另一方面,在具有显示器和用于存储项目的存储器的计算机***中实现提供快速链接的方法。按此方法,用户首先漫游到所希望的项目集合的视图。对应于所希望的项目集合的快速链接被存储并给予一名字。在显示器上呈现此快速链接之名,使得通过点击此快速链接,用户能返回到所希望的项目的集合的视图。
根据本发明的另一方面,提供库。库包括能互相关联的可用的文件类型的大的组。例如,照片可以是一个库,音乐可以是另一个库,而文档可以是又一个库。库提供关与特定类型项目有关的工具和活动。例如,在照片库中,存在与操作照片有关的工具和过滤器,用于创建幻灯片演示或共享图片。
根据本发明的另一方面,在具有显示器和用于存储项目的存储器的计算机***中提供创建库的方法。此方法通过创建一个包含带有一个或多个规定的元数据属性的项目的库而开始。然后,带有一个或多个规定的元数据属性的项目自动地组合到该库中。还提供操作该库的项目的工具。
根据本发明的另一方面,可使用更广范围的文件或项目。换言之,***能呈现来自从多个实际位置(如不同的硬盘驱动器、不同的计算机、不同的网络位置等)的文件/项目,使得对用户来说,所有这些项目好像来自同一位置。例如,能在单个显示器上向一用户显示所有他们的音乐文件,且即使这些文件实际上存储在不同的硬盘驱动器、不同的计算机或不同的网络位置,用户也能从一个视图上操作所有文件。
根据本发明的另一方面,在具有显示器的计算机***中显示项目的方法中使用有效范围(scope)。该方法涉及确定从中取出项目的实际存储器位置的有效范围,该有效范围包括当前计算机存储器和至少一个其他实际位置。一旦接收到一查询,响应此查询,从在此有效范围中确定的实际位置取出项目,且随后从该查询取出的项目呈现在显示器上的视图中。在一个实施例中,至少一个其他实际位置可以是另一计算机、网络上的位置、或外部存储设备。在一个实施例中,在显示器上的视图能切换到实际的文件夹视图,它指明项目实际存放的实际位置。
根据本发明的另一方面,在虚拟文件夹中能表示非文件项目。换言之,在存储器中存储的文件在实际存储器中定位。虚拟文件夹能做成包括当前不出现在实际存储器中的项目。非文件项目的例子是电子邮件和联络。
根据本发明的另一方面,在具有显示器和用于存储项目的计算机***中实现呈现非文件的项目的方法。该方法包括提供一数据库,它允许通过查询搜索非文件项目及文件项目。一旦查被接收,匹配该查询的非文件项目和文件项目均被取出,且匹配该查询的项目随即呈现在显示器上。在一个实施例中,提供一关系数据库,它包括有关文件项目的选定信息,并且它能保持在某些非文件项目的整体。
根据本发明的另一方面,提供用于选择存储在计算机文件***上的内容的虚拟地址栏。虚拟地址栏包括多段。每段对应于用于选择在计算机文件***中存储的内容的过滤器。总的来说,在虚拟地址栏中每段的对应过滤器代表用于选择存储在计算机文件***上的内容的虚拟地址。
每个段是交互段,它能响应用户的交互动作来修改虚拟地址栏中的虚拟地址。选择在虚拟地址栏中的一段引起所选的段之后的那些段从虚拟的地址栏中被移除。在虚拟地址栏中另外选择一段引起一列可选的对等过滤器向用户显示。对等过滤器对等于另选段的对应过滤器。选择一个对等过滤器引起另选的段用选中的对等过滤器替代其对应的过滤器。此外,在另选的过滤器段后的那些过滤器从虚拟地址栏中被移除。
段能按照外部用户的动作而添加到虚拟地址栏。段被添加到虚拟地址栏中的段的末端。与添加的冲突的任何段被移除。当在虚拟地址栏中的现有的段对添加的段互相排斥时,则该现有段与添加的段相冲突。当在虚拟地址栏中的现有的段在有效范围上比添加的段要更宽或更窄时,则该现有的段也与添加的段相冲突。
根据本发明的另一方面,提供外壳浏览器,它包括一视窗及一编辑控件。视窗显示一组项目,还显示与一个或多个显示的项目相关联的元数据值。编辑控件使用户能修改至少部分在视窗中显示的元数据值。
根据本发明的另一方面,一图形用户界面被包含在计算机可读媒体中,且可在计算机上执行。图形用户界面包括在外壳浏览器中显示一组项目的第一屏幕区域,和显示与一个或多个显示的项目相关联的元数据的第二屏幕区域。图形用户界面还向用户呈现在外壳浏览器中用于修改所显示的元数据的工具。
根据本发明的又一方面,提供用于使用户能在外壳浏览器中修改元数据的计算机实现的方法。此类方法之一包括显示多个项目,从用户接收表示选择至少一个显示项目的第一输入,显示与所选的项目有关联的元数据,并提供用户修改所显示的元数据的编辑控件。另一方法包括显示一欢迎窗格和与此欢迎窗格相关联的元数据,并提供用户修改所显示的元数据的编辑控件。
根据本发明的另一方面,在外壳浏览器中显示包含与一个或多个项目相关联的元数据的数据结构。存储在一个或多个计算机可读媒体的数据结构包括一字段,它包含与一个或多个显示的项目相关联的用户可修改的元数据,且包含在数据结构中的用户可修改的元数据也在外壳浏览器中显示。
根据本发明的另一方面,提供包括默认预览器和有扩展能力的机制的外壳浏览器。默认的预览器对多个项目类型提供标准级的功能。有扩展能力的机制使功能超越由默认的预览器对一个或多个项目类型提供的标准级功能。
根据本发明的另一方面,提供包括第一预览器和第二预览器的外壳浏览器。第一预览器对多个项目类型提供标准级功能,而第二预览器对一个或多个项目类型提供另选的或扩展的功能级。外壳浏览器被配置成对一个或多个项目类型可选地配置第一预览器或第二预览器。
根据本发明的另一方面,提供支持多个项目类型的用于外壳浏览器的图形用户界面。该图形用户界面包括用于在外壳浏览器中显示一组项目的第一屏幕区域,和用于从多个可用的预览器中选择用于所显示的项目的预览器的工具。
根据本发明的另一方面,提供用于在支持多个项目类型的外壳浏览器中选择预览器的计算机实现的方法。该方法包括在用于某一项目类型的外壳预览器中提供多个预览器,并对该项目类型选择一个预览器。该方法随后将所选的预览器与该项目类型相关联。
根据本发明的另一方面,提供用于在支持多个项目类型的外壳浏览器中能采用第三方预览器的计算机实现的方法。该方法包括提供具有用于多个项目类型的默认预览器的外壳浏览器,并提供有扩展能力的机制,它使第三方能开发用于多个项目类型的至少一个的另选的预览器。
根据本发明的另一方面,提供一数据结构,它包含指明在外壳浏览器中多个预览器的信息。储存在一个或多个计算机可读媒体的数据结构包括包含指明支持多个项目类型的默认预览器的信息的第一字段。第二字段包含指明用于第一项目类型的另选预览器的信息,而第三字段包含的信息指明,当第一项目类型的项目在外壳浏览器中显示时,是调用默认预览器还是另选的预览器。
根据本发明的另一方面,不同类型的项目被组合成库,对它提供基本UI特征的类似的组。换言之,对不同类型的库,如文档库、照片库和音乐库,提供基本UI特征的类似组。此组基本UI特征可包括如过滤、创建新类别、编辑项目的元数据、改变数据透视表(pivot)等的特征。对库的基本UI特征的类似组使用户能使用他们已经熟悉的属性和特征处理和组织不同类型的项目。
附图说明
当结合附图参考下面详述更好地理解本发明时,本发明的上述方面及许多附属优点将变得更容易理解。附图中:
图1是适于实现本发明的通用计算机***的框图;
图2是根据本发明的虚拟文件夹***的框图;
图3是示出用户提供查询以取回选择的文件和文件夹的例行程序的流程图;
图4是示出根据默认的查询或用户的查询在屏幕上构造及显示虚拟文件夹的例行程序的流程图;
图5是根据硬盘驱动器上具体的文件夹安排的文件夹结构的树形图;
图6是虚拟文件夹结构的树形图;
图7是图6的虚拟文件夹结构的树形图,其中客户堆栈进一步由契约及年份过滤;
图8是图7的虚拟文件夹结构的树形图,其中客户堆栈的契约进一步由年份过滤;
图9是图6的虚拟文件夹结构的树形图,其中契约堆栈进一步由客户及年份过滤,而客户又进一步由年份过滤;
图10是示出文档库的堆栈的屏幕显示的图示;
图11是示出在图10的ABC公司的堆栈中的文档的屏幕显示的图示;
图12是屏幕显示的图示,其中对图11的文档选择堆栈功能;
图13是屏幕显示的图示,其中对图12的堆栈功能选择“按作者的堆栈”参数;
图14是屏幕显示的图示,其中图13的文件按作者堆栈;
图15是屏幕显示的图示,其中选择堆栈功能,且进一步选择“按类别堆栈”选项,以便重新堆栈图14的文件;
图16是屏幕显示的图示,其中图14的文件按类别重新堆栈;
图17是屏幕显示的图示,其中选择用于显示的实际文件夹的快速链接;
图18是屏幕显示的图示,其中示出实际文件夹,它们包含图17的虚拟文件夹堆栈的文件;
图19是流程图,示出用户能直接操作虚拟文件夹的例行程序;
图20是屏幕显示的图示,其中新的“西海岸”(West Coast)堆栈被添加到图10的堆栈上;
图21是屏幕显示的图示,其中使用直接操作将文件从“ABC公司”堆栈复制到图20的“西海岸”堆栈;
图22是流程图,示出动态产生新过滤项目的***的例行程序;
图23是流程图,示出根据过滤器项的选择用于过滤项目的***的例行程序;
图24是屏幕显示的图示,其中图10的堆栈已由项“AB”过滤;
图25是屏幕显示的图示,其中图10的堆栈已由项“ABC”过滤;
图26是屏幕显示的图示,其中对图10的堆栈选择过滤器项“年份2002”;
图27是屏幕显示的图示,其中图10的堆栈已由“年份2002”过滤,且进一步选择过滤项“月份”;
图28是屏幕显示的图示,其中呈现一列表用于选择月份进行过滤;
图29是屏幕显示的图示,其中图10的堆栈进一步由“一月”过滤,且进一步示出过滤器项“日”;
图30是流程图,示出创建新的快速链接的例行程序;
图31是屏幕显示的图示,用于根据图29的过滤创建称为“一月份工作”的快速链接;
图32是屏幕显示的图示,其中选择“所有作者”的快速链接;
图33是屏幕显示的图示,其中呈现图32的所有作者的列表;
图34是屏幕显示的图示,其中从图33的列表选择“作者1”,且显示作者1的所有文档;
图35是流程图,示出创建新库的例行程序;
图36是屏幕显示的图示,其中示出各种可用的库的集合;
图37是流程图,示出确定虚拟文件夹集合的范围的例行程序。
图38是框图,示出能形成虚拟文件夹集合的范围的各种源;
图39是流程图,示出将非文件项目包括在虚拟文件夹集合中的例行程序;
图40是屏幕显示的图示,示出包括在虚拟文件夹中的各种非文件项目;
图41是适用于实现本发明的示例性联网计算机环境的示意图;
图42是示出示例性文件查看器的示意图,它具有在现有技术中已有的与计算机文件***中显示文件相关联的传统的地址栏;
图43是示出示例性文件查看器的示意图,用于按照在根据本发明构成的虚拟地址栏中的虚拟地址显示在计算机文件***中的文件;
图44A是图5的示例性文件查看器的示意图,示出在虚拟地址栏中选择一段虚拟地址,以便在文件***中漫游;
图44B是图44A的示例性文件查看器的示意图,示出在虚拟地址栏中选择一段虚拟地址的结果;
图45A-45D是示意图,示出在虚拟地址栏中选择与一段虚拟地址相关联的对等过滤器;
图46A-46D是示意图,示出在虚拟地址栏中将附加的过滤器添加到虚拟地址中;
图47A和47B是示意图,示出在虚拟地址超出虚拟地址栏显示容量时显示一虚拟地址的示例性虚拟地址栏;
图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是数据结构的框图,它包含表明外壳浏览器中多个预览器的信息。
具体实施方式
本发明针对一种包括若干希望的特征的文件***外壳。本质上,该外壳为用户提供查看和操作存储在计算机上文件和其他项目的能力。下面的描述首先提供在图1-66中示出的特征的综述,然后提供详细的讨论。
总的说来,图1-9通常针对用于虚拟文件夹的整个***。虚拟文件夹提供一种方法,允许传统的用户界面根据文件和文件夹的元数据(而不是在盘上的实际物理底层文件***结构)在不同视图中向用户展示正规的文件和文件夹(称为目录)。图10-18通常针对堆栈,它们涉及虚拟文件夹采取任何存储在数据库中的特征并将其表示成象文件夹的容件的能力。图19-21通常针对虚拟文件夹的直接操作,它涉及提供用于操作虚拟文件夹的机制,这些机制类似于当前用于操作标准文件夹的机制(如复制、粘贴、点击和拖曳等)。图22-29通常针对过滤器,它们提供一组工具使文件/项目的组变小。图30-34通常针对快速链接,它们是一组预定的链接,能被点击以便产生文件/项目的组的有用视图。图35-36通常针对库,它们涉及这样的概念,即有用的文件类型的组能互相关联,且能提供与特定类型项目有关的工具和活动。图37-38通常针对与下述概念有关的范围,该概念是能够从多个实际位置(如不同的硬盘驱动器、不同的计算机、网络位置中的计算机等)获取文件/项目,使得所有文件/项目同样方便地向用户呈现,就好象它们是从一个位置提供的。图39-40通常针对非文件项目,它们能与文件一起包括在数据库中,且它们能包括如电子邮件和联络之类的项目。图41-50通常针对虚拟地址栏,它包括多个段,每个段对应于用于选择内容的过滤器。图51-57通常针对外壳浏览器,用户能容易地用它以根据与一项目相关联的元数据识别该项目。图58-66通常针对在配置成显示代表多种项目类型的多个项目的外壳浏览器中扩展一对象预览器的功能。下面的描述提供本发明的这些方面的每一个方面的详细讨论。
如上所述,图1-9通常针对用于实现虚拟文件夹的***。虚拟文件夹采用当前用于文件***的相同或类似的用户界面。虚拟文件夹根据正规的文件和文件夹(称为目录)的元数据,而不是根据在盘上实际物理底层文件***结构,在不同的视图上展示该正规的文件和文件夹。创建与位置无关的视图,它使用户能采用与现在用于管理文件***相似的控制操作他们的文件和文件夹。通常,这意味着用户能根据在文件本身中内在的属性组织和重新安排他们的文件,而不是将管理及组织作为***分别的部分来做。虚拟文件夹可代表来自不同实际位置的文件或项目,如来自同一台计算机的多个盘驱动器、来自多个计算机,或来自不同的网络位置,使得文件或项目的一个视图能展示坐落于不同实际位置的文件或项目。在一个实施例中,不同的项目或文件为了被包括在内只需要通过IP网络连接。
虚拟文件夹模型也能用于传统的非文件实体。此情况的一个应用是具有一组类似于文件和文件夹(即对象和容件)的用户界面,以便传统地显示非文件实体。这种非文件实体的一个例子是电子邮件,而另一个是来自联络数据库的联络信息。以此方式,虚拟文件夹提供了与位置无关而基于元数据的视图***,它不管要显示的数据是否来自于文件或非文件实体都能工作。通常,这些方面通过使用户采用通用用户界面技术(拖放、双击等)以及平衡各种数据类型的丰富集成来操作他们的文件和数据而变得更灵活。
图1及随后的讨论试图给出能实现这里所描述的本发明的虚拟文件夹和其他方面的合适的计算环境的简单、一般的描述。虽然不必须,本发明在由个人计算机执行的计算机可执行指令(如程序模块)的一般环境下予以描述。通常,程序模块包括例行程序、程序、特征、组件、数据结构等,它们完成特定任务或实现特定的抽象数据类型。本领域技术人员理解,本发明能用其他计算机***配置实施,包括:手持设备、多处理器***、基于微处理器或可编程的消费电子设备、网络PC、小型计算机、大型计算机等。本发明也能在分布式计算环境中实施,在分布式计算环境中,任务由通过通信网络链接的远程处理设备完成。在分布式计算环境中,程序模块可位于本地或远程的存储器设备中。
参考图1,用于实现本发明的示例***包括以传统的个人计算机20形式的通用计算设备,它包括处理单元21、***存储器22和将包括***存储器22的各种***组件连接到处理单元21的***总线23。***总线23可以是若干种总线结构的任一种,包括存储总线或存储控制器、***总线和使用各种总线体系结构的任一种的局部总线。***存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。包含如在启动时帮助在个人计算机20的各单元之间传输信息的基本例行程序的基本输入/输出***(BIOS)26存储在ROM24中。个人计算机20还包括用于读写硬盘39的硬盘驱动器27、用于读写可移动磁盘29的磁盘驱动器、和用于读写如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那样的接口连接***总线23。除了显示器和扬声器之外,个人计算机通常包括如打印机之类的其他***输出设备(未示出)。
个人计算机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、处理程序制作器(factory)组件214、属性书写器(writer)组件216、行集合(rowset)分析组件218、查询构筑程序(builder)组件220、枚举器(enumerator)组件222、以及属性制作器(factory)组件224。
关系数据库230存储有关***中所有文件的属性。它还完整地存储如联络(即非文件项目)之类的某些项目。通常它存储有关文件的类型的元数据及其包含的项目。关系数据库230从查询构筑程序220接收SQL查询。关系数据库230还发送SQL行集合到行集合分析组件218,每个项目列为一行,列是项目属性。
虚拟文件夹描述数据库232包括虚拟文件夹描述。虚拟文件夹描述数据库232发送数据到查询构筑程序组件220,它包括在文件夹中显示的类型的列表、初始过滤器和显示从(有效范围)来的结果的实际位置的列表。
关于其他外壳文件夹组件234,文件夹处理器210将包括用于处理程序或属性的所有文件的许多类型的项目授予现有的外壳文件夹。其他外壳文件夹组件234将属性从其他文件夹发送到属性制作器224。其他外壳文件夹还发送处理程序到处理程序制作器214。
文件夹处理程序组件236对只存在于数据库中的类似联络的项目提供代码行为。正是这个允许非文件项目表现得类似于文件。文件夹处理程序组件236发送处理程序到处理程序制作器214。
对于本地处理代码组件212,文件夹处理器210根据项目的属性直接应用某些处理程序。本机处理代码组件212发送处理程序到处理程序制作器214。对于本机处理代码组件212和文件夹处理程序组件236,如所有名字空间,虚拟文件夹对它们的项目必须提供一组处理程序(上下文菜单、图标、略图、信息小贴示(infotip)、...)。对于这些(信息小贴示、数据对象、拖放处理程序、背景上下文菜单...)的大多数,虚拟文件夹对它保持的所有类型提供公共的(本机的)处理程序。然而存在类型的作者必须提供的其他处理程序(项目本身的上下文菜单、可写的属性存储,...)。默认的处理程序还可被忽略。虚拟文件夹对文件重新使用此,并允许非文件项目同样做法。
处理程序制作器214采取ID列表并产生提供上下文菜单、图标等的代码行为。通常,文件夹处理器210可使用本机处理程序、外部处理程序、或委托给其他外壳文件夹以便获得处理程序,如上关于本机处理代码组件212、其他外壳文件夹组件234、和文件夹处理程序236所描述的那样。处理程序制作器组件214在视图组件请求时将处理程序送到视图组件240中的外壳浏览器。处理程序制作器组件214将属性处理程序送到属性书写器216。
属性书写器216将用户的愿望(如剪切、复制以及粘贴)转换成对文件或项目的属性权限。外壳浏览器和视图组件240发送数据到属性书写器216,包括元数据的直接操作(剪切/复制/粘贴)或编辑。通常,因为虚拟文件夹根据一项目的属性给出一组织结构,如移动或复制(拖放)之类的操作变成在那些属性上的编辑。例如,在按作者排列的视图中,将文档从作者1移动到作者2,这意味着改变作者。属性书写器组件216实现此功能。
行集合分析器218取出数据库行集合,并将所有项目属性存储到外壳ID列表结构中。行集合取虚拟文件夹的片段的定义,并构筑SQL串,它随即被发送给数据库。行集合分析器组件218发送ID列表到枚举器组件222。如上所述,行集合分析器组件218还接收来自关系数据库230的数据,包括SQL行集合,每个项目一行,列是项目属性。
查询构筑程序组件220构筑SQL查询。查询构筑程序组件220接收来自枚举器组件222的数据,包括从导航来的新过滤器。查询构筑程序组件220还接收来自虚拟文件夹描述数据库232的数据,包括在文件夹中显示的类型的列表、初始过滤器和从其(有效范围)显示结果的实际位置。查询构筑程序组件220发送SQL查询到关系数据库230。
通常,查询构筑程序组件220包括一组行(换言之一个表)。这是运行查询产生的。行集合分析组件218取每一行,并使用列名称将行转换成ID列表。ID列表是众知的外壳结构,它被用于定位名字空间中的项目。这样做使得虚拟文件夹对外壳的其余部分好象任何其他的名字空间。而且高速缓存此数据有助于使开销大的数据库存取访问保持最少。
枚举器组件222响应对虚拟文件夹的导航而操作。如上所述,枚举器组件222从行集合分析器组件218接收ID列表,并发送来自导航的新过滤器则到查询构筑程序组件220。枚举器222还发送数据到外壳浏览器和视图组件240,包括在导航后反回以***到视图中的ID列表。
属性制作器组件224取ID列表和属性识别符,并返回那些属性的值。属性制作器组件224从包括属性处理程序的处理程序制作器组件214接收数据。如上所述,属性制作器组件还从其他外壳文件夹组件234接收数据,包括从其他文件夹来的属性。属性制作器组件224还发送数据到外壳浏览器和视图组件240,包括视图所请求的项目属性。
外壳浏览器和视图组件240在视窗中显示文件夹的内容,并处理用户与显示的文件或项目的所有交互,如点击、拖曳和漫游。从而,外壳浏览器和视图组件240接收用户的动作。外壳浏览器和视图组件240还得到有关需要来自文件夹(在此情况是文件夹处理器210)的代码行为的数据。
如上所述,虚拟文件夹根据文件和文件夹的元数据而不是在盘上实际物理底层文件***结构,在不同视图上向用户展示正规文件和文件夹(也称为目录)。因此,***能取得存储在数据库中的属性并将其表示成好象文件夹的容件。因为用户已经熟悉用文件夹工作,通过以相似的方式表示虚拟文件夹,用户能更快地适应新的***。
图3是示出例行程序300的流程图,用户通过此例行程序提出查询,取回选择的项。在框302,文件夹处理器从用户得到查询。在框304,文件夹处理器将查询传送到关系数据库。在框306,关系数据库返回结果给文件夹处理器。在框308,文件夹处理器以虚拟文件夹和项目的形式提供结果给用户。
图4是示出例行程序320的流程图,借此按照默认的查询或来自用户的查询构造虚拟文件夹,并在屏幕上显示。在框322,当用户首次打开虚拟文件夹时使用默认的查询。此默认查询从暂存器取得。例如,对音乐库的默认查询能示出由唱片集组合的所有歌曲。在框324,文件夹处理器对此查询构造查询对象,并随后将此查询送到关系数据库。在框326,关系数据库产生查询结果并按数据库的行和列将结果送回到文件夹处理器。
在框328,文件夹处理器取得这些结果,并将其从数据的行和列转换成枚举器结构,它由文件夹视图使用,以在屏幕中填充所产生的虚拟文件夹和项目,用于与用户交互。在判断框330,用户判断是否要改变视图(通过发出不同的查询或“数据透视表”(pivot))。例如,用户能发出“显示所有音乐家”的数据透视表。若用户不想改变视图,则例行程序返回到框324,在那里,文件夹处理器将此新查询送到关系数据库,并收回新的结果的行和列,并构造新的枚举器结构。然后过程如上述继续,当文件夹视图清除及更新时,使用枚举器取出“音乐家”对象到屏幕。
在一例子中,提供唱片集对象,它们表示用户能在其中导航漫游的容件。例如双击“甲壳虫乐队”(“Beatles”)唱片集将漫游视图,以看到甲壳虫乐队的所有歌曲。文件夹处理器向关系数据库发出“显示甲壳虫乐队的所有歌曲”的查询,数据库送回那些歌曲的行和列数据。文件夹处理器创建所有这些歌曲的枚举器,然后取出到屏幕。
用户还能在浏览虚拟文件夹同时选择任何点的视图。上述例子中,在局限到只显示甲壳虫乐队的歌曲之后,用户能改变视图到只显示歌曲作为唱片集。改变项目的视图到另外表示的过程称为“堆叠”(stacking)。这是因为项目是根据该表示在概念上被安排在“堆栈”中。在此情况,对各个唱片集的每一个,将歌曲重新安排在各堆栈中。然后用户能漫游到这些堆栈之一,只看到从某一唱片集来的歌曲。再则,用户能根据属性(如等级(rating))将余下歌曲的视图重新安排到堆栈中。若选择等级属性,则来自甲壳虫乐队唱片集的歌曲将显示在一、二、或三星等级的堆栈中。
每个查询的结果取决于哪个实际位置包括在有效范围中。例如,有效范围能做得只包括用户的“我的文档”文件夹中的文件夹。另选地,有效范围能包括计算机上所有文件夹,或甚至多台网络连结的计算机上的所有文件夹。用户能通过有效范围属性表查看和改变有效范围。在一个例子中,有效范围属性表能通过在虚拟文件夹上右击并选择“属性”来展示。用户能添加新文件夹到有效范围,或删除以前添加的文件夹。
虚拟文件夹将为其提供特定实用程序的用户组是知识工作者(Knowledgeworker)。虚拟文件夹允许知识工作者在以文件类型、计划、案例号、作者等方式观看文档之间容易地切换。因为每个知识工作者倾向于以不同的方法组织文档,能使用虚拟文件夹适应这些不同的选择倾向。
图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、421和431的每一个还分别包含文件夹413、423和433,每个对应于年份2002。
可以理解,对于希望漫游如图5中示出的实际文件夹文件结构的用户来说,存在若干障碍。例如,若用户希望用该用户产生的所有契约工作,该用户首先需要漫游到文件夹411用对客户1的契约工作,随后必须再漫游到文件夹421以达到对客户的契约,且再次必须漫游到对客户3的契约的文件夹431。此安排使得用户难以访问所有契约,且通常阻碍了同时查看和操作所有契约。类似地,若用户希望观看在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-63、信息和控制单元640-645和虚拟文件夹堆栈651-655。
快速链接单元包括“所有类别”快速链接610、“所有作者”快速链接611、“一月份工作”快速链接612和用于显示其他快速链接的选项613。如下面将详述的那样,快速链接能由用户选择,以完成虚拟文件夹的所希望的导航。快速链接能由***提供,某些快速链接能由用户创建和保存。
过滤器单元包括“通过…过滤”(filter by)指示器620、输入空间621、“按日期”(by date)指示器622、“年份”选择器623、“挑选作者”选择器624、“挑选类别”选择器625、以及“更多的过滤器”选择器626。“通过…过滤”指示器620指示用户,可用它下面的项来过滤虚拟文件夹或项目。输入空间621提供用户能键入所希望的新过滤器项的区域。“按日期”指示器622指示用户,通过从“年份”选择器623选择日期,虚拟文件夹或项目能由选择的年份过滤。“挑选作者”选择器624允许用户按特定作者过滤。“挑选类别”选择器625允许用户按选定的类别过滤。“更多的过滤器”选择器626允许用户在显示器上弹出额外的过滤器。
活动选择器包括“创建新类别”选择器630、“活动”选择器631和632、和“更多活动”选择器633。如下面将详述的那样,呈现的活动可以是用于一般希望的功能,或更具体地是针对对当前显示的虚拟文件夹类型有用的活动。例如,“创建新类别”选择器630能由用户选择来创建将由新堆栈表示的新类别。
如上面提到的那样,活动选择器631和632能更具体地针对所显示的文件夹或项目的类型。例如,当前显示是文档库,对此“活动”选择器631和632可以针对文档裁剪的具体活动,如编辑或创建附件。若现在的库是照片库,“活动”选择器631和632可以是针对照片的具体活动,如形成照相册或与其他用户共享照片。
信息和控制单元包括信息行640和641、控制行642、退格控件643、信息行644和645。信息行640和641提供关于虚拟文件夹或项目的当前导航的信息。在本例子中,信息行640指明,当前导航是到文档库。而信息行641指明更完整的导航,示出了文档库是在存储区域中。控制行642提供若干标准控件,而退格按钮允许用户通过导航路线回退。信息行644提供关于当前导航的内容的数字信息。在本例中,信息行644表明有41个项目,占据在文档库的堆栈中的100MB。信息行645可用于提供附加信息,如关于选中的文件的附加信息。
文档库的堆栈包括“ABC公司”堆栈651、“备份堆栈”652、“商业计划”堆栈653、“XYZ公司”堆栈654和“市场报告”堆栈655。每个堆栈顶部的数字指明在每个堆栈有多少项目。例如,示出“ABC公司”堆栈651包括8个项目。堆栈的项目的总数合计为信息行644指明的项目数,在本例中如上所述是41。提供一选择框SB,它能由用户使用来选择希望的项目。选择“ABC公司”堆栈651产生该堆栈的项目的视图,这将参考图11描述。
图11是屏幕显示,示出在图10的“ABC公司”堆栈651中的项目。应注意,信息行640和641现指出当前导航示出“ABC公司”堆栈。示出“ABC公司”堆栈651包括8个文档751-758,分别对应于文档1-8。信息行644对应地指明,有8个项目,它们占据20MB存储器。图11的文档能进一步安排成在ABC公司堆栈651中的堆栈。换言之,在由ABC公司堆栈651表示的虚拟文件夹中,附加的虚拟文件夹能组织成保持文档,这将参考图12-16在下面描述。
图12是屏幕显示,其中对图11的文档选择堆栈功能。如图12所示,用户能弹出功能框760。功能框760包括“视图”选项761、“以……安排图标”选项762、“堆栈”选项763、“刷新”选项764、“打开包含文件夹”选项765、“剪切”选项766、“复制”选项767、“撤销”选项768、“新建”选项769和“属性”选项770。在“堆栈”选项763周围显示选择框SB。
图13是屏幕显示,其中对图12的堆栈功能选择“按作者堆栈”参数。如图13中所示,显示了框780,它表示各种堆栈选项。堆栈选项包括“不堆栈”选项781、“按类别堆栈”选项782、“按作者堆栈”选项783和“按用户堆栈”选项784。围绕“按作者堆栈”选项784显示选择框SB。
图14是屏幕显示,其中图13的文件按作者堆栈。如图14所示,堆栈791和792分别对应于作者鲍勃和利萨。如每个堆栈的顶部的数所示,鲍勃堆栈791包括2个项,而利萨堆栈包括5个项。项目758(对应于文档8)不具有作者,因而不包括在“作者”堆栈中。堆栈791和792示出,堆栈能组织成多层,如在“ABC公司”堆栈651中那样。因此,虚拟文件夹能以多层构成,如“利萨”堆栈792在“ABC公司”堆栈651中,而后者在文档库中。
图15是屏幕显示,其中进一步选择“按类别堆栈”选项以重新堆栈图14的文件。如图15所示,围绕“按类别堆栈”选项782是选择框SB。因为某些项目已经被堆栈在堆栈791和792中,选择“按类别堆栈”选项782将重新堆栈项目,将参考图16在下面更详细地描述。
图16是屏幕显示,其中图14的文件按类别重新堆栈。如图16所示,堆栈793和794分别对应“XYZ公司”和“市场报告”类别。对应于文档1和2的项目751和752不指定给任何附加类别,因而不落入任何其他类别堆栈。
图17是屏幕显示,其中选择对实际文件夹的快速链接。围绕“所有文件夹”快速链接616显示选择框SB。下面参考图18详细讨论,“所有文件夹”快速链接616提供到实际文件夹的视图的切换。
图18是示出实际文件夹的屏幕显示。示出的实际文件夹包含图17的虚拟文件夹堆栈的文件。换言之,包含在图17的堆栈651-655中的项目也包含在***的某些物理文件夹中。在图18中示出的是位于本计算机的“我的文档”文件夹851、位于本计算机的“桌面”文件夹852、位于硬盘驱动器C:的“Foo”文件夹853、位于服务器的“我的文件”文件夹854、位于外部驱动器的“外部驱动器”文件夹855、位于另一计算机的“我的文档”文件夹856、和位于另一计算机的“桌面”文件夹857。
如图18所示,用户能从图17的虚拟文件表示切换到图18的物理文件表示。这使用户能根据当前任务的需要在虚拟文件表示与物理文件表示之间二者选一。实际文件夹851-857的不同位置还示出,虚拟文件***的范围可能相对较宽,下面将加以详述。
图19是示出例行程序880的流程图,用户用它能直接操作虚拟文件夹。如下面详述的那样,提供用来操作虚拟文件夹的机制类似于当前用于操作正规文件夹的机制(如点击及拖曳、复制、粘贴等)。如图19所示,在框882,***提供用户能执行的确定动作来进行对表示成显示对象的虚拟文件夹的直接操作。在框884,用户执行确定的动作。如上提到的那样,此动作的一个例子是用户点击并拖曳一虚拟文件夹以便复制其内容到另外的虚拟文件夹。在框886,如由用户完成的动作所指示的那样操作虚拟文件夹和/或内容。
图20是屏幕显示,其中新的西海岸堆栈656被添加到图10的堆栈。西海岸堆栈656由用户创建“西海岸”新类别而产生。初始创建时,新的西海岸堆栈656是空的,只有0个项目。在图20的实施例中,2个项目添加到西海岸堆栈656中。添加项目到堆栈的一种方法是选择某一项目,且修改或添加附加的类别到该项目的类别元数据,例如添加类别“西海岸”到2个项目,如在图20的实施例中所做的那样。此过程示出,类别数据是对一个项目的元数据属性,它是特定属性的类型。换言之,此类属性不具有任何隐含的意义,且能由用户指定任意值。例如,类别“属性”能具有任何值,而“作者”属性应是人名。下面将参考图21详述,项目也能被点击和拖曳,以便从其他堆栈复制到西海岸堆栈656(在此情况,项目的类别自动地更新成包括“西海岸”)。在这方面,图20示出选择框SB围绕ABC公司堆栈651,以准备复制其内容。
图21是屏幕显示,其中使用直接操作来将文件从ABC公司堆栈651复制到西海岸堆栈656。换言之,如图20所示,用户选择ABC公司堆栈651,并随后如图21所示,用户点击并拖曳要被复制到西海岸堆栈656的堆栈。于是,在图20中只具有2个项目的西海岸堆栈656现显示出已包括总共10个项目,其中包括来自ABC公司堆栈651的另外8个项目。在将来自ABC公司堆栈651的项目复制到西海岸堆栈656时,这是通过修改8个项目类别描述来完成的,使得除包括原先“ABC公司”类别外还包括“西海岸”类别。这示出了可执行的一种类型的直接操作。
直接操作的另外例子是右键点击一项目并选择删除。在一实施例中,在用户选择删除功能时,询问用户是否该项目应全部删除,或只是从当前虚拟文件夹移除。若该项目只是如上述从当前虚拟文件夹类别堆栈移除,这能通过从对项目的元数据中移除希望的类别来实现。换言之,若已从ABC公司堆栈651复制到西海岸堆栈656的一个项目随即要从西海岸堆栈656移除,这能通过修改对特定文件的类别数据,使之不再包括“西海岸”类别来实现。
图22是示出***动态地产生新过滤器项的例行程序900的流程图。过滤器项用于操作虚拟文件夹。过滤器项主要被用作一组工具,使一组项目的范围变小。在一个实施例中,过滤器包括元数据类别和它们的值(在用户界面上向用户表示为可点击的链接或下拉菜单)。用户在过滤器项上点击以便在显示上过滤掉项目的当前结果组。
图22示出如何动态地产生过滤器。如图22所示,在框902,审视在当前显示的集合中的项目的的属性(来自元数据)。在框904,根据该项目的公共属性动态地产生建议的过滤器项。在框906,建议的过滤器项向用户呈现,作为过滤器项的可能选择。作为此过程的例子,***能审视一组项目的属性,且若这些项目通常具有“作者”属性,过滤器能提供作者列表来过滤。然后借助点击特定作者,不具有该作者的项目从显示的组中移除。此过滤过程向用户提供将显示的项目组的范围变小的机制。
图23是流程图,示出用于根据过滤器项的选择过滤项目的***的例行程序920。在框922,用户输入新过滤器项或选择由***给出的过滤器项之一。如上所述,过滤器项可由***动态产生,或它们能被预先设定。在框924,对所显示的集合的项评估它们选择的属性是否匹配该过滤器项。例如,如果过滤器项是作者为“鲍勃”的项,则按照它们作者属性是否包括“鲍勃”来评估这些项。在框926,选择的属性不匹配过滤器项的项目从所显示的集合中移除。
图24至29一般示出,过滤过程如何出现在屏幕显示上。下面参考图24-29讨论,在一个实施例中,过滤一般按下面过程操作。在用户点击过滤器值后,在过滤器范围之外的项目在屏幕上消失。动作通常设计成使那些项目明显被移除且无新的项目被加入。用户可选择回退按钮643来撤销过滤操作。在一实施例中,创建导航堆栈,它包含顺序的过滤器动作。当选择回退按钮643时,撤销每个过滤器动作。每当选择过滤器值时,更新信息区640和641以指出当前的过滤器值。在一实施例中,在选择过滤值后向用户提供保存对当前过滤器导航的新的快速链接的选项,这将参考图30更详细描述。随着选择过滤器值,过滤器控件被更新以适合于在视图中余留的项目。
图24是屏幕显示,其中图10的堆栈已被项“AB”过滤。如所示,在过滤器区域621中,项“AB”由用户键入。信息行640和641表明,所显示的项目是由项“AB”过滤下来的那些项目。如所示,ABC公司堆栈651仍然包含8个项目,而备份堆栈现包含3个项目,且XYZ公司堆栈654还包含3个项目。因此信息行644表明,存在总共14个项目,总的占据35MB存储器。
图25是屏幕显示,其中图10的堆栈已由项“ABC”过滤。对于图24的过滤项“AB”,用户只要键入附加字母“C”就作出总的过滤器项“ABC”。如图25所示,信息行640和641现表明,显示的项目是包含项“ABC”的那些项目。ABC公司堆栈651仍然示出包含8个项目,而备份堆栈652现在只包含2个项目。XYZ公司堆栈654已经消失,因为它没有内容匹配“ABC”过滤器。信息行644现在指明,显示的堆栈中总共10个项目,它们占据总共25MB存储器。图24和25提供例子,说明用户如何输入新过滤器项,以及那些过滤器项随后如何过滤显示器上示出的项目。
用户能利用回退按钮643回退通过过滤过程。如上参考图10所述,回退按钮643允许用户回退经过一导航路径。关于图24和25的例子,在图25中经项“ABC”过滤之后,用户能选择回退按钮643,使过滤过程回退一步,这将返回到图24的状态。另外,在其他实施例中,回退按钮643能清除整个过滤器项,从而回到过滤发生之前的状态。在此情况,通过在图25中按下回退按钮643,用户回到图10的状态。
在一个实施例,除了回退按钮外,提供另外的措施,让用户回退或修改过滤导航。这种另外的措施包括允许用户直接访问和修改信息行641,这相应地改变了过滤器导航。换言之,通过直接访问和修改信息行,用户能移除一个或多个已应用的过滤器,或修改任何已应用的过滤器的值。此特征更详细地描述在2003年4月17日提交的美国专利申请号10/420,040中,它通过引用而在整体上结合于此。
结合用户如图24和图25所示那样键入过滤器项,能使用定时器。定时器用于在用户键入时监视停顿。在选定的时间间隔内无键入,就应用过滤器。例如在图24的状态中,用户已键入过滤器项“AB”,在“A”和“B”之间无长的时间滞后。在键入项“AB”后,用户停顿,于是产生应用于过滤器项“AB”的图24中示出的状态。一段时间后,用户添加字母“C”以完成过滤器项“ABC”,且随后再次停顿,其间应用过滤器项“ABC”,如图25所示。
在一实施例中,用户在过滤器区域621键入过滤器项目,且随后选择另外过滤器或导航之后,导航状态被更新,且在过滤器区域621的过滤器项再次变空。此外根据某些过滤器项的选择能更新其他过滤器控件,下面参考图26至29更详细描述。
图26是屏幕显示,其中选择提供过滤器项“年份2002”的***。如上所述,在“按日期”指示器622下,年份选择623包括年份2000、2001或2002。围绕年份2002示出选择框SB,表明用户选择它作为希望的过滤器项。
图27是屏幕显示,其中应用了过滤器项“2002”。还示出进一步选择“挑选月份”选择器623A。如图27所示,在应用过滤器项“2002”后,在堆栈中的项目数减少了。更具体地说,ABC公司堆栈651现在包含6个项目,备份堆栈652现在包含8个项目,商业计划堆栈653现在包含3个项目,而XYZ公司堆栈654现包含5个项目。信息行644表明总共22个项目,占据总共50MB存储器。信息行640和641表明,显示器上示出的项目是已经被过滤器项“2002”过滤的那些。
图28是屏幕显示,其中为选择过滤的月份给出列表。提供框950,它包括月份的列表。由于用户选择“挑选月份”选择器623A,在显示上提供框950。示出的选择框SB围绕一月份。
图29是屏幕显示,其中图28的堆栈进一步被“一月份”过滤,且还示出过滤器项“日子”。如图29所示,信息行640和641现表明,所显示的项目是已被项“一月份”过滤的那些。备份堆栈652现示出包含2个项目,而商业计划堆栈653也示出包含两个项目。信息行644表明,显示总共4个项目,占据总共10MB的存储器。提供“选择日子”选择器623B,用户希望进一步过滤结果到特定日子。
如上参考图24至29所述,过滤器项能由***给出或由用户键入。一旦选定过滤器项,给出的余下的过滤器项能被更新(如在图26中选择年份“2002”后,在图27中不再出现选择年份的选项,而替代地提供“挑选月份”的选项)。如上所述,用户能选择回退按钮643,回退过滤过程。例如,在图29中选择月份“一月份”之后,用户能选择回退按钮643回退到在图27所示的对年份“2002”的过滤过程。过滤器菜单还可包括“按……堆栈”功能,它与由上面参考图15和16描述的按功能堆栈相类似地工作。例如“文件类型”过滤器能选择“Excel”、“PowerPoint”、“Word”和“按类型堆栈”。选择“按……堆栈”功能改变视图,以显示对各种文件类型的堆栈。
通常,过滤器能配置成应用到文件或项目的不同属性。在一实施例中,过滤器能按不同类型分类,如:字符索引;离散值;日期;数值范围。用于字符索引的示例属性包括文件名、作者、音乐家、好友联络名、所有者、文档作者、文档标题、文档主题、以及描述。用于离散值的示例属性包括位置、文件类型(应用名)、流派、音轨(track)、十年(decade)(用于音乐)、等级(用于音乐)、位速率、受保护的、文档类别、文档页数、文档注释、照相机型号、尺寸、产品名、产品版本、图像X、图像Y、以及文档创建时间。用于日期的示例属性包括最近访问、最近修改、创建于、拍摄于(用于图片)。用于数值范围的示例属性可以是文件长度。
可以理解,上述参考图24至29所述的过滤器允许用户缩减项目的列表,以找到感兴趣的特定项目。作为特定例子,按上述过程,用户能将当前文档列表缩小到仅示出微软Word文件、由某一个人著作的、以及在上周编辑的。此功能允许用户在包含许多项目的列表中找到某一项目,并帮助用户避免人工扫描列表中每个项目。
图30是示出用于创建新的快速链接的例行程序940的流程图。如下面将详述的那样,快速链接是预定链接,可由用户点击以创建用户选择的项目组的视图。在一实施例中,快速链接可被看作是一类数据透视表(pivot)。快速链接提供检索虚拟文件夹的机制。点击快速链接能将用户带到所希望的文件夹(以同样方法,点击“收藏夹”(favorites)可以将用户带到某一网站)。快速链接能由***预定,或能由用户设定。例如点击“所有作者”能返回到按作者堆栈的视图。点击“所有文档”返回对所有存储区所有文档的平面视图。用户也能创建他们自己的快速链接。
如图30所示,在框942,用户在显示的屏幕上作出选择,表明从现在的过滤器项或导航应形成新的快速链接。在框944,用户对新的快速链接提供新的名字。在框946,新的快速链接被保存,且在显示屏幕上显示的快速链接选项中提供新的快速链接名。
图31是屏幕显示,用于根据图29的过滤创建称为“一月份工作”的新的快速链接。如上所述,在图29中的堆栈已经过一月份过滤。在图31中,用户表明,图29的过滤应作为新快速链接保存且已命名新的快速链接为“一月份工作”。因此,新的一月份工作快速链接612在显示的快速链接选项中示出。关于形成新的快速链接,通常向用户提供一选项,如“保存此集合作为快速链接”。
图32是屏幕显示,其中选择“所有作者”快速链接。如图32所示,围绕“所有作者”选项611示出选择框SB。能由快速链接访问的集合的其他例子包括“作有作者”、“最近的文档”、“我已共享的所有文档”、“我著作的所有文档”、“不是我著作的所有文档”、“桌面”和“所有类型”。
图33是屏幕显示,其中给出图32的项目的所有作者的列表。如图33所示,提供信息行950,它表明示出项目名字、作者、修改日期、类型、大小、和位置的列。示出作者951至954的列表,分别对应于作者1至4。
图34是屏幕显示,其中已从图33的列表中选择“作者1”。作者1的文档包括文档951A和951B,分别对应于文档1和2。文档951A示出由作者1著作,在2001年7月11日被修改,是微软Excel文件,占据282KB存储器,并且来自位置“\\服务器1\文件夹2”。文档951B示出由作者1著作,在2002年12月22日被修改,是微软Word文件,占据206KB存储器,且实际存储在“我的文档\文件夹1”位置中。文档951A和951B的位置还示出,本发明的虚拟文件夹能包含来自不同实际位置的项目,这在下面详述。
图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示出来自服务器和本计算机上的我的文档文件夹的不同文档,而图18示出实际存储在多个位置的实际文件夹。
图39是示出将非文件项目包括在虚拟文件夹集合中的例行程序1080的流程图。非文件项目与文件项目不同,它们通常位于实际文件存储器中。非文件项目的例子是如电子邮件或联络等之类。如图39所示,在框1082,利用数据库使之包括能由查询搜索的非文件项目和文件项目。在框1084,响应一查询,取出非文件项目及文件项目以匹配该查询。在框1086,匹配所述查询的非文件项目和文件项目都呈现在显示器上。
图40是示出各种非文件项目的屏幕显示图。如图40所示,项目已过滤到包括“约翰”的那些。示出的项目包括联络项目1101、电子邮件项目1102、以及文档项目1103和1104。联络项目1101和电子邮件项目1102是非文件项目。本***允许此类非文件项目与正规文件项目包括在一起,使得它们能由用户如希望的那样进行组织和操作。如上参考图2所述的那样,此类非文件项目能整个包含在关系数据库230中,后者另外还包括有关文件属性的信息。
图41至50是根据本发明形成的有关对应于图10的信息行641的虚拟地址栏的图。如下面将详述的那样,虚拟地址栏包括多个段,且每段对应于用于选择内容的一个过滤器。总的来说,每段的对应的过滤器代表选择内容的虚拟地址。
图41是适用于操作虚拟地址栏或这里描述的本发明的任何其他方面的示例性联网计算环境1200的框图。示例性联网计算环境1200包括如关于图1描述个人计算机的计算设备1202,用于与用户交互,且用户能在它上面看到存储在本地或远程的计算设备的文件。虽然下面的讨论相对于个人计算机描述本发明,但是可以理解,计算设备1202包括许多类型的物理设备,包括小型及大型计算机、PDA、平板计算机(tablet computer)、以及能与用户交互且显示存储在计算设备或其他地方的文件及内容的其他设备,但不限于这些。
示例性联网计算机环境1200还能包括如服务器1204之类的一个或多个远程服务器,它存储计算设备1202可访问的文件,且如图41所示通过如因特网1206之类的通信网络连接计算设备。此外,计算设备1202还能连接到存储如远程数据库1208那样的文件或其他内容的其他信息源。本领域的技术人员知道,存储在远程服务器1204和远程数据库1208,以及如硬盘驱动器(图1)那样的本地存储设备上的文件和信息,能作为在计算设备上的集成文件***的一部分由计算设备1202访问并在其上显示。此外,虽然在图41中给出远程服务器1204和远程数据库1208的一个特定配置,但是本领域的技术人员容易得知,此特定配置是为说明的目的,不应构成对本发明的限制。
图42示出具有现有技术中的与在计算机***中显示文件相关联的传统的地址栏1302的示例性文件查看器1300。为讨论的目的,文件查看器是在如显示设备(图1)那样的显示设备上的视图或视窗,用于向用户显示文件或其他内容。文件查看器可以是对应于专门用于向用户显示文件的可执行程序的视窗。另选地,文件查看器可以是在可执行程序上打开或关闭的对话框中的视图,而该可执行程序必须从本地或远程连接计算机***的存储设备保存或检索数据。应注意,上述文件查看器的例子是示例性的,应不构成对本发明的限制。
在传统的地址栏1302中的地址对应于文件***中具体的位置。如前所述,为了编辑显示在传统地址栏1302中的地址,用户必须按照对该文件***的具体知识修改此地址。另选地,用户能选择在树形视图1304中的一个条目,以便导航到一另选的位置。本领域技术人员知道,对地址栏1302的其他外部控件也能使用,它们未示出于示例性文件查看器1300中。虽然在传统地址栏1302中显示的地址对应于文件***中的具***置,但是分布在文件***中多个文件夹的相关文件不能结合传统的地址栏1302得到显示。
图43示出具有与在计算机文件***显示文件相关联的虚拟地址栏1402的示例性文件查看器1400。虚拟地址栏1402对应于图10的信息行641。具有虚拟地址1404的虚拟地址栏1402配置成显示与由图42的现有技术文件查看器1300的传统地址1304显示的信息类似的信息。虚拟地址,也称为虚拟路径,按选择准则定位存储在计算机文件***中的文件。
类似于如图42的地址1304那样的传统地址,虚拟地址的选择准则能定位存储在文件***层次结构中特定位置的文件。然而,不同于传统的地址,虚拟地址的选择准则还能定位与它们的特定文件***位置无关的文件。因此,虚拟地址能定位存储在计算机文件***中多个位置的文件。如图43所示,按照虚拟地址栏1402中的虚拟地址1404,文件查看器1400能显示在图42的文件查看器1300中找不到的另外的文件,如文件1406和1408。此外,虚拟地址栏1402还能用于显示计算机文件***的文件以外的内容。例如,虚拟地址栏1402能用于定位包括***设备、***服务、或因特网位置的内容。
图44A示出在虚拟地址栏1402中操作虚拟地址1404的段以便在计算机文件***中导航。如虚拟地址栏1402的每个虚拟地址栏包含如段1502、1504、1506和1508的一个或多个交互的段。在虚拟地址栏中的每个段对应于关于计算机文件***可访问的所有可用的内容或文件的预定过滤器或选择准则。总的来说,在虚拟地址栏1402中所有段的过滤器代表虚拟地址栏的虚拟地址。
如段1502,虚拟地址栏中第一段称为根段,或根过滤器。根段代表可用于由虚拟地址栏1402选择的最广范围的内容类别。例如,段1502“文件”代表引用可由计算机文件***访问的所有文件的过滤器。另选地,根段能代表引用对计算机***的用户可用的所有***服务的过滤器,或代表引用安装在计算机***上的所有硬件设备的过滤器。本领域技术人员知道,本发明能利用许多其他另外的根过滤器。因此,上述例子是为了说明的目的,不应构成对本发明的限制。此外,对每段显示的标记,如根段1502上的“文件”是示意性的,不应构成对本发明的限制。按一实施例,显示在段上的标记是用户可配置的。
如段1504、1506和1508,虚拟地址栏中的每个其它段代表当在文件查看器1400中选择和显示文件或内容时拟应用的其它过滤器。例如,根段1502“文件”引用计算机***可用的所有文件。段1504“文档库”通过选择由用户通过文字处理程序、电子制表软件或某些其他文档生成应用程序生成作为文档的文件,过滤由根段1502选择的文件。段1506“Word文档”按照使用文字处理程序(如微软的Word应用软件)生成的那些文档过滤由段1504选择的文件。最后,段1508“作者A”按照文档是否由“作者A”著作来过滤由段1506选择的word处理文档。从而,根据虚拟地址栏1402中表示的虚拟地址选择的内容必须满足对应于虚拟地址栏中所有段的过滤器。
在虚拟地址栏1402中的段通常从内容最多的那些过滤器到内容最少的那些过滤器排序。例如,如前讨论的那样,段1502“文件”是最广范围的且内容最多。段1506“Word文档”和段“作者A”是内容较少的。虚拟地址栏1402示出从左到右的段的排序,为讨论的目的,段1504、1506和1508是在根段1502之后。然而应理解到,其他方向是可能的,如从上到下的安排,这不偏离本发明的范围。因此,从左到右的方向看成是示例性的,不应构成对本发明的限制。
如前面提到的那样,诸如段1502、1504、1506和1508之类的在虚拟地址栏1402中的段不需要对应于计算机文件***中的具***置,如文件夹、驱动器和目录。因此段1504“文档库”能引用在多个服务器、驱动器或文件夹/目录上分布的文件或内容。然而,虚拟地址栏1402中某些段能定位计算机文件***层次结构的具***置。下面参考图48A和48B给出定位具体文件***位置的虚拟地址段的进一步讨论。
不同于传统的地址栏,虚拟地址栏1402中每个段代表可操作的,可交互的用户界面单元。例如,虚拟地址栏1402中的段响应于用户选择,监视光标是否在该段上停留规定的时间间隔,且能通过拖曳用户交互动作从虚拟地址栏中移除。因此如图44A所示,用户能将光标1510放在虚拟地址栏1402中的段上,如段1504“文档库”,选择或点击该段,以便漫游到那一层,即如参考图44B描述在该段截断虚拟地址。
图44B示出在虚拟地址栏1402中选择段1504的结果。通过在虚拟地址栏1402上点击段1504,用户表明希望漫游到虚拟地址中那一层。实际上,用户截掉了在所选段后面的那些过滤器。例如,通过点击段1504“文档库”(图44A),最终的虚拟地址1404不再包含1506“Word文档”和1508“作者A”(图44A)。此外,因为用户已漫游到较少限制的过滤器组,虚拟地址栏1402中最终的虚拟地址1404是更加内容丰富。通过在图44B的文件查看器1400中增加了以前在图44A的文件查看器找不到的文件(包括文档1512、文档1514和文档1516),并通过出现了滚动按钮1518(这表明可以看到由于空间限制在文件查看器1400(图44B)不能显示的其它文件),说明了这一点。
除了在虚拟地址栏中选择段以漫游到较少限制的段以外,用户还可能希望漫游或选择在虚拟地址中当前段的对等过滤器。对等过滤器是另选的过滤器,它能被选择并应用到虚拟地址栏中给定的段。例如参考图44A,对段1506“Word文档”的对等过滤器可包括如“Excel文档”、“期刊”等的过滤器。包括具体文件***位置、硬件设备、或计算机服务的其他类型过滤器也能应用到虚拟地址栏中给定的段。对等过滤器逻辑上可以或可以不与给定段的当前过滤器相关。在虚拟地址栏中每一段可具有对等过滤器。选择在虚拟地址栏中一个段的对等过滤器有时称为横向漫游。下面参考图45A至45D及图49描述选择在虚拟地址栏中的段的对等过滤器。
图45A至45D是示出选择与虚拟地址栏1600中的虚拟地址的段相关联的对等过滤器的示意图。如图45A所示,虚拟地址栏1600具有包括多个段:段1602-1608,的虚拟地址。为了选择在虚拟地址栏1600中对给定的交互段的对等过滤器,用户必须作出该交互段的另外选择或另外操作。作出另外选择的一种方法是右点击给定的段。右点击操作在本领域中是已知的,是指使用鼠标或其他输入设备的第二按钮,其中该第二按钮通常在鼠标的右手侧。另选地,交互段能够监视光标放在其上,通过将光标放在交互段上并停留在那里预定时间间隔,就可以作出另外选择,有时这称为悬停(hovering)。然而,虽然本讨论描述了显示对等过滤器的另选方法,但是它们仅是说明性的,不应构成对本发明的限制。本领域技术人员知道,对产生另外选择有许多另选方案。
为说明另外选择一段,参考图45A,用户首先将光标1610放在段1604“文档库”上方一段预定时间,即悬停在该段上,以选择该段。图45B表示了在虚拟地址栏1600中另外选择段1604“文档库”的结果。如图45B所示,在另外选择段1604“文档库”之后,显示出包括对应于所选段的对等过滤器的对等过滤器视图1612。应该理解,在对等过滤器视图1612中给出的对等过滤器仅为了说明,不应对本发明构成限制。
如图45C所示,为了选择另外的对等过滤器,用户将光标1610放在在对等过滤器视图1612中给出的其中一个过滤器的上面,如对等过滤器1614,并选择该对等过滤器。如图45D所示,在选择该另外的对等过滤器1614后,以前选择的段1604(图45A)被表示选中的所述另外的对等过滤器1614的新的段1616代替。此外,在图45A的虚拟地址栏1600中另外选择的段1604之后的段(具体地是段1606“期刊”和1608“2002年的所有文档”)从图45D中虚拟地址栏1600移除。虽然未示出,以前按段1604“文档库”、1606“期刊”和1608“2002年的所有文档”选择的任何文件或内容将不再在对应的文件查看器中显示,只显示按段1602“文件”和1616“图片库”选择的那些文件或内容。
通过各种用户交互,段能加到虚拟地址栏的虚拟地址中现有段的末端。为了将过滤器加到虚拟地址栏的虚拟地址中,用户可以操作与在带有虚拟地址栏的视窗上或文件查看器上找到的某一过滤器相关联的可操作的控件。例如,参考图43的文件查看器1400,用户能在可操作的控件1412“2003”上点击,以便将对应过滤器加到虚拟地址栏1402中的虚拟地址1404。另选地(未示出),用户能在虚拟地址末端通过键入过滤器名来手工地输入已知的过滤器。存在添加过滤器到虚拟地址的许多其他方法,所有这些都应被看成落在本发明的范围中,因此,应该理解,上述例子是为了说明目的,不应构成对本发明的限制。
当一过滤器添加到虚拟地址栏中的虚拟地址时,采取一过程以保证新添加的过滤器与当前作为虚拟地址的一部分而存在的任何过滤器不相冲突。若新添加的过滤器与现有的过滤器相冲突,现有的过滤器被移除。若新添加的过滤器与虚拟地址中的现有过滤器的宽度不同,即比现有过滤器更宽或更窄,则新添加的过滤器与现有过滤器冲突。此外,若新添加的过滤器与现有的过滤器相排斥,则新添加的过滤器与现有的过滤器冲突。然而不添加与现有过滤器等价的新添加的过滤器,因为这没有作用。应理解,仅为说明的目的而给出冲突的上述描述,但不应构成对本发明的限制。本领域技术人员知道,可能存在在过滤器之间的其他冲突,那也认为落在本发明的范围中。
图46A至46D是示出添加过滤器到虚拟地址栏1700的虚拟地址1702,且移除冲突的现有过滤器的示意图。图46A示出在虚拟地址栏1700中显示的示例虚拟地址1702。如图46B所示,用段1706“2002”表示的新过滤器被添加到虚拟地址1702。如前所述,新过滤器被添加到虚拟地址的末端,如在图46B的虚拟地址栏1700中段的末端处放置的段1706“2002”所示。随后,进行添加段1706“2002”的过程判断添加的过滤器不与任何在虚拟地址1702的当前过滤器冲突。于是,不从虚拟地址1702移除现有的过滤器。
如图46C所示,由段1708“作者A”表示的另一过滤器被添加到虚拟地址1702。为添加此新的过滤器而进行的过程判断该新的过滤器“作者A”与由段1704“作者A-F”表示的过滤器冲突,因为新过滤器“作者A”比现有的过滤器更窄。因而,段1704“作者A-F”从虚拟地址栏1700移除,且段1708“作者A”被添加到虚拟地址栏中段的末端。
图46D示出添加段1710“2003”到图46C的虚拟地址栏1700的结果。在虚拟地址1702中的过滤器是受限制的,且不是累积的。每个过滤器还限制了所选的内容。因此互相排斥的过滤器阻碍虚拟地址1702选择任何文件或内容,从而产生冲突。如图46D所示,段1706“2002”(图46C)从虚拟地址栏1700中移除,因为它与新添加的段1710“2003”互相排斥而造成冲突。
当由于虚拟地址栏的大小限制,如虚拟地址栏1800(图47A)那样的虚拟地址栏不能完全显示虚拟地址时,按虚拟地址栏的大小只显示部分虚拟地址。然而,未显示的虚拟地址部分仍能由用户访问。更具体说,虚拟地址栏显示可操作的可视指示器,以便在虚拟地址栏中滚动虚拟路径。图47A和47B示出在虚拟地址超过虚拟地址栏的显示容量时显示虚拟地址的示例虚拟地址栏1800。如图47A和47B所示,滚动图标1802和1804表明虚拟地址栏1800能滚动的方向,以便显示先前未显示的虚拟地址部分。然而,虽然示例的图表明了滚动图标的使用,但是它仅是为了说明的目的,不应构成本发明的限制。本领域技术人员知道,有许多其他方法来滚动虚拟地址栏中的虚拟地址,所有这些将认为落入本发明的范围中。
图48A是示出具有定位文件***中虚拟和实际位置的段的虚拟地址栏1900的框图。如前讨论的那样,虚拟地址栏1900中的虚拟地址能包含定位计算机文件***层次结构中具***置的段,还包含定位在计算机文件***中虚拟或逻辑的位置的段。由虚拟段定位的文件或内容可能分布在许多位置中。虚拟地址栏1900可包括定位实际位置的段和定位虚拟位置的段。例如,虚拟地址栏1900包括定位到包含在计算机文件***具体区域,如“本地磁盘(C:)”,中的文件或内容。另外,段1904“案例文件”本身涉及存储在计算机文件***层次结构中的多个文件夹中的与案例文件相关的文件或内容。然而段1902“本地磁盘(C:)”和段1904“案例文件”的组合只引用在本地驱动器“C”上找到的那些案例文件。此外,段1906“包含传真”还按照是否包含词“传真”来过滤在本地磁盘C:上的与案例文件相关的文件。
如图48B所示,虚拟地址栏1900能配置成象传统地址栏那样的功能。例如,参考图48A,借助将光标1908放在虚拟地址栏1900的空白空间上并点击,虚拟地址栏1900从显示表示虚拟地址的段切换到象显示传统的地址1910那样的传统地址栏,如图48B所示。在图48B的虚拟地址栏1900中的传统地址1910近似于在图48A的虚拟地址栏1900中显示的虚拟地址。然而,在图48A的虚拟地址栏1900中不对应于计算机文件***中的实际位置的那些过滤器不能被显示,且从传统的地址1910中移除。具体说来,段1904“案例文件”和段1906“包含‘传真’”不是传统地址1910的部分(图48B)。
为了重新配置虚拟地址栏1900,使其从象传统地址栏那样工作变成象虚拟地址栏那样工作,用户必须以不同于在该栏的空白区域点击的那样方式予以表明。当配置成象传统的地址栏那样工作时,虚拟地址栏必须允许用户为地址编辑目的在空白区域点击。为编辑的目的,在传统地址档的空白区点击将编辑光标放置在地址/路径的末端。因此,为了再次将虚拟地址重新配置成如上所述的正常方式工作,用户必须按下如Esc或Tab键那样的预定键或键序列,或者通过点击视窗或视图的其他区域将焦点放在视窗或视图的其他区域。本领域技术人员知道,也能利用其他的用户动作来重新配置虚拟地址栏1900,以便再按上述的其正常方式工作,所有这些都认为是落入本发明的范围内。
图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结束。
图51至57是关于按本发明的另一方面的***和方法的示意图,它提供在外壳浏览器中改善的用户体验。更具体地说,提供一种***和方法,借此用户能更容易地根据与一项目相关联的元数据识别该项目。
转向图51A,视窗2200代表用于外壳浏览器的图形用户界面的屏幕大小的显示区域。视窗2200包含预览窗格区2202和视图区2204。预览窗格2202可包括预览控件2206、用户界面(UI)或编辑控件2208、以及任务控件2210。通常,预览控件2206为用户提供被预览的项目(如选择的文件)的图像或其他可视显示。预览控件2206还可向用户给出如累接按钮那样的控件,它允许用户通过点击鼠标按钮而将焦点从一个项目转到下一个项目。对应于一个或多个项目的元数据和/或对应于该项目的容件的元数据能显示在视窗2200中的各种位置上。例如,编辑控件和元数据能一起位于编辑控制区域2208中,使得编辑控制区域不仅包括预览项目的关键属性的显示,还向用户呈现对元数据作出编辑的选项。任务控件2210包含有关名字空间和/或选择的任务。
为本发明的目的,术语“元数据”和“用户可修改的元数据”不包括外壳项目名。术语“外壳项目名”指的是用于在外壳浏览器中分类和显示项目的目的属性。如上面提到的那样,本发明的一独特方面是用户在外壳浏览器中编辑元数据的能力。
本领域技术人员理解,本发明考虑在视窗2200中选项特征的出现。例如,预览控件2206和任务控件2210对本发明的目的而言不是必要特征。此外,未示于图51A中的其他非必要特征也在本发明的范围中,其他非必要特征如包括累接按钮或显示/隐藏按钮的工具栏,它们使用户能打开/关闭预览窗格。然而,这些和其他可选的特征能帮助用户容易地定位在外壳浏览器中的某一项目。
视图区域2204提供如文件***文件或文件夹的一个或多个项目2212的列表视图(listview)。术语“列表视图”指的是在容件中项目的枚举或列表。术语“项目”和“外壳项目”这里可交替互换使用,指的是文件、文件夹或其他此类容件、以及其他能在列表视图中表示的非文件对象。非文件对象的例子可包括联络、收藏夹和电子邮件消息,但不限于这些。术语“外壳浏览器”和“文件***浏览器”在这里可交替互换使用,指的是允许用户通过包括文件和其他非文件项目的各种名字空间进行导航漫游的浏览器。
本领域技术人员理解,本发明考虑对视窗2200许多可能的设计及布局。例如,预览窗格2202在图51A的视图区域2204之上显示。然而其他布局,如预览窗格2202和视图区域2204并排放置,明显在本发明的范围中。编辑控件2208的位置也与显示的元数据的位置无关,且与其他控件的位置无关。对在列表视图2204中描绘的项目,有许多可能的视图类型,如详细内容、幻影片演示、电影胶片、略图、贴图、图标等。
图51B类似于图51A,不同之处在于视图区域2204用以详细内容方式显示项目2212的视图区域2214替代。因为以详细内容方式显示的外壳项目是常见的,项目2212在视图区域2214的左手侧按列对齐,且一个或多个列标题2216形成一组列的顶行,它包含有关对应于位于同一行的项目的元数据。重要的是,本发明考虑用户通过在视窗2200中任何位置处的一个或多个编辑控件2208的实施,直接将元数据值改变到另外值的能力。例如,在预览窗格2202和/或视图区域2214中能提供编辑控件。例如,开始对用户不可见的编辑控件能在视图区域2214中提供。例如,当用户悬停在元数据2218上并随后点击它以进入编辑模式时,能实施那样的控制。
接着参考图52,提供在外壳浏览器中欢迎窗格的概图2300。欢迎窗格有时称为“空选择”(null select)窗格,因为与一选择相反,它代表名字空间或容件。若用户尚未作出选择,预览窗格2302显示与文件夹或外壳库相关的元数据2304和关键任务。若希望,任务能分成首要任务2306和其他相关任务2308。欢迎窗格2300还包括视图区域2310,其中能看到多个文件或其他项目2312。欢迎窗格元数据2304能包括如容件(如“我的图片”)的属性的信息,在此情况中,元数据的显示是静态的。另选的,欢迎窗格元数据2304能包括如从容件中的每个项目的元数据的采样的信息,在此情况下,元数据显示能频繁地改变。例如,元数据显示能限于在一段时间对一个项目的属性,每30秒从一个项目循环到下一个项目。
图53是在外壳浏览器中选择的窗格2400的概图。与欢迎窗格相反,选择的窗格代表用户的选择。若用户选择一容件或文件夹,对该容件或文件夹选择的窗格不需要等同于欢迎窗格。在图53中,选择的窗格2400包括预览窗格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,它包含一链接或指向一位置(如属性页)的指针,该位置包含与显示的项目相关联的所有属性或元数据。当然,在字段2804和2806包含所有与显示的项目相关联的属性的情况下,不需要该所有属性字段2808。数据结构2800存储在如文件***或外壳的一个或多个计算机可读媒体中,以便在外壳浏览器中提供丰富的存储视图,且从而改善了用户的体验。
本发明实现了用传统的外壳浏览器所不可能实现的许多情况。作为第一个例子,学生能使用预览窗格管理她的计划。当她获得作为她从事的计划的一部分的新文档时,她能在她的文档库中选择那些文档并使用编辑控件将文档作者的名字及计划名输入到关键字字段中。现在新文档将以她偏爱的视图中显示:“文档按关键词组合并按作者列出”。由本发明实现的新情况的第二个例子涉及寻找即将来临的活动的材料的雇员。当他使用外壳浏览器通过他的雇员的照片储存集合浏览时,他从预览窗格选择一对图片,并加入新关键词“2003夏天活动”。更新了对多种选择的元数据之后,该雇员随即用关键词作数据透视,并能看到所有的“2003夏天活动”的文件组合一起。得益于本发明的其他许多情况对本领域的技术人员是显而易见的。
图58至66是涉及扩展在配置成显示表示多个项目类型的多个项目的外壳浏览器中对象预览器的功能的***及方法的图。如下面将详述的那样,提供一外壳浏览器,它包括默认的预览器及有扩展能力的机制。默认的预览器对多种项目类型提供标准级功能。有扩展能力的机制为一个或多个项目类型提供超过标准级的功能。
图58是用于在观看其他非图象文件和文件夹的外壳浏览器环境中浏览存储在文件夹中的图片的现有技术图形用户界面的简图。如上所述,容易地识别存储在如PC的计算环境中的项目的需求在急剧地增长。就数字图片来说,用户传统上必须调用第三方软件程序以便观看在PC上的特定文件。图58示出电影胶片观看的现有技术解决方法,它使用户能更容地观看和识别与在图形操作环境中的给定文件相关联的图像。电影胶片观看的目的是,在通过提供允许用户预览在文件夹中一个或多个图片文件的可缩放的图像的快速累接过程而浏览图片的文件夹时,减轻对其他软件程序的需求。
图58涉及用于浏览存储在文件夹中图片的***,其中在用于观看其他非图形文件和文件夹的环境(即外壳浏览器)中,一系列文件夹图片呈现为单行的略图。它还允许用户有选择地移动光标通过略图时,会显示用户选中的略图的放大预览图像。图58是在用户的屏幕上的代表性视图的示意图。如图所示,视窗3200被分成若干区,包括标题区、任务选项区3206、预览控件区3202、字幕或注释区和电影胶片区3204。任务选项区3206包含为完成与文件和文件夹的管理以及其他***选择有关的各种操作,由用户选择的任务列表。这些操作的某些是针对电影胶片区3204和预览控件区3202中的图片的。预览控件区3202是显示用户选择的图片的放大的预览图像的空间。此空间还能包含帮助用户通过累接预览一系列图片的导航图标。紧接预览控件区下面的是字幕或注释区,它能用于显示各种文字信息。电影胶片区3204提供显示包含在给定文件夹中的图片文件的单行略图图像P1、P2、P3、P4的空间。此外,电影胶片区3204还包含光标,使用户能在一文件夹滚动图片文件。应注意,电影胶片区3204能以混合的方向包含和显示略图图像。例如如图58所示,P1、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能包括如容件(如“我的图片”)的属性的信息,在此情况中,元数据显示可以是静态的。另选地,欢迎窗格元数据3404能包括如来自容件中每个项目的元数据的采样之类的信息,在此情况,元数据显示能频繁地改变。例如,元数据显示能限于一次一个项目的属性,每30秒从一个项目循环到下一个。
图61是在外壳浏览器中选择的窗格3500的简图。与欢迎窗格不同,选择的窗格代表用户的选择。若用户选择一容件或文件夹,选择的窗格不需要等同于对该容件或文件夹的欢迎窗格。在图61中,选择的窗格3500包括一包含预览控件3504、元数据显示3506、和任务显示3508的预览窗格3502。类似欢迎窗格3400(图60中),选择的窗格3500还包括视图区3510,其中能观看多个文件或其他项目3512。然而,在图61中用户已选择一个文件。结果,预览控件3504显示该选择的文件的预览图像,元数据显示3506示出该选择的文件的属性,而任务显示3508提供有关用于在选择的文件上操作的任务的菜单。
图62是类似于图61的选择的窗格3500的选择的窗格的简图,但按本发明的实施例带有扩展的控件。选择的窗格3600包括预览窗格3602,它包含具有扩展的控件3614的预览控件3604、元数据显示3606和任务显示3608。选择的窗格3600还包括视图区3610,其中能观看多个文件或其他项目3612。用户已经选择了一个文件3612,所以预览控件3604显示选择的文件的预览图像,元数据显示3606示出选择的文件的属性,而任务显示3608提供有关用于在选择的文件上操作的任务的菜单。
扩展的控制3614表示超越通常从外壳浏览器可得到的功能的功能等级。例如,如图58和61中所示的默认预览窗格或预览控件能简单地显示选择的项目的预览图像。若该项目是word处理文档或幻灯片演示,则默认的预览图像可以是文档或幻灯片的第一页。然而,通过扩展预览图像的功能,使其更为可交互,用户能十分容易地操作扩展的控件3614来对文档或幻灯片演示进行翻页。此增强的功能等级改善了用户的体验,因为它允许用户更方便地浏览预览的项目而不必打开它,对于不容易只根据第一页就能识别的文件来说这是特别有用的。
扩展的控制3614能作为在外壳浏览器中另选预览器的部分为用户可用。术语“预览器”能指预览控件或包括预览控件的预览窗格。本发明考虑一外壳浏览器,它向用户提供对多个项目类型具有标准级功能的默认预览器,和一个或多个对特定项目类型具有不同级功能的另选的预览器,以提高用户的体验。将另选预览器的开发向独立软件开发商(ISV)和其他第三方开发者开放,通过以容易认识的方式显示文件的有关方面增加了对文件浏览的体验的价值。本发明考虑用于许多文件类型和非文件项目类型的定制预览器,包括图像文件、视频文件、联络、游戏、扫描仪、视频摄像、文档文件、电子表格文件、幻灯片演示文件、绘图文件、以及输入板墨水文件,但不限于这些。
本发明能实现用传统的外壳浏览器不可能实现的一系列情况,某些已在上面描述。第三方被允许通过提供能看到文件类型内部的代码来描述和说明他们的文件类型,并提供用户能理解的有意义的图像。例如,Apple(苹果电脑公司)能实现Quick TimeTM预览控件,在用户在外壳浏览器中选择Quick TimeTM文件时予以显示。该预览控件能提供超越在操作***的外壳中的默认预览器的扩展的功能级,包括如演示前5秒钟Quick TimeTM电影和/或提供让用户启动Quick TimeTM播放器的按钮和控件的功能。对音乐文件的另选预览器能提供类似的扩展功能。本领域技术人员理解,在另选的预览器中的扩展的功能的可能性是无限的。
图63是类似图61的选择的窗格的图示,但它还包括上下文菜单3714,使用户能按本发明的实施例修改在外壳浏览器中的元数据。选择的窗格3700包括含有预览控件3704、元数据显示3706和任务控件3708的预览窗格3702。选择的窗格3700还包括视图区3710,其中能观看多个文件或其他项目3712。本领域技术人员认识到,出于本发明的目的,元数据控件3706和任务控件3708不是必要特征。本发明考虑存在这些和/或其他可选特征,能帮助用户容易地定位在外壳浏览器中的某一项目或提高用户的体验。
图63中的上下文菜单3714提供用户若干选项,包括选择默认的预览器或用于选择的项目的另选预览器之间的选项。在菜单3714中示出的一般文字当然仅是能呈现给用户用于选择预览器的选项的类型的例子。在任何视窗中能提供上下文菜单,这些视窗包括欢迎窗格,以改善用户的体验。本领域技术人员理解,本发明能支持任何数目和各种上下文菜单。为本发明的目的,使用户能在外壳浏览器中选择预览器的一个措施是提供诸如上下文菜单3714之类的上下文菜单。例如,用户能通过点击预览窗格中的对应文本或对象来调出该上下文菜单。
本领域技术人员认识到,本发明还可考虑不同于上下文菜单的其他措施,用于从外壳浏览器中多个可用的预览器对一个显示的项目选择预览器。另一种此类措施是让用在预览控件上点击,以进入选择方式。类似地,可以提示用户通过在预览窗格中通过点击来选择一预览器。另外,用户能通过悬停在预览窗格的相关文字或相关对象上来进入选择方式。可用许多另选的措施,且均在本发明的范围中。
图64A是流程图,示出使用户能按本发明的实施例在支持多个项目类型的外壳浏览器中选择预览器的方法3800。方法3800在3802在外壳浏览器中提供多个预览器。多个预览器可包括用于多个项目类型的默认预览器,和用于特定项目类型的一个或多个另选的预览器。这些另选的预览器包括由第三方开发的已安装的应用程序。在3804,方法3800给予用户对特定项目类型的二个或多个预览器之间的挑选。选择预览器的提示可由外壳浏览器(如显示新的项目类型的同时)和/或由用户(如通过点击对象以显示上下文菜单)起动。在3806,从用户接收表明对特定项目类型选择一个预览器的输入时,方法3800接着在3808将选择的预览器与该特定项目类型相关联。在用户选择另外的预览器以前,该被选择的预览器保持可用。然而,若选择的预览器是已安装的应用程序,则卸载该应用程序将终止对所选预览器的使用。
图64B是流程图,示出按本发明的实施例在支持多个项目类型的外壳浏览器中自动选择预览器的方法3810。在3812,方法3810在外壳浏览器中提供多个预览器。多个预览器可包括对多个项目类型的默认预览器和对特定项目类型的一个或多个另选的预览器,这些另选的预览器可包括由第三方开发的已安装的应用程序。
在3814,***(而不是用户)自动且透明地从对特定项目类型的两个或多个可用的预览器选择默认的预览器。***能响应如新项目类型的显示或出现另选的预览器那样的事件来选择一预览器。***配置成根据逻辑规则选择一默认预览器。在例外情况下,在3816,***能决定废弃规则并选择在可应用的规则下不会被选择的预览器。例如,若规则是在当前的默认预览器上选择新的可用的预览器,已安装的应用程序通常能有权限将默认的预览器改变到现在从已安装的应用程序可用的预览器。然而,例如外壳浏览器能保持权限来弃用由新安装的应用程序提出的改变。例如当新安装的应用程序不能被认证为项目类型的合适所有者时,弃用是合适的。
在任何情况,方法3810随后在3818将选择的预览器与特定项目类型相关联。在另外的预览器被选中前,所选的预览器保持可用。然而,若选择的预览器是已安装的应用程序,则卸载此应用程序也将终止选择的预览器的使用。
接看参考图65,流程图示出使得能按本发明的实施例使用在支持多个项目类型的外壳浏览器中第三方预览器的方法3900。在3902,方法3900包括提供具有对多个项目类型的默认预览器的外壳浏览器。在3904,方法3900还包括提供有扩展能力的机制,用于第三方开发对多个项目类型的至少一个的另选预览器。在3906,另选的预览器能注册在外壳浏览器中。在已安装的应用程序的情况下,注册主要发生在安装的时间。例如,若应用程序由OEM安装,另选的预览器能在用户获取计算机之前被注册。另外,用户能本地或远程安装该应用程序。
有许多可能的方法用于上面在3904引用的有扩展能力的机制。此种方法之一包括展示一组应用程序编程接口(API),使得独立的软件开发商(ISV)和其他第三方开发者能开发另选的预览器。用API方法,存在一种注册机制,使ISV能将他们的预览控件与由ISV所拥有的项目类型相关联。当在外壳浏览器中选择那种类型的项目或文件时,通过此注册机制和有扩展能力的API实施ISV的预览控件。API提供数据给预览控件:数据代表在视图中选择的项目的数据和代表在视图中项目的父容件的数据。预览控件操作此数据,并通过在外壳浏览器中给出的API提供用户界面。用户能通过键盘和鼠标事件提供输入,这些键盘和鼠标事件由外壳浏览器送到预览控件,后者根据这些用户输入操作。
本领域技术人员理解,在本发明的有扩展能力机制方面可能有许多方法。除API方法以外,可通过用户配置、指向HTML或主控一flash的指针来达到类似的功能。此外,有扩展能力的模型可要求只有一个拥有所选项目类型的应用程序能提供只有一个另选的预览器。换言之,若干可用的预览器可限于一个默认的预览器和一个另选的预览器,以避免多个注册的、扩展的预览器互相竟争而造成很坏的用户体验。然而,另外的模型允许处理选择的项目类型的任何应用程序提供一个附加的预览器。一个另选的模型允许任何运行的程序代码对任何项目类型提供一个附加的预览器。在某些情况还希望允许替代或移除默认的预览器。许多其他模型是可能的,且为本发明所考虑。
图66是数据结构4000的方框图,它存储在一个或多个计算机可读媒体中,且包含表明在外壳浏览器中多个预览器的信息。数据结构4000包括含有指明支持多个项目类型的默认预览器的信息的默认预览器字段4002。另选的预览器字段4004包含表明对第一项目类型的另选预览器的信息。另一另选预览器字段4006可包含表明对第一项目类型的第二另选预览器的信息,或它能包含表明对第二项目类型的另选预览器的信息。本领域技术人员知道,在某些情况只有一个另选预览器字段,在另外情况能有二个或多个另选预览器字段。选择的预览器字段4008包含信息表明,当特定项目类型的项目在外壳浏览器中显示时是调用默认预览器还是另选预览器。在字段4006包含表明对第二项目类型的另选预览器的信息时,选择的预览器字段4010可包含表明在外壳浏览器中显示一个或多个第二项目类型的项目时,是调用默认的还是另选的预览器。包含在字段4002、4004和/或4006中的信息能包括预览器程序代码,它配置成在用户选择该类型对象时运行。
虽然已说明和描述了本发明的实施例,可以理解能作出各种变化而不偏离本发明的精神和范围。例如可以理解,这里示出的各种UI特征的位置是示例的且能更改,各种UI特征的不同放置仍落入本发明的精神和范围中。此外,这里描述的本发明的不同方面能在各种组合中形成,也不偏离本发明的精神和范围。

Claims (124)

1.一种在带有显示器和存储项目的存储器的计算机***中呈现项目集合的方法,其特征在于,包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
2.如权利要求1所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
3.如权利要求1所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
4.如权利要求1所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
5.如权利要求1所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
6.如权利要求1所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
7.如权利要求1所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
8.如权利要求1所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
9.如权利要求1所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
10.如权利要求1所述的方法,其特征在于,还包括向用户呈现项目的方法;所述向用户呈现项目的方法包括:
提供一数据库,它允许通过查询搜索非文件项目及文件项目;
接收一查询,响应所述查询,取出匹配该查询的非文件项目和文件项目;和
在显示器上呈现匹配所述查询的非文件项目和文件项目。
11.一种用于向用户展示存储在存储器中的项目的***,其特征在于,所述***包括:
从用户获取查询的文件夹处理器;
用于存储有关项目的信息的关系数据库;
其中:
所述文件夹处理器从用户获得查询,并传送所述查询到所述关系数据库;
所述关系数据库将结果返回给所述文件夹处理器;和
根据来自关系数据库的结果,所述文件夹处理器提供该结果给用户作为虚拟文件夹。
12.如权利要求11所述的***,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
13.如权利要求11所述的***,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
14.如权利要求11所述的***,其特征在于,还包括一预览器,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器包括:
具有用于多个项目类型的默认预览器的外壳浏览器;和
有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
15.如权利要求11所述的***,其特征在于,还包括配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
16.如权利要求11所述的***,其特征在于,还包括提供指向存储在计算机文件***中的项目的虚拟路径的虚拟地址栏,所述虚拟地址栏包括:
可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
所述虚拟地址栏的一个或多个附加的交互段,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
17.如权利要求11所述的***,其特征在于,还包括一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
18.如权利要求11所述的***,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
19.如权利要求11所述的***,其特征在于,还包括用于呈现项目的集合的方法,所述呈现项目的集合的方法包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
20.如权利要求11所述的***,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
21.一种在具有显示器和用于存储具有相关的元数据属性的项目的存储器的计算机***中向用户展示项目的方法,所述方法包括:
选择第一元数据属性;
搜索具有所选的第一元数据属性的项目;和
提供第一虚拟文件夹显示对象,它表示具有第一元数据属性的项目的集合。
22.如权利要求21所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
23.如权利要求21所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
24.如权利要求21所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
25.如权利要求21所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
26.如权利要求21所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
27.如权利要求21所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
28.如权利要求21所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
29.如权利要求21所述的方法,其特征在于,还包括用于呈现项目的集合的方法,所述呈现项目的集合的方法包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
30.如权利要求21所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
31.一种在具有显示器和用于存储项目的存储器的计算机***中用于操作项目的方法,其特征在于,包括:
将项目组表示成虚拟文件夹;和
至少提供能完成直接操作虚拟文件夹的第一确定动作,其中当执行第一确定动作时,该虚拟文件夹象由执行的动作所指导的那样操作。
32.如权利要求31所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
33.如权利要求31所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
34.如权利要求31所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
35.如权利要求31所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
36.如权利要求31所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
37.如权利要求31所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
38.如权利要求31所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
39.如权利要求31所述的方法,其特征在于,还包括用于呈现项目的集合的方法,所述呈现项目的集合的方法包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
40.如权利要求31所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
41.一种在带有显示器和存储带有元数据属性的项目的存储器的计算机***中过滤项目的方法,其特征在于,该方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
42.如权利要求41所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
43.如权利要求41所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
44.如权利要求41所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
45.如权利要求41所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
46.如权利要求41所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
47.如权利要求41所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
48.如权利要求41所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
49.如权利要求41所述的方法,其特征在于,还包括用于呈现项目的集合的方法,所述呈现项目的集合的方法包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
50.如权利要求41所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
51.一种在带有显示器和用于存储项目的存储器中观看所选的项目的方法,其特征在于,所述方法包括:
存储一指向用户已漫游过的所希望的项目的集合的链接;和
在显示器上呈现该链接,使得通过在该链接上点击,用户能返回到所希望的项目的集合的视图。
52.如权利要求51所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
53.如权利要求51所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
54.如权利要求51所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
55.如权利要求51所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
56.如权利要求51所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
57.如权利要求51所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
58.如权利要求51所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
59.如权利要求51所述的方法,其特征在于,还包括用于呈现项目的集合的方法,所述呈现项目的集合的方法包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
60.如权利要求51所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
61.一种在带有显示器和用于存储项目的存储器的计算机***中向用呈现项目的方法,其特征在于,该方法包括:
提供一数据库,它允许通过查询搜索非文件项目及文件项目;
接收一查询,响应所述查询,取出匹配该查询的非文件项目和文件项目;和
在显示器上呈现匹配所述查询的非文件项目和文件项目。
62.如权利要求61所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
63.如权利要求61所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
64.如权利要求61所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
65.如权利要求61所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
66.如权利要求61所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
67.如权利要求61所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
68.如权利要求61所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
69.如权利要求61所述的方法,其特征在于,还包括用于呈现项目的集合的方法,所述呈现项目的集合的方法包括:
创建包含带有一个或多个规定的元数据属性的项目的库;
自动组合带有所述一个或多个规定的元数据属性的项目到库中;和
提供一个或多个工具用于操作库中的项目。
70.如权利要求61所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
71.一种使用虚拟地址栏提供到计算机文件***中存储的项目的虚拟路径的方法,其特征在于,该方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
72.如权利要求71所述的方法,其特征在于,在显示器上提供一过滤器,用户选择该过滤器以根据由该过滤器规定的元数据属性来过滤项目。
73.如权利要求71所述的方法,其特征在于,在显示器上提供快速链接,快速链接能由用户选择来观看指定的项目集合。
74.如权利要求71所述的方法,其特征在于,提供一个库,它包括项目的集合和操作该库的项目的一组工具。
75.如权利要求71所述的方法,其特征在于,虚拟文件夹能实际存储在不同的实际位置的存储器中。
76.如权利要求75所述的方法,其特征在于,不同的实际位置包括本计算机和至少一台不同的计算机、在网络上的位置、和外部存储设备。
77.如权利要求71所述的方法,其特征在于,所述项目包括文件项目及非文件项目。
78.如权利要求77所述的方法,其特征在于,所述非文件项目包括联络和电子邮件中的至少一个。
79.如权利要求71的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
80、如权利要求71的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
81.一种使用户能在外壳浏览器中修改元数据的计算机实现的方法,其特征在于,该方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
82.如权利要求81所述的方法,其特征在于,在显示器上提供一过滤器,用户选择该过滤器以根据由该过滤器规定的元数据属性来过滤项目。
83.如权利要求81所述的方法,其特征在于,在显示器上提供快速链接,快速链接能由用户选择来观看指定的项目集合。
84.如权利要求81所述的方法,其特征在于,提供一个库,它包括项目的集合和操作该库的项目的一组工具。
85.如权利要求81所述的方法,其特征在于,虚拟文件夹能实际存储在不同的实际位置的存储器中。
86.如权利要求85所述的方法,其特征在于,不同的实际位置包括本计算机和至少一台不同的计算机、在网络上的位置、和外部存储设备。
87.如权利要求81所述的方法,其特征在于,所述项目包括文件项目及非文件项目。
88.如权利要求87所述的方法,其特征在于,所述非文件项目包括联络和电子邮件中的至少一个。
89.如权利要求81所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
90.如权利要求81所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
91.一种能在支持多个项目类型的外壳浏览器中使用第三方预览器的计算机实现的方法,其特征在于,所述方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
92.如权利要求91所述的方法,其特征在于,在显示器上提供一过滤器,用户选择该过滤器以根据由该过滤器规定的元数据属性来过滤项目。
93.如权利要求91所述的方法,其特征在于,在显示器上提供快速链接,快速链接能由用户选择来观看指定的项目集合。
94.如权利要求91所述的方法,其特征在于,提供一个库,它包括项目的集合和操作该库的项目的一组工具。
95.如权利要求91所述的方法,其特征在于,虚拟文件夹能实际存储在不同的实际位置的存储器中。
96.如权利要求95所述的方法,其特征在于,不同的实际位置包括本计算机和至少一台不同的计算机、在网络上的位置、和外部存储设备。
97.如权利要求91所述的方法,其特征在于,所述项目包括文件项目及非文件项目。
98.如权利要求97所述的方法,其特征在于,所述非文件项目包括联络和电子邮件中的至少一个。
99.如权利要求91所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
100.如权利要求91所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
101.一种在带有显示器和用于存储项目的存储器的计算机***中用于呈现项目库的方法,所述项目具有多个不同类型,其特征在于,所述方法包括:
提供用于包含类似类型的项目的库;和
对每个库提供类似的UI特征组。
102.如权利要求101所述的方法,其特征在于,所述不同类型包括文档、图像和音乐中的至少两个。
103.如权利要求101所述的方法,其特征在于,类似的UI特征组包括用于编辑的特征。
104.如权利要求101所述的方法,其特征在于,类似的UI特征组包括用于创建新类别的特征。
105.如权利要求101所述的方法,其特征在于,类似的UI特征组包括用于编辑项目的元数据的特征。
106.如权利要求101所述的方法,其特征在于,类似的UI特征组包括改变数据透视表的特征。
107.如权利要求101所述的方法,其特征在于,除包含类似类型项目之外,库还能包括不同类型的项目。
108.如权利要求101所述的方法,其特征在于,还包括一外壳浏览器方法,用于使用户能修改在外壳浏览器中的元数据,该外壳浏览器方法包括:
显示多个项目;
从用户接收表示对至少一个显示的项目的选择的第一输入;
显示与所述至少一个选择的项目相关联的元数据;和
提供用户修改显示的元数据的控件。
109.如权利要求101所述的方法,其特征在于,还提供一外壳浏览器,该外壳浏览器包括:
一个显示项目组的视窗,其中该视窗还显示与一个或多个显示的项目相关联的元数据值;和
一个允许用户修改在视窗中显示的元数据值的至少一部分的编辑控件。
110.如权利要求101所述的方法,其特征在于,还包括一预览器方法,使用户能在支持多个项目类型的外壳浏览器中使用第三方预览器,该预览器方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
111.如权利要求101所述的方法,其特征在于,还包括提供配置成显示表示多个项目类型的多个项目的外壳浏览器,该外壳浏览器包括:
一默认预览器,它对多个项目类型提供标准级功能;和
有扩展能力的机制,它使用于多个项目类型的一个或多个项目类型的功能超越由默认预览器提供的标准等级。
112.如权利要求101所述的方法,其特征在于,还包括虚拟地址栏方法,使用虚拟地址栏提供指向存储在计算机文件***中的项目的虚拟路径,所述虚拟地址栏方法包括:
显示可操作以包括第一交互段的虚拟地址栏,其中所述第一交互段按照用于选择项目的对应过滤器定位在计算机文件***上的项目;和
添加一个或多个附加的交互段到所述虚拟地址栏,其中每个附加的交互段进一步限制前面的交互段定位的项目;
其中所述第一交互段和所述一个或多个附加的交互段构成一虚拟路径。
113.如权利要求101所述的方法,其特征在于,还包括提供一虚拟地址栏用户界面控件,用于选择计算机***可访问的项目以进行显示,所述虚拟地址栏包括:
多个交互段,其中每个交互段对应一个过滤器,用于选择项目来显示。
114.如权利要求101所述的方法,其特征在于,还包括一过滤项目的方法,所述过滤项目的方法包括:
在显示器上提供多个显示对象,每个显示对象代表一个或多个项目;
根据过滤器项过滤由显示对象表示的项目;和
修改在显示器上提供的显示对象,使得呈现在过滤项目后留下的项目。
115.如权利要求101所述的方法,其特征在于,还包括用于显示项目的方法,所述用于显示项目的方法包括:
确定拟从中取出项目的实际存储器位置的范围,所述范围包括本计算机存储器和至少一个其他实际位置;
接收一查询,响应所述查询,从在所述范围中确定的实际位置取出项目;和
在显示器的视图中呈现根据所述查询取出的项目。
116.如权利要求101所述的方法,其特征在于,还包括向用户呈现项目的方法,所述向用户呈现项目的方法包括:
提供一数据库,它允许通过查询搜索非文件项目及文件项目;
接收一查询,响应所述查询,取出匹配该查询的非文件项目和文件项目;和
在显示器上呈现匹配所述查询的非文件项目和文件项目。
117.一种能在支持多个项类型的外壳浏览器中使用第三方预览器的计算机实现的方法,其特征在于,所述方法包括:
提供具有用于多个项目类型的默认预览器的外壳浏览器;和
提供有扩展能力的机制,它使第三方能开发用于多个项目类型中的至少一个项目类型的另选的预览器。
118.如权利要求101所述的方法,其特征在于,在显示器上提供一过滤器,用户选择该过滤器以根据由该过滤器规定的元数据属性来过滤项目。
119.如权利要求101所述的方法,其特征在于,在显示器上提供快速链接,快速链接能由用户选择来观看指定的项目集合。
120.如权利要求101所述的方法,其特征在于,提供一个库,它包括项目的集合和操作该库的项目的一组工具。
121.如权利要求101所述的方法,其特征在于,虚拟文件夹能实际存储在不同的实际位置的存储器中。
122.如权利要求121所述的方法,其特征在于,不同的实际位置包括本计算机和至少一台不同的计算机、在网络上的位置、和外部存储设备。
123.如权利要求101所述的方法,其特征在于,所述项目包括文件项目及非文件项目。
124.如权利要求123所述的方法,其特征在于,所述非文件项目包括联络和电子邮件中的至少一个。
CN038018713A 2003-05-16 2003-05-16 文件***外壳 Expired - Lifetime CN1613047B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/015610 WO2004107151A1 (en) 2003-05-16 2003-05-16 File system shell

Publications (2)

Publication Number Publication Date
CN1613047A true CN1613047A (zh) 2005-05-04
CN1613047B CN1613047B (zh) 2011-05-04

Family

ID=33449009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038018713A Expired - Lifetime CN1613047B (zh) 2003-05-16 2003-05-16 文件***外壳

Country Status (12)

Country Link
EP (1) EP1629367A4 (zh)
JP (1) JP4378292B2 (zh)
KR (1) KR100991027B1 (zh)
CN (1) CN1613047B (zh)
AU (1) AU2003233558B8 (zh)
BR (1) BR0306693A (zh)
CA (1) CA2469163C (zh)
IL (2) IL162163A0 (zh)
MX (1) MXPA04006410A (zh)
NO (1) NO20042743L (zh)
RU (1) RU2009130955A (zh)
WO (1) WO2004107151A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407204C (zh) * 2005-11-17 2008-07-30 腾讯科技(深圳)有限公司 一种标注计算机资源的方法及其***
WO2010037342A1 (zh) * 2008-09-25 2010-04-08 特洛伊有限责任公司 用户体验研究项目中处理项目数据和研究数据的方法
CN102436450A (zh) * 2010-09-29 2012-05-02 腾讯科技(深圳)有限公司 定位文件夹的方法和装置
CN101366021B (zh) * 2006-01-05 2013-03-27 微软公司 经由软件应用用户界面将元数据应用于文档或文档对象
CN103548013A (zh) * 2011-05-22 2014-01-29 微软公司 搜索与浏览的混合
CN108803978A (zh) * 2014-07-31 2018-11-13 三星电子株式会社 电子装置及其执行的方法、计算机可读记录介质
CN109089044A (zh) * 2013-03-14 2018-12-25 三星电子株式会社 用于图像处理的便携式通信设备
CN109271091A (zh) * 2018-10-15 2019-01-25 郑机 一种文件管理***及方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7827561B2 (en) 2003-03-26 2010-11-02 Microsoft Corporation System and method for public consumption of communication events between arbitrary processes
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US20060195467A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Creation and composition of sets of items
US7596760B2 (en) 2005-04-07 2009-09-29 Microsoft Corporation System and method for selecting a tab within a tabbed browser
US8522154B2 (en) * 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
KR100763180B1 (ko) * 2005-06-09 2007-10-04 삼성전자주식회사 메타 데이터를 이용한 브라우징 방법 및 장치
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
KR100713534B1 (ko) * 2005-09-08 2007-04-30 삼성전자주식회사 이동 통신 단말의 사용자 데이터 검색 방법
JP4674726B2 (ja) * 2006-09-21 2011-04-20 株式会社ソニー・コンピュータエンタテインメント ファイルの管理方法および情報処理装置
US8285749B2 (en) 2010-03-05 2012-10-09 Hitachi, Ltd. Computer system and recording medium
KR101851241B1 (ko) 2011-12-06 2018-04-24 삼성전자 주식회사 휴대 단말기의 컨텐츠 통합 관리 방법 및 장치
JP6043899B2 (ja) * 2012-04-26 2016-12-14 野田 正嗣 情報管理装置並びに情報検索方法
CN103902609A (zh) * 2012-12-28 2014-07-02 腾讯科技(深圳)有限公司 一种文件展示的方法及装置
US10452850B2 (en) 2014-08-18 2019-10-22 International Business Machines Corporation Protected shell for risk validation
JP7430126B2 (ja) * 2020-09-01 2024-02-09 シャープ株式会社 情報処理装置、印刷システム、制御方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504852A (en) * 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
WO1994012944A1 (en) * 1992-11-23 1994-06-09 Paragon Concepts, Inc. Computer filing system with user selected categories to provide file access
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5987454A (en) * 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US6466238B1 (en) * 1998-06-30 2002-10-15 Microsoft Corporation Computer operating system that defines default document folder for application programs
CA2292311A1 (en) * 1998-12-17 2000-06-17 Raul Anchel Intranet-based cataloguing and publishing system and method
US6519603B1 (en) * 1999-10-28 2003-02-11 International Business Machine Corporation Method and system for organizing an annotation structure and for querying data and annotations
US6745206B2 (en) * 2000-06-05 2004-06-01 International Business Machines Corporation File system with access and retrieval of XML documents
US6839721B2 (en) * 2001-01-12 2005-01-04 Hewlett-Packard Development Company, L.P. Integration of a database into file management software for protecting, tracking, and retrieving data
US7240292B2 (en) * 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407204C (zh) * 2005-11-17 2008-07-30 腾讯科技(深圳)有限公司 一种标注计算机资源的方法及其***
CN101366021B (zh) * 2006-01-05 2013-03-27 微软公司 经由软件应用用户界面将元数据应用于文档或文档对象
WO2010037342A1 (zh) * 2008-09-25 2010-04-08 特洛伊有限责任公司 用户体验研究项目中处理项目数据和研究数据的方法
CN102436450A (zh) * 2010-09-29 2012-05-02 腾讯科技(深圳)有限公司 定位文件夹的方法和装置
CN103548013A (zh) * 2011-05-22 2014-01-29 微软公司 搜索与浏览的混合
CN109089044A (zh) * 2013-03-14 2018-12-25 三星电子株式会社 用于图像处理的便携式通信设备
US10841511B1 (en) 2013-03-14 2020-11-17 Samsung Electronics Co., Ltd. Electronic device and method for image processing
US10841510B2 (en) 2013-03-14 2020-11-17 Samsung Electronics Co., Ltd. Electronic device and method for image processing
CN109089044B (zh) * 2013-03-14 2022-03-11 三星电子株式会社 用于图像处理的便携式通信设备
CN108803978A (zh) * 2014-07-31 2018-11-13 三星电子株式会社 电子装置及其执行的方法、计算机可读记录介质
US10928971B2 (en) 2014-07-31 2021-02-23 Samsung Electronics Co., Ltd. Device and method of displaying windows by using work group
CN108803978B (zh) * 2014-07-31 2021-07-13 三星电子株式会社 电子装置及其执行的方法、计算机可读记录介质
CN109271091A (zh) * 2018-10-15 2019-01-25 郑机 一种文件管理***及方法

Also Published As

Publication number Publication date
BR0306693A (pt) 2005-02-09
CN1613047B (zh) 2011-05-04
AU2003233558B2 (en) 2009-12-10
IL162163A0 (en) 2005-11-20
EP1629367A1 (en) 2006-03-01
NO20042743L (no) 2004-08-17
MXPA04006410A (es) 2005-02-14
RU2009130955A (ru) 2011-02-20
KR100991027B1 (ko) 2010-10-29
WO2004107151A1 (en) 2004-12-09
CA2469163C (en) 2012-04-24
EP1629367A4 (en) 2008-04-23
KR20060061734A (ko) 2006-06-08
JP2006526182A (ja) 2006-11-16
AU2003233558A1 (en) 2005-01-21
AU2003233558B8 (en) 2010-01-21
IL162163A (en) 2010-04-29
CA2469163A1 (en) 2004-11-16
JP4378292B2 (ja) 2009-12-02

Similar Documents

Publication Publication Date Title
CN1613047A (zh) 文件***外壳
CN1248139C (zh) 用于表达频道化数据的***和方法
CN1153161C (zh) 使用智能注释来组织、链接和操作不同数据对象的***和方法
CN1578949A (zh) 数据对象导向的储存***
CN1759389A (zh) 利用虚拟文件夹的***和方法
CN1287310C (zh) 组成多媒体文件的方法和装置
CN1314226C (zh) 多媒体文件共享方法和装置
CN1285997C (zh) 链接内容浏览支持装置及其方法
CN1321275A (zh) 与源代码控制***交互的方法和设备
CN100347696C (zh) 企业业务过程管理的方法和***
CN1799051A (zh) 使用页面存储文件浏览内容的方法
CN1992728A (zh) 用于便利分组合作的***和方法
CN1321277A (zh) 数据库***
CN1203430C (zh) 数据管理***和数据管理方法
CN1959705A (zh) 信息处理装置、方法和程序
CN1276575A (zh) 数据库存取***
CN1722170A (zh) 内容***、内容终端、参考服务器、内容程序和参考程序
CN1783792A (zh) 动态内容改变通知
CN1722108A (zh) 磁盘驱动器、其控制方法以及磁盘伪造的探测方法
CN1866260A (zh) 向用户可操作设备提供程序的方法和***
CN1680942A (zh) 文档组分析设备、文档组分析方法及文档组分析***
CN101067955A (zh) 内容列表显示方法及装置、内容选择和处理方法及装置
CN1777890A (zh) 支持使用关键字的数据注册/搜索的设备、以及报告预备支持设备和程序
CN1305172A (zh) 双向互动式多媒体电子租售房屋及建筑空间服务管理***
CN1904884A (zh) 用于异构媒体的图形化查询构建器及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term

Granted publication date: 20110504

CX01 Expiry of patent term