通用模型编辑框架的制作方法

文档序号:6478694阅读:263来源:国知局
专利名称:通用模型编辑框架的制作方法
通用模型编辑框架背景计算机已变成在劳动力、家、以及移动设备中高度集成。计算机能够快速且高效地 处理大量信息。被设计成在计算机系统上运行的软件应用程序允许用户执行包括商业应用 程序、学校作业、娱乐和更多功能在内的各种各样的功能。软件应用程序通常被设计成执行 特定任务,诸如用于草拟文档的文字处理器应用程序或者用于发送、接收和组织电子邮件 的电子邮件程序。在某些情况下,软件应用程序可用于生成、编辑和显示模型形式的数据。例如,模 型可由企业和其他实体用来描述过程、系统、实体和其他信息。某些模型可被称为流程图、 处理流程、流程图表、过程图和/或控制图。其他模型可被称为列表、表格、饼图或其他形式 的分类和显示数据。在某些情况下,模型可用于示出系统元素之间的组织关系。这些模型 通常被称为组织图。在更广泛的意义上,模型可用于示出不同对象之间的任何类型的关系 fn息ο然而,许多时候被配置成生成、显示和编辑数据的软件程序受到数据类型的限制。 例如,通常对软件程序进行硬编码以便能够生成、编辑或导航特定数据类型而非其他数据 类型。此外,数据分类和显示可基于数据类型而受限于特定布局或显示形式。由此,用于生 成、查看、编辑或导航模型、数据集或其他信息的计算机运行的软件应用程序可依靠数据类 型来确定哪一个功能将对终端用户可用。简要概述此处所描述的各实施例涉及用于编辑和呈现数据的框架。在一个实施例中,计算 机系统执行一种用于编辑一个或多个实体的方法,这些实体的类型在执行编辑之前可能是 不知道的。例如,一种计算机系统生成与不同的数据类型的实体相关联的实体的视图以便 呈现在通用查看器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数 据与数据类型一起存储在储存库中。该计算机系统接收被配置成改变各所选实体的编辑请 求,其中每一个实体都具有相关联的数据类型。该计算机系统查询储存库以确定对应于所 接收到的编辑请求的所选实体的包括数据类型的各种属性。该计算机系统以模式为基础, 基于存储在该模式中的关系信息来确定该编辑是有效的。该计算机系统还将经确认的编辑 信息发送到通用查看器以供呈现。该通用查看器不具有如何处理所选实体和对应的数据类 型的先验知识。在另一实施例中,计算机系统执行一种用于在不同数据类型的实体之间导航的方法。例如,一种计算机系统生成与不同数据类型的实体相关联的实体的视图以便呈现在通 用查看器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数据与数据 类型一起存储在储存库中。该计算机系统接收指示对与第二不同的数据类型相关联的第二 所选实体的选择的导航输入。该计算机系统访问关于与第一和第二所选实体相关联的数据 类型的关系信息。该计算机系统生成包括第一所选实体和第二所选实体的更新视图,该更 新视图基于所访问的关系信息。该计算机系统还基于导航输入来呈现所生成的更新视图。在另一实施例中,计算机系统执行一种用于在模式中提供指示如何显示实体的提示的方法。例如,计算机系统生成与不同数据类型的实体相关联的实体视图以便呈现在通用查看器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数据与数据 类型一起存储在储存库中。该计算机系统接收指示要对至少一个实体采取的动作的用户输 入。该计算机系统访问存储在储存库中的提示以基于用户输入来确定对实体执行哪一个动 作。提示描述在用户提供特定预定义输入时采取哪些动作。该计算机系统还执行根据对应 于用户输入的提示来确定的动作。在另一实施例中,计算机系统执行一种用于显示基于各个实体的两个或更多所形 成视图的组合的方法。例如,计算机系统生成与各种数据类型的实体相关联的各个实体的 第一视图以便呈现在通用查看器上。这些实体和数据类型具有在对应模式中定义的各种关 系。模式作为数据与数据类型一起存储在储存库中。该计算机系统生成与各种数据类型的 实体相关联的各个实体的第二视图以便呈现在通用查看器上。该计算机系统接收指示要集 成第一和第二视图的用户输入。该计算机系统根据该用户输入来集成第一和第二视图。该 计算机系统还根据每一个实体的对应模式来更新与第一视图和第二视图的实体相关联的 实体。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定 所要求保护的主题的范围。附图简述为了进一步阐明本发明的实施例的以上和其它优点和特征,将参考附图来呈现本 发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将 不被认为是对其范围的限制。将通过使用附图用附加特征和细节来描述和说明这些实施 例,附图中

图1示出了包括编辑、导航和操纵不同数据类型的信息模型的本发明的各实施例 可在其中操作的计算机体系结构。图2示出了用于编辑一个或多个实体的示例方法的流程图,这些实体的类型在执 行该编辑之前是不知道的。图3示出了用于在不同数据类型的实体之间导航的示例方法的流程图。图4示出了用于在模式中提供指示如何显示实体的提示的示例方法的流程图。图5示出了用于显示基于一个或多个实体的两个或更多所形成视图的组合的示 例方法的流程图。图6示出了其中显示和导航信息的本发明的一实施例。详细描述此处所描述的各实施例涉及用于编辑和呈现数据的框架。在一个实施例中,计算 机系统执行一种用于编辑一个或多个实体的方法,这些实体的类型在执行编辑之前是未知 的。例如,计算机系统生成与不同数据类型的实体相关联的实体视图以便呈现在通用查看 器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数据与数据类型一 起存储在储存库中。该计算机系统接收被配置成改变一个或多个所选实体的编辑请求,其 中每一个实体都具有相关联的数据类型。该计算机系统查询储存库以确定对应于所接收到 的编辑请求的所选实体的包括数据类型的各种属性。该计算机系统以模式为基础,基于存储在该模式中的关系信息来确定该编辑是有效的。该计算机系统还将经确认的编辑信息发 送到通用查看器以供呈现。该通用查看器不具有如何处理所选实体和对应的数据类型的特 殊知识。在另一实施例中,计算机系统执行一种用于在不同数据类型的实体之间导航的方 法。例如,计算机系统生成与不同数据类型的实体相关联的实体视图以便呈现在通用查看 器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数据与数据类型一 起存储在储存库中。该计算机系统接收指示对与第二不同的数据类型相关联的第二所选实 体的选择的导航输入。该计算机系统访问关于与第一和第二所选实体相关联的数据类型的 关系信息。该计算机系统生成包括第一所选实体和第二所选实体的更新视图,该更新视图 基于所访问的关系信息。该计算机系统还基于导航输入来呈现所生成的更新视图。
在另一实施例中,计算机系统执行一种用于在模式中提供指示如何显示实体的提 示的方法。例如,计算机系统生成与不同数据类型的实体相关联的实体视图以便呈现在通 用查看器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数据与数据 类型一起存储在储存库中。该计算机系统接收指示要对至少一个实体采取的动作的用户输 入。该计算机系统访问存储在储存库中的提示以基于用户输入来确定对实体执行哪一个动 作。该系统使用提示来确定在用户提供特定预定义输入时采取哪些动作。该计算机系统还 执行根据对应于用户输入的提示来确定的动作。在另一实施例中,计算机系统执行一种用于显示基于各个实体的两个或更多所形 成视图的组合的方法。例如,计算机系统生成与各种数据类型的实体相关联的各个实体的 第一视图以便呈现在通用查看器上。这些实体和数据类型具有在对应模式中定义的各种关 系。模式作为数据与数据类型一起存储在储存库中。该计算机系统生成与各种数据类型的 实体相关联的各个实体的第二视图以便呈现在通用查看器上。该计算机系统接收指示要集 成第一和第二视图的用户输入。该计算机系统根据该用户输入来集成第一和第二视图。该 计算机系统还根据每一个实体的对应模式来更新与第一视图和第二视图中的实体相关联 的实体。本发明的各实施例可以包括或利用含有计算机硬件的专用或通用计算机,这将在 以下做出进一步讨论。本发明范围内的各实施例还包括用于承载或储存计算机可执行指令 和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或 专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理 存储介质。携带计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限 制,本发明的各实施例可包括至少两种完全不同的计算机可读介质物理存储介质和传输 介质。物理存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁 存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通 用或专用计算机访问的任何其他介质。“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子 数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线或硬连线或 无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质 可包括可用于携带或传输计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质 的范围内。然而,应当理解,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动转移到物理存储介质。例如,通过网络或数据链路 接收到的计算机可执行指令或数据结构可被缓存在网络接口卡内的RAM中,然后最终被传 送到计算机系统RAM和/或计算机系统处的较不易失的物理存储介质。由此,应当理解,物 理存储介质可被包括在同样(或甚至主要)利用传输介质的计算机系统组件中。计算机可执行指令例如包括,使通用计算机、专用计算机、或专用处理设备执行某 一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语 言等中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本 主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特 征和动作是作为实现权利要求的示例形式而公开的。本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络 计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息 处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型 计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可以在其中通 过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路 的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实践。在分布式系 统环境中,程序模块可以位于本地和远程存储器存储设备中。图1示出了其中可采用本发明各原理的计算机体系结构100。计算机体系结构100 包括计算机系统101。在某些实施例中,计算机系统101可包括系统存储器155和处理器 156。如上所述,存储器155可以是任何类型的计算机存储器,包括RAM、ROM、固态、磁性或 其他存储器。类似地,处理器156可以是任何类型的处理器、微控制器、状态机或处理信息 和/或控制计算机系统功能的其他装置。计算机系统101还可包括查看器110。查看器110可以是能够接收和显示电子信 号的任何类型的软件或硬件设备。例如,查看器110可被配置成接收视图111或更新视图 112并向用户显示该视图。查看器110还可被配置成从外部计算机系统101接收输入,诸如 例如,来自用户105的用户输入106。在某些实施例中,查看器110可被配置成处理和显示 以中间正则形式接收到的数据。用户105可以是任何类型的计算机用户,包括开发人员、终 端用户或任何其他类型的用户。用户输入106可以是任何类型的输入,包括鼠标、键盘或其 他外围输入、由触摸屏记录的手势、照相机或其他设备、运动、键击组合或其他输入。查看器 110可从用户105接收用户输入106并将用户输入106发送到数据流引擎115。在某些实施例中,数据流引擎管理实体和数据之间的依赖性。例如,数据流引擎 115可管理储存库125中实体120和数据项130之间的依赖性116。依赖性可以是可存在 于实体、模式、数据类型或其他数据项之间的任何种类的关系。依赖性可跟踪哪些查询结果 依赖于特定数据项,以使得在数据项改变时可以重新评估查询。数据流引擎115还可被配 置成将信息从中间正则形式转换为可由查看器110显示的形式。数据流引擎115可从实体 120接收查询117和/或编辑118形式的正则信息,如将在以下解释的。储存库125可以是存储诸如文件、数据库、通用描述、发现和集成(UDDI)注册、轻量级目录访问协议(LDAP)目录或其他形式的数据库或数据库集等信息的任何装置,并且 可以存储在包括硬盘驱动器、网络驱动器、闪存驱动器、光或其他类型的存储的任何类型的 数据存储中。在某些实施例中,查看器110、数据流引擎115或实体120中的任一个可被配 置成从储存库125读取信息和/或向储存库125写入信息。这样的读取和/或写入可直接 进行(不通过任何其他模块)或通过在图1中示出(或未示出)的各种模块间接进行。实 体120可包括任何类型的实体。为简明起见,只有人120A、人物120B和事件120C在实体 120中示出。然而,将会理解,如此处所使用地实体可以是能与数据相关联的任何项目。在 某些情况下,实体120是存储在储存库125中的数据项130的正则表示。数据流引擎可使用查询117和/或编辑118来与实体120和/或储存库125进行 通信。例如,数据流引擎115可向实体120发送查询以确定要选择的实体。查询117可另 外指示将从储存库125读取信息或将向储存库125写入信息。类似地,储存库125可向数 据流引擎116发送查询(例如,查询117)以取回依赖性或其他信息。数据流引擎115可向 实体120和/或储存库125发送所建议的编辑118。在某些情况下,实体120和数据项130 都可单独地或作为一整体来编辑。此外,储存库125可向数据流引擎115发送所建议的编 辑118以供确认。编辑确认将在以下结合图2更详细地解释。视图111和更新视图112可包括任何类型的数据演示。例如,视图111可包括列 表、图表、曲线图、电子表格、网页、文字处理文档、幻灯片、图片、应用程序窗口或者格式化 和/或呈现信息的任何其他方法。更新视图112可包括包含对视图作出的改变、添加、删除、 替换或其他更改的上述各项中的任一个。在其中视图111未改变或已接收到导致该视图的 当前未查看部分中的改 变的信息的某些情况下,视图111和更新视图112可以是相同的。在 其中已接收到将导致视图中的当前未查看部分中的改变的信息,并且该视图部分随后被移 至视图中的情况下,更新视图112可以进行进行中更新,由此可能节省任何不必要的处理。图2示出了用于编辑一个或多个实体的方法200的流程图,这些实体的类型在执 行该编辑之前是不知道的。方法200现在将频繁地引用环境100的组件和数据来描述。方法200包括生成与一个或多个数据类型相关联的一个或多个实体的视图以便 呈现在通用查看器上的动作,这些实体和数据类型具有如在对应模式中定义的关系,该模 式作为数据与数据类型一起存储在储存库中(动作210)。例如,查看器110可生成与一个 或多个数据类型130B相关联的实体120 (例如,实体120A-120C)的视图111以便呈现在查 看器110上,其中实体120和数据类型130B具有如在对应模式130A中定义的关系130D,其 中模式130A作为数据与数据类型130B—起存储在储存库125中。在替换实施例中,诸如 数据流引擎115等其他模块可生成视图111。在某些情况下,视图111可基于数据类型的一部分。例如,视图111可基于全名数 据类型中的名(例如,“John Doe”中的“John”)。数据类型130B可包括任何类型的数据 分类器,包括数据格式、布局、文件扩展名、文件类型、命名分类、组织分类以及其他分类器。 在某些情况下,数据类型130B可由计算机用户来定义和/或选择。例如,用户可定义数据 类型“企业地址”,其允许输入特定数据并且可包括诸如“街道名称”、“邮政编码”、“城市”和 “州”等附加数据类型。如上所述,数据类型可指示诸如“图片”、“电影”或“电子表格”等文 件类型。其他数据类型可指定诸如“.jpg”、“.mpeg”或“.xls”等文件扩展名。在某些实施 例中,视图可基于不同数据类型的组合。此外,模式可以在检测到新的用户定义的数据类型时自动更新。模式130A可指示实体120和数据类型130B之间的特定规则和/或关系。例如,模式130可指示诸如“人” 120A等特定实体具有数据类型“全名”。模式130A还可指示每 一个“人”实体都具有与之链接的“任务”实体。因此,在某些实施例中,当用户105正在编 辑“人”实体120A中的数据时,来自“任务” 120B的数据也可用于编辑。此外,如果任何数 据类型在实体120A和120B两者中重叠或出现,则更新一个实体中的这一数据可自动更新 另一实体中的对应数据。如将容易地理解的,实体和关系的许多组合是可能的并且上述示 例不应用于限制模式、数据类型、实体、关系或该示例中所使用的任何其他概念的使用。如上所示,类似于其他类型的数据的存储,模式130可作为数据存储在储存库125 中。在某些情况下,模式130可由用户105编辑。例如,用户105可输入用户输入106,数据 流引擎115可使用该用户输入106来查询和/或编辑储存库125中的数据项。模式130A 中的任何信息或整个模式或模式组可由用户105编辑。用户可添加描述如何基于模式来呈 现实体的提示。例如,用户106可向模式130A添加指示在已经显示特定其他实体的情况下 或者在实体120C自己显示的情况下如何呈现“事件”实体120C的提示。许多其他属性或 规则可通过改变模式数据来更改。在某些情况下,实体可以用一种或多种语言来本地化。方法200包括接收被配置成改变一个或多个所选实体的编辑请求的动作,每一个 实体都具有相关联的数据类型(动作220)。例如,查看器110可接收包括被配置成改变实 体120的编辑请求的用户输入106,其中每一个实体都具有相关联的数据类型(例如,数据 类型130B)。数据流引擎115可以在将用户输入106以查询117或编辑118的形式传递至 实体120和储存库125之前处理输入106。另外地或另选地,数据流引擎115可以简单地在 不处理用户输入106的情况下将该用户输入106传递至实体120和/或储存库125。在某 些实施例中,查询117包括对由用户105在用户输入106中选择的那些实体的查询。在某 些实施例中,编辑118包括经处理的查询,该经处理的查询包括预期编辑和/或基于依赖性 116的编辑有效的指示。方法200包括查询储存库以确定对应于所接收到的编辑请求的所选实体的包括 数据类型的一个或多个属性的动作(动作230)。例如,查询117可用于查询储存库125以 确定对应于在用户输入106中接收到的编辑请求的用户选择的实体的包括数据类型130B 的属性。方法200还包括以模式为基础,基于存储在该模式中的关系信息来确定该编辑是 有效的动作(动作240)。例如,计算机系统101可基于模式130和关系信息130D来确定编 辑118是有效的。用户105可以在用户输入106中指示要编辑“任务”实体。更具体而言, 输入106可指示“日期”数据类型应从“年/月/日”格式改为“日/月/年”格式。如果模 式指示对于该数据类型可允许任一种格式,则可声明该编辑有效。然而,如果用户输入106 指示“日期”数据类型应从“年/月/日”改为“全名”,则可声明所指示的编辑无效,因为模 式将不允许“全名”数据类型。模式130A和关系信息130D可指定将存在/不存于特定实 体中的任何类型的信息,并且还可指定存在/不存于基于模式130A的实体中的数据类型或 任何其他信息。在某些情况下,可以在接收编辑请求之前确认编辑。这一配置可允许用户 启用/禁用特定命令、构建确认命令的菜单或者选择其他系统功能部件。方法200还包括将经确认的编辑信息发送到通用查看器以供呈现的动作,该通用查看器不具有如何处理所选实体和对应的数据类型的先验知识(动作250)。例如,储存库 125或实体120可以在编辑118中将经确认的编辑信息发送到查看器110以供呈现。通用 查看器110可不具有如何处理所选实体120和对应的数据类型130B的先验知识。查看器110由此可以在不具有如何呈现特定实体或特定数据类型的任何先验指 示的情况下参考对应于实体的模式并确定如何呈现该实体。例如,如果查看器110从未呈 现过具有用户定义的数据类型“会议”的“事件”实体,则查看器110可查看模式130A以确 定如何呈现该信息。这一对模式的参考是动态的并且可以在每一次要呈现实体时执行。在 某些情况下,用户可单独地查看所选实体或基于有效编辑信息将所选实体作为所生成视图 的一部分来查看。例如,用户可选择在编辑所选实体之前查看所选实体。在其他情况下,用 户可能期望在执行编辑后查看实体。在还有一些情况下,用户可以在执行编辑时查看编辑。 在某些实施例中,计算机系统101可执行发送储存库中可用的每一个数据类型的 列表的可任选动作。这在其中用户105期望知道储存库125中可用的所有数据类型130B 的情况下可能是有用的。图3示出了用于在不同数据类型的实体之间导航的方法300的流程图。方法300 现在将频繁地引用图1、6A和6B所描绘的环境中的组件和数据来描述。方法300包括生成与第一数据类型相关联的第一所选实体的视图以便呈现在通 用查看器上的动作,这些实体和数据类型具有如在对应模式中定义的关系,该模式作为数 据与数据类型一起存储在储存库中(动作310)。例如,查看器110可生成与数据类型“名” 相关联的饼图视图605A。名为Joe、Frank、Bill、Mike和其他名的实体在605A中描绘。这 些实体可具有如在模式130A中定义的关系,其中该模式作为数据与数据类型130B(例如, “名”)一起存储在储存库125中。视图605A可表示储存库中的名的全部或子集。例如,视 图605A可表示作为会议参与者的人的名。方法300包括接收指示对与第二不同的数据类型相关联的第二所选实体的选择 的导航输入的动作。例如,计算机系统101可从用户105接收用户选择输入610A(其可以 与用户输入106相同或不同)。用户选择输入610A可指示对不同数据类型或具有不同数据 类型的实体的选择。例如,用户可选择查看存储在储存库125中的会议的全部或子集的饼 图。结果,可显示视图615A以示出“会议”数据类型的那些实体(在该示例中为会议A、会 议B、会议C、会议D、以及会议E)。由此,用户从一个视图导航到另一个视图。在某些情况 下,通过与第一所选实体的关系来查找具有不同数据类型的实体。例如,在上述示例中,视 图605A可显示参加会议A-E中的任一个的人的名。由此,当用户选择名时,与会议相关联 的数据可另外地链接到每一个用户的名。在某些情况下,计算机系统101可被配置成接收指示对与多个数据类型相关联的 多个所选实体的选择的多个导航输入。例如,多个用户选择输入610A可指示对具有数据类 型“名”、“年龄”、“公司”、以及“电子邮件地址”的实体的选择。在该示例中,查看器110可 被配置成显示每一个实体,一次显示一个,同时显示各组实体或所有实体,而不管数据类型 是什么。每一个实体可基于其与其他实体的关系来显示。方法300包括访问关于与第一和第二所选实体相关联的数据类型的关系信息的 动作(动作330)。例如,计算机系统101可访问关于与第一和第二所选实体“Joe”和“会 议A”相关联的数据类型130B的关系信息130D。如上所述,诸如“Joe”和“会议A”等实体可共享某种类型的关系,这表现在Joe可以是会议A参与者。方法300包括生成包括第一所选实体和第二所选实体的更新视图的动作,该更新 视图基于所访问的关系信息(动作340)。例如,计算机系统101可生成包括第一所选实体 (例如,“Joe”)和第二所选实体(例如,“会议A”)的更新视图112(其可以与视图615A 相同或与之不同),其中更新视图112基于关系信息130D。关系信息130D可以是作为模式 130A或其他模式的一部分的、可用于链接或连接不同数据类型的实体的任何类型的信息。方法300还包括基于导航输入来呈现所生成的更新视图的动作(动作350)。例 如,所生成的更新视图112可被呈现在查看器110上,其中该视图是作为接收用户选择输入 的结果而生成的。用户可单独地查看所选实体或将所选实体作为所生成的更新视图的一部 分来查看。例如,用户可选择在编辑所选实体之前查看所选实体。在其他情况下,用户可能 期望在执行编辑后查看实体。在还有一些情况下,用户可以在执行编辑时查看编辑。在替 换实施例中,可呈现到所生成的更新视图112的链接以使得能够在另一应用程序窗口中呈 现所生成的更新视图。该链接可以是超链接或者允许在另一应用程序窗口中打开视图的全 部或部分的其他类型的链接。图4示出了用于在模式中提供指示如何显示实体的提示的方法 400的流程图。方 法400现在将频繁地引用环境100的组件和数据来描述。方法400包括生成与一个或多个数据类型相关联的一个或多个实体的视图以便 呈现在通用查看器上的动作,这些实体和数据类型具有在对应模式中定义的各种关系,该 模式作为数据与数据类型一起存储在储存库中(动作410)。例如,查看器110可生成与一 个或多个数据类型130B相关联的实体120 (例如,实体120A-120C)的视图111以便呈现在 查看器110上,其中实体120和数据类型130B具有如在对应模式130A中定义的关系130D, 其中模式130A作为数据与数据类型130B—起存储在储存库125中。在替换实施例中,诸 如数据流引擎115等其他模块可生成视图111。方法400包括接收指示要对至少一个实体采取的动作的用户输入的动作(动作 420)。例如,查看器110可接收指示要对“人”实体120A采取的动作的用户输入106。应当 注意,用户输入106可指定任何合理的动作。例如,要采取的动作包括创建、读取、更新、删 除、编辑、移动、复制或任何其他动作。用户输入106可包括鼠标手势、键盘手势或鼠标和键 盘手势的组合。例如,特定键击或特定鼠标点击可被解释为删除、更新或其他手势。鼠标手 势可包括双击、点击和拖拽、鼠标悬停以及所有其他形式的鼠标通信。也可使用诸如相机和 触摸屏等其他设备来输入手势。对手势的解释和/或将手势映射到命令可由用户手动完成 或者由软件程序自动完成。手势到命令的映射可由用户105定制。方法400包括访问存储在储存库中的一个或多个提示以基于用户输入来确定对 实体执行哪一个动作的动作,该提示描述在用户提供特定预定义输入时采取哪些动作(动 作430)。例如,数据流引擎115可访问存储在储存库125中的提示130C以基于用户输入 106来确定对实体(例如,“人”)执行哪一个动作。提示130C可描述在用户提供特定手势 时采取哪些动作。例如,提示130C可指示当用户输入106包括对实体的双击时,复制该实 体。其他提示可指示当双击一实体时,该实体变为可用于编辑。提示130C可将任何手势绑 定到可对实体使用的任一个功能。提示可另外地或另选地用于允许用户选择实体属性。例 如,提示可指定在接收到特定手势时,可选择和/或改变实体的布局、形状、颜色或其他属性。在某些情况下,提示可用于在接收用户输入106之前构建视图。方法400包括执行根据对应于用户输入的提示来确定的动作的动作(动作440)。 例如,计算机系统101可执行根据对应于用户输入106的提示130C来确定的动作。如上所 述,用户输入106可包括手势。手势可映射到要对所选实体采取的动作。储存库125可存 储提示130C,提示130C可完全地或作为模式130的补充来使用,以基于接收到的手势来确 定要执行哪一个动作。图5示出了用于显示基于一个或多个实体的两个或更多所形成视图的组合的方 法500的流程图。方法500现在将频繁地引用图1、6A和6B所描绘的环境中的组件和数据 来描述。方法500包括生成与一个或多个数据类型相关联的一个或多个实体的第一视图 以便呈现在通用查看器上的动作,这些实体和数据类型具有在对应模式中定义的各种关 系,该模式作为数据与数据类型一起存储在储存库中(动作510)。例如,如参考方法300 所解释的,查看器110可生成与数据类型“名”相关联的饼图视图605B。名为Joe、Frank, Bill、Mike和其他名的实体在 605B中描绘。这些实体可具有如在模式130A中定义的关系, 其中该模式作为数据与数据类型130B(例如,“名”)一起存储在储存库125中。视图605B 可表示储存库中的名的全部或子集。例如,视图605B可表示作为会议参与者的人的名。方法500包括生成与一个或多个数据类型相关联的一个或多个不同实体的第二 视图以便呈现在通用查看器上的动作(动作520)。例如,类似于动作510,查看器110可生 成与所选数据类型相关联的图表或其他视图,如用户选择输入610B中所指示的。第二视图 可以显示或不显示在查看器110上,或者可显示或不显示该第二视图的至少某些部分。是 否显示第二视图可由用户确定。在某些情况下,用户可能希望创建两个或更多视图的“混 搭”。混搭是多个不同视图中的一个或多个元素的组合或集成。例如,用户可能希望组合来 自一个视图的元素A、来自一个视图的元素B以及来自另一个视图的元素C并将其组合成一 个视图。这将在以下更详细地解释。方法500包括接收指示要集成第一和第二视图的用户输入的动作(动作530)。例 如,计算机系统101可接收指示要集成第一和第二视图的用户选择输入610B。在某些情况 下,集成暗示一个视图中的后续用户动作(例如,选择)将导致另一视图中的改变。在一个 示例中,第一视图可示出存储在储存库125中的名的图表。第二视图(未示出)可包括可用 会议(例如,会议A-E)的图表。用户105可选择会议A并可通过组合这两个视图来产生集 成620B。集成620B描绘参加会议A的人的名的饼图视图。这一集成可被称为储存库125 中的名的视图和存储在储存库125中的可用会议的混搭。许多其他示例是可能的。如可以 从集成630B中看出,如果用户选择参与者的名(例如,“Joe”)和会议名(“会议AUlJ 该图表可示出参与会议A的名为Joe的用户的图。其他名/会议关系和图表是可能的。此 夕卜,应当注意,可使用任何类型的模型或图表以及任何数据类型。上述示例只是出于说明目 的并且表示许多可能的实施例中的非常少量的实施例。方法500包括根据用户输入来集成第一和第二视图的动作(动作540)。例如,计 算机系统101可根据用户输入610B来集成第一和第二视图。两个或更多视图的集成可基于 用户想要如何呈现数据以及要在总集成中使用每一个视图的哪些部分。在某些实施例中, 集成这两个视图的方法可通过用户在输入610B中使用的手势来确定。例如,如果用户点击第一视图并将其拖拽到第二视图上,则集成可包括用来自第二视图的元素来盖写第一视图 中的任何重叠元素,但保留第一视图中的任何独特元素。类似于上述示例,这些示例不应用 于限制可能的集成的类型。方法500还包括根据每一个实体的对应模式来更新第一视图和第二视图中的实体的动作(动作550)。例如,上述示例中所使用的诸如“Joe”和“会议A”等实体可根据每 一个实体的对应模式来更新。该模式可指示要在更新实体时保持的与其他实体的关系。在 某些实施例中,可访问该模式以获取可指示如何执行更新的对应于实体的关系信息。在某 些情况下,更新视图可以在选择第二视图后自动进行。由此,已呈现了用于编辑、导航和操纵不同数据类型的信息模型的各实施例。可以 在事先不知道数据类型的情况下编辑不同数据类型的实体。可基于实体之间的关系来导航 不同数据类型的实体。可以在模式中提供提示以指示如何显示实体。同样,可基于用户选 择输入来显示两个或更多所形成视图的组合。本发明可具体化为其他具体形式而不背离其精神或本质特征。所述实施例在所有 方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前 述描述指示。落入权利要求书的等效方式的含义和范围内的所有改变应被权利要求书的范 围所涵盖。
权利要求
一种在计算系统中的用于编辑一个或多个实体的方法,所述实体的类型在执行所述编辑之前是未知的,所述方法包括生成与一个或多个数据类型相关联的一个或多个实体的视图以便呈现在通用查看器上的动作,所述实体和数据类型具有如在对应模式中定义的关系,所述模式作为数据与所述数据类型一起存储在储存库中;接收被配置成改变一个或多个所选实体的编辑请求的动作,每一个实体都具有相关联的数据类型;查询所述储存库以确定对应于所接收到的编辑请求的所选实体的包括所述数据类型的一个或多个属性的动作;以所述模式为基础,基于存储在所述模式中的关系信息来确定所述编辑是有效的动作;以及将经确认的编辑信息发送到所述通用查看器以供呈现的动作,所述通用查看器不具有如何处理所述所选实体和对应的数据类型的先验知识。
2.如权利要求1所述的方法,其特征在于,还包括发送所述储存库中可用的每一个数 据类型的列表的动作。
3.如权利要求1所述的方法,其特征在于,所述视图基于数据类型的一部分。
4.如权利要求1所述的方法,其特征在于,还包括查看所述所选实体的动作。
5.如权利要求1所述的方法,其特征在于,所述模式包括描述如何基于所述模式来呈 现实体的提示。
6.如权利要求1所述的方法,其特征在于,所述实体可以用一种或多种语言来本地化。
7.如权利要求1所述的方法,其特征在于,所述数据类型可由计算机用户定义。
8.如权利要求7所述的方法,其特征在于,还包括在检测到新的用户定义的数据类型 时自动更新所述模式。
9.如权利要求1所述的方法,其特征在于,还包括访问所述模式以获取对应于一个或 多个数据类型的实体的关系信息。
10.一种在计算机系统中的用于在不同数据类型的实体之间导航的方法,所述计算机 系统被配置成生成并呈现数据,所述方法包括生成与第一数据类型相关联的第一所选实体的视图以便呈现在通用查看器上的动作, 所述第一实体和第一数据类型具有如在对应模式中定义的关系,所述模式作为数据与所述 数据类型一起存储在储存库中;接收指示对与第二不同数据类型相关联的第二所选实体的选择的导航输入的动作;访问关于与所述第一和第二所选实体相关联的数据类型的关系信息的动作;生成包括所述第一所选实体和所述第二所选实体的更新视图的动作,所述更新视图基 于所访问的关系信息;以及基于所述导航输入来呈现所生成的更新视图的动作。
11.如权利要求10所述的方法,其特征在于,还包括呈现到所生成的更新视图的链接 以使得能够在另一应用程序窗口中呈现所生成的更新视图。
12.如权利要求10所述的方法,其特征在于,还包括接收指示对与多个数据类型的实 体相关联的多个所选实体的选择的多个导航输入。
13.如权利要求12所述的方法,其特征在于,还包括生成包括所述第一所选实体和所 述多个所选实体中的至少一个的多个更新视图,所述生成包括访问关于与所述第一所选实 体和所述多个所选实体相关联的数据类型的关系信息。
14.如权利要求12所述的方法,其特征在于,所述第二实体是通过访问与所述第一实 体的关系找到的。
15.一种在计算机系统上用于在模式中提供指示如何显示实体的提示的方法,所述方 法包括生成与一个或多个数据类型相关联的一个或多个实体的视图以便呈现在通用查看器 上的动作,所述实体和数据类型具有在对应模式中定义的各种关系,所述模式作为数据与 所述数据类型一起存储在储存库中;接收指示要对至少一个实体采取的动作的用户输入的动作;访问存储在所述储存库中的一个或多个提示以基于所述用户输入来确定对所述实体 执行哪一个动作的动作,所述提示描述在用户提供特定预定义输入时采取哪些动作;以及执行根据对应于所述用户输入的提示来确定的动作的动作。
16.如权利要求15所述的方法,其特征在于,所述用户输入包括鼠标手势、键盘手势、 或者鼠标和键盘手势的组合。
17.如权利要求15所述的方法,其特征在于,提示用于选择显示特性。
18.—种在计算机系统上用于显示基于一个或多个实体的两个或更多所形成视图的组 合的方法,所述方法包括生成与一个或多个数据类型相关联的一个或多个实体的第一视图以便呈现在通用查 看器上的动作,所述实体和数据类型具有在对应模式中定义的各种关系,所述模式作为数 据与所述数据类型一起存储在储存库中;生成与一个或多个数据类型相关联的一个或多个不同实体的第二视图以便呈现在通 用查看器上的动作;接收指示要集成所述第一视图和所述第二视图的用户输入的动作;根据所述用户输入来集成所述第一视图和所述第二视图的动作;以及根据每一个实体的相应模式来更新与所述第一视图和所述第二视图相关联的实体的 动作。
19.如权利要求18所述的方法,其特征在于,所述根据所述用户输入来集成所述第一 视图和所述第二视图的动作包括将所述第一视图的一个或多个部分与所述第二视图的一 个或多个部分组合。
20.如权利要求18所述的方法,其特征在于,还包括访问所述模式以获取对应于一个 或多个数据类型的实体的关系信息。
全文摘要
在一个实施例中,一种计算机系统生成与不同的数据类型相关联的实体的视图以便呈现在通用查看器上。这些实体和数据类型具有如在对应模式中定义的关系。模式作为数据与数据类型一起存储在储存库中。该计算机系统接收被配置成改变各个所选实体的编辑请求,其中每一个实体都具有相关联的数据类型,查询储存库以确定对应于所接收到的编辑请求的所选实体的包括数据类型的各种属性,并且以模式为基础,基于存储在模式中的关系信息来确定该编辑是有效的。该计算机系统还将经确认的编辑信息发送到通用查看器以供呈现。该通用查看器不具有如何处理所选实体和对应的数据类型的先验知识。
文档编号G06F17/00GK101821731SQ200880111431
公开日2010年9月1日 申请日期2008年10月7日 优先权日2007年10月11日
发明者A·C·布勒施, A·S·威廉姆斯, F·沃斯, J·R·弗林, S·贾亚德万 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1