CN1755683A - 上下文动作的发布 - Google Patents

上下文动作的发布 Download PDF

Info

Publication number
CN1755683A
CN1755683A CNA2005100893619A CN200510089361A CN1755683A CN 1755683 A CN1755683 A CN 1755683A CN A2005100893619 A CNA2005100893619 A CN A2005100893619A CN 200510089361 A CN200510089361 A CN 200510089361A CN 1755683 A CN1755683 A CN 1755683A
Authority
CN
China
Prior art keywords
action
entity
context
implemented method
keyword
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
CNA2005100893619A
Other languages
English (en)
Other versions
CN1755683B (zh
Inventor
H·M·科劳三世
J·S·布克
T·坦尼斯博格
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 Corp
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 CN1755683A publication Critical patent/CN1755683A/zh
Application granted granted Critical
Publication of CN1755683B publication Critical patent/CN1755683B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q99/00Subject matter not provided for in other groups of this subclass
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Digital Computer Display Output (AREA)

Abstract

提供了一种用于发布与诸如商务对象等实体的当前上下文相关联的动作的计算系统。该计算系统具有存储实体的组件、存储与实体相关联的动作的组件、以及提供关于实体当前一个或多个上下文、以及与该实体的当前上下文相关联的动作的信息的软件组件。该计算系统还可包括请求并显示与实体的当前上下文相关联的动作的客户机系统。还提供了一种用于与实体相关联的动作的上下文发布的方法。该方法提供实体的当前上下文。该方法还提供与实体的当前上下文相关联的动作。提供了多个用户界面供管理和访问与实体相关联的动作。

Description

上下文动作的发布
技术领域
本发明涉及商务对象,由其涉及一种实现与商务对象相关联的动作的上下文发布的计算系统和程序。
背景技术
根据构成商务对象以及这些对象如何交互,可对商务进行建模。一般而言,商务对象表示对实施商务有意义的物品、过程、或时间。例如,商务对象可表示清单、发货单、顾客、或销售员。商务对象还可表示购买、出售、或当实施商务是发生的其他类型的交割。所得的模型常被称为商务对象模型。
商务对象模型的常规结构是涉及每个商务对象的数据、商务规则和动作(操作)被逻辑地和/或物理地紧耦合到该商务对象。例如,商务对象及其相关联的数据、商务规则和动作可一同被物理地存储在一台文件服务器内,或被逻辑地当作一个单元。图1示出一种将商务对象紧耦合到其相关联的动作的传统方式。一般而言与商务对象相关联的动作是一件描述如何向用户表示一个动作,以及如何执行必需的逻辑以执行此动作的元数据。在图1中所示出的例子中,商务对象被存储在诸如SAP102、SIEBEL104和SQL等的企业数据管理系统中。商务对象还可被存储在其他数据管理系统108。数据管理系统102-108提供了适配器112,客户机应用程序可通过它访问并使用商务对象及其相关联的动作。
将商务对象随其相关联数据、规则和动作存储的常规方法有若干局限性。例如,商务对象及其相关联动作的紧耦合限制了与商务对象相关联的功能的扩展。用户不能方便地将新动作与商务对象相关联。相反地,如果动作和商务对象被分开存储,则用户可能能够按该用户的偏好来将动作与任何商务对象相关联。例如,动作A和B与商务对象1相关联,动作C和D与商务对象2相关联。常规上,动作A和B被缚定到商务对象1,动作C和D被缚定到商务对象2。通过切断动作和其相关联的商务对象间的束缚,与商务对象相关联的功能可被动态地调整,从而允许用户容易地将其它动作与商务对象相关联。例如,如果将动作A、B、C和D从商务对象1和2分离,用户可以自由地将这些动作与商务对象1和2的任何一个相关联。这使得商务对象能有更广范围的功能。
此外,在如今的企业应用程序中,有许多不同的影响用户能对商务对象做什么的因素。这些因素包括用户是谁,该用户在看哪类数据、用户在工作流的什么位置,等等。这些因素构成了用户操作商务对象所处的上下文。因而上下文是一件捕捉关于使用商务对象的环境的数据的信息。它可从数据、用户的角色、应用程序的设置等推导。
不同的动作可在不同的上下文中与同一商务对象相关联。例如,使用商务对象的用户的角色影响该用户可对该商务对象执行什么动作。对于诸如“顾客”的商务对象,如果“顾客”商务对象的用户是管理员,与“顾客”商务对象相关联的动作可包括“编辑动作”和/或“添加动作”。这两个动作给予管理者修改现有的与商务对象相关联的动作,并将新的动作与该商务对象相关联的能力。另一方面,如果“顾客”商务对象的用户是除管理员外的某人,该用户可能不能够编辑或添加与“顾客”商务对象相关联的动作。因为不同的动作在不同的上下文中可与同一商务对象相关联,所以期望能够通知用户关于在当前上下文中与商务对象相关联的动作。这就等于与商务对象相关联的动作的上下文发布。
发明内容
本发明通过提供一种实现与诸如商务对象等、具有一个或多个上下文的实体相关联的动作的发布,解决了上述的需要。该计算系统将实体与其相关联动作分开。该计算系统还包括提供关于实体当前上下文、以及在当前上下文中与该实体相关联的动作的信息的软件组件。该计算系统还可包括使用实体并显示一个或多个上下文中与该实体相关联的动作的客户机应用程序。本发明的其它方面提供在一个或多个上下文中与实体相关联的动作的上下文发布的方法。本发明的其它方面提供使用户能管理和访问与实体相关联的动作的多个用户界面。
本发明的示例性实施例提供容纳多个组件的计算系统。一个组件存储实体。称作动作元数据存储的另一个组件存储与实体相关联的动作。该计算系统还包括提供关于实体当前所处的上下文以及在该上下文中与该实体相关联的动作的信息的软件组件。该计算系统还可包括使用一个或多个实体的一个或多个客户机应用程序。客户机应用程序请求实体所处的上下文以及在该上下文中与该实体相关联的动作。该客户机应用程序可显示在该上下文中与该实体相关联的动作。
在本发明的示例性实施例中,包括在该计算系统中的软件组件提供关于实体所处的当前上下文以及在当前上下文中与该实体相关联的动作信息。更具体地,该软件组件包括标识与实体相关联的一个或多个上下文的上下文提供器模块。该软件组件还包括查询动作元数据存储并检索在一个或多个上下文中与实体相关联动作的动作提供器模块。较佳的是,该动作提供器模块向在该上下文中使用该实体的客户机应用程序返回关于动作的信息。该客户机应用程序可以这些动作执行各种功能,包括显示在该上下文中与该实体相关联的动作。
根据本发明的另一方面,该软件组件还可包括多个上下文解析器。每个上下文解析器对应于一个上下文。上下文解析器将上下文转换为标识该上下文的关键词。一接收到对与一个或多个特定上下文中的实体相关联的动作的请求,该动作提供器模块将上下文信息传递给多个上下文解析器,由其返回一组对应于这些上下文的关键词。动作提供器模块构建包括这些关键词的查询,并将该查询发送到动作元数据存储。动作元数据存储用一个或多个关键词为动作加注。较佳的是,每个动作都有称为CombinationMode(组合模式)的字段。如果动作的CombinationMode字段被设置为“ALL”(所有),则一收到包括注释该动作的所有关键词的请求就返回该动作。如果CombinationMode被设置为“ANY”(任一),一收到包括注释该动作的关键词中的至少一个的请求就检索该动作。
本发明的另一方面提供多个用户界面以供用于管理或访问与实体相关联的动作。提供了管理用户界面,允许用户担当管理员并管理与实体相关联的动作。管理用户界面允许管理员将新动作与实体相关联。它还允许管理员修改动作的属性。管理用户界面还允许管理员管理动作菜单,即,显示在其当前上下文中与实体相关联的动作的用户界面。
本发明还提供激活与实体相关联的动作菜单的方法。动作菜单有3个主要状态:默认状态、焦点/鼠标覆盖状态、以及菜单状态。例如,当被释放或不在焦点,动作菜单处于可由图标标识的默认状态。如果用制表符将该图标切换成焦点或者当将诸如鼠标的指示设备移到表示动作菜单的图标上,动作菜单可从默认状态转换到焦点/鼠标覆盖状态。当用户激活表示动作菜单的图标且动作菜单在其焦点/鼠标覆盖状态时,动作菜单转换到菜单状态并完全显示在其当前上下文中与该实体相关联的动作。
本发明的另一方面提供动作Web部件。动作Web部件以各种样式显示一列与实体相关联的动作。用户可修改与动作Web部件相关联的属性。用户还可通过将动作Web部件切换到其编辑模式以及拖放动作项,来指定动作Web部件中各动作的显示顺序。
总之,本发明提供一种将实体与其相关联的动作分离的计算系统。本发明还提供一种用于显示在一个或多个上下文中与实体相关联的动作的方法。本发明还提供多个允许管理和访问与实体相关联的动作的用户界面。因而,本发明实现动作和实体的动态关联,并实现了与实体相关联的动作的上下文发布。
附图说明
当结合附图参考以下详细描述更好地理解时,本发明的前述方面及许多附加优点将变得更易理解,附图中:
图1所示是将商务对象紧耦合到其相关联动作的常规方法的框图;
图2所示是本发明示例性实施例的框图;
图3所示是在本发明示例性实施例中数据流的通路的框图;
图4所示是上下文框架的示例性实施例和上下文类的例子的框图,上下文框架是本发明示例性实施例的组件;
图5所示是动作框架的示例性实施例,动作框架是本发明示例性实施例的另一组件;
图6A-6C所示是上下文动作的发布的示例性方法的功能性流程图;
图7-10所示是用于管理与实体相关联的动作的管理页面的示例性实施例的示意图;
图11A-11B所示是管理与实体相关联的动作的示例性方法的功能型流程图;
图12所示是激活动作菜单的示例性过程的示意图;
图13所示是如何使用诸如鼠标等指示设备激活动作菜单的状态图;
图14所示是动作Web部件的示例性实施例的示意图;以及
图15所示是设置动作Web部件各个属性的示例性实施例的示意图。
具体实施方式
本发明针对于一种用于发布与商务对象当前上下文相关联的动作的计算系统、计算机实施方法、及多个用户界面。本发明的各个方面可在分别存储商务对象及其相关联动作的计算系统中具体化。此外,本发明的各个方面可在提供关于商务对象当前上下文及在此上下文中与该商务对象相关联的动作的信息的计算机实施的方法中具体化。此外,本发明的各个方面可在多个允许用户管理和访问与商务对象相关联的动作的用户界面中具体化。
主要在单计算系统的上下文中描述本发明。然而,本发明的各个方面也可在分布式计算环境中实施。例如,商务对象及其相关联动作可被分开并远距地存储在不同数据库服务器内。各个使用这些商务对象及其相关联动作的客户机应用程序可运行在不同客户机系统上,这些系统与运行提供关于商务对象及在此上下文中与该商务对象相关联的动作的信息的软件组件的系统分开。此外,尽管主要结合与商务对象相关联的管理和访问动作来描述本发明,本领域技术人员将理解本发明也适用于诸如编程对象、用户界面对象等其它数据对象。出于这个原因,在下文中使用术语“实体”以代替“商务对象”。
以下描述首先描述可实施本发明的计算环境。然后描述用于提供关于实体当前上下文及在此上下文中与该实体相关联的动作的信息的计算机实施的方法。最后,描述多个允许管理和访问与该实体相关联的动作的用户界面。本文提供的示例性例子并不试图称为穷举性的或试图将本发明限于所揭示的精确形式。相似地,本文所描述的任何步骤可以相同或不同顺序与其它步骤或步骤的组合互换,以达成同样的结果。
图2示出了适用于实施本发明的示例性计算系统200。常规上,如上面提及的,实体及其相关联动作被物理地或逻辑地紧耦合在一起。此实体与相关联动作的紧耦合限制了动作与实体的动态关联。它还限制了上下文地显示与实体相关联的动作的能力。为解决这些限制,本发明提供将实体与其相关联动作分开的计算系统200。例如,如图2中所示,实体被存储在诸如SAP 202、SIEBEL 204、SQL 206或任何其它类型的数据管理应用程序208等的数据管理应用程序中。与这些实体相关联的动作被聚集到称为动作元数据存储210的地方,该存储和与动作相关联的实体所处的数据管理应用程序202-208分开。数据管理应用程序202-208通过适配器212与动作元数据存储210通信。计算系统200的结构布局实现了动作与实体的动态关联,因为动作不再是实体的集成部分。此类计算系统200还为提供关于在不同上下文中与同一实体相关联的动作的上下文信息的方法提供了平台。图6A-6C示出了这样一个方法的示例性实施例,并将于稍后详细讨论。
计算系统200还包含软件组件214。该软件组件214通知使用实体的客户机应用程序120关于在其当前上下文中,哪些动作与该实体相关联。在本发明中,上下文是一件捕捉关于使用实体的环境的数据的信息。实体可以有一个或多个上下文。例如,实体可有捕捉关于使用该实体的用户的角色的信息的上下文。该实体还可有捕捉关于该实体本身的信息的上下文。例如,“顾客”实体可同时有3个上下文:在有诸如顾客ID的假设下捕捉关于“顾客”实体本身信息的实体上下文;提供用户标识符的角色上下文;以及标识使用该实体的客户机应用程序120的应用上下文。
在本发明的示例性实施例中,该软件组件214包含2个模块:上下文提供器216和动作提供器218。如将在下文关于图3更详细地描述的,上下文提供器216提供关于工作环境(即,由客户机应用程序120操作实体的上下文)的信息。动作提供器218提供关于在其当前上下文中哪些动作与实体相关联的信息。
在本发明的某些实施例中,该软件组件214还包括一组上下文解析器220。上下文解析器220将上下文转换为关键词。动作提供器218使用由上下文解析器220提供的关键词来构建查询。动作提供器218将该查询发送到动作元数据存储210以查找用这些关键词加注的动作。
图3示出本发明示例性实施例中使用图2所示的计算系统200的数据流通路。到此,客户机应用程序120发送对于特定实体的所有已安装的上下文的请求。例如,该客户机应用程序120可通过选中实体并发布命令以观察与此实体相关联的动作,在用户表示对该实体的兴趣时立即初始化这样一个请求。
在本发明的这个示例性实施例中,上下文提供器216获得关于实体的已安装上下文的信息。上下文提供器216随后创建所有已安装上下文的对象实例。上下文提供器216随后创建包含该实体所有已安装上下文的对象实例的ContextHash(上下文散列)对象。上下文提供器216然后向请求上下文的客户机应用程序120返回该ContextHash对象。
客户机应用程序120可将ContextHash对象传递给软件组件214中的动作提供器218。动作提供器218遍历ContextHash对象以生成关于与包括在该ContextHash对象中的已安装上下文相关联的动作的查询。
在本发明的某些实施例中,该软件组件214还包含一组上下文解析器220。每个上下文都有对应的上下文解析器220。上下文解析器220取上下文并将其装为患可用于定位与此上下文相关联的动作的关键词。关键词是可用于从动作元数据存储210查询次动作的,诸如动作等元数据上的注释。在这些实施例中,动作提供器218将已安装上下文传递给其对应的上下文解析器220。上下文解析器220将已安装上下文转换为其对应的关键词,并将这些关键词返回给动作提供器218。
在接收到关于已安装上下文的信息后,动作提供器218向动作元数据存储210发送查询,并检索与已安装上下文相关联的动作。在本发明使用上下文解析器220的各实施例中,动作提供器218发送给动作元数据存储210的查询还包含由上下文解析器220提供的关键词。动作元数据存储210定位所有与这些关键词相关联的动作。
动作元数据存储210随后将动作列表发回给动作提供器218,动作提供器218将信息发回给请求关于这些上下文的信息以及在这些上下文中与实体相关联的动作的客户机应用程序120。客户机应用程序120可对这些动作做各种事情。例如,客户机应用程序120可在与该实体相关联的动作菜单中发布这些动作。
在本发明的示例性实施例中,软件组件214是类库。这些类被实施为受管代码类,即,这些类由诸如Microsoft.NET通用库等公共语言运行库执行。这些类还可被实施为未受管代码,即,这些类直接由操作系统执行。
图4和图5示出包含上下文框架400和动作框架500的软件组件214的示例性实施例。图4中所示的上下文框架400包含容纳上下文有关的信息的类。例如,Icontext 402是所有上下文类实施的界面。在本发明的实施例中,Icontext 402有Create()方法。此方法创建新的给定类型的上下文。此方法持有关于实体的环境的所有必需的细节。在本发明的某些实施例中,Icontext 402还包含为上下文返回上下文解析器220对象的GetResolver()方法。
上下文框架400还包含AbstractContext类404。此类是为所有上下文持有所有公共逻辑的抽象基类。
在本发明的示例性实施例中,提供了从AbstractContext类404导出的上下文类406。图4示出示例性上下文类406。所示的示例性上下文库406包括持有关于用户当前在处理哪个实体的数据的EntityContext类408。EntityContext类408包含Create()方法。此方法试图从各个来源寻找实体数据。来源可以是当前Web页。例如,如果用户在MYSITE上运行,本发明的这个示例性实施例假设首要实体是此MYSITE的所有者的用户概况。另一种来源可以是用于分发关于当前实体的信息的查询串。Create()方法可取查询串并从其提取类名和对象键。EntityContext类408还可包括GetEntityObject()方法。此方法返回基于所存储的类和独享健数据构建的实体对象。EntityContext类408还可包含返回所存储的类名的类字段。
另一个示例性上下文类是ApplicationContext 412。实体在不同类型的客户机应用程序120中可有不同的动作。例如,和在办公室客户机应用程序中的同一实体相反,用户可能想要为基于Web的应用程序中的实体显出的不同的动作。ApplicationContext.Create()标识客户机应用程序120,然后储存此信息。
另一个示例性上下文类是RoleContext 414。此类以用户的角色持有数据。在本发明的各实施例中,RoleContext().Create()检查当前线程的身份,对用户属于什么角色下某些结论,并内部地存储此角色信息。例如,对于客户机应用程序120,用户可以处于管理员的角色。
本发明的各实施例可包括另一个示例性上下文类,LocaleContext类416。当动作取决于应用程序的当前语言时,此类存储关于当前位置的信息。本发明的其它实施例可包括附加的上下文类。
上下文框架400还包含ContextProvider类216。如果用户想要获得与实体相关联的所有可用上下文,则ContextProvider类216的对象实例可被用作聚合器。较佳的是,ContextProvider类216包括GetContexts()方法。在本发明的示例性实施例中,提供了包含实体的已安装上下文的列表。GetContexts()方法遍历此已安装上下文的列表,对所有这些上下文调用Create()方法,并返回包含所得的已安装上下文的对象实例的ContextHash对象。在客户机应用程序120可能仅需使用个别上下文的情形下,通过调用对应的Context.CreateOpen()方法获得个别上下文。在客户机应用程序120需要获得与实体相关联的所有可用上下文的情形下,客户机应用程序120可调用ContextProvider.GetContexts()。
在所示的本发明的示例性实施例中,上下文框架400还包含ContextHash类420。ContextHash类420可以只不过是包含一组上下文的散列表的外包装。ContextHash类420可包括允许按其类型访问个别上下文的项[类型、键]属性。
如图5所示,软件组件214还包含动作框架500。在本文所描述的发明的示例性实施例中,动作是封装关于某个动作以及如何向用户呈现该动作的信息的元数据对象。例如,此类动作可以是在诸如SAP等数据管理系统中创建“顾客”实体。动作元数据对象通常存储2件主要数据。其一是向用户呈现动作的显示方法。此显示方法可返回诸如“加入到SAP中”等串,或做某些诸如构建复杂超连接等更复杂的事。另一件由动作包含的数据是实际执行该动作的执行方法。例如,执行方法可为“顾客”实体建立新顾客。
动作框架500中一个重要的类是ActionProvider类218。如在上文关于图2和3的讨论中所提及,ActionProvider类218取一组上下文并返回与这些上下文相关联的动作的列表。在所示的本发明示例性实施例中,ActionProvider类218实施GetActions()方法。此方法取包含已安装上下文的的对象实例的ContextHash对象,并返回与这些上下文相关联的动作的列表。在本发明的实施例中,GetActions()方法走查ContextHash对象以枚举所有上下文。它随即对所有上下文调用GetResolver()方法以获得它们对应的上下文解析器220。GetActions()方法随即查询所有上下文解析器220以获得反映已安装上下文的关键词。GetActions()方法随即查询动作元数据存储210来检索以这些关键词加注的动作。
当实体的用户同时处于若干个上下文中时,则检索到某些动作。例如,担当管理员的“顾客”实体的用户可同时处于“顾客”实体上下文和“管理员”角色上下文中。因而,GetActions()方法可查询动作元数据存储210以检索同时以“顾客”关键词和“管理员”关键词加注的动作。在本发明的各实施例中,仅当动作同时以“顾客”关键词和“管理员”关键词加注,且未以任何其它关键词加注时,该动作才可被返回。另一方面,如果某些动作与已安装上下文中的一个相关联,则检索到这些动作。例如,客户机应用程序120可请求与“顾客”实体上下文相关联的动作。因而,GetActions()方法查询动作元数据存储210来检索以“顾客”关键词加注的动作。某动作可被返回只要它以“顾客”关键词加注,尽管它可能以其它关键词加注。在所示的本发明的示例性实施例中,为了确定要检索的动作应与一个上下文还是多个上下文相关联,动作元数据存储210具有CombinationMode字段。如果此字段被设置为ALL(所有),仅当加注此动作的关键词包括所有由GetActions()方法发送的请求中的关键词,该动作才被返回以响应查询。如果CombinationMode()字段被设置为ANY(任一),当动作被以由GetActions()方法发送的请求中的关键词中至少一个加注时,该动作被返回。
在所示的本发明示例性实施例中,GetActions()方法所做的查询是分两阶段实行的。首先,该方法获得所有CombinationMOde被设置成“ALL”,且由GetActions()方法提供的查询中的关键词是所有加注该动作的关键词的动作。第二,GetActions()方法获得所有CombinationMode被设置为“ANY”,且由GetActions()方法提供的查询中的关键词有加注该动作的关键词中至少一个的关键词。GetActions()方法随即合并两个阶段的结果并返回所得的动作列表。
动作框架500还包含动作类504。在本发明的实施例中,动作类504是动作元数据的受管代码表示。动作类504包含GetDisplayMethod()。此方法返回显示动作的方法。此方法预期返回返回诸如“在SAP中编辑顾客”等串,或做诸如构建超链接等某些更复杂的事。动作类504还包含返回实际执行动作的方法的GetExecuteMethod()。如果GetDisplayMethod()返回超连接,动作可能根本没有执行方法;在此情形下,GetExecuteMethod()返回null。动作类504还可包含返回该动作的动作模板的GetActionTemplate()。
在本发明的某些实施例中,动作框架500还可包含ActionTemplate类506。在某些情况中,如果有可为动作使用的现有方法,那么不需要从由上下文提供器216生成的ContextHash对象中提取所有信息。仅需为现有方法的参数提取必需的信息。在这些情况中,ActionTemplate类506担当转换器。它取ContextHash对象,从其中为现有方法的参数提取必需的信息,并将信息传递给现有方法。ActionTemplate类506有称为Execute()的方法。此方法取ContextHash对象和方法描述,解析ContextHash对象中的上下文以为该方法寻找正确的参数,并执行该方法。一个ActionTemplate 506可被用于多个具有诸如它们做什么等共同属性的方法。每组方法可具有一个知道如何从ContextHash对象获得正确参数的ActionTemplate 506。
因此,当执行方法,本发明使得客户机应用程序能够或者直接调用Method.Execute()并将ContextHash对象传递给它,或者调用ActionTemplate.Execute()并将该方法的描述和ContextHash对象传递给它。
在所示的本发明的示例性实施例中,如图3中所示的关键组件214还可包含一组上下文解析器220,每个上下文解析器对应于一个上下文。上下文解析器220将上下文转换为关键词组。关键词可用于从动作元数据存储210查询各种元数据。在本发明的某些实施例中,上下文解析器220可包含称为IcontextResolver的界面。这是所有上下文解析器220必需实施的界面。它具有取上下文并返回健值对的字典。
在本发明的某些实施例中,软件组件214可被第三方构建的自定义上下文和上下文解析器扩展。可提供简单的登记机制,其中第三方可提供关于其上下文的信息。在本发明的某些实施例中,第三方还可通过提供用于执行其方法的逻辑,以及在动作元数据存储210中建立动作并将关键词与这些动作相关联,来添加新的动作。
在本发明的各实施例中,为在应用程序性能速度的意义上使上下文提供器216和动作提供器218的执行透明,上下文提供器216在其生命周期一直持住它创建的上下文。以此方式,当Web页被加载时,它可创建上下文提供器216对象,且重复使用以前的Web部件的上下文对象,所有Web部件可从此对象获得它们的上下文。此外,动作提供器218使用应用程序登记元数据缓冲。以此方法,系统无需重复往返动作元数据存储210以检索所需的动作列表。
图6A-6C示出用于上下文动作的发布的示例性方法600。此方法600是关于图2中所示的计算系统200进行描述的。此方法600首先使用上下文提供器216找到实体所处的上下文。方法600随即使用动作提供器218定位所有对应于这些上下文的动作。使用实体的客户机应用程序120随后可显示一组在该上下文中用户可执行于该实体上的动作。
一接收到(即,从客户机应用程序120)对于实体的已安装上下文列表的请求(见框602),方法600执行通过创建包含已安装上下文的对象实例的ContextHash对象来提供上下文信息的过程604。见框604,图6B示出过程604的示例性实施例,并将于稍后详细讨论。在执行过程604之后,方法600可接收对于与ContextHash对象中的已安装上下文对象相关联的动作的请求(即,从请求已安装上下文的同一客户机应用程序120)。见框620,方法600随即执行过程622以构建针对动作元数据存储210的查询,并检索所有与ContextHash对象中的已安装上下文对象相关联的动作。见框622,图6C示出过程622的示例性实施例,并将于稍后详细讨论。在执行过程622后,方法600终止。
图6B示出用于提供与实体相关联的已安装上下文的过程604的示例性实施例。过程604首先试图获得关于与该实体相关联的已安装上下文的信息。见框606。在本发明的实施例中,过程604打开包含关于已安装上下文的信息的概况。例如,如果已安装上下文是实体上下文和角色上下文,此概况可包含实体上下文和角色上下文的类信息。过程604随即遍历配置中的已安装上下文列表,并创建这些已安装上下文的对象实例。见框608。例如,过程604可调用EntityContext.Create()和RoleContext.Create()以创建EntityContext对象实例和RoleContext对象实例。EntityContext类可解析其收到的URL并发现它应该创建具有顾客ID 255的“顾客”类的实例。EntityContext类调用Class.GetClass(“顾客”)以获取顾客类的句柄。EntityContext类随即调用Class.Instantiate(255)以创建正确的“顾客”对象实例。EntityContext类随即返回该EntityContext对象实例。与此同时,RoleContext类检查当前用户的身份并发现该用户是管理员。RoleContext类存储角色(管理员)信息并保留RoleContext对象实例。过程604随即创建ContextHash对象并将所创建的已安装上下文的对象实例方到此ContextHash对象中。间框610。例如,过程604可将上面创建的EntityContext和RoleContext对象实例放到ContextHash对象中。过程604随即返回所得ContextHash对象。见框612。
图6C示出用于检索在已安装上下文中与实体相关联的动作的过程622的示例性实施例。过程622遍历由过程604创建的ContextHash对象,并为每个已安装上下文调用适当的上下文解析器220。见框624。例如,如果EntityContext和RoleContext是ContextHash对象包含的,过程622可取回EntityContextResolver和RoleContextResolver。上下文解析器220赶回反映这些已安装上下文的关键词。见框626。例如,如果实体是“顾客”,则EntityContextResolver返回关键词“顾客”。如果用户的角色是管理员,则RoleContextResolver返回关键词“管理员”。过程622随即针对动作元数据存储210构建包含这些关键词的查询,以检索以这些关键词加注的动作。见框628。例如,过程622可构建包含关键词“顾客”和“管理员”的查询。过程622随即从动作元数据存储210检索到一列动作并将其返回。见框630。
请求了已安装上下文和与这些已安装上下文相关联的动作的客户机应用程序120可继续使用由方法600返回的动作。该客户机应用程序120可在任何场合使用这些动作。在本发明的某些实施例中,客户机应用程序120在动作菜单中显示动作,从而可通知用户关于该用户可对实体做什么。用户可通过在动作菜单中选择他们来继续执行动作。动作菜单的进一步的讨论将于稍后联合图12-13的描述来提供。
本发明还提供多个用于管理和访问与实体相关联的动作的用户界面。图7-10示出用于管理与实体相关联的动作的用户界面700的示例性实施例。在此例中,用户担当管理者。通过用户界面700,管理者创建并修改与实体相关联的动作。管理员还可管理显示在一个或多个上下文中与实体相关联的动作的动作菜单。
在本发明的示例性实施例中,用户界面700处于属于MicrosoftSharedResource Provider管理程序一部分的应用程序登记管理页面内。去到应用程序登记管理程序的管理员选择客户机应用程序120并点击实体,即可访问该用户界面700。这打开了编辑实体页面。编辑实体页面的动作部分允许管理员添加和/或编辑动作,以及指定哪些动作以什么顺序出现在动作菜单中。如果实体没有与其相关联的动作,编辑实体页面的动作部分显示此实体没有动作。
如图7中所示,在所示的本发明的示例性实施例中,用户界面700标识(如果有的话)与实体相关联的动作。用户界面700还标识动作名称704。例如,图7示出3个与顾客实体相关联的动作702:“edit customer”(编辑顾客)动作708、“new customer”(新增顾客)动作710、以及“view profile”(查看概况)动作712。用户界面700还标识每个动作的动作类型。动作的动作类型指示如果该动作被选中将发生什么。例如,在图7中,用户界面700显示与这3个动作的每一个相关联的动作类型706:分别是go to a web page(到网页)714、go to a Web page(advanced)(到网页(高级))716、以及execute a customer action(执行自定义动作)718。图7所示的用户界面700还指出所显示的动作中哪一个是默认动作720。例如,图7显示“顾客”实体的默认动作是“edit customer(编辑客户)”动作708。
如图7所示,在用户界面700中,管理员可通过点击动作名称704来编辑动作。管理员还可通过点击“add action(添加动作)”链接722来添加动作。管理员还可通过点击“manage action Menu(管理动作菜单)”链接724来管理与此实体相关联的动作菜单。
图8A-10是图7中所示的用户界面700的延续。更具体地,图8A-8C示出用户界面700如何允许管理者向“顾客”实体添加不同动作类型的动作。例如,图8A示出管理者如何可添加动作类型“go to a Web page”714的动作。在本发明的实施例中,类型“go to a Web page”的动作简单地将用户带到一URL,可选地将实体数据作为查询串参数或算后数据传递。这些动作适用于具有诸如http://abc/def/def.asp?valueid=100等URL的网页。用户界面700首先请求管理员指定动作的名称704。用户界面700随后要求管理员指定该动作的动作类型706。例如,在图8A中,管理员选择动作704的动作类型706是“go to a Web page”714。管理员还指定此消息是该实体的默认动作720。
用户界面700还要求管理员指定当用户激活此动作时将用户所带到的网页的位置802。用户界面700还要求管理员指定每个要传递给该网页的参数的名称804和值806。用户界面700允许管理员通过使用“add parameter(添加参数)”链接808来间多个参数传递给该网页。用户界面700还允许管理员通过选择“Yes”或“No”按钮(见810)来指定是否在新浏览器窗口中打开该网页。例如,在图8A所示的用户界面700中,管理员选择在新浏览器窗口中打开网页。
用户界面700还可请求管理员指定使用“Get”还是“Post”HTTP方法(见812)来请求网页。例如,在图8A中所示的用户界面700中,管理员选择使用“Get”HTTP方法来请求网页。如本领域技术人员及其它人员所知,“Get”HTTP方法从Web服务器检索HTML文档。来自使用“Get”HTTP方法的表单的信息被附在所请求的动作URL的结尾。一般而言,当URL访问不会通过添加或删除信息来改变数据库的状态时,或许应当使用“Get”HTTP方法。另一方面,如果URL访问会在Web服务器的数据库中引起改变,应当使用“Post”HTTP方法。“Post”HTTP方法立即将表单中的所有输入发送到URL。使用“Post”HTTP方法对于“Get”HTTP方法的一个重要优势是数据不被开放给窥探者。并且,通过“Get”HTTP方法,仅可传输限制数量的数据,而“Post”HTTP方法不施加此类限制。
图8B示出当管理员选择添加动作类型“go to a Web page(advanced)”的动作时的用户界面700。此动作类型的动作允许管理员将参数插入到URL并用Microsoft.NET格式串的灵活性来将它们格式化。这些动作为类似于http://bugcheck/bugs/sps/100.asp的网页工作。图8B所示的用户界面700与图8A中所示的用于配置动作类型“go to a Web page 714”的动作的用户界面700非常相似。主要的区别在于,在管理员指定网页的位置802之后,管理员为该URL中的格式串指定格式索引820和值822,而不是如图8A所示的指定参数的名称804和值806。
本发明的实施例还可允许第三方提供的自定义动作。在本发明的某些实施例中,自定义动作执行实施诸如IactionEventHandler等界面的类中的代码。图8C示出当管理员选择田间动作类型“execute a customer action 718”的动作时的用户界面700。用户界面700要求管理员为与此动作相关联的动作时间处理器830输入信息。在本发明的某些实施例中,管理员可能需要为动作时间处理器提供完全合格的程序集名称832和类名834。
在本发明的某些实施例中,用户界面700还可允许管理员在添加动作时指定与该动作相关联的位置。例如,管理员可指定将“English(United States)(英语(美国))”的位置与“view customer profile(查看顾客概况)”相关联。
图9示出当管理员如图7中所指示的点击动作的名称704以编辑该动作时的用户界面700的实施例。当编辑动作时,管理员可改变该动作的名称704和/或该动作类型706。管理员还可指定此动作是否是默认动作720。例如,在图9中,管理员将动作名称704改为“edit new customer(编辑新顾客)”。管理员还指定该动作的动作类型706为“go to a Web page 714”。管理员还指定当与此动作相关联的“顾客”实体被激活时,此“edit new customer”动作是默认动作720。
图10示出当管理员激活图7中所示的“manage actions Menu”链接724时的用户界面700。Manage action Menu屏允许管理者控制什么动作在动作菜单中显现,以及它们按什么顺序出现。如图10中所示,管理员可通过标记或清除位于该动作旁边的多选框1002,来控制控制什么动作在动作菜单中显现。例如,在图10中,管理员通过标记位于这些动作旁边的所有3个显示框,来选择显示所有3个动作——edit customer(编辑顾客)、new customer(新增顾客)、view profile(查看概况)。管理员还可通过在“position from top(从顶部开始的位置)”框1004中选择数字,来指定这些动作在动作菜单中显示的顺序。例如,在图10中,管理员通过在“position from top”框1004中指定其值分别为1、2和3,来选择按“edit customer”、“new customer”、“view profile”的顺序来显示动作。
图11A和11B示出用于管理与实体相关联的动作的方法1100。该方法1100是关于在图7-10中所示的用户界面700进行描述的。方法1100首先查看是否有管理与实体相关联的动作的请求。见判定框1102。如果答案是“否”,方法1100什么也不做。如果答案是“是”,方法1100显示编辑实体页面。见框1104。方法1100随后继续检查是否作出了添加动作的请求。见判定框1106。如果判定框1106的答案是“是”,方法1100继续处理1108以根据接收到的输入来添加动作。见框1108。图11B示出过程1108的示例性实施例,并将在稍后详细讨论。如果方法1100接收到编辑动作的请求(见判定框1110),方法1100继续根据接收到的输入来改变与与该动作相关的属性。见框1112。如果方法接收到管理与该实体相关联的动作菜单的请求(见判定框1114),方法1100继续根据接收到的输入调整动作菜单。见框1116。在本发明的各实施例中,在根据接收到的输入来添加动作、修改动作、或调整动作菜单之后,方法1100返回以显示编辑实体页面并等待下一个请求。在方法1100在特定的一段时间之后仍未收到请求,或者收到终止信号的情形下,方法1100终止。
图11B示出用于根据输入添加动作的过程1108的示例性实施例。过程1108以根据接收到的输入来定义动作的名称开始。见框1120。过程1108随后继续根据接收到的数据来检查该动作的动作类型。如果动作类型是“go to a Web page”714(见判定框1122),过程1108继续根据接收到的输入来指定网页URL和参数。见框1124。如果动作类型是“go to a Web page(advanced)”716(见判定框1126),过程1108继续根据接收到的输入来指定网页URL、参数、以及格式串。见框1128。在动作类型是“execute a custom action”718的情形下(见判定框1130),过程1108继续根据接收到的输入来指定动作时间处理器的程序集名称和类名。见框1132。过程1108随即返回。
在所示的本发明的示例性实施例中,包含与实体相关联的动作的动作菜单出现在使用该实体的客户机应用程序120中。此类客户机应用程序可以是MicrosoftSharepoint列表或搜索结果。如图10所示,管理员指定哪些动作在动作菜单中出现,以及它们以什么顺序出现。这同样的一组动作出现在与管理员进行的管理所发生的应用程序登记相关联的站点的每个动作菜单中。
图12示出使用关联了动作菜单的实体的客户机应用程序120中激活该动作菜单的示例性方法。在所示的本发明的示例性实施例中,动作菜单有3个状态:默认状态1202、焦点1204或鼠标覆盖状态1205、以及菜单状态1206。如图12中所述,当仅显示代表动作菜单的图标时,该动作菜单处于默认状态1202。当用制表键将代表动作菜单的图标切换到焦点,或者诸如鼠标等指示设备移到代表动作菜单的图标上,动作菜单处于焦点1204或鼠标覆盖状态1205。当完全展开动作菜单并显示与实体相关的所有动作时,动作菜单处于菜单状态1206。
图13示出使动作菜单在图12所示的3种状态间转换的示例性方法。更具体地,图13所示是使用诸如鼠标等指示设备,使动作菜单在图12所示的3种状态间转换的示例性方法1300的状态图。通过用制表键将代表动作菜单的图标切换到焦点,方法1300使动作菜单从默认状态1202转换到焦点状态1204。见路线1302。反过来,当鼠标不在代表该动作菜单的图标上时,通过用制表键将动作菜单切换到焦点外,方法1300将动作菜单从焦点状态1204转换回默认状态。见路线1304。
当用户通过按下或点击图标来激活代表动作菜单的图标,方法1300将动作菜单从焦点状态1204转换到菜单状态1206。见路线1306。反过来,当用户激活键盘上的escape键或点击完全展开的动作菜单时,方法1300使动作菜单从菜单状态1206转换回焦点状态1204。
通过用制表键将代表动作菜单的图标切换到焦点内或焦点外,方法1300实现焦点状态1204和鼠标覆盖状态1205间的转换。当用制表键将图标切换到焦点外并且鼠标位于图标上时,代表动作菜单的图标从焦点状态1204转换到鼠标覆盖状态。见路线1310。反过来,通过用制表键将图标切换到焦点,方法1300将代表动作菜单的图标从鼠标覆盖状态1205转换到焦点状态1204。见路线1312。
通过将鼠标从被代表动作菜单的图标所占据的区域移开,方法1300使代表动作菜单的图标能从鼠标覆盖状态转换回默认状态。见路线1314。反过来,当鼠标进入被代表动作菜单的图标占据的区域时,方法1300使图标从默认状态转换到鼠标覆盖状态1205。见路线1316。
当用户点击图标时,方法1300使代表动作菜单的图标从鼠标覆盖状态1205转移到菜单状态1206。见路线1318。当用户点击被动作菜单占据的区域以外的区域,动作菜单折叠并从菜单状态1206转换到默认状态1202。见路线1320。
本发明的实施例还可在动作Web部件中呈现与实体相关联的动作。动作Web部件以各种样式显示与实体相关的动作的列表。它可经由Web部件连接,连接到其它实体Web部件以显示,例如在所连接的实体列表中选中的“顾客”实体的动作。Web部件是具有单一目、并且构成Web部件页面的基本构建块的信息的模块单元。特定Web部件的每个实例在外观和行为上可以相似或不同,但它是基于安装在Web站点服务器上的同一Web部件程序集文件。Web部件页面是一类特殊的将诸如列表和图表等数据,以及诸如文本和图像等Web内容合并为围绕共同任务或特殊兴趣所构建的动态信息门户的网页。每个Web部件页面包含一个或多个Web部件区,Web部件区依次包含一个或多个Web部件。
图14示出显示与实体相关联的动作的动作Web部件1400的示例性实施例。例如,图14所示的动作Web部件1400列出3个与“顾客”实体相关联的动作:新增顾客1402、编辑顾客1404、以及查看概况1406。动作Web部件1400还提供允许用户编辑动作Web部件属性的编辑模式1408。
在本发明的某些实施例中,提供了用户界面以使用户能够编辑与动作Web部件1400相关联的属性。图15示出了允许拥护修改与动作Web部件1400相关联的属性的示例性用户界面1500。用户界面1500允许用户定义实体的类型1502。例如,如图15所示,当前实体“顾客”是属于SAP类型。用户可点击图标1504来改变实体类型。
该用户界面1500还允许用户指定显示动作的顺序。例如,在图15中,3个与“顾客”实体相关联的动作按以下顺序显示:new customer 1402、edit customer1404、以及view profile 1406。用户界面1500提供“move up(上移)”图标1508和“move down(下移)”图标供用户调整动作的顺序。
该用户界面1500还允许用户指定应当应用动作的实体。例如,图15所示的用户界面1500给用户的指定实体为“supplied by a Web Part Connection(由web部件连接提供)”、“specified in the page URL(在页面URL中指定)”1516、或“specified by the user(由用户指定)”1518的选项。用户选择“choose(选择)”图标1502以指定应当应用动作的实体,进一步补充了由用户指定实体1518的选项。
用户界面1500还给予用户指定显示动作Web部件1400的样式的选项。该选项包括用项目符号表示的列表(bulleted list)1524、列表(list)1526、工具栏(tool bar)1528、以及没有图标的工具栏(toolbar(no icons))1530,等等。例如,图15示出用项目符号表示的列表1524被选中作为动作Web部件1400的样式。
在所示的本发明的示例性实施例中,用户也可在动作Web部件1400中指定显示顺序。用户通过将Web部件1400切换到编辑模式1408并拖放每个动作来对动作进行排序。用户通过在任何动作的文本或图标上按下鼠标来初始化拖动。代表动作的文本和图标在用户拖动时是半透明的。当用户拖动动作时,纵向或横向的插入条出现以指示如果用户释放鼠标按钮该动作将被放置在哪里。当用户释放鼠标按钮时拖动结束。动作Web部件更新自身,且动作被重新放置。
尽管已示出并描述了本发明较佳的实施例,应当理解可在其中进行各种改变而不会偏离本发明的精神和范畴。

Claims (31)

1.一种用于发布与实体的当前上下文相关联的动作的计算系统,包括:
(a)用于存储具有至少一个上下文的实体的组件;
(b)用于与所述实体分开地存储与所述实体相关联的动作的组件;以及
(c)耦合到所述存储实体的组件以及所述存储动作的组件的软件组件,所述软件组件用于提供关于实体当前上下文以及与所述当前上下文相关联的动作的信息。
2.如权利要求1所述的计算系统,其特征在于,还包括用于请求所述实体的当前上下文以及与所述当前上下文相关联的动作的客户机应用程序。
3.如权利要求2所述的计算系统,其特征在于,所述客户机应用程序显示与所述实体的当前上下文相关联的动作。
4.如权利要求1所述的计算系统,其特征在于,所述软件组件包括:
(a)标识所述实体的当前上下文的上下文提供器模块;以及
(b)查询所述用于存储动作的组件并检索与所述实体的当前上下文相关联的动作的动作提供器模块。
5.如权利要求4所述的计算系统,其特征在于,所述软件组件还包括多个上下文解析器,其每一个返回一反映上下文的关键词。
6.如权利要求1所述的计算系统,其特征在于,所述软件组件集成由第三方提供的附加上下文。
7.如权利要求1所述的计算系统,其特征在于,所述用于存储动作的组件集成由第三方提供的附加动作。
8.一种用于发布与实体的当前上下文相关联的动作的计算机实现的方法,包括:
(a)在接收到对于与实体相关联的至少一个上下文的请求后,提供所述上下文;以及
(b)在接收到对于与所述实体的当前上下文相关联的动作的请求后,提供所述动作。
9.如权利要求8所述的计算机实现的方法,其特征在于,提供至少一个上下文还包括:
(a)获得关于至少一个上下文的信息;以及
(b)为至少一个上下文创建对象实例。
10.如权利要求9所述的计算机实现的方法,其特征在于,还包括:
创建包含所述至少一个上下文的对象实例的上下文散列对象。
11.如权利要求8所述的计算机实现的方法,其特征在于,提供所述动作还包括:
(a)标识反映至少一个上下文的关键词;以及
(b)检索包括所述关键词作为注释的动作。
12.如权利要求11所述的计算机实现的方法,其特征在于,检索包括所述关键词作为注释的动作还包括检索包括所有且仅所述关键词作为注释的动作。
13.如权利要求11所述的计算机实现的方法,其特征在于,检索包括所述关键词作为注释的动作还包括检索包括所述关键词中的至少一个作为注释的动作。
14.如权利要求8所述的计算机实现的方法,其特征在于,还包括显示与所述实体的当前上下文相关联的动作。
15.一种包含计算机可执行指令的计算机可读介质,当由计算机执行所述指令时,使所述计算机执行一种用于发布与实体的当前上下文相关联的动作的方法,所述方法包括:
(a)在接收到对于与实体相关联的至少一个上下文的请求后,提供所述上下文;以及
(b)在接收到对于与所述实体的当前上下文相关联的动作的请求后,提供所述动作。
16.如权利要求12所述的计算机可读介质,其特征在于,提供至少一个上下文还包括:
(a)获取关于至少一个上下文的信息;以及
(b)为至少一个上下文创建对象实例。
17.如权利要求16所述的计算机可读介质,其特征在于,还包括:
创建包含所述至少一个上下文的对象实例的上下文散列对象。
18.如权利要求15所述的计算机可读介质,其特征在于,提供所述动作还包括:
(a)标识反映至少一个上下文的关键词;以及
(b)检索包括所述关键词作为注释的动作。
19.如权利要求18所述的计算机可读介质,其特征在于,检索包括所述关键词作为注释的动作还包括检索包括所有且仅所述关键词作为注释的动作。
20.如权利要求18所述的计算机可读介质,其特征在于,检索包括所述关键词作为注释的动作还包括检索包括所述关键词中的至少一个作为注释的动作。
21.如权利要求15所述的计算机可读介质,其特征在于,还包括显示与所述实体的当前上下文相关联的动作。
22.一种用于管理与实体相关联的动作的计算机实现的方法,包括在接收到将一动作与所述实体相关联的请求后,根据所接收到的输入将所述动作与所述实体相关联。
23.如权利要求22所述的计算机实现的方法,其特征在于,将一动作与所述实体相关联还包括指定动作的类型。
24.如权利要求23所述的计算机实现的方法,其特征在于,所述动作的类型是“到网页”。
25.如权利要求23所述的计算机实现的方法,其特征在于,所述动作的类型是“到网页(高级)”。
26.如权利要求23所述的计算机实现的方法,其特征在于,所述动作的类型是“执行自定义动作”。
27.如权利要求22所述的计算机实现的方法,其特征在于,还包括在接收到编辑动作的请求时,根据所接收到的输入修改与所述实体相关联的动作的属性。
28.如权利要求22所述的计算机实现的方法,其特征在于,还包括在接收到管理动作菜单的请求时,根据所接收到的输入调整发布与所述实体相关联的动作的动作菜单的属性。
29.如权利要求23所述的计算机实现的方法,其特征在于,如果所述动作的类型是“到网页”,则将动作与所述实体相关联还包括根据所接收到的输入,指定网页URL和参数。
30.如权利要求23所述的计算机实现的方法,其特征在于,如果所述动作的类型是“到网页(高级)”,则将动作与所述实体相关联还包括根据所接收到的输入,指定网页URL、参数以及格式串。
31.如权利要求23所述的计算机实现的方法,其特征在于,如果所述动作的类型是“执行自定义动作”,则将动作与所述实体相关联还包括根据所接收到的输入,指定自定义动作的文件名。
CN2005100893619A 2004-09-30 2005-07-29 上下文动作的发布 Expired - Fee Related CN1755683B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/955,945 2004-09-30
US10/955,945 US7603381B2 (en) 2004-09-30 2004-09-30 Contextual action publishing

Publications (2)

Publication Number Publication Date
CN1755683A true CN1755683A (zh) 2006-04-05
CN1755683B CN1755683B (zh) 2012-03-21

Family

ID=35588954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100893619A Expired - Fee Related CN1755683B (zh) 2004-09-30 2005-07-29 上下文动作的发布

Country Status (5)

Country Link
US (1) US7603381B2 (zh)
EP (1) EP1643424A3 (zh)
JP (1) JP5063870B2 (zh)
KR (1) KR101152988B1 (zh)
CN (1) CN1755683B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102566985A (zh) * 2010-12-10 2012-07-11 腾讯科技(深圳)有限公司 一种客户端软件管理方法、系统及服务器
CN108431779A (zh) * 2016-01-29 2018-08-21 微软技术许可有限责任公司 基于用户图将动作路由到用户设备
CN109857314A (zh) * 2018-12-29 2019-06-07 百度在线网络技术(北京)有限公司 有屏设备的手势控制方法和装置

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7657512B2 (en) * 2005-12-29 2010-02-02 Sap Ag Source-context aware object-based navigation
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7954111B2 (en) * 2006-12-28 2011-05-31 Sap Ag Data structures for context information related to business events
US20080196040A1 (en) * 2007-02-14 2008-08-14 Oracle International Corporation Enterprise clipboard with context
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US7761483B2 (en) * 2007-07-27 2010-07-20 Sap Ag System and method for providing data handling within a human capital management system
US20090100321A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Universal contextual actions menu across windows applications
US8473834B1 (en) * 2007-11-08 2013-06-25 Hewlett-Packard Development Company, L.P. Dynamic portal menu and message system and method
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US7962444B2 (en) * 2008-05-19 2011-06-14 Qualcomm Incorporated System and method for presenting a contextual action for an indicator
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
DE102010064593A1 (de) * 2009-05-21 2015-07-30 Koh Young Technology Inc. Formmessgerät und -verfahren
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9098568B2 (en) * 2009-08-04 2015-08-04 Google Inc. Query suggestions from documents
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8949317B2 (en) * 2010-01-21 2015-02-03 Versaic Inc. Metadata-configurable systems and methods for network services
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9798450B1 (en) * 2011-12-02 2017-10-24 Google Inc. Multi-function graphical user interface button
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9483086B2 (en) 2012-07-30 2016-11-01 Sap Se Business object detail display
US9658672B2 (en) 2012-07-30 2017-05-23 Sap Se Business object representations and detail boxes display
US9123030B2 (en) 2012-07-30 2015-09-01 Sap Se Indication of off-screen calendar objects
US8832583B2 (en) 2012-08-31 2014-09-09 Sap Se Visualizing entries in a calendar using the third dimension
US9081466B2 (en) 2012-09-10 2015-07-14 Sap Se Dynamic chart control that triggers dynamic contextual actions
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US20140075350A1 (en) * 2012-09-10 2014-03-13 Sap Ag Visualization and integration with analytics of business objects
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9250781B2 (en) 2012-10-17 2016-02-02 Sap Se Method and device for navigating time and timescale using movements
US8972883B2 (en) 2012-10-19 2015-03-03 Sap Se Method and device for display time and timescale reset
US10528385B2 (en) * 2012-12-13 2020-01-07 Microsoft Technology Licensing, Llc Task completion through inter-application communication
US9313162B2 (en) 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014144949A2 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008964B1 (en) 2013-06-13 2019-09-25 Apple Inc. System and method for emergency calls initiated by voice command
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9594477B1 (en) * 2014-02-06 2017-03-14 Symantec Corporation Using deep links to restore interactive state of a web page
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9418128B2 (en) 2014-06-13 2016-08-16 Microsoft Technology Licensing, Llc Linking documents with entities, actions and applications
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
GB2540957B (en) * 2015-07-31 2019-12-25 Arm Ip Ltd Managing interaction constraints
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11107021B2 (en) 2016-11-06 2021-08-31 Microsoft Technology Licensing, Llc Presenting and manipulating task items
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US11019083B2 (en) * 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11038966B1 (en) 2020-04-28 2021-06-15 Arm Ip Limited Remote device operation
US11729213B2 (en) * 2020-10-05 2023-08-15 Sap Se Automatic generation of deceptive API endpoints

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644738A (en) * 1995-09-13 1997-07-01 Hewlett-Packard Company System and method using context identifiers for menu customization in a window
AU2453797A (en) * 1996-04-10 1997-10-29 Paul M. Konnersman Computer-based system for work processes that consist of interdependent decisions involving one or more participants
US6106569A (en) * 1997-08-14 2000-08-22 International Business Machines Corporation Method of developing a software system using object oriented technology
US6772131B1 (en) * 1999-02-01 2004-08-03 American Management Systems, Inc. Distributed, object oriented global trade finance system with imbedded imaging and work flow and reference data
US6574636B1 (en) * 1999-05-04 2003-06-03 Accenture Llp Method and article of manufacture for isolating data within a computer program
US6442748B1 (en) * 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US7251666B2 (en) * 2000-02-01 2007-07-31 Internet Business Information Group Signature loop authorizing method and apparatus
AU7606301A (en) * 2000-09-29 2002-04-11 International Business Machines Corporation Context based view design to support client side multi-threading
US20040088184A1 (en) * 2000-12-29 2004-05-06 Nijdam William Derk System and method for providing a configurable service to a customer
US6732109B2 (en) * 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
US7310653B2 (en) * 2001-04-02 2007-12-18 Siebel Systems, Inc. Method, system, and product for maintaining software objects during database upgrade
US20030088536A1 (en) * 2001-04-09 2003-05-08 Afshin Behnia Platform within an organization for providing knowledge management and decision support services
US6922695B2 (en) * 2001-09-06 2005-07-26 Initiate Systems, Inc. System and method for dynamically securing dynamic-multi-sourced persisted EJBS
WO2003058375A2 (en) * 2001-10-26 2003-07-17 Zeosoft Corporation Development, management of distributed clients and servers
US6985922B1 (en) * 2001-12-21 2006-01-10 S.J. Bashen, Inc. Method, apparatus and system for processing compliance actions over a wide area network
US7426521B2 (en) * 2002-07-19 2008-09-16 Microsoft Corporation Property and object validation in a database system
AU2003252065A1 (en) * 2002-07-22 2004-02-09 Thought, Inc. Dynamic object- driven database manipulation and mapping system
US7523133B2 (en) * 2002-12-20 2009-04-21 Oracle International Corporation Data model and applications
US20040181539A1 (en) * 2003-03-12 2004-09-16 Microsoft Corporation Shared business constituent model
US20040249823A1 (en) * 2003-06-04 2004-12-09 Raghuvir Yuvaraj Athur System and method for object navigation grammar completion
US8122062B2 (en) * 2003-07-22 2012-02-21 Sap Ag Meta model for an enterprise service architecture
US20060026178A1 (en) * 2004-07-16 2006-02-02 Wolf Werner G Method and apparatus for adapting an email application program user interface to interface with a business management system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102566985A (zh) * 2010-12-10 2012-07-11 腾讯科技(深圳)有限公司 一种客户端软件管理方法、系统及服务器
CN102566985B (zh) * 2010-12-10 2015-12-16 腾讯科技(深圳)有限公司 一种客户端软件管理方法、系统及服务器
CN108431779A (zh) * 2016-01-29 2018-08-21 微软技术许可有限责任公司 基于用户图将动作路由到用户设备
CN109857314A (zh) * 2018-12-29 2019-06-07 百度在线网络技术(北京)有限公司 有屏设备的手势控制方法和装置

Also Published As

Publication number Publication date
US7603381B2 (en) 2009-10-13
US20060069666A1 (en) 2006-03-30
EP1643424A3 (en) 2008-01-09
JP5063870B2 (ja) 2012-10-31
CN1755683B (zh) 2012-03-21
EP1643424A2 (en) 2006-04-05
KR20060048375A (ko) 2006-05-18
KR101152988B1 (ko) 2012-06-11
JP2006107436A (ja) 2006-04-20

Similar Documents

Publication Publication Date Title
CN1755683A (zh) 上下文动作的发布
US7861158B2 (en) System and process for gathering, recording and validating requirements for computer applications
US8296311B2 (en) Solution search for software support
CN101454779B (zh) 基于搜索的应用开发框架
CN101040280A (zh) 元数据管理
US7860857B2 (en) Digital data processing apparatus and methods for improving plant performance
US20070061428A1 (en) Customization of applications through deployable templates
CN1936943A (zh) 用于动态地配置基于角色的协作空间的方法和系统
US8554793B2 (en) Methods and systems for providing custom settings in an on-demand service environment
US20110296380A1 (en) Methods and systems for presenting different versions of an application
CN1763742A (zh) 向用户提供集成帮助信息的系统和方法
CN1855009A (zh) 可搜索控制模板功能的基于任务的界面
CN1940938A (zh) 用于内容观看器portlet的系统、方法和程序产品
CN1808439A (zh) 网页加入可搜索的深标签及浏览器插件和脚本结合的方法
WO2005004025A1 (en) Universal worklist service and user interface
JP2005528667A (ja) ウェブベースのアプリケーションをサポートするためのフレームワークを実施する方法、装置及びシステム
CN1818901A (zh) 一种用于同数据库进行交互的方法和计算机系统
WO2006000310A1 (en) Object based navigation
US20110246535A1 (en) Apparatus and Method for Constructing Data Applications in an Unstructured Data Environment
JP2022508086A (ja) ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
CN1647040A (zh) 用于管理计算机系统的方法和系统
CN1855096A (zh) 带有基础可扩展框架的面向任务的界面
CN1698057A (zh) 用于自动启动工作流进程上的文档的系统和方法
CN1291339C (zh) 专利自动分类与展示系统及方法
JP2002288186A (ja) 電子資料の分類管理方法およびシステム

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120321

Termination date: 20140729

EXPY Termination of patent right or utility model