System for defining and activating pluggable user interface components for a deployed application
First Claim
Patent Images
1. A system comprising:
- a computer-readable storage medium storing an XML schema defining user experiences associated with various application programs, said XML schema comprising;
a plurality of experience fields, each of the plurality of experience fields storing an experience value representing a user interface experience associated with an application program, wherein at least one of the plurality of experience fields stores a default experience value representing a default user interface experience;
a plurality of application element fields associated with each of the plurality of experience fields, each of the plurality of application element fields storing an application element value representing an application element associated with the experience value stored in the experience field; and
an element class field associated with each of the plurality of application element fields, the element class field storing an element class value representing an action, state, or form associated with the application element value stored in the application element field; and
a processor configured to execute computer-executable instructions for;
receiving a request for data from the application program specifying a version of the application program, specifying a platform and specifying a client extension of a client executing the application program;
identifying, in the XML schema, a group of matching experience fields as a function of the received request, said identifying comprising;
determining a specific experience field corresponding to the received request based on the specified application program, based on the specified version of the application program, based on the specified platform of the client executing the application program, and based on the specified client extension of the client;
modifying the specified client extension of the received request to a wildcard;
modifying the specified platform of the received request to a wildcard;
modifying the specified application program of the received request to a wildcard; and
determining additional specific experience fields based on each modified request;
identifying a most specific experience field from the group of matching experience fields which is more specific than the other experience fields of the group, wherein the group of matching experience fields comprises the determined specific experience field and all of the determined additional specific experience fields;
identifying one of the plurality of application element fields associated with the identified experience field as a function of the requested data;
identifying one of the plurality of element class fields associated with the identified application element field as a function of the action, state, or form associated with the application element value, said identifying further comprising selecting a form associated with the identified element class field; and
providing the selected form to the application program in response to the received request.
2 Assignments
0 Petitions
Accused Products
Abstract
Maintaining a plurality of application component catalogs describing user experiences associated with particular application programs. The invention includes an extensible schema for the application component catalogs and a method for matching user experiences within the application component catalogs to particular user requests. The invention provides an extensible and scalable infrastructure for customizing a user interface experience.
-
Citations
17 Claims
-
1. A system comprising:
-
a computer-readable storage medium storing an XML schema defining user experiences associated with various application programs, said XML schema comprising; a plurality of experience fields, each of the plurality of experience fields storing an experience value representing a user interface experience associated with an application program, wherein at least one of the plurality of experience fields stores a default experience value representing a default user interface experience; a plurality of application element fields associated with each of the plurality of experience fields, each of the plurality of application element fields storing an application element value representing an application element associated with the experience value stored in the experience field; and an element class field associated with each of the plurality of application element fields, the element class field storing an element class value representing an action, state, or form associated with the application element value stored in the application element field; and a processor configured to execute computer-executable instructions for; receiving a request for data from the application program specifying a version of the application program, specifying a platform and specifying a client extension of a client executing the application program; identifying, in the XML schema, a group of matching experience fields as a function of the received request, said identifying comprising; determining a specific experience field corresponding to the received request based on the specified application program, based on the specified version of the application program, based on the specified platform of the client executing the application program, and based on the specified client extension of the client; modifying the specified client extension of the received request to a wildcard; modifying the specified platform of the received request to a wildcard; modifying the specified application program of the received request to a wildcard; and determining additional specific experience fields based on each modified request; identifying a most specific experience field from the group of matching experience fields which is more specific than the other experience fields of the group, wherein the group of matching experience fields comprises the determined specific experience field and all of the determined additional specific experience fields; identifying one of the plurality of application element fields associated with the identified experience field as a function of the requested data; identifying one of the plurality of element class fields associated with the identified application element field as a function of the action, state, or form associated with the application element value, said identifying further comprising selecting a form associated with the identified element class field; and providing the selected form to the application program in response to the received request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computerized method for providing a user interface experience upon receiving a request for data from software, said received request identifying a user associated with the request, identifying the software, identifying an element class, including an action value and including a state value, said computerized method comprising:
-
creating a key based on the identified software, the identified element class, the identified action and the identified state; identifying an application component catalog from a plurality of application component catalogs as a function of the user, said application component catalog including a plurality of user interface experiences, said application component catalog being represented as an XML schema; performing a lookup in a plurality of forms associated with the plurality of user interface experiences of the identified application component catalog; if one or more matching forms to the created key is found from the plurality of forms, returning the most specific form of the matching forms to the software; and if no matching forms are found in the plurality of forms, performing a lookup in the plurality of forms after setting the state and one or more of the action and the class of the created key to wildcard, wherein if no match is found upon setting at least the state of the created key to wildcard, a fail value is returned. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. One or more computer-readable storage media having computer-executable components for providing a user interface experience upon request, said components comprising:
-
a communications component for receiving a request for data from software, said received request identifying a user associated with the request, said received request specifying an action value and a state value, said received request further specifying a version of the software, a platform of client of the user executing the software, and specifying a client extension of the client; a user mapping component for identifying an application component catalog corresponding to the identified user, said application component catalog including a plurality of user interface experiences, wherein at least one of the plurality of user interface experiences represents a default user interface experience, said application component catalog being represented as an XML schema; an experience mapping component for identifying one of the plurality of user interface experiences in the identified application component catalog, said identified user interface experience having a plurality of forms associated therewith, said identified user experience being the most specific experience field from a group of matching experience fields, said matching experience fields generated by; determining a specific experience field corresponding to the received request based on the software, the specified version of the software, the specified platform of the client executing the software, and the specified client extension of the client; modifying the specified client extension of the received request to a wildcard; modifying the specified platform of the client of the received request to a wildcard; and modifying the specified software of the received request to wildcard; determining additional specific experience fields based on each modified request; wherein the group of matching experience fields comprises the determined specific experience field and all the determined additional specific experience fields; and an user interface mapping component for identifying one of the plurality of forms in the identified user interface experience as a function of the action value and the state value, wherein the communications component provides the identified form to the software. - View Dependent Claims (15, 16, 17)
-
Specification