CN102939612B - 在保护用户自定义的情况下合并对用户界面组件的修改的方法和系统 - Google Patents

在保护用户自定义的情况下合并对用户界面组件的修改的方法和系统 Download PDF

Info

Publication number
CN102939612B
CN102939612B CN201180028836.7A CN201180028836A CN102939612B CN 102939612 B CN102939612 B CN 102939612B CN 201180028836 A CN201180028836 A CN 201180028836A CN 102939612 B CN102939612 B CN 102939612B
Authority
CN
China
Prior art keywords
self
solution
assembly
defining
interface definition
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.)
Expired - Fee Related
Application number
CN201180028836.7A
Other languages
English (en)
Other versions
CN102939612A (zh
Inventor
H·莱萨马瓜达拉马
A·N·马吉
T·M·皮伦
J·S·海德
金荣华
R·卡恩
R·L·迪基森
M·安腾
J·C·罗宾逊
B·J·西蒙斯
N·J·帕特里克
V·A·欧姆索卢
A·沙哈
A·谢诺伊
B·斯瓦米纳坦
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102939612A publication Critical patent/CN102939612A/zh
Application granted granted Critical
Publication of CN102939612B publication Critical patent/CN102939612B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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

Abstract

应用显示用户界面(UI)组件。客户端可以将自定义应用到此UI组件。在客户端将自定义应用到UI组件之后,客户端修改包含修改UI组件的解决方案的解决方案集。在客户端修改解决方案集之后,应用显示UI组件的新版本。解决方案集中的解决方案所提供的修改被应用于UI组件的新版本。另外,自定义保持应用于UI组件,无需客户端手动将自定义重新应用到UI组件。

Description

在保护用户自定义的情况下合并对用户界面组件的修改的方法和系统
背景
企业经常需要针对它们的特定行业定制的软件系统。例如,牙科医生可能需要帮助预定约会并向保险公司发送账单的软件系统。在另一个示例中,房地产经纪人可能需要帮助维持客户联系人并帮助生成购买合同的软件系统。
这些企业特定的软件系统中有许多需要相同的一般类型的功能。在前面的示例中,牙科医生的软件系统和房地产经纪人的软件系统可能需要数据库服务、Web访问服务,以及客户联系人管理服务。服务是向其他程序提供支持的程序或例程。
为每个企业特定的软件系统的这些共同的类型的功能重新创建软件代码既费时又费钱。因此,开发了平台应用。平台应用提供这些共同的类型的功能。例如,平台应用可以提供数据库服务和基本客户联系人管理服务。
然后,其他软件开发人员使用这样的平台应用作为在其上开发软件“解决方案”的平台。这些解决方案可以向平台应用添加功能,以便解决特定行业的企业的需求。例如,一个解决方案可以使用平台应用所提供的客户联系人管理服务和数据库服务来创建针对牙科专业人员的需求定制的解决方案。企业可以在平台应用上安装一个或多个这样的解决方案。
除向平台应用添加功能之外,解决方案还可以修改平台应用的用户界面。例如,解决方案可以向平台应用的用户界面添加按钮或表单。用户界面是程序的用户与其进行交互的一部分。
此外,在某些情况下,企业能够进一步自定义平台应用的用户界面。例如,企业可以自定义平台应用的用户界面以隐藏按钮或重新标记菜单项。在另一个示例中,企业可以自定义平台应用的用户界面以添加字段或从表单中移除字段。通常,每当企业安装、卸载或更新构建在平台应用上的解决方案时,这样的自定义都会丢失。由于企业会花费相当大的时间和资源来对用户界面进行自定义,因此,重新应用自定义会不方便,并且昂贵。
概述
应用显示用户界面(UI)组件。客户端可以将自定义应用到此UI组件。在客户端将自定义应用到UI组件之后,客户端修改包含修改UI组件的解决方案的解决方案集。在各种实施例中,客户端可以以各种方式修改解决方案集。例如,客户端可以向解决方案集添加解决方案,从解决方案集中移除解决方案,更新已经在解决方案集中的解决方案,或以其他方式修改解决方案集。在客户端修改解决方案集之后,应用显示UI组件的新版本。解决方案所提供的修改被应用于UI组件的新版本。另外,自定义保持应用于UI组件,无需客户端手动将自定义重新应用到UI组件。
提供本发明内容是为了介绍一些概念。这些概念在以下详细描述中进一步描述。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是示出了示例系统的框图。
图2是示出了示例解决方案集的框图。
图3是示出了由解决方案集中的解决方案对应用的用户界面组件所引起的示例改变的框图。
图4A和4B是示出了关于客户端的示例细节的框图。
图5是示出了客户端所使用的示例计算系统的框图。
图6是示出了安装具有更改列表的解决方案的示例操作的流程图。
图7是示出了卸载具有更改列表的解决方案的示例操作的流程图。
图8是示出了更新具有更改列表的解决方案的示例操作的流程图。
图9是示出了安装具有差异描述符的解决方案的示例操作的流程图。
图10是示出了卸载具有差异描述符的解决方案的示例操作的流程图。
图11是示出了更新具有差异描述符的解决方案的示例操作的流程图。
图12是示出了示例计算设备的框图。
详细描述
图1是示出了示例系统100的框图。如图1的示例所示,系统100包括客户端102。客户端102是诸如企业实体(例如,企业、合伙企业、公司等等)、政府实体(例如,部门、局、机构等等)、非企业实体(例如,基金会、非盈利企业等等)之类的实体或个人。
客户端102使用应用104。应用是被设计用于有助于执行特定任务的程序。在各实施例中,应用104可以是各种类型的应用。例如,在某些实施例中,应用104可以是诸如MICROSOFT 应用之类的客户关系管理(CRM)应用。在其他实施例中,应用104可以是文字处理应用、电子表格应用、Web应用、笔记记录应用,或另一种类型的应用。
应用104是平台应用。在其原有形式下,应用104可以提供由客户端102所需的功能中的一些。然而,在其原有形式下,应用104可能不提供由客户端102所需的功能中的全部。例如,客户端102可以是房地产经纪公司。在此示例中,应用104提供用于管理客户端联系人信息和用于存储文档的特征,但是不提供与房地产生意相关的任何特殊特征。
独立软件供应商(ISV)106生产扩展应用104的功能的解决方案108。例如,解决方案108可以扩展应用104的功能以提供与房地产生意相关的特殊特征。例如,在此示例中,解决方案108可以扩展应用104的功能,以提供用于管理有关房地产经纪公司正在销售的房地产的信息的特征。如果客户端102需要解决方案108的所提供的额外的功能,则客户端102可以获取并安装解决方案108。
在某些情况下,解决方案108所提供的额外的功能可能仍不能足以满足客户端102的需要。例如,客户端102可以专营买卖公寓大楼。在此示例中,解决方案108的额外的功能可能不足以捕捉公寓大楼业务的一些细微差异别。因此,客户端102可以获取并安装提供除应用104和解决方案108所提供的功能之外的功能的另一个解决方案(未示出)。例如,其他解决方案可以构建在解决方案108所提供的功能之上,以提供用于管理公寓大楼关联文档的特征。如此,应用104的功能可以通过多个解决方案扩展多次。
为了扩展应用104的功能,解决方案108可以修改应用104的用户界面(UI)组件110。在某些实施例中,UI组件110是应用104的UI内的分离的组件。例如,UI组件110可以是一种表单。表单是带有为输入信息而预留的空间的结构化文档。在另一个示例中,UI组件110是一种选项列表。选项列表是用户可以从中选择的项的列表。在再一个示例中,UI组件110可以是一种控件条带组件。控件条带组件是其中一组工具栏被置于选项卡条中的选项卡上的UI组件。在再一个示例中,UI组件110是工具栏。工具栏是一行或一条激活功能的可点击的图标或按钮。在再一个示例中,UI组件110是站点图。站点图是到其他UI组件的链接的列表。例如,站点图可包括表单的列表或到与各种任务相关联的UI组件的链接的列表。在其他实施例中,UI组件110是应用104的完整的UI。
解决方案108的安装可以以各种方式修改UI组件110。例如,UI组件110可以是一种表单。在此示例中,解决方案108的安装可以修改UI组件110以在表单中包括多一些或少一些字段,或重新排列表单中的字段。在另一个示例中,解决方案108的安装可以修改UI组件110,以包括额外的元件,诸如按钮、下拉框、文本输入字段、菜单、菜单项,或其他类型的控件。在图形用户界面中,控件是屏幕中的可以被用户操纵以执行动作的对象。元件是出现在用户界面中的东西,诸如文本、控件、图片、链接、区域、列、背景等等。在另一个示例中,解决方案108可以修改UI组件110,以从UI组件110中移除元件。在再一个示例中,解决方案108可以修改UI组件110,以改变UI组件110中的元件的内容或位置。
在某些情况下,客户端102可能喜欢解决方案108所提供的额外的功能,但是可能不喜欢在安装解决方案108之后UI组件110的外观。例如,客户端102可能发现表单中的一个特定字段在表单底部而不是在表单的顶部是不方便的。在另一个示例中,客户端102可能希望将其公司徽标放置在UI组件110中,以便使应用104显得像它仅仅为客户端102构建的。
因此,应用104允许客户端102自定义UI组件110。例如,应用104允许客户端102隐藏UI组件110中的不需要的控件,更改UI组件110中的控件的名称或标记,重新排列UI组件110中的元件,向UI组件110中添加图像等等。除能够自定义应用104最初所提供的UI组件110的各方面之外,客户端102还可以自定义UI组件110的由一个或多个解决方案修改的各方面。例如,解决方案108可以向UI组件110添加额外的按钮。在此示例中,客户端102可能发现此额外的按钮不太有用,并可以自定义UI组件110,以隐藏此额外的按钮。
在某些情况下,客户端102可以投入大量时间和资金来针对其特定需求自定义UI组件110。因此,如果每当客户端102修改安装的解决方案的集合(即,解决方案集)时客户端的对UI组件110的自定义都丢失的话,客户端102会感到灰心。例如,如果每当客户端102安装、更新或卸载解决方案时客户端的对UI组件110的自定义都会丢失,则会使人感到灰心。为避免再次手动对UI组件110应用自定义的需要,客户端102可以完全不安装额外的解决方案或可能对特定解决方案感到不敏感的(locked-in)。这可能会抑制对ISV106和客户端102的损害的解决方案的市场。
如本说明书所描述的,应用104显示UI组件110的自定义的版本。UI组件110的自定义的版本是向其中应用了客户端自定义的UI组件110的版本。在对解决方案集进行修改之后,应用104显示UI组件110的新的自定义的版本。UI组件110的新的自定义的版本是向其中应用了解决方案集中的解决方案所提供的修改的UI组件110的版本。此外,客户端自定义保持应用于UI组件110的修改的版本,无需手动将适用的客户端自定义应用到UI组件110。
图2是示出了示例解决方案集200的框图。如图2的示例所示,解决方案集200包括基本解决方案202。基本解决方案202是应用104所提供的。在任何解决方案安装在应用104上之前,基本解决方案202提供应用104的初始功能。
基本解决方案202提供基本接口定义。基本接口定义是包含定义UI组件110的基本版本的内容和布局的数据的文件。文件是信息的完整的、带名称的集合。UI组件110的基本版本是当没有解决方案安装在应用104上并且没有客户端自定义应用于UI组件110时显示的UI组件110的版本。
为定义UI组件110的基本版本的内容和布局,基本接口定义包括描述UI组件110的基本版本的内容和布局的数据。例如,基本接口定义可包括表示哪些控件位于UI组件110中以及这些控件位于UI组件110内的什么地方的数据。在各实施例中,基本接口定义可以以各种方式来格式化。例如,在某些实施例中,基本接口定义被格式化为可扩展标记语言(XML)文件。在其他实施例中,基本接口定义被格式化为标准通用标记语言(SGML)文件。
如图2的示例所示,解决方案集200还包括受管理的解决方案204和受管理的解决方案206。受管理的解决方案204和受管理的解决方案206是扩展基本解决方案202的功能的解决方案。例如,受管理的解决方案204可以扩展基本解决方案202的功能以提供牙科诊所预约服务。在此示例中,受管理的解决方案206可以扩展受管理的解决方案204的功能,以使得牙科诊所职员能够为看牙病预约与保险公司进行结算。
在本说明书中,受管理的解决方案204和206被称为“受管理的”解决方案,因为这些解决方案中的软件代码是由除客户端102以外的实体创建和维护的(即,管理)。例如,受管理的解决方案204和/或受管理的解决方案206可以由ISV106或另一个ISV进行管理。
当安装受管理的解决方案204时,通过将受管理的解决方案204所提供的修改应用到基本接口定义来创建修改的接口定义。修改的接口定义对UI组件110的修改的版本进行定义。例如,修改可以应用于基本接口定义,以便未包括在UI组件110的基本版本内的额外的元件被包括在UI组件110的修改的版本中,以便UI组件110的基本版本中的元件被隐藏在UI组件110的修改的版本中,UI组件110的基本版本中的元件在UI组件110的修改的版本中被重命名或重新定位,或以其他方式被修改。
当安装受管理的解决方案206时,通过将受管理的解决方案206所提供的修改应用到修改的接口定义来创建进一步修改的接口定义。进一步修改的接口定义对UI组件110的进一步修改的版本进行定义。例如,额外的更改可以应用于修改的接口定义,以便元件被添加到UI组件110的修改的版本,UI组件110的修改的版本的元件被隐藏,或UI组件110的修改的版本的元件以别的方式被修改。
此外,如图2的示例所示,解决方案集200包括自定义解决方案208。在概念上,自定义解决方案208表示对UI组件110的客户端自定义。当客户端102执行自定义UI组件110的动作时,通过将更改应用到进一步修改的接口定义来生成自定义的接口定义。自定义的接口定义对UI组件110的自定义的版本进行定义。例如,客户端自定义可以应用于UI组件110的进一步修改的版本,以便元件被添加到UI组件110的进一步修改的版本,UI组件110的进一步修改的版本的元件被隐藏,或UI组件110的进一步修改的版本的元件以别的方式被修改。
在某些实施例中,应用110使用2008年12月10日提交的美国专利申请12/331,451号中所描述的类型的数据库系统来管理组件堆栈中的组件,该专利申请的全部内容以引用的方式并入本文中。
图3是示出了由解决方案集200中的解决方案对UI组件110所引起的改变的框图。如图3的示例所示,基本解决方案202提供定义UI组件110的基本版本以包括按钮“S”的基本接口定义。受管理的解决方案204向基本接口定义提供修改。应用受管理的解决方案204所提供的修改导致定义包括按钮“A”的UI组件110的修改的版本的修改的接口定义。此外,受管理的解决方案206向修改的接口定义提供修改。应用受管理的解决方案206所提供的修改导致定义包括按钮“B”的UI组件110的进一步修改的版本的进一步修改的接口定义。自定义解决方案208向进一步修改的接口定义提供修改。应用自定义解决方案208所提供的修改导致定义其中按钮“B”被隐藏的UI组件110的最后的版本的最后的接口定义。
如图3的示例所示,UI组件110的最后版本包括按钮“S”和按钮“A”,但不包括按钮“B”。
图4A和4B是示出了关于客户端102的示例细节的框图。应该理解,在其他实施例中,客户端102可包括除图4A和4B的示例中所示出的计算系统以外的计算系统。
如图4A的示例所示,客户端102可包括服务器计算系统400、网络402,以及用户计算系统404A到404N(统称为“用户计算系统404”)。服务器计算系统400是提供应用104和Web服务406的计算系统。解决方案被安装在服务器计算系统400中,但不安装在用户计算系统404中。用户计算系统404是与客户端102相关联的用户所使用的计算系统。例如,客户端102的雇员可以使用用户计算系统404。
网络402促进用户计算系统404和服务器计算系统400之间的通信。在各实施例中,网络402是以各种方式实现的。例如,在某些实施例中,网络402是局域网。在其他实施例中,网络402是诸如因特网之类的广域网。
用户计算系统404通过网络402与Web服务406交换消息,以便与应用104进行通信。由Web服务406向用户计算系统404所发送的消息可以包含表示应用104的UI组件110的数据。由用户计算系统404向Web服务406所发送的消息包括表示与UI组件110进行交互的请求的数据。用户计算系统404解释此数据,以向用户计算系统404的用户显示UI组件110。如此,用户计算系统404的用户可以与应用104进行交互,尽管应用104实际上不在用户计算系统404上运行。
图4B示出了其中客户端102包括用户计算系统404,但是不一定包括网络402或服务器计算系统400的替换实施例。在图4B的示例中,应用104的单独的副本安装在单独的用户计算系统404中。解决方案单独地安装在用户计算系统404中的每一个系统中。
图5是示出了关于客户端102所使用的计算系统500的示例细节的框图。在各实施例中,计算系统500可以是图4A的示例中所示出的服务器计算系统400,图4B的示例中所示出的用户计算系统404,或客户端102所使用的其他计算系统。
如图5的示例所示,计算系统500提供处理系统502和数据存储系统504。应该理解,图5示出了计算系统500的简化视图。在现实中,计算系统500包括许多其他逻辑和物理部件。
数据存储系统504存储表示数据库506和计算机可读指令的数据。当处理系统502中的一个或多个处理单元运行这些计算机可读指令时,计算机可读指令导致计算系统500提供应用104。
应用104包括一组解决方案模块510A到510N(统称为“解决方案模块510”)。解决方案模块510中的每一个都包含计算机可读指令,计算机可读指令,当由处理系统502运行时,导致应用104提供与解决方案相关联的额外的功能。在各实施例中,解决方案模块510可以被以各种方式构建。例如,在某些实施例中,解决方案模块510中的一个或多个包括已编译的高级编程语言代码。示例高级编程语言包括C、C++、C#、Java等等。在另一个示例中,解决方案模块510中的一个或多个包括诸如JavaScript、Perl、VBScript等等之类的已解释编程语言代码。在再一个示例中,解决方案模块510中的一个或多个可以包括工作流应用。工作流应用是从开始到结束帮助跟踪和管理项目中的活动的一组程序。
在各实施例中,数据库506可以以各种方式实现。例如,在某些实施例中,数据库506被实现为一个或多个平面文件的集合。在其他实施例中,数据库506被实现为关系数据库。本说明书的其余部分将数据库506作为关系数据库来讨论。然而,应该理解,在某些实施例中,数据库506不被实现为关系数据库。
如图5的示例所示,数据库506包括解决方案表512、解决方案-组件表514,以及组件特定的表516。表的示例类型包括以行和列为特征的数据结构,数据占据由行-列交叉所形成的每一单元格。解决方案表512包括解决方案集中的每一个解决方案的条目。解决方案的解决方案表512中的条目可包括有关解决方案的各种信息。例如,解决方案表512中的条目可包括解决方案的名称、解决方案的版本号、解决方案的描述,以及解决方案的解决方案标识符。
解决方案-组件表514包括将解决方案与解决方案组件关联的条目。解决方案组件是解决方案的一部分。解决方案的解决方案组件可以在解决方案内扮演各种角色。例如,解决方案的解决方案组件可包括帮助跟踪和管理公寓大楼的销售的工作流组件。在此示例中,解决方案的解决方案组件还可以包括可使用户能够输入涉及公寓大楼的销售的信息的一组表单组件。此外,在此示例中,解决方案的解决方案组件可包括指定要应用于UI组件110的控件条带的更改的控件条带组件。
解决方案-组件表514中的每一条目都包括解决方案标识符字段和组件标识符字段。解决方案标识符字段表示解决方案的解决方案标识符。组件标识符字段指示解决方案的解决方案组件的标识符。解决方案-组件表514可在解决方案标识符字段中包括具有相同解决方案标识符的多个条目。如此,解决方案-组件表514可以指定解决方案的每一个解决方案组件的组件标识符。
组件特定的表516包括包含特定类型的解决方案组件所特定的信息的条目。虽然为简单起见在图5的示例中只示出了单个组件特定的表516,但是,数据库506可包括安装在应用104中的解决方案所使用的每一种类型的解决方案组件的单独的组件特定的表。
例如,组件特定的表516可包括修改UI组件110的条带组件的组件所特定的信息。在此示例中,组件特定的表516中的每一条目都具有组件标识符字段和更改列表字段。在此示例中,组件标识符字段指定组件标识符。如此,应用104可以将解决方案-组件表514中的条目与组件特定的表516中的条目相关联。在此示例中,更改列表字段指定更改列表。如在本说明书中别处所比较详细地描述的,更改列表是一组更改项。更改项中的每一个都指定要应用于定义UI组件110的版本的接口定义的更改。对UI组件110的修改可以由解决方案的更改列表中的解决方案来提供。
在另一个示例中,组件特定的表516可包括表单特定的信息。在此示例中,组件特定的表516中的每一条目都具有组件标识符字段和差异描述符字段。组件标识符字段指定组件标识符。差异描述符字段包含差异描述符。如在本说明书中别处比较详细地描述的,差异描述符是表示源接口定义和目的地接口定义之间的差异的文档。对UI组件110的修改可以由解决方案的差异描述符中的解决方案来提供。
图6是示出了安装具有更改列表的解决方案的示例操作600的流程图。如图6的示例所示,提供自定义的接口定义(602)。自定义的接口定义对向其中应用了客户端自定义的UI组件110的版本进行定义。另外,应用104还将自定义更改列表存储在数据库506中(604)。自定义更改列表表达客户端自定义。自定义更改列表包括与对UI组件110的客户端自定义相关联的一组更改项。每一更改项都指定要应用于接口定义的更改。例如,更改列表可包括指定特定控件将被隐藏的更改项。在另一个示例中,更改列表可包括指定特定元件将被添加的更改项。在再一个示例中,更改列表可包括指定特定元件的标记将被更改的更改项。每当客户端102自定义UI组件110时,应用104可以更新自定义更改列表中的更改项。
更改列表中的更改项可以指代基本接口定义(即,由基本解决方案202所提供的接口定义)中的元件。此外,更改列表中的更改项可以指代修改的接口定义中的元件。例如,新的解决方案可以构建在另一个解决方案之上。在此示例中,其他解决方案的更改列表中的更改项可以指定给定元件将被添加到UI组件110中。在此示例中,新的解决方案的更改列表中的更改项可以指定给定元件将被隐藏。
下面是示例更改列表。此示例更改列表只包括通过“CustomAction”标记表示的单个更改项。此更改项将新按钮添加到控件条带元件"Mscrm.Form.{!EntityLogicalName}.MainTab.Save.Controls._children"。定义新按钮的XML代码通过“按钮”标记来表示。
在某些实施例中,客户端102可以导出用于安装在其他计算系统上的客户端自定义。在某些实施例中,这可以通过将自定义更改列表提供给其他计算系统来完成。例如,在图4B的示例中,可以在用户计算系统404A中创建自定义更改列表,然后,将其提供给用户计算系统404B到404N。如此,用户计算系统404B到404N可以具有与用户计算系统404A相同的客户端自定义。
随后,应用104接收新的解决方案(606)。在各实施例中,应用104可以以各种方式接收新的解决方案。例如,应用104可以从一个或多个光盘、磁盘、固态存储器设备,或其他计算机可读取的数据存储介质接收新的解决方案。在另一个示例中,应用104可以从有线或无线网络连接接收新的解决方案。新的解决方案包括一组解决方案组件。新的解决方案的解决方案组件可包括一个或多个软件模块和新的解决方案的更改列表。对UI组件110的修改可以由新的解决方案的更改列表中的新的解决方案来提供。
在接收到新的解决方案之后,应用104安装新的解决方案的软件模块(608)。新的解决方案的软件模块是计算机可读指令的集合,计算机可读指令,当由处理系统500运行时,导致应用104提供额外的功能。例如,软件模块可以是一组导致应用104包括将对医生的办公室有用的特征的计算机可读指令。在各种实施例中,应用104执行安装新的解决方案的软件模块的各种动作。例如,在图5的示例实施例中,应用104生成新的解决方案的解决方案表512中的新条目,然后,生成新的解决方案的软件模块的解决方案-组件表514中的新条目。如此,应用104可以使用数据库506来发现新的解决方案的软件模块。
接下来,应用104存储新的解决方案的更改列表(610)。在各实施例中,应用104以各种方式来存储新的解决方案的更改列表。例如,在图5的示例实施例中,应用104创建解决方案-组件表514中的新条目,以及组件特定的表516中的新条目。解决方案-组件表514中的条目指定新的解决方案的标识符和组件标识符。组件特定的表516中的此条目指定此组件标识符和新的解决方案的更改列表。
类似于自定义更改列表,新的解决方案的更改列表包括一组更改项。每一更改项都指定要应用于接口定义的更改。例如,新的解决方案的更改列表可包括指定特定控件将被隐藏的更改项。在另一个示例中,新的解决方案的更改列表可包括指定特定元件将被添加的更改项。在再一个示例中,新的解决方案的更改列表可包括指定特定元件的标记将被更改的更改项。
在存储新的解决方案的更改列表之后,应用104通过将由新的解决方案的更改列表所指定的更改应用到非自定义的接口定义来生成新的非自定义的接口定义(612)。非自定义的接口定义是定义通过将解决方案所提供的修改应用到UI组件110的基本版本所产生的UI组件110的版本的接口定义。在图6的上下文中,非自定义的接口定义是通过按照受管理的解决方案被安装的顺序将受管理的解决方案更改列表中的每一个中的更改应用到基本接口定义所生成的接口定义。例如,如果新的解决方案的更改列表包括指示一个按钮将被添加到UI组件110的更改项,则应用104修改非自定义的接口定义,以便非自定义的接口定义对包括按钮的UI组件110的版本进行定义。
为将由更改列表所指定的更改应用到接口定义,应用104扫描更改列表中的更改项。对于更改列表中的指示向另一个元件添加元件的每一个更改项,应用104确定接口定义中是否存在其他元件。如果接口定义中不存在其他元件,则应用104将添加的元件插入到UI组件110的“孤立”元件部分中。如果接口定义中存在其他元件,则应用104将添加的元件添加到其他元件中。对于更改列表中的指示删除元件的每一个更改项,如果所指出的元件位于接口定义中,则应用104删除所指出的元件。对于更改列表中的指示修改元件的每一个更改项,如果所指出的元件位于接口定义中,则应用104修改以更改项所指出的方式修改所指出的元件。
在应用由新的解决方案的更改列表所指定的更改之后,应用104通过将由自定义更改列表所指定的更改应用到新的非自定义的接口定义来生成新的自定义的接口定义(614)。例如,自定义更改列表可包括指出一个按钮将被隐藏的更改项。此外,在此示例中,按钮在由新的非自定义的接口定义所定义的UI组件110的版本中不被隐藏。在此示例中,应用104修改新的非自定义的接口定义,以便按钮在由新的自定义的接口定义所定义的UI组件110的版本中被隐藏。
在生成新的自定义的接口定义之后,应用104显示由新的自定义的接口定义所定义的UI组件110的版本(616)。由新的自定义的接口定义所定义的UI组件110的版本此处被称为UI组件110的新的自定义的版本。在各实施例中,应用104以各种方式显示UI组件110的新自定义的版本。例如,如果应用104在服务器计算系统400上执行,如图4A的示例所示,则应用104通过将表示UI组件110的新的自定义的版本的数据发送到用户计算系统404,来显示UI组件110的新的自定义的版本。在另一个示例中,如果应用104在用户计算系统404中的一个上执行,如图4B的示例所示,则应用104可以使用附接到用户计算系统的显示设备来显示UI组件110的新的自定义的版本。
如上文所讨论的,新的解决方案的更改列表是在安装新的解决方案之前存储的。此外,在应用由新的解决方案的更改列表所指定的更改之后,应用104自动地应用由自定义更改列表所指定的更改。因此,当安装新的解决方案时,客户端102可能不需要对UI组件110手动应用客户端自定义。
图7是示出了卸载具有更改列表的解决方案的示例操作700的流程图。如图7的示例所示,应用104存储自定义更改列表(702)。自定义更改列表包括与对UI组件110的客户端自定义相关联的一组更改项。
随后,应用104接收卸载解决方案集中的给定解决方案的输入(704)。在各种实施例中,应用104可以以各种方式接收卸载给定解决方案的输入。例如,在某些实施例中,UI组件110提供允许客户端102选择用于卸载的解决方案的特征。在另一个示例中,客户端102可以在命令行界面中输入卸载给定解决方案的命令。在再一个示例中,客户端102可以通过从存储位置移除与给定解决方案相关联的一个或多个文件来卸载给定解决方案。
响应于接收到卸载给定解决方案的输入,应用104卸载给定解决方案的软件模块(706)。在各种实施例中,应用104可以执行卸载给定解决方案的软件模块的各种动作。例如,在某些实施例中,应用104可以通过删除包含与给定解决方案相关的计算机可读指令的一个或多个文件,来卸载给定解决方案的软件模块。在另一个示例中,应用104可以重新配置应用104的设置,以便跳过与给定解决方案相关的计算机可读指令。
应用104通过按照其余解决方案的安装的顺序将其余解决方案的更改列表中的更改应用到基本接口定义,来生成新的非自定义的接口定义(708)。其余的解决方案是解决方案集中的除给定解决方案以外的解决方案。为应用由其余解决方案的更改列表所指定的更改,应用104将由第一个安装的其余解决方案的更改列表所指定的更改应用到基本接口定义,从而生成修改的接口定义。然后,应用104将由第二个安装的其余解决方案的更改列表所指定的更改应用到修改的接口定义,从而生成进一步修改的接口定义。对于解决方案集中的除给定解决方案以外的每一个解决方案,应用104持续以此方式应用更改。例如,在解决方案集中可以有三个受管理的解决方案。在此示例中,第一受管理的解决方案是首先安装的,第二受管理的解决方案是第二个安装的,而第三受管理的解决方案是第三个安装的。在此示例中,第二受管理的解决方案将被卸载。在此示例中,应用104首先将由第一解决方案的更改列表所指定的更改应用到基本接口定义,导致修改的接口定义。在此示例中,应用104将由第三解决方案的更改列表所指定的更改应用到修改的接口定义,导致新的非自定义的接口定义。
在生成新的非自定义的接口定义之后,应用104通过将由自定义更改列表所指定的更改应用到新的非自定义的接口定义来生成新的自定义的接口定义(710)。在生成新的自定义的接口定义之后,应用104显示由新的自定义的接口定义所定义的UI组件110的版本(712)。如上文所讨论的,自定义解决方案的更改列表在卸载给定解决方案之前被存储。此外,在重新应用由除被卸载的解决方案以外的解决方案的更改列表所指定的更改之后,应用104自动地重新应用由自定义解决方案的更改列表所指定的更改。因此,当卸载给定解决方案时,客户端102可能不需要对UI组件110手动应用客户端自定义。
图8是示出了更新具有更改列表的解决方案的示例操作800的流程图。如图8的示例所示,应用104存储自定义更改列表(802)。自定义更改列表包括与对UI组件110的客户端自定义相关联的一组更改项。
随后,应用104接收解决方案集中的给定解决方案的更新的版本(804)。给定解决方案的更新的版本可包括更新的软件模块和/或更新的更改列表。例如,给定解决方案的更新的版本可以向给定解决方案提供额外的功能,或纠正给定解决方案的前面的版本中的编程错误。
在接收到给定解决方案的更新的版本之后,应用104安装给定解决方案的更新的版本的软件模块(806)。当应用104安装给定解决方案的更新的版本的软件模块时,应用104替换给定解决方案的某些或全部现有的软件模块。此外,在接收到给定解决方案的更新的版本之后,应用104存储给定解决方案的更新的版本的更改列表(808)。在某些实施例中,应用104通过更新组件特定的表516中的包含给定解决方案的更改列表的前面的版本的条目,来存储给定解决方案的更新的版本的更改列表。
然后,应用104通过将由较早的更改列表所指定的更改重新应用到基本接口定义来生成修改的接口定义(810)。较早的更改列表是解决方案集中的在给定解决方案之前安装的每一解决方案的更改列表。较早的更改列表中的更改是按照在给定解决方案之前安装的解决方案的安装顺序应用的。然后,应用104通过将由给定解决方案的更新的更改列表所指定的更改应用到修改的接口定义,来生成进一步修改的接口定义(812)。在生成进一步修改的接口定义之后,应用104通过将由较晚的更改列表所指定的更改应用到进一步修改的接口定义,来生成新的非自定义的接口定义(814)。较晚的更改列表是解决方案集中的在给定解决方案之后安装的解决方案的更改列表。较晚的更改列表按照在给定解决方案之后安装的解决方案的安装顺序应用。
在生成新的非自定义的接口定义之后,应用104通过将由自定义更改列表所指定的更改应用到新的非自定义的接口定义来生成新的自定义的接口定义(816)。在生成新的自定义的接口定义之后,应用104显示由新的自定义的接口定义所定义的UI组件110的版本(818)。如上文所讨论的,自定义更改列表是在接收到给定解决方案的更新的版本之前存储的。此外,在应用由受管理的解决方案的更改列表所指定的更改之后,应用104自动地应用由自定义更改列表所指定的更改。因此,当接收到给定解决方案的更新的版本时,客户端102可能不需要对UI组件110手动应用客户端自定义。
图9是示出了安装具有差异描述符的解决方案的示例操作900的流程图。如图9的示例所示,提供自定义的接口定义(902)。自定义的接口定义对向其中应用了客户端自定义的UI组件110的版本进行定义。
随后,应用104接收新的解决方案(904)。新的解决方案包括一个或多个组件。在各实施例中,应用104可以以各种方式接收新的解决方案。例如,应用104可以从一个或多个光盘、磁盘、固态存储器设备,或其他计算机可读取的数据存储介质接收新的解决方案。在另一个示例中,应用104可以从有线或无线网络连接接收新的解决方案。
类似于在本说明书中别处所讨论的解决方案,新的解决方案包括一个或多个解决方案组件。新的解决方案的解决方案组件可包括差异描述符。差异描述符是表示源接口定义和目的地接口定义之间的差异的文档。在某些实施例中,差异描述符可以省略源接口定义的某些部分。例如,在某些实施例中,差异描述符可以省略源接口定义的不是不同于源接口定义的元件的祖先元件的那些元件。
新的解决方案的差异描述符的目的地接口定义对ISV106计划在安装新的解决方案之后让UI组件110出现的UI组件110的版本进行定义。例如,如果UI组件110是表单并且ISV106计划让UI组件110包括额外字段,则目的地接口定义将定义UI组件110包括额外的字段。
差异描述符可以表示与各种源接口定义的差异。例如,差异描述符可以表示与UI组件110的基本接口定义的差异。在另一个示例中,给定解决方案的差异描述符可以表示与当安装另一个解决方案时所生成的接口定义的差异。
为表示源接口定义和目的地接口定义之间的差异,差异描述符包括指出差异描述符中的元件与源接口定义中的对应的元件有何不同的更改属性。更改属性可以指出一个元件已经被添加到源接口定义,一个元件已经从源接口定义中移除,或源接口定义中的一个元件已经被修改。例如,新的解决方案的差异描述符可包括源接口定义中不存在的元件。在此示例中,元件包括指出已经添加了该元件的更改属性。在另一个示例中,新的解决方案的差异描述符可包括源接口定义中存在的,但是在形成由新的解决方案的差异描述符所定义的UI组件110的版本时没有使用的元件。在此示例中,新的解决方案的差异描述符包括元件,但是元件包括指出该元件被移除的更改属性。在此示例中,如果元件表示表单的一部分,则移除元件会从UI组件110的新的解决方案的版本中移除该部分。在另一个示例中,新的解决方案的差异描述符可包括源接口定义中存在的,但是其属性在新的解决方案的差异描述符中不同的元件。在此示例中,元件包括指出已经修改了该元件的更改属性。
下面是示例差异描述符的一部分。此示例差异描述符表示源接口描述符和目的地接口描述符中所定义的表单的差异。定义表单的XML代码被封闭在“form(表单)”元件之间。差异描述符包括定义表单内的选项卡的“tab(选项卡)”元件。为了简洁起见,省略了闭合的“tab”元件。“tab”元件包括具有“modified(已修改)”值的“solutionaction(解决方案动作)”属性。“solutionaction”属性是指出“tab”元件与源接口定义相比已经修改的更改属性。另外,差异描述符包括定义选项卡内的一部分的“section(部分)”元件。“section”标记包括带有“modified”值的“solutionaction”属性。如此,差异描述符表示在目的地接口定义中,“section”标记与源接口定义相比已修改。此外,示例差异描述符还包括定义该部分的行中的单元格的“cell(单元格)”标记。“cell”标记包括具有“removed(已移除)”值的“solutionaction”属性。如此,差异描述符表示在目的地接口定义中,此“cell”标记已从源接口定义中移除。
在某些实施例中,客户端102可以导出用于安装在其他计算系统上的客户端自定义。在某些这样的实施例中,这可以通过将自定义差异描述符提供给其他计算系统来完成。例如,在图4B的示例中,可以在用户计算系统404A中创建自定义差异描述符,然后,将其提供给用户计算系统404B到404N。如此,用户计算系统404B到404N可以具有与用户计算系统404A相同的客户端自定义。
在接收到新的解决方案之后,应用104安装新的解决方案的软件模块(906)。新的解决方案的软件模块是计算机可读指令的集合,计算机可读指令,当由处理系统500运行时,导致应用104提供额外的功能。
此外,在接收到新的解决方案之后,应用104还将新的解决方案的差异描述符存储在数据库506中(908)。通过将新的解决方案的差异描述符存储在数据库506中,当解决方案集将来再次被修改时,新的解决方案的差异描述符可供应用104使用。
接下来,应用104生成非自定义的接口定义(910)。非自定义的接口定义是定义通过将现有的受管理的解决方案所提供的修改应用到UI组件110的基本版本所产生的UI组件110的版本的接口定义。在图9的上下文中,非自定义的接口定义是通过按照受管理的解决方案被安装的顺序将受管理的解决方案的差异描述符中的每一个应用到基本接口定义所生成的接口定义。现有的解决方案是已经存在于解决方案集中的受管理的解决方案。结果,非自定义的接口定义会定义在客户端自定义应用于UI组件110之前的UI组件110的版本。
下列示例示出了生成非自定义的接口定义的过程。在此示例中,有三个现有的解决方案。首先,应用104通过将第一个安装的现有的解决方案的差异描述符应用到基本接口定义,来生成修改的接口定义。其次,应用104通过将第二个安装的现有的解决方案的差异描述符应用到修改的接口定义,来生成进一步修改的接口定义。第三,应用104通过将第三个安装的现有的解决方案的差异描述符应用到进一步修改的接口定义,来生成非自定义的接口定义。
在各实施例中,应用104执行将差异描述符应用到现有接口定义的各种动作。例如,在某些实施例中,应用104通过将现有接口定义复制到新接口定义中,来开始将差异描述符应用到现有接口定义的过程。然后,应用104扫描差异描述符中的具有更改属性的元件。当应用104检测到差异描述符中的具有更改属性的元件时,应用104确定更改属性是否指出添加、删除或更改了元件。
如果更改属性指出添加了元件,则应用104标识最近的共同的祖先元件。接口定义和差异描述符中的元件被组织成元件层次结构。当沿着来自添加的元件的差异描述符的元件层次结构向上前进时,最近的共同祖先元件是接口定义中的对应于添加的元件的祖先元件的第一元件。在标识最近的共同祖先元件之后,应用104将添加的元件插入到新接口定义中,作为元件层次结构中的最近的共同祖先元件的子。
如果更改属性指出删除了元件,则应用104确定新接口定义是否包括对应的元件。对应的元件是新接口定义中的对应于已删除的元件的元件。如果新接口定义不包括对应的元件,则应用104不更改新接口定义。如果新接口定义包括对应的元件,则应用104从新接口定义中移除对应的元件。在某些实施例中,接口定义可以指出无法被删除的受保护的元件。当差异描述符应用于这样的接口定义时,应用104忽略差异描述符中的与这样的受保护的元件相关的差异。
如果更改属性指出更改了元件,则应用104确定新接口定义是否包括对应的元件。对应的元件是新接口定义中的对应于已更改的元件的元件。如果新接口定义不包括对应的元件,则应用104忽略已更改的元件。如果新接口定义包括对应的元件,则应用104修改对应的元件的非更改属性,以匹配已更改的元件的非更改属性。非更改属性是除更改属性以外的属性。在某些实施例中,接口定义可以指出无法被更改的受保护的元件。当差异描述符应用于这样的接口定义时,应用104忽略差异描述符中的与这样的受保护的元件相关的差异。
当更改属性指出元件被修改时,可能会与以前应用于元件的修改有冲突。例如,接口定义的初始版本包括表示表单中的容器的容器元件。容器元件的列属性指定容器具有两个列。第一差异描述符表示与接口定义的初始版本的差异。在第一差异描述符中,容器元件的列属性已经从2变为3。此外,在第一差异描述符中,文本输入框被添加到容器的第三列中。第二差异描述符表示与接口定义的初始版本的差异。在第二差异描述符中,列属性已经从2变为1。因此,在由第一差异描述符所列出的差异和由第二差异描述符所列出的差异之间有冲突。
应用104提供用于解决不同类型的冲突更改的冲突解决例程。例如,在上文所提供的示例中,应用104可以提供用于解决与减少表单中的容器中的列的数量相关的问题的冲突解决例程。在此示例中,冲突解决例程重写新接口定义,以便容器中的诸如文本框和按钮之类的元件被重新分配到容器的其余列中。例如,如果容器的列的数量从3减少到1,第二和第三列中的元件被添加到其余列。在另一种情况下,如果容器的列的数量从3减少到2,则第一、第二,以及第三列中的元件在第一和第二列之间被重新分配,以便第一和第二列具有大致相同的元件数量。
在另一个示例中,UI组件110是一种选项列表。在此示例中,基本接口定义包括定义选项列表中的每一项的项元件。每一项元件都包括标识项元件的项标识符。在此示例中,受管理的解决方案可以向选项列表添加项目,从选项列表中移除项,更改选项列表上的项的标记,对选项列表中的项进行重新排序,或以其他方式修改选项列表。在此示例中,第一受管理的解决方案的差异描述符指示带有项标识符“20”的新项被添加到由基本接口定义所定义的选项列表中。此外,第二受管理的解决方案的差异描述符还指示带有项标识符“20”的不同的项被添加到由基本接口定义所定义的选项列表中。由于现在有两个带有项标识符“20”的项,因此,在第一受管理的解决方案的差异描述符和第二受管理的解决方案的差异描述符之间有冲突。
在此示例中,各种机制可用于选项列表项标识符之间的冲突。例如,ISV可以向由ISV所发布的解决方案所添加的选项列表项的项目标识符添加发布者前缀。在此示例中,发布者前缀是从发布者前缀字符串散列的值。在某些情况下,发布者前缀字符串是指定给发布受管理的解决方案的实体的字符串。在此示例中,ISV106的发布者前缀字符串可以是“publisherX(发布者X)”,发布者前缀可以是“63604”。在此示例中,由ISV106发布的解决方案所添加的选项列表项的项标识符可以是“6360400000001”、“6360400000002”、“6360400000003”以此类推。此外,还给基本接口定义和客户端自定义分配其他发布者前缀字符串。由于不同的发布者具有不同的发布者前缀并且由于发布者前缀被添加到项标识符,因此,两个项目标识符之间冲突的机率降低。
在再一个示例中,客户端自定义可以向站点图的一部分添加按钮。该部分被受管理的解决方案添加到站点图。受管理的解决方案可以随后被卸载。在此示例中,在客户端自定义添加按钮和受管理的解决方案的卸载移除包含该按钮的部分之间有冲突。在此示例中,应用104重写定义站点图的接口定义以在站点图的“孤立”部分包括按钮。站点图的“孤立”部分包括不属于站点图的任何其他部分的元件。
在生成非自定义的接口定义之后,应用104生成自定义差异描述符(912)。自定义差异描述符是表示自定义的接口定义和非自定义的接口定义之间的差的文档。例如,UI组件110可以是表单,客户端102可以自定义UI组件110以隐藏表单的原本将是UI组件110中可见的部分。在此示例中,自定义差异描述符将表示该部分被隐藏。在生成自定义差异描述符之后,应用104存储自定义差异描述符(914)。接下来,应用104通过将新的解决方案的差异描述符应用到非自定义的接口定义来生成新的非自定义的接口定义(916)。
在生成新的非自定义的接口定义之后,应用104通过将自定义差异描述符应用到新的非自定义的接口定义来生成新的自定义的接口定义(918)。然后,应用104显示由新的自定义的接口定义所定义的UI组件110的自定义的版本(920)。
如上文所讨论的,自定义差异描述符是在改变非自定义的接口定义之前生成和存储的。此外,在应用现有差异描述符之后,应用104自动地应用自定义差异描述符。因此,当接收到新的解决方案时,客户端102可能不需要对UI组件110手动应用客户端自定义。
图10是示出了卸载具有差异描述符的解决方案的示例操作1000的流程图。如图10的示例所示,应用104提供自定义的接口定义(1002)。自定义的接口定义对向其中应用了客户端自定义的UI组件110的版本进行定义。随后,应用104接收卸载解决方案集中的给定解决方案的输入(1004)。
响应于接收到卸载给定解决方案的输入,应用104卸载给定解决方案的软件模块(1006)。在各种实施例中,应用104可以执行卸载给定解决方案的软件模块的各种动作。例如,在某些实施例中,应用104可以通过删除与给定解决方案相关的计算机可读指令,来卸载给定解决方案的软件模块。在另一个示例中,应用104可以重新配置应用104的设置,以便跳过与给定解决方案相关的计算机可读指令。
接下来,应用104生成非自定义的接口定义(1008)。类似于图9的示例中所讨论的非自定义的接口定义,非自定义的接口定义是通过将现有差异描述符应用到应用104的基本接口定义所产生的接口定义。应用104按照现有解决方案被安装的顺序来应用现有的差异描述符。
然后,应用104生成自定义差异描述符(1010)。自定义差异描述符是表示自定义的接口定义和非自定义的接口定义之间的差异的文档。在生成自定义差异描述符之后,应用104存储自定义接口定义(1012)。
在存储自定义差异描述符之后,应用104通过将其余的接口定义重新应用到基本接口定义来生成新的非自定义的接口定义(1014)。其余接口定义是对于其余的解决方案的接口定义。其余的解决方案是解决方案集中的除给定解决方案以外的解决方案。应用104按照其余解决方案被安装的顺序来应用其余接口定义。
在生成新的非自定义的接口定义之后,应用104通过将自定义差异描述符应用到新的非自定义的接口定义来生成新的自定义的接口定义(1016)。然后,应用104显示由新的自定义的接口定义所定义的UI组件110的版本(1018)。
如上文所讨论的,自定义差异描述符是在改变非自定义的接口定义之前生成和存储的。此外,在应用其余差异描述符之后,应用104自动地应用自定义差异描述符。因此,当卸载解决方案时,客户端102可能不需要对UI组件110手动应用客户端自定义。
图11是示出了更新包括差异描述符的解决方案的示例操作1100的流程图。如图11的示例所示,应用104提供自定义的接口定义(1102)。自定义的接口定义对向其中应用了客户端自定义的UI组件110的版本进行定义。随后,应用104接收给定解决方案的更新的版本(1104)。给定解决方案的更新版本的解决方案组件可包括软件模块和差异描述符。
在接收到给定解决方案的更新版本之后,应用104生成非自定义的接口定义(1106)。类似于上文参考图9和10的示例所讨论的非自定义的接口定义,非自定义的接口定义是通过将解决方案集中的解决方案所提供的修改应用到UI组件110的基本接口定义所产生的接口定义。应用104按照解决方案被安装的顺序来应用现有的差异描述符。
接下来,应用104生成自定义差异描述符(1108)。自定义差异描述符是表示自定义的接口定义和非自定义的接口定义之间的差异的文档。在生成自定义差异描述符之后,应用104存储自定义差异描述符(1110)。
接下来,应用104安装给定解决方案的更新版本的软件模块(1112)。然后,应用104存储给定解决方案的更新版本的差异描述符(1114)。通过存储给定解决方案的更新版本的差异描述符,当解决方案集将来再次被修改时,给定解决方案的更新版本的差异描述符可供应用104使用。
然后,应用104通过将较早的差异描述符应用到基本接口定义来生成修改的接口定义(1116)。较早的差异描述符是以前安装的解决方案的差异描述符。以前安装的解决方案是解决方案集中的在最初安装给定解决方案之前安装的解决方案。应用104按照以前安装的解决方案被安装的顺序来应用较早的差异描述符。
然后,应用104通过将给定解决方案的更新版本的差异描述符应用到修改的接口定义,来生成进一步修改的接口定义(1118)。在生成进一步修改的接口定义之后,应用104通过将较晚的差异描述符应用到进一步修改的接口定义,来生成新的非自定义的接口定义(1120)。较晚的差异描述符是以后安装的解决方案的差异描述符。以后安装的解决方案是解决方案集中的比给定解决方案安装得晚的解决方案。应用104按照以后安装的解决方案被安装的顺序来应用较晚的差异描述符。
在应用104生成新的非自定义的接口定义之后,应用104通过将自定义差异描述符应用到新的非自定义的接口定义来生成新的自定义的接口定义(1122)。在应用104生成新的自定义的接口定义之后,应用104显示由新的自定义的接口定义所定义的UI组件110的版本(1122)。
如上文所讨论的,自定义差异描述符是在接收到给定解决方案的更新版本之前生成和存储的。此外,在应用较早的差异描述符、给定解决方案的更新版本的差异描述符,以及较晚的差异描述符之后,应用104自动地应用自定义差异描述符。因此,当接收到更新的解决方案时,客户端102可能不需要对UI组件110手动应用客户端自定义。
图12是示出了示例计算设备1200的框图。在某些实施例中,服务器计算系统400和/或用户计算系统404是使用一个或多个类似计算设备1200的计算设备来实现的。应该理解,在其他实施例中,服务器计算系统400和/或用户计算系统404使用具有除图12的示例中所示出的那些硬件组件以外的硬件组件的计算设备来实现。
在不同的实施例中,计算设备是以不同的方式实现的。例如,在图12的示例中,计算设备1200包括存储器1202、处理系统1204、辅助存储设备1206、网络接口卡1208、视频接口1210、显示设备1212、外部组件接口1214、外部存储设备1216、输入设备1218、打印机1220、以及通信介质1222。在其他实施例中,计算设备是使用多一些或少一些的硬件组件来实现的。例如,在另一示例实施例中,计算设备不包括视频接口、显示设备、外部存储设备或输入设备。
如这里所使用的术语“计算机可读介质”可以包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器1202包括能够存储数据和/或指令的一个或多个计算机存储介质。如在本文档中所使用的,计算机存储介质是一种存储计算设备可读的数据和/或软件指令的设备或制品。在不同的实施例中,存储器1202是以不同的方式实现的。例如,在各实施例中,存储器1202是使用各种类型的计算机存储介质来实现的。计算机存储介质示例类型包括,但不仅限于,动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、延迟缩短的DRAM、DDR2SDRAM、DDR3SDRAM、Rambus RAM、固态存储器、闪存、只读存储器(ROM)、电可擦可编程只读存储器,及其他类型的存储数据的设备和/或制品。
如这里所使用的术语“计算机可读介质”还包括通信介质。通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
处理系统1204包括有选择地执行软件指令的一个或多个物理集成电路。在各实施例中,处理系统1204是以各种方式实现的。例如,在一个示例实施例中,处理系统1204被实现为一个或多个处理核。例如,在此示例实施例中,处理系统1204可以被实现为一个或多个Intel Core2微处理器。在另一示例实施例中,处理系统1204被实现为一个或多个单独的微处理器。在再一个示例实施例中,处理系统1204被实现为提供专用功能的ASIC。在再一个示例实施例中,处理系统1204通过使用ASIC并通过执行软件指令来提供专用功能。
在不同的实施例中,处理系统1204执行不同的指令集中的软件指令。例如,在各实施例中,处理系统1204执行诸如x86指令集、POWER指令集、RISC指令集、SPARC指令集、IA-64指令集、MIPS指令集之类的指令集和/或其他指令集中的软件指令。
辅助存储设备1206包括一个或多个计算机存储介质。辅助存储设备1206存储不能被处理系统1204直接访问的数据和软件指令。换言之,处理系统1204执行输入/输出操作以从辅助存储设备1206检索数据和/或软件指令。在各实施例中,辅助存储设备1206是通过各种类型的计算机存储介质来实现的。例如,辅助存储器设备1206可以通过一个或多个磁盘、磁带驱动器、CD-ROM光盘、DVD-ROM光盘、蓝光光盘、固态存储设备、Bernoulli盒式磁带,和/或其他类型的计算机存储介质来实现。
网络接口卡1208使计算设备1200能从计算机通信网络接收数据并向其发送数据。在不同的实施例中,网络接口卡1208是以不同的方式实现的。例如,在各实施例中,网络接口卡1208被实现为以太网接口、令牌环网络接口、光纤网络接口、无线网络接口(例如,WiFi、WiMax等等),或另一种类型的网络接口。
视频接口1210使计算设备1200能向显示设备1212输出视频信息。在不同的实施例中,视频接口1210是以不同的方式实现的。例如,在一个示例实施例中,视频接口1210被集成到计算设备1200的主板中。在另一示例实施例中,视频接口1210是视频扩展卡。视频扩展卡的示例类型包括Advanced Micro Devices有限公司(位于加利福尼亚州的Sunnyvale市)所制造的Radeon图形卡,由Nvidia公司(位于加利福尼亚州的Santa Clara市)所制造的Geforce图形卡,及其他类型的图形卡。
在各实施例中,显示设备1212被实现为各种类型的显示设备。显示设备的示例类型包括,但不仅限于,阴极射线管显示器、LCD显示面板、等离子屏幕显示面板、触敏显示面板、LED屏幕、投影仪,及其他类型的显示设备。在各实施例中,视频接口1210以各种方式与显示设备1212通信。例如,在各实施例中,视频接口1210通过通用串行总线(USB)连接器、VGA连接器、数字可视接口(DVI)连接器、S-Video(S视频)连接器、高清晰度多媒体接口(HDMI)接口、DisplayPort(显示端口)连接器,或其他类型的连接器来与显示设备1212进行通信。
外部组件接口1214使计算设备1200能与外部设备进行通信。在各实施例中,外部组件接口1214是以不同的方式实现的。例如,在一个示例实施例中,外部组件接口1214是USB接口。在其他示例实施例中,计算设备1200是FireWire(火线)接口、串行端口接口、并行端口接口、PS/2接口,和/或使计算设备1200能与外部组件进行通信的另一种类型的接口。
在不同的实施例中,外部组件接口1214使计算组件1200能与不同的外部组件进行通信。例如,在图12的示例中,外部组件接口1214使计算设备1200能与外部存储设备1216、输入设备1218,以及打印机1220进行通信。在其他实施例中,外部组件接口1214使计算组件1200能与多一些或少一些的外部组件进行通信。外部组件的其他示例类型包括,但不仅限于,扬声器、电话充电插孔、调制解调器、媒体播放器对接器,其他计算设备、扫描仪、数码相机、指纹读取器、及其他可以连接到计算设备1200的设备。
外部存储设备1216是包括一个或多个计算机可读数据存储介质的外部组件。计算设备1200的不同的实现与不同类型的外部存储设备进行连接。外部存储设备的示例类型包括,但不仅限于,磁带驱动器、闪存模块、磁盘驱动器、光盘驱动器、闪存单元、zip磁盘驱动器、光学点播机、及其他类型的包括一个或多个计算机存储介质的设备。输入设备1218是向计算设备1200的提供用户输入的外部组件。计算设备1200的不同的实现与不同类型的输入设备进行连接。输入设备的示例类型包括,但不仅限于,键盘、鼠标、轨迹球、指示笔输入设备、键盘、话筒、游戏杆、触敏显示屏幕,及其他类型的向计算设备1200提供用户输入的设备。打印机1220是向纸张打印数据的外部设备。计算设备1200的不同的实现与不同类型的打印机进行连接。打印机的示例类型包括,但不仅限于,激光打印机、喷墨打印机、照片打印机、复印机、传真机、收据打印机、点阵打印机,或其他类型的向纸张打印数据的设备。
通信介质1222促进计算设备1200的硬件组件之间的通信。在不同的实施例中,通信介质1222促进计算设备1200的不同的组件之间的通信。例如,在图12的示例中,通信介质1222促进存储器1202、处理系统1204、辅助存储设备1206、网络接口卡1208、视频接口1210,以及外部组件接口1214之间的通信。在计算设备1200的不同的实现中,通信介质1222是以不同的方式实现的。例如,在计算设备1200的不同的实现中,通信介质1222可以被实现为PCI总线、PCI Express总线、加速图形端口(AGP)总线、Infiniband互连、串行高级技术附接(ATA)互连、并行ATA互连、光纤信道互连、USB总线,小型计算系统接口(SCSI)接口,或另一种类型的通信介质。
存储器1202存储各种类型的数据和/或软件指令。例如,在图12的示例中,存储器1202存储基本输入/输出系统(BIOS)1224、操作系统1226、应用软件1228,以及程序数据1230。BIOS 1224包括一组软件指令,这些软件指令,在由处理系统1204执行时,导致计算设备1200启动。操作系统1226包括一组软件指令,这些软件指令,在由处理系统1204执行时,导致计算设备1200提供协调计算设备1200的活动和资源共享的操作系统。操作系统的示例类型包括,但不仅限于,MicrosoftLinux、Unix、Apple OS X、Apple OS X iPhone、Palm webOS、Palm OS、Google Chrome OS、Google Android OS,等等。应用软件1228包括一组软件指令,这些软件指令,在由处理系统1204执行时,导致计算设备1200向计算设备1200的用户提供应用。程序数据1230是由应用软件1228所生成的和/或使用的数据。
上文所描述的各实施例是只作为说明来提供的,并且不应该被解释为限制。本领域的技术人员将轻松地认识到,在不遵循此处所示出和描述的示例实施例和应用的情况下可以进行各种修改和更改。例如,图形所示出的操作只是示例。在各实施例中,类似的操作可包括比图形中所示出的那些多一些或少一些的步骤。此外,在其他实施例中,类似的操作可包括图形中所示出的操作的不同的顺序的步骤。

Claims (11)

1.一种用于在保护用户自定义的情况下合并对用户界面组件的修改的方法,所述方法包括:
提供计算系统;
由所述计算系统显示自定义的用户界面UI组件,所述自定义的UI组件是向其中应用了客户端自定义的UI组件的版本,所述UI组件是应用的UI的组件,其中自定义的接口定义对所述自定义的UI组件进行定义;
修改解决方案集,所述解决方案集包括一个或多个修改所述UI组件的解决方案,且修改所述解决方案集包括向所述解决方案集添加新的解决方案,其中向所述解决方案集添加新的解决方案包括:
接收指定更改的更改列表;
通过将适用的更改应用到非自定义的接口定义,来生成新的非自定义的接口定义,所述非自定义的接口定义是定义通过将所述解决方案集中的每一个解决方案所提供的所述修改应用到所述UI组件的基本版本所产生的所述UI组件的版本的接口定义;
在将所述适用的更改应用到所述非自定义的接口定义之后,通过将自定义更改列表中的更改应用到所述新的非自定义的接口定义来生成新的自定义的接口定义,所述自定义更改列表表达所述客户端自定义,所述新的自定义的接口定义对新的自定义的UI组件进行定义;
在修改所述解决方案集之后,由所述计算系统显示所述新的自定义的UI组件,所述新的自定义的UI组件是向其中应用了所述解决方案集中的解决方案所提供的修改并且所述客户端自定义保持应用于所述UI组件的所述UI组件的版本,所述客户端自定义保持应用于所述UI组件,无需向所述UI组件手动重新应用所述客户端自定义。
2.如权利要求1所述的方法,其特征在于,所述解决方案向所述应用添加功能。
3.如权利要求1所述的方法,其特征在于,
其中,向所述解决方案集添加新的解决方案包括:
接收所述新的解决方案的差异描述符,所述新的解决方案的所述差异描述符是表示源接口定义和目的地接口定义之间的差异的文档,所述源接口定义和所述目的地接口定义对所述UI组件的不同的版本进行定义;
生成自定义差异描述符,所述自定义差异描述符是表示自定义的接口定义和非自定义的接口定义之间的差异的文档,所述自定义的接口定义对所述自定义的UI组件进行定义,所述非自定义的接口定义对通过将所述解决方案所提供的所述修改应用到所述UI组件的基本版本所产生的所述UI组件的版本进行定义;
通过将所述新的解决方案的所述差异描述符应用到所述非自定义的接口定义来生成新的非自定义的接口定义;以及
通过将所述自定义差异描述符应用到所述新的非自定义的接口定义来生成新的自定义的接口定义,所述新的自定义的接口定义对所述新的自定义的UI组件进行定义。
4.如权利要求1所述的方法,其特征在于,修改所述解决方案集包括:更新已经在所述解决方案集中的解决方案。
5.如权利要求1所述的方法,其特征在于,修改所述解决方案集包括:从所述解决方案集中移除给定解决方案。
6.如权利要求5所述的方法,其特征在于,从所述解决方案集中移除给定解决方案包括:
生成自定义差异描述符,所述自定义差异描述符是表示所述自定义的接口定义和所述非自定义的接口定义之间的差异的文档,所述自定义的接口定义对所述自定义的UI组件进行定义,所述非自定义的接口定义对通过将所述解决方案所提供的所述修改应用到所述UI组件的基本版本所产生的所述UI组件的版本进行定义;
通过将除所述给定解决方案以外的所述解决方案的差异描述符应用到定义所述UI组件的所述基本版本的基本接口定义,来生成更新的非自定义的接口定义;以及
通过将所述自定义差异描述符应用到所述更新的非自定义的接口定义来生成新的自定义的接口定义,所述新的自定义的接口定义对所述新的自定义的UI组件进行定义。
7.如权利要求1所述的方法,其特征在于,其中,所述应用是客户关系管理CRM应用。
8.如权利要求1所述的方法,其特征在于,其中,所述客户端自定义包括下列各项中的一项或多项:从所述UI组件中移除一个或多个元件的客户端自定义,重命名所述UI组件中的一个或多个元件的客户端自定义,以及改变所述UI组件中的一个或多个元件的位置的客户端自定义。
9.一种用于在保护用户自定义的情况下合并对用户界面组件的修改的方法,所述方法包括:
显示自定义的UI组件,所述自定义的UI组件是向其中应用了客户端自定义的UI组件的版本,所述UI组件是应用的UI的组件;
通过添加、移除或更新解决方案集中的解决方案来修改所述解决方案集,所述解决方案集包括用于修改所述UI组件的一个或多个解决方案,所述解决方案集中包括的所述一个或多个解决方案能向所述应用添加功能;以及
在修改所述解决方案集之后,显示新的自定义的UI组件,所述新的自定义的UI组件是向其中应用了所述解决方案集中的解决方案所提供的修改并且所述客户端自定义保持应用于所述UI组件的所述UI组件的版本,所述客户端自定义保持应用于所述UI组件,无需向所述UI组件手动重新应用所述客户端自定义;
其中,所述方法还包括:
存储所述解决方案集中的所述解决方案的更改列表;以及
存储表达所述客户端自定义的自定义更改列表;
其中,通过移除所述解决方案集中的给定解决方案来修改所述解决方案集包括:
通过将除所述给定解决方案以外的所述解决方案的所述更改列表中的更改应用到定义所述UI组件的基本版本的基本接口定义,来生成新的非自定义的接口定义;以及
通过将自定义更改列表中的更改应用到所述新的非自定义的接口定义来生成新的自定义的接口定义,所述新的自定义的接口定义对所述新的自定义的UI组件进行定义;
其中,通过更新所述解决方案集中的给定解决方案来修改所述解决方案集包括:
生成非自定义的接口定义,所述非自定义的接口定义对通过将所述解决方案所提供的所述修改应用到所述UI组件的基本版本所产生的所述UI组件的版本进行定义;
生成自定义差异描述符,所述自定义差异描述符是表示自定义的接口定义和所述非自定义的接口定义之间的差异的文档,所述自定义的接口定义对所述自定义的UI组件进行定义;
通过将较早的差异描述符应用到定义所述UI组件的所述基本版本的基本接口定义,来生成修改的接口定义,所述较早的差异描述符是所述解决方案集中的、在所述给定解决方案被安装之前安装的解决方案的差异描述符;
通过将所述给定解决方案的更新的版本的差异描述符应用到所述修改的接口定义,来生成进一步修改的接口定义;
通过将较晚的差异描述符应用到所述进一步修改的接口定义,来生成新的非自定义的接口定义,较晚的差异描述符是所述解决方案集中的、在所述给定解决方案被安装之后安装的解决方案的差异描述符;以及
通过将所述自定义差异描述符应用到所述新的非自定义的接口定义来生成新的自定义的接口定义,所述新的自定义的接口定义对所述新的自定义的UI组件进行定义。
10.如权利要求9所述的方法,其特征在于,通过向所述解决方案集添加新的解决方案来修改所述解决方案集包括:
接收所述新的解决方案的更改列表;
通过将所述新的解决方案的所述更改列表中的更改应用到非自定义的接口定义,来生成新的非自定义的接口定义,所述非自定义的接口定义对通过将所述解决方案所提供的所述修改应用到所述UI组件的基本版本所产生的所述UI组件的版本进行定义;
通过将自定义更改列表中的更改应用到所述新的非自定义的接口定义来生成新的自定义的接口定义,所述自定义更改列表指定所述客户端自定义,所述新的自定义的接口定义对所述新的自定义的UI组件进行定义。
11.如权利要求9所述的方法,其特征在于,通过移除所述解决方案集中的给定解决方案来修改所述解决方案集进一步包括:
生成自定义差异描述符,所述自定义差异描述符是表示非自定义的接口定义和自定义的接口定义之间的差异的文档,所述非自定义的接口定义对通过将所述解决方案集中的每一个解决方案所提供的所述修改应用到所述UI组件的基本版本所产生的所述UI组件的版本进行定义,所述自定义的接口定义对所述自定义的UI组件进行定义;
通过将除所述给定解决方案以外的解决方案的差异描述符应用到定义所述UI组件的所述基本版本的基本接口定义,来生成更新的非自定义的接口定义;以及
通过将所述自定义差异描述符应用到所述更新的非自定义的接口定义来生成新的自定义的接口定义,所述新的自定义的接口定义对所述新的自定义的UI组件进行定义。
CN201180028836.7A 2010-06-11 2011-05-20 在保护用户自定义的情况下合并对用户界面组件的修改的方法和系统 Expired - Fee Related CN102939612B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/814,084 US8302014B2 (en) 2010-06-11 2010-06-11 Merging modifications to user interface components while preserving user customizations
US12/814,084 2010-06-11
PCT/US2011/037458 WO2011156120A2 (en) 2010-06-11 2011-05-20 Merging modifications to user interface components while preserving user customizations

Publications (2)

Publication Number Publication Date
CN102939612A CN102939612A (zh) 2013-02-20
CN102939612B true CN102939612B (zh) 2015-09-02

Family

ID=45097262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180028836.7A Expired - Fee Related CN102939612B (zh) 2010-06-11 2011-05-20 在保护用户自定义的情况下合并对用户界面组件的修改的方法和系统

Country Status (6)

Country Link
US (1) US8302014B2 (zh)
EP (1) EP2580719A4 (zh)
CN (1) CN102939612B (zh)
CA (1) CA2799430A1 (zh)
HK (1) HK1182202A1 (zh)
WO (1) WO2011156120A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US8707158B2 (en) * 2009-08-05 2014-04-22 Microsoft Corporation Customizing a form in a model-based system
US8302014B2 (en) * 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
KR101781129B1 (ko) * 2010-09-20 2017-09-22 삼성전자주식회사 어플리케이션을 다운로드받아 설치하는 단말장치 및 그 방법
CN103250375B (zh) * 2010-10-19 2016-06-29 瑞典爱立信有限公司 服务质量监测装置和监测服务质量的方法
US8554797B2 (en) 2010-12-17 2013-10-08 Sap Ag System and method for modular business applications
US8893081B2 (en) 2010-12-22 2014-11-18 Microsoft Corporation Selectively enabling runtime editing of an application
US20120257741A1 (en) * 2011-04-11 2012-10-11 Verizon Patent And Licensing Inc. Telephone number inventory management
US9823917B2 (en) * 2011-10-20 2017-11-21 Facebook, Inc. Update application user interfaces on client devices
US20130328902A1 (en) * 2012-06-11 2013-12-12 Apple Inc. Graphical user interface element incorporating real-time environment data
US10025467B1 (en) * 2013-05-09 2018-07-17 Cadence Design Systems, Inc. Multi-layer incremental toolbar configuration system
US9251235B1 (en) 2013-09-11 2016-02-02 Amazon Technologies, Inc. Log-based synchronization
US9552407B1 (en) 2013-09-11 2017-01-24 Amazon Technologies, Inc. Log-based synchronization with conditional append
US10956446B1 (en) * 2013-09-11 2021-03-23 Amazon Technologies, Inc. Log-based synchronization with inferred context
US9830142B2 (en) 2013-09-13 2017-11-28 Microsoft Technology Licensing, Llc Automatic installation of selected updates in multiple environments
US9626176B2 (en) 2013-09-13 2017-04-18 Microsoft Technology Licensing, Llc Update installer with technical impact analysis
US10026064B2 (en) 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
US9665359B2 (en) * 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
US10073604B2 (en) * 2014-05-15 2018-09-11 Oracle International Corporation UI-driven model extensibility in multi-tier applications
CN105573574A (zh) * 2014-10-09 2016-05-11 阿里巴巴集团控股有限公司 应用界面的导航方法及装置
US10031729B1 (en) * 2014-12-30 2018-07-24 Open Text Corporation Method and system for implementing custom UI actions in a web application using hidden containers
US9710439B1 (en) 2014-12-30 2017-07-18 Open Text Corporation Implementing context based display of objects in web applications using link relationships
US10110442B2 (en) * 2015-02-20 2018-10-23 Microsoft Technology Licensing, Llc Hierarchical data surfacing configurations with automatic updates
US9959114B2 (en) 2015-03-16 2018-05-01 Microsoft Technology Licensing, Llc Representation of customizable types in a development environment
US10078501B2 (en) 2015-03-16 2018-09-18 Microsoft Technology Licensing, Llc Domain specific language modeling framework in a development environment
US10067755B2 (en) * 2015-03-16 2018-09-04 Microsoft Technology Licensing, Llc Model driven customization framework
US20180315491A1 (en) * 2015-10-16 2018-11-01 Essilor International System and method for customizing an application user interface of an optical lab management system
US10749988B2 (en) 2017-04-24 2020-08-18 Google Llc Methods, systems, and media for retrieving content associated with links
CA3117852A1 (en) 2018-11-14 2020-05-22 Wix.Com Ltd. System and method for creation and handling of configurable applications for website building systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090163183A1 (en) * 2007-10-04 2009-06-25 O'donoghue Hugh Recommendation generation systems, apparatus and methods
US20100146478A1 (en) * 2008-12-10 2010-06-10 Microsoft Corporation Multi-layered storage and management of software components

Family Cites Families (336)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155806A (en) 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
GB8918553D0 (en) 1989-08-15 1989-09-27 Digital Equipment Int Message control system
US5287514A (en) 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
US5533184A (en) * 1991-08-19 1996-07-02 International Business Machines Corporation Computer system for dynamically generating display screen panels providing interactive interfaces for application program steps
JP2967961B2 (ja) 1991-12-16 1999-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 月別の予定表表示の提示方法
US5519606A (en) 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
JPH0785216B2 (ja) 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション メニュー表示装置および方法
US5416895A (en) 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US6236396B1 (en) 1992-05-27 2001-05-22 Apple Computer, Inc. Method and apparatus for controlling a scheduler
US5570109A (en) 1992-05-27 1996-10-29 Apple Computer, Inc. Schedule and to-do list for a pen-based computer system
US5544295A (en) 1992-05-27 1996-08-06 Apple Computer, Inc. Method and apparatus for indicating a change in status of an object and its disposition using animation
US5659693A (en) 1992-08-27 1997-08-19 Starfish Software, Inc. User interface with individually configurable panel interface for use in a computer system
US5673403A (en) 1992-11-13 1997-09-30 International Business Machines Corporation Method and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems
US5734915A (en) 1992-11-25 1998-03-31 Eastman Kodak Company Method and apparatus for composing digital medical imagery
US5500936A (en) 1993-03-12 1996-03-19 Asymetrix Corporation Multi-media slide presentation system with a moveable, tracked popup menu with button and title bars
US5588107A (en) 1993-03-22 1996-12-24 Island Graphics Corporation Method and apparatus for selectably expandable menus
JPH06342357A (ja) 1993-06-01 1994-12-13 Mitsubishi Electric Corp ユーザインタフェース方式
US5634128A (en) 1993-09-24 1997-05-27 International Business Machines Corporation Method and system for controlling access to objects in a data processing system
CA2182732A1 (en) 1994-02-08 1995-08-17 Noel Francis Sheedy Plain bearing
WO1995025999A1 (en) 1994-03-21 1995-09-28 Taligent, Inc. Document proxy framework
WO1995031773A1 (en) 1994-05-16 1995-11-23 Apple Computer, Inc. Switching between appearance/behavior themes in graphical user interfaces
US6404433B1 (en) 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
US5555364A (en) 1994-08-23 1996-09-10 Prosoft Corporation Windowed computer display
WO1996009579A1 (en) 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US5588108A (en) 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5721847A (en) 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5831606A (en) 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5625783A (en) 1994-12-13 1997-04-29 Microsoft Corporation Automated system and method for dynamic menu construction in a graphical user interface
US5760773A (en) 1995-01-06 1998-06-02 Microsoft Corporation Methods and apparatus for interacting with data objects using action handles
US5893125A (en) 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
US5664208A (en) 1995-05-16 1997-09-02 Apple Computer, Inc. Methods and apparatuses for seamless compound document processing
US5644737A (en) 1995-06-06 1997-07-01 Microsoft Corporation Method and system for stacking toolbars in a computer display
US5940847A (en) 1995-06-07 1999-08-17 Microsoft Corporation System and method for automatically correcting multi-word data entry errors
US5619631A (en) 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
US5778402A (en) 1995-06-07 1998-07-07 Microsoft Corporation Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types
US5634100A (en) 1995-08-07 1997-05-27 Apple Computer, Inc. System and method for event parameter interdependence and adjustment with pen input
US5778404A (en) 1995-08-07 1998-07-07 Apple Computer, Inc. String inserter for pen-based computer systems and method for providing same
JP2986078B2 (ja) 1995-08-28 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション カレンダーの表示方法及び表示装置
US5821936A (en) 1995-11-20 1998-10-13 Siemens Business Communication Systems, Inc. Interface method and system for sequencing display menu items
US5855006A (en) 1996-03-01 1998-12-29 Humware Personal activity scheduling apparatus
US5838321A (en) 1996-05-06 1998-11-17 Ast Research, Inc. User interface with embedded objects for personal computers and the like
US6493006B1 (en) 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US5933841A (en) 1996-05-17 1999-08-03 Ameritech Corporation Structured document browser
WO1997046962A1 (en) 1996-06-07 1997-12-11 At & T Corp. Finding an e-mail message to which another e-mail message is a response
US6085206A (en) 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US6073108A (en) 1996-06-21 2000-06-06 Paul, Hastings, Janofsky & Walker Task-based classification and analysis system
US5899979A (en) 1996-07-22 1999-05-04 International Business Machines Corporation Method and system for automatically integrating scheduled work items onto an electronic calendar
US5828376A (en) 1996-09-23 1998-10-27 J. D. Edwards World Source Company Menu control in a graphical user interface
US6018343A (en) 1996-09-27 2000-01-25 Timecruiser Computing Corp. Web calendar architecture and uses thereof
US5842009A (en) 1996-09-30 1998-11-24 Apple Computer, Inc. System for automatically retrieving information relevant to a user's scheduled event
US5926806A (en) 1996-10-18 1999-07-20 Apple Computer, Inc. Method and system for displaying related information from a database
US6002395A (en) * 1996-10-31 1999-12-14 Ncr Corporation System and method for building, testing and integrating a graphical touch user interface
US6012075A (en) 1996-11-14 2000-01-04 Microsoft Corporation Method and system for background grammar checking an electronic document
EP0847019A1 (en) 1996-12-04 1998-06-10 Koninklijke Philips Electronics N.V. Method and system for selecting an information item in an information processing system, and local station in such a system
US7248150B2 (en) 1997-01-29 2007-07-24 Directed Electronics, Inc. Menu-driven remote control transmitter
US5999938A (en) 1997-01-31 1999-12-07 Microsoft Corporation System and method for creating a new data structure in memory populated with data from an existing data structure
US6034683A (en) 1997-03-26 2000-03-07 Netscape Communications Corporation Time line for desktop metaphor
EP0970416B1 (en) 1997-03-28 2002-06-12 Sun Microsystems, Inc. Method and apparatus for configuring sliding panels
US5914714A (en) * 1997-04-01 1999-06-22 Microsoft Corporation System and method for changing the characteristics of a button by direct manipulation
US6230309B1 (en) 1997-04-25 2001-05-08 Sterling Software, Inc Method and system for assembling and utilizing components in component object systems
US6118480A (en) 1997-05-05 2000-09-12 Flashpoint Technology, Inc. Method and apparatus for integrating a digital camera user interface across multiple operating modes
US5940078A (en) 1997-06-17 1999-08-17 Sun Microsystems, Inc. Method and apparatus for changing the appearance of icon images on a computer display monitor
US6384849B1 (en) 1997-07-14 2002-05-07 Microsoft Corporation Method for displaying controls in a system using a graphical user interface
GB2328539B (en) 1997-08-22 2001-04-18 Ibm Data charting
US6882354B1 (en) 1997-09-17 2005-04-19 Sun Microsystems, Inc. Scroll bars with user feedback
US6433801B1 (en) 1997-09-26 2002-08-13 Ericsson Inc. Method and apparatus for using a touch screen display on a portable intelligent communications device
US5970466A (en) 1997-10-06 1999-10-19 Impromed, Inc. Graphical computer system and method for appointment scheduling
AU758232B2 (en) 1997-10-06 2003-03-20 Crisnet, Inc. Single-document active user interface, method and system for implementing same
US6216122B1 (en) 1997-11-19 2001-04-10 Netscape Communications Corporation Electronic mail indexing folder having a search scope and interval
US6188403B1 (en) 1997-11-21 2001-02-13 Portola Dimensional Systems, Inc. User-friendly graphics generator using direct manipulation
US5898436A (en) 1997-12-05 1999-04-27 Hewlett-Packard Company Graphical user interface for digital image editing
US5960406A (en) 1998-01-22 1999-09-28 Ecal, Corp. Scheduling system for use between users on the web
US6211879B1 (en) 1999-01-13 2001-04-03 Planetweb, Inc. System and method for navigating in multiple windows
JP2938420B2 (ja) 1998-01-30 1999-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ファンクション選択方法及び装置、ファンクションを選択するための制御プログラムを格納した記憶媒体、オブジェクトの操作方法及び装置、オブジェクトを操作するための制御プログラムを格納した記憶媒体、複合アイコンを格納した記憶媒体
US6219670B1 (en) 1998-02-18 2001-04-17 International Business Machines Corporation Method and apparatus for filtering a table list before opening with a graphical user interface
US6067087A (en) 1998-03-03 2000-05-23 Microsoft Corporation Method for building menus during idle times
GB2335822B (en) 1998-03-25 2003-09-10 Nokia Mobile Phones Ltd Context sensitive pop-up window for a portable phone
US6188401B1 (en) * 1998-03-25 2001-02-13 Microsoft Corporation Script-based user interface implementation defining components using a text markup language
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6473102B1 (en) 1998-05-11 2002-10-29 Apple Computer, Inc. Method and system for automatically resizing and repositioning windows in response to changes in display
US6175363B1 (en) 1998-05-29 2001-01-16 Hewlett-Packard Company Method and system to provide functionality access based on user approach to network and system management tasks
US6133915A (en) 1998-06-17 2000-10-17 Microsoft Corporation System and method for customizing controls on a toolbar
US6101480A (en) 1998-06-19 2000-08-08 International Business Machines Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules
US6727919B1 (en) 1998-07-07 2004-04-27 International Business Machines Corporation Flexible mouse-driven method of user interface
US6414700B1 (en) 1998-07-21 2002-07-02 Silicon Graphics, Inc. System for accessing a large number of menu items using a zoned menu bar
US6307544B1 (en) 1998-07-23 2001-10-23 International Business Machines Corporation Method and apparatus for delivering a dynamic context sensitive integrated user assistance solution
US6359634B1 (en) 1998-08-25 2002-03-19 International Business Machines Corporation Method and computer program product for graphical user interface (GUI) organization control for extending GUI applications
GB2341052B (en) 1998-08-26 2003-05-14 Nokia Mobile Phones Ltd Wireless communication terminal
US6373507B1 (en) 1998-09-14 2002-04-16 Microsoft Corporation Computer-implemented image acquistion system
US6232971B1 (en) 1998-09-23 2001-05-15 International Business Machines Corporation Variable modality child windows
US6480865B1 (en) 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
AU1239400A (en) 1998-10-28 2000-05-15 Yahoo! Inc. A method of controlling an internet browser interface and a controllable browserinterface
US20030097361A1 (en) 1998-12-07 2003-05-22 Dinh Truong T Message center based desktop systems
US6546417B1 (en) 1998-12-10 2003-04-08 Intellinet, Inc. Enhanced electronic mail system including methods and apparatus for identifying mime types and for displaying different icons
US6353451B1 (en) 1998-12-16 2002-03-05 Intel Corporation Method of providing aerial perspective in a graphical user interface
US6635089B1 (en) 1999-01-13 2003-10-21 International Business Machines Corporation Method for producing composite XML document object model trees using dynamic data retrievals
US6493731B1 (en) 1999-01-27 2002-12-10 Xerox Corporation Document management system for recording and viewing the history of document use
US6459441B1 (en) 1999-03-03 2002-10-01 Dassault Systemes Software interface
US6369840B1 (en) 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US6429882B1 (en) 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
US6466236B1 (en) 1999-04-08 2002-10-15 Palm, Inc. System and method for displaying and manipulating multiple calendars on a personal digital assistant
US7016864B1 (en) 1999-04-09 2006-03-21 Dell Usa, L.P. Interactive upsell advisor method and apparatus for internet applications
JP2001034775A (ja) 1999-05-17 2001-02-09 Fuji Photo Film Co Ltd 履歴画像表示方法
US7100112B1 (en) 1999-05-20 2006-08-29 Microsoft Corporation Dynamic properties of documents and the use of these properties
WO2000077085A1 (en) 1999-06-11 2000-12-21 Sydney Hyman Image making medium
US6691281B1 (en) 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6456304B1 (en) 1999-06-30 2002-09-24 Microsoft Corporation Procedural toolbar user interface
US6433831B1 (en) 1999-07-16 2002-08-13 Thomson Licensing S.A. Method and apparatus for automatically setting time information in a multi-format digital television product
US6564377B1 (en) 1999-07-26 2003-05-13 Microsoft Corporation Self-describing components within a software catalog
US6621504B1 (en) 1999-08-06 2003-09-16 Avid Technology, Inc. Editor for effect tree parameters
US6806890B2 (en) 1999-08-17 2004-10-19 International Business Machines Corporation Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US8015049B1 (en) 1999-08-18 2011-09-06 S.F. Ip Properties 61 Llc On-line appointment system
US6538673B1 (en) 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
GB2353679A (en) 1999-08-25 2001-02-28 Ibm Prioritized display of messages
US6931623B2 (en) 1999-08-30 2005-08-16 Touchnet Information Systems, Inc. Method of accessing data and logic on existing systems through dynamic construction of software components
US6405216B1 (en) 1999-09-17 2002-06-11 International Business Machines Corporation Internet-based application program interface (API) documentation interface
US6732330B1 (en) 1999-09-30 2004-05-04 International Business Machines Corporation Scripting language blocks to support multiple scripting languages in a single web page
US7082567B1 (en) 1999-10-18 2006-07-25 Rose Blush Software Llc Enhanced human computer user interface system for searching and browsing documents
US6578192B1 (en) 1999-10-20 2003-06-10 International Business Machines Corporation Method and system for supporting dynamic document content expressed in a component-level language
US7152207B1 (en) 1999-11-05 2006-12-19 Decentrix Inc. Method and apparatus for providing conditional customization for generating a web site
US6734880B2 (en) 1999-11-24 2004-05-11 Stentor, Inc. User interface for a medical informatics systems
US6924797B1 (en) 1999-11-30 2005-08-02 International Business Machines Corp. Arrangement of information into linear form for display on diverse display devices
US6686938B1 (en) 2000-01-05 2004-02-03 Apple Computer, Inc. Method and system for providing an embedded application toolbar
US6904449B1 (en) 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
US6621508B1 (en) 2000-01-18 2003-09-16 Seiko Epson Corporation Information processing system
CA2298003A1 (en) * 2000-02-04 2001-08-04 Ibm Canada Limited-Ibm Canada Limitee Scripting task-level user interfaces
US20050091576A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6618732B1 (en) 2000-04-11 2003-09-09 Revelink, Inc. Database query handler supporting querying of textual annotations of relations between data objects
US20030206646A1 (en) 2000-04-24 2003-11-06 Brackett Charles C. Imaging system having means for creating, managing and selecting from list of exam descriptions
US7249325B1 (en) 2000-05-11 2007-07-24 Palmsource, Inc. Automatically centered scrolling in a tab-based user interface
US7225244B2 (en) 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US6785868B1 (en) 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
EP1354263A2 (en) 2000-07-07 2003-10-22 Openwave Systems Inc. Graphical user interface features of a browser in a hand-held wireless communication device
US7178098B2 (en) 2000-07-13 2007-02-13 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
US6857103B1 (en) 2000-07-14 2005-02-15 International Business Machines Corporation Flexible help support in an object oriented application
US7188158B1 (en) 2000-07-15 2007-03-06 Hewlett-Packard Development Company, L.P. System and method for component-based software development
US6583798B1 (en) 2000-07-21 2003-06-24 Microsoft Corporation On-object user interface
US6948134B2 (en) 2000-07-21 2005-09-20 Microsoft Corporation Integrated method for creating a refreshable Web Query
US7117436B1 (en) 2000-08-31 2006-10-03 Oracle Corporation Generating a Web page by replacing identifiers in a preconstructed Web page
US6717593B1 (en) 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US6871195B2 (en) 2000-09-13 2005-03-22 E-Promentor Method and system for remote electronic monitoring and mentoring of computer assisted performance support
AU2001294555A1 (en) 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
JP3530475B2 (ja) 2000-09-25 2004-05-24 三洋電機株式会社 折畳式通信端末装置および情報表示方法
CA2322594C (en) 2000-10-06 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee System and method for managing web page components
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6624831B1 (en) * 2000-10-17 2003-09-23 Microsoft Corporation System and process for generating a dynamically adjustable toolbar
US6825859B1 (en) 2000-11-13 2004-11-30 Corel Corporation System and method for processing content changes of on-screen items
US7020848B2 (en) 2000-12-20 2006-03-28 Eastman Kodak Company Comprehensive, multi-dimensional graphical user interface using picture metadata for navigating and retrieving pictures in a picture database
US6925605B2 (en) 2000-12-28 2005-08-02 International Business Machines Corporation Collating table for email
US7266768B2 (en) 2001-01-09 2007-09-04 Sharp Laboratories Of America, Inc. Systems and methods for manipulating electronic information using a three-dimensional iconic representation
US20020149623A1 (en) 2001-01-26 2002-10-17 Alan West State and data driven dynamic menu and toolbar architecture
US6708205B2 (en) 2001-02-15 2004-03-16 Suffix Mail, Inc. E-mail messaging system
US7110936B2 (en) 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US6906717B2 (en) 2001-02-27 2005-06-14 Microsoft Corporation Multiple chart user interface
US20020133557A1 (en) 2001-03-03 2002-09-19 Winarski Donna Ilene Robinson Sorting e-mail
US6964025B2 (en) 2001-03-20 2005-11-08 Microsoft Corporation Auto thumbnail gallery
US7174514B2 (en) 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
TW502180B (en) 2001-03-30 2002-09-11 Ulead Systems Inc Previewing method of editing multimedia effect
US7218976B2 (en) 2001-04-27 2007-05-15 Canon Kabushiki Kaisha User interface control apparatus and method
US20030098891A1 (en) 2001-04-30 2003-05-29 International Business Machines Corporation System and method for multifunction menu objects
US20020163538A1 (en) 2001-05-07 2002-11-07 Koninklijke Philips Electronics N.V. Electronic mail guide
US7334196B2 (en) 2001-06-25 2008-02-19 Siemens Medical Solutions Health Services Corporation User interface display navigation and item selection system
US6829745B2 (en) 2001-06-28 2004-12-07 Koninklijke Philips Electronics N.V. Method and system for transforming an XML document to at least one XML document structured according to a subset of a set of XML grammar rules
US6826729B1 (en) 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US20030011638A1 (en) 2001-07-10 2003-01-16 Sun-Woo Chung Pop-up menu system
US7620911B2 (en) 2001-07-12 2009-11-17 Autodesk, Inc. Collapsible dialog window
US20030066025A1 (en) 2001-07-13 2003-04-03 Garner Harold R. Method and system for information retrieval
US7251776B2 (en) 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
GB2377858B (en) 2001-07-19 2005-04-20 Inventec Appliances Corp Method for simplifying cellular phone menu selection
US7240323B1 (en) 2001-07-26 2007-07-03 Emc Corporation Plug and play interface for user actions
US6778990B2 (en) 2001-07-27 2004-08-17 Hewlett-Packard Development Company, L.P. Dynamic component activation method using a relational database as the repository for registration information
US20030025732A1 (en) 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US6999068B2 (en) 2001-08-21 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for enabling users to edit graphical images
US7046848B1 (en) 2001-08-22 2006-05-16 Olcott Peter L Method and system for recognizing machine generated character glyphs and icons in graphic images
US6820218B1 (en) 2001-09-04 2004-11-16 Microsoft Corporation Persistent stateful component-based applications via automatic recovery
US20030043211A1 (en) 2001-09-05 2003-03-06 Kremer Karl Heinz Image-forming system having a graphic user interface with print option representation using thumbnail images
JP2003141020A (ja) 2001-10-31 2003-05-16 Toshiba Tec Corp 情報保管出力システム及び情報保管出力サービス
US7086006B2 (en) * 2001-11-09 2006-08-01 Corel Corporation Component user interface management
US7032210B2 (en) 2001-11-11 2006-04-18 International Business Machines Corporation Method and system for generating program source code of a computer application from an information model
US7359936B2 (en) 2001-11-27 2008-04-15 International Business Machines Corporation Method and apparatus for electronic mail interaction with grouped message types
US7363590B2 (en) 2001-11-27 2008-04-22 International Business Machines Corporation Calendar bar interface for electronic mail interaction
US20030135825A1 (en) 2001-12-05 2003-07-17 Matthew Gertner Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US6801230B2 (en) 2001-12-18 2004-10-05 Stanley W. Driskell Method to display and manage computer pop-up controls
EP1472633A2 (en) 2002-01-08 2004-11-03 Sap Ag Enhanced email management system
US7039596B1 (en) 2002-01-18 2006-05-02 America Online, Inc. Calendar overlays
KR100475432B1 (ko) 2002-02-26 2005-03-10 삼성전자주식회사 그래픽 사용자 인터페이스의 디자인 변경 방법 및 이를 위한 기록매체
US6947928B2 (en) 2002-02-26 2005-09-20 International Business Machines Corporation Graphical user interface for building queries with hierarchical conditions
US6850255B2 (en) 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface
US7003730B2 (en) 2002-03-08 2006-02-21 International Business Machines Corporation Graphical user interface to build event-based dynamic searches or queries using event profiles
US7386835B1 (en) 2002-03-22 2008-06-10 Emc Corporation Technique for graphical user interface modification
US20040117451A1 (en) 2002-03-22 2004-06-17 Chung Michael Myung-Jin Methods and systems for electronic mail internet target and direct marketing and electronic mail banner
US20030195937A1 (en) 2002-04-16 2003-10-16 Kontact Software Inc. Intelligent message screening
US20040012633A1 (en) 2002-04-26 2004-01-22 Affymetrix, Inc., A Corporation Organized Under The Laws Of Delaware System, method, and computer program product for dynamic display, and analysis of biological sequence data
US6972762B2 (en) 2002-05-21 2005-12-06 Microsoft Corporation System and method for interactive grouping of pie chart slices
US20040100504A1 (en) 2002-05-24 2004-05-27 Jored Sommer Item selection systems and methods of displaying the same
US7434163B2 (en) 2002-05-31 2008-10-07 Sap Aktiengesellschaft Document structures for delta handling in server pages
US20030227487A1 (en) 2002-06-01 2003-12-11 Hugh Harlan M. Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US7827546B1 (en) * 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US20030227481A1 (en) * 2002-06-05 2003-12-11 Udo Arend Creating user interfaces using generic tasks
GB2389499B (en) 2002-06-06 2005-09-28 Focus Solutions Group Plc Electronic data capture and verification
US7356537B2 (en) * 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US7191411B2 (en) 2002-06-06 2007-03-13 Moehrle Armin E Active path menu navigation system
US7149747B1 (en) * 2002-06-27 2006-12-12 Siebel Systems, Inc. Dynamic generation of user interface components
US20040003351A1 (en) 2002-06-28 2004-01-01 Microsoft Corporation Navigating a resource browser session
GB2391148B (en) 2002-07-19 2006-01-04 Autodesk Canada Inc Selecting functions via a graphical user interface
US20040109025A1 (en) 2002-08-28 2004-06-10 Jean-Marie Hullot Computer program comprising a plurality of calendars
US7234132B2 (en) 2002-08-29 2007-06-19 International Business Machines Corporation Application integration model for dynamic software component assembly within an application at runtime
EP1546972A1 (en) 2002-09-09 2005-06-29 Apple Computer, Inc. A computer program comprising a plurality of calendars
US20040056894A1 (en) 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US7386535B1 (en) 2002-10-02 2008-06-10 Q.Know Technologies, Inc. Computer assisted and/or implemented method for group collarboration on projects incorporating electronic information
US20040153968A1 (en) 2002-10-24 2004-08-05 Jennie Ching Method and system for user customizable asset metadata generation in a web-based asset management system
US20040230508A1 (en) 2002-10-29 2004-11-18 Minnis Raymond Albert System for generating financial statements using templates
US20040100505A1 (en) 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information
US20040107197A1 (en) 2002-11-29 2004-06-03 Shen Yu Yong System, method and user interface allowing customized portfolio management
CA2414053A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7337401B2 (en) 2002-12-18 2008-02-26 Microsoft Corporation User interface element representation with simplified view
US7360174B2 (en) 2002-12-19 2008-04-15 Microsoft Corporation Contact user interface
US7376698B2 (en) 2002-12-20 2008-05-20 Sap Ag System for preserving scripting objects and cloning the objects to a new document in response to a reload of the new document
US7610575B2 (en) * 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network
US20040133854A1 (en) 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
US20060111931A1 (en) 2003-01-09 2006-05-25 General Electric Company Method for the use of and interaction with business system transfer functions
US20040186775A1 (en) 2003-01-29 2004-09-23 Margiloff William A. Systems and methods for providing an improved toolbar
US20040153373A1 (en) 2003-01-31 2004-08-05 Docomo Communications Laboratories Usa, Inc. Method and system for pushing services to mobile devices in smart environments using a context-aware recommender
US7212208B2 (en) 2003-02-25 2007-05-01 Bahram Khozai System and method to present and display multiple data using enhanced box charts
US7539985B2 (en) 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US7636722B2 (en) 2003-02-28 2009-12-22 Bea Systems, Inc. System and method for describing application extensions in XML
US7395540B2 (en) * 2003-03-12 2008-07-01 Microsoft Corporation Automated business software application integration
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US6983889B2 (en) 2003-03-21 2006-01-10 Home Comfort Zones, Inc. Forced-air zone climate control system for existing residential houses
US7370066B1 (en) * 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7846023B2 (en) 2003-03-27 2010-12-07 Microsoft Corporation Application-centric user interface techniques
US7188308B2 (en) 2003-04-08 2007-03-06 Thomas Weise Interface and method for exploring a collection of data
US7328409B2 (en) 2003-04-17 2008-02-05 International Business Machines Corporation Method, system, and computer program product for user customization of menu items
US7337185B2 (en) 2003-04-30 2008-02-26 Yahoo! Inc. System and method for providing an improved graphical user interface for search
JP4347123B2 (ja) 2003-05-02 2009-10-21 キヤノン株式会社 文書処理システムおよび文書処理方法およびコンピュータが読取り可能な記憶媒体およびプログラム
US7567964B2 (en) 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
WO2004109557A1 (en) 2003-06-03 2004-12-16 Forbes Holten Norris, Iii Flexible, dynamic menu-based web-page architecture
US7546575B1 (en) * 2003-06-09 2009-06-09 Dillman Frederick J System and method for using blueprints to provide a software solution for an enterprise
US7178101B2 (en) 2003-06-24 2007-02-13 Microsoft Corporation Content template system
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US20050005249A1 (en) 2003-07-01 2005-01-06 Microsoft Corporation Combined content selection and display user interface
US7392249B1 (en) 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US7027463B2 (en) 2003-07-11 2006-04-11 Sonolink Communications Systems, Llc System and method for multi-tiered rule filtering
WO2005008432A2 (en) 2003-07-11 2005-01-27 Sonolink Communications Systems, Llc System and method for advanced rule creation and management within an integrated virtual workspace
US20050044500A1 (en) 2003-07-18 2005-02-24 Katsunori Orimoto Agent display device and agent display method
US7089594B2 (en) 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
US20050021504A1 (en) 2003-07-22 2005-01-27 Charles Atchison Methods, systems, and computer program products for querying a database for employee data and organizing the obtained data
JP2005056233A (ja) 2003-08-06 2005-03-03 Nec Corp 移動体通信装置、移動体通信装置の電子メールの受信動作方法及びその電子メールの受信動作プログラム
US7325204B2 (en) 2003-08-29 2008-01-29 Yahoo! Inc. Slideout windows
US20050144241A1 (en) 2003-10-17 2005-06-30 Stata Raymond P. Systems and methods for a search-based email client
US20050086135A1 (en) 2003-10-20 2005-04-21 Li-Chin Lu Automatic bookkeeping system
US6990637B2 (en) 2003-10-23 2006-01-24 Microsoft Corporation Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
US7346769B2 (en) 2003-10-23 2008-03-18 International Business Machines Corporation Method for selective encryption within documents
US7890948B2 (en) 2003-10-30 2011-02-15 Inernational Business Machines Corporation Methods and apparatus for customizing user-interface control in existing application
US20050117179A1 (en) 2003-11-06 2005-06-02 Tatsuo Ito Output information providing method, output information providing system, document outputting method, and document outputting system
US7526458B2 (en) 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive recommendations systems
WO2005057364A2 (en) 2003-12-08 2005-06-23 Ebay Inc. Custom caching
US7434157B2 (en) 2003-12-09 2008-10-07 Microsoft Corporation Programmable object model for namespace or schema library support in a software application
US7996514B2 (en) 2003-12-23 2011-08-09 Microsoft Corporation System and method for sharing information based on proximity
US20050172262A1 (en) 2004-01-30 2005-08-04 Ahika Corporation Site menu - browser toolbar-based user interface for navigating web site pages
US7856596B2 (en) 2004-02-17 2010-12-21 Microsoft Corporation Method and system for separation of content and layout definitions in a display description
US8122377B2 (en) * 2004-03-09 2012-02-21 Siebel Systems, Inc. Preserving user interface customizations while upgrading an enterprise application
EP2662784A1 (en) 2004-03-15 2013-11-13 Yahoo! Inc. Search systems and methods with integration of user annotations
US7426713B2 (en) 2004-03-31 2008-09-16 International Business Machines Corporation Controlling a GUI display for a plug-in
US7574674B2 (en) 2004-04-02 2009-08-11 Microsoft Corporation Method for controlling filename display for image and video file types
US7496837B1 (en) * 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
WO2005109905A2 (en) 2004-04-30 2005-11-17 Vulcan Inc. Time-based graphical user interface for television program information
US20050278656A1 (en) 2004-06-10 2005-12-15 Microsoft Corporation User control for dynamically adjusting the scope of a data set
US7954050B2 (en) 2004-06-25 2011-05-31 Icesoft Technologies Canada Corp. Systems and methods for rendering and increasing portability of document-based user interface software objects
US8572494B2 (en) 2004-07-14 2013-10-29 International Business Machines Corporation Framework for development and customization of web services deployment descriptors
US7720845B2 (en) 2004-08-13 2010-05-18 Yahoo! Inc. Systems and methods for updating query results based on query deltas
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7505954B2 (en) 2004-08-18 2009-03-17 International Business Machines Corporation Search bar with intelligent parametric search statement generation
US8239375B2 (en) 2004-08-31 2012-08-07 Research In Motion Limited Method of searching for personal information management (PIM) information and handheld electronic device employing the same
US20090094332A1 (en) 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US20060080468A1 (en) * 2004-09-03 2006-04-13 Microsoft Corporation Smart client add-in architecture
US7506006B2 (en) * 2004-09-03 2009-03-17 Microsoft Corporation Synchronization for smart clients
US7558783B2 (en) * 2004-09-03 2009-07-07 Microsoft Corporation Conversion between application objects and smart client objects
US20060059035A1 (en) 2004-09-10 2006-03-16 Andreas Kraft Mobile sales online manager for handheld devices
GB0422092D0 (en) * 2004-10-05 2004-11-03 Symbian Software Ltd Customisation of applications on a computing device
US8126895B2 (en) 2004-10-07 2012-02-28 Computer Associates Think, Inc. Method, apparatus, and computer program product for indexing, synchronizing and searching digital data
US20060095865A1 (en) 2004-11-04 2006-05-04 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US20070094597A1 (en) * 2004-11-04 2007-04-26 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US8402384B2 (en) 2004-11-09 2013-03-19 Research In Motion Limited Dynamic bar oriented user interface
CN100458774C (zh) 2004-11-29 2009-02-04 国际商业机器公司 文档编辑器及文档编辑方法
KR100656787B1 (ko) * 2004-12-13 2006-12-12 한국전자통신연구원 선인출 방식을 이용한 임대 소프트웨어 제공 서버 장치 및 그 방법
US7509628B2 (en) * 2004-12-23 2009-03-24 Microsoft Corporation Extensibility framework for developing front office (CRM) workflow automation components
US7729363B2 (en) 2005-01-24 2010-06-01 Research In Motion Limited System and method for managing communication for component applications
US20060173824A1 (en) 2005-02-01 2006-08-03 Metalincs Corporation Electronic communication analysis and visualization
US7921372B2 (en) 2005-03-25 2011-04-05 Microsoft Corporation System and method for pinning tabs in a tabbed browser
US20060224946A1 (en) 2005-03-31 2006-10-05 International Business Machines Corporation Spreadsheet programming
US20060242591A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation File dialog user interfaces and creation of same
US20060253830A1 (en) * 2005-05-06 2006-11-09 Rajanala Arun K Guiding application building using business constraint metadata
US7530029B2 (en) 2005-05-24 2009-05-05 Microsoft Corporation Narrow mode navigation pane
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
JP2007006373A (ja) 2005-06-27 2007-01-11 Konica Minolta Business Technologies Inc 書類データ管理システム、画像形成装置、書類データ管理方法、およびコンピュータプログラム
US8239882B2 (en) * 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) * 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US8176408B2 (en) 2005-09-12 2012-05-08 Microsoft Corporation Modularized web provisioning
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US7627561B2 (en) 2005-09-12 2009-12-01 Microsoft Corporation Search and find using expanded search scope
US8079037B2 (en) 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US8117562B2 (en) * 2005-10-26 2012-02-14 Microsoft Corporation Runtime modification of data presented in a graphical element
US7484180B2 (en) 2005-11-07 2009-01-27 Microsoft Corporation Getting started experience
US7975224B2 (en) 2005-12-21 2011-07-05 Xerox Corporation WYSIWYG multifunction device finishing options
US20070156519A1 (en) * 2005-12-30 2007-07-05 Shai Agassi Method and system for providing sponsored content based on previous provided content
US20070179841A1 (en) * 2005-12-30 2007-08-02 Shai Agassi Method and system for providing sponsored content based on user information
JP2007287136A (ja) 2006-03-23 2007-11-01 Oce Technologies Bv オブジェクトの順序付けられた集合に対する処理動作をプログラミングするためのシステム
US8423954B2 (en) * 2006-03-31 2013-04-16 Sap Ag Interactive container of development components and solutions
US20070240057A1 (en) 2006-04-11 2007-10-11 Microsoft Corporation User interface element for displaying contextual information
US8209308B2 (en) 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US8972876B2 (en) * 2006-05-26 2015-03-03 Sugarcrm Inc. Customer relationship management system and method
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US20080034304A1 (en) 2006-08-02 2008-02-07 Feuerbacher Frank P Method, System, and Program Product for Focus Switching Delay in a Graphical User Interface
US7793226B2 (en) 2006-08-14 2010-09-07 International Business Machines Corporation Method and system for grouping and stacking tab user interface objects with icon status indicators
US7769698B2 (en) * 2006-09-01 2010-08-03 Sap Ag Navigation through components
US7908580B2 (en) * 2006-09-07 2011-03-15 Microsoft Corporation Connecting an integrated development environment with an application instance
US20080209316A1 (en) 2007-02-27 2008-08-28 Yahoo! Inc. System and method of implementing an extensible command-line interface
US9152434B2 (en) * 2007-04-18 2015-10-06 Sap Se Enterprise user interface customization
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8209675B2 (en) * 2007-07-25 2012-06-26 Sap Ag Method and system for customizing a software application
US20090064090A1 (en) * 2007-09-05 2009-03-05 Microsoft Corporation Merged view of application customizations
US8875306B2 (en) * 2008-02-12 2014-10-28 Oracle International Corporation Customization restrictions for multi-layer XML customization
US20090217263A1 (en) * 2008-02-25 2009-08-27 Alexander Gebhart Virtual appliance factory
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US8504929B2 (en) * 2008-04-11 2013-08-06 Oracle International Corporation Editing user interface components
US8302014B2 (en) * 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090163183A1 (en) * 2007-10-04 2009-06-25 O'donoghue Hugh Recommendation generation systems, apparatus and methods
US20100146478A1 (en) * 2008-12-10 2010-06-10 Microsoft Corporation Multi-layered storage and management of software components

Also Published As

Publication number Publication date
US20110307798A1 (en) 2011-12-15
WO2011156120A2 (en) 2011-12-15
HK1182202A1 (zh) 2013-11-22
US8302014B2 (en) 2012-10-30
EP2580719A2 (en) 2013-04-17
CA2799430A1 (en) 2011-12-15
EP2580719A4 (en) 2014-07-09
CN102939612A (zh) 2013-02-20
WO2011156120A3 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
CN102939612B (zh) 在保护用户自定义的情况下合并对用户界面组件的修改的方法和系统
US11720350B1 (en) Systems and methods of a metadata orchestrator augmenting application development
US20200371760A1 (en) Systems and methods for code clustering analysis and transformation
JP6487282B2 (ja) ワークフロー管理システムにおいて実行するためのアプリケーションを開発する方法、及びワークフロー管理システムにおいて実行するためのアプリケーションの生成を支援する装置
AU2014202725B2 (en) Methods and apparatus for translating forms to native mobile applications
CN101310271B (zh) 用于生产性套件应用程序和主宿的用户界面的接口
EP1603033A2 (en) Method and apparatus for generating forms using form types
US20240045850A1 (en) Systems and methods for database orientation transformation
US20190243629A1 (en) Systems and methods for entry point-based code analysis and transformation
US20120041990A1 (en) System and Method for Generating Dashboard Display in Software Applications
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
US20180275971A1 (en) Graphical user interface programming system
US20100057760A1 (en) Generic data retrieval
CN102414660A (zh) 平台可扩展性框架
CN102567094A (zh) 标识多个资源实例的资源索引
US11349902B2 (en) System and method to standardize and improve implementation efficiency of user interface content
JP2013518321A (ja) パターンベースのユーザインターフェース
CA2949210C (en) Tabular format transaction editor
JP2016066355A (ja) Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
Smyth iPhone iOS 6 Development Essentials
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4894534B2 (ja) ジェネレータサービス提供システム、設計情報の再利用・蓄積方法及びジェネレータサービス用プログラム
KR20220166752A (ko) 워드프로세서 프로그램을 이용한 전자계약시스템
KR20190048416A (ko) 애플리케이션의 화이트 레이블링 장치 및 방법
Tupec Android components for business applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1182202

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150805

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

Effective date of registration: 20150805

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1182202

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150902

Termination date: 20200520

CF01 Termination of patent right due to non-payment of annual fee