IP Library Granted Patent US 10,540,065
Granted Patent B2
US 10,540,065 · App. 15/822,863 · Granted Jan 21, 2020

Metadata driven dialogs

Inventors: Anusha Shankar (Woodinville, WA); Bharath Swaminathan (Renton, WA); Zhi J. Zhao (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F3/0484G06F8/38G06F9/451
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,540,065
App. No.
15/822,863
Granted
Jan 21, 2020
Kind
B2
Abstract

Dialog metadata is used to generate a metadata driven dialog definition. The metadata can define logic that is run on the dialog, and customizations to the dialog are made by modifying the dialog metadata.

Claims (58)

1. A method performed by a client computing device, the method comprising:

generating a user interface display within an application context of an application;

receiving a metadata representation that:

defines a control layout associated with a control on a dialog, and

comprises logic metadata identifying logic executable on the dialog;

based on the metadata representation, generating the dialog that:

comprises the control in accordance with the control layout,

includes dialog content and data bound to the dialog based on an input parameter that corresponds to the application context and is received through a dialog application programming interface (API) associated with the dialog, and

is rendered within the application context such that the dialog overlays at least a portion of the user interface display;

receiving an indication of a user input associated with the dialog rendered within the application context; and

generating an output parameter by executing the logic based on the user input, the output parameter being received from the dialog through the dialog API.

2. The method of claim 1 , and further comprising:

receiving the input parameter from the application; and

providing the output parameter to the application.

3. The method of claim 1 , wherein the user interface display comprises an application page associated with the application.

4. The method of claim 1 , wherein the logic performs user interface functionality of the dialog.

5. The method of claim 1 , wherein the metadata representation comprises data binding metadata indicative of a data source bound to the control on the dialog.

6. The method of claim 1 , wherein receiving a metadata representation comprises:

receiving the metadata representation from a computing system that is remote from the client computing device.

7. The method of claim 1 , wherein the metadata representation comprises a markup language representation of the dialog.

8. The method of claim 7 , wherein the markup language representation comprising an XML representation of the dialog.

9. A computing system comprising:

a processor; and

memory storing instructions executable by the processor, wherein the instructions configure the computing system to:

obtain a metadata definition that defines a control layout associated with a control on a dialog and logic to be executed on the dialog, the dialog being associated with an application page of an application having an application context;

based on the metadata definition, generate the dialog that:

comprises the control in accordance with the control layout,

includes dialog content and data bound to the dialog based on an input parameter that corresponds to the application context and is received through a dialog application programming interface (API) associated with the dialog, and

is rendered within the application context such that the dialog overlays at least a portion of the parent page;

receive an indication of a user input associated with the dialog; and

generate an output parameter indicative of logic executed on the dialog based on the user input, the output parameter being received from the dialog through the dialog API.

10. The computing system of claim 9 , wherein the instructions configure the computing system to:

receive the input parameter from the application; and

provide the output parameter to the application.

11. The computing system of claim 9 , wherein the application page comprises a parent page associated with the application.

12. The computing system of claim 9 , wherein the logic performs user interface functionality of the dialog.

13. The computing system of claim 9 , wherein the metadata representation comprises data binding metadata indicative of a data source bound to the control on the dialog.

14. The computing system of claim 9 , wherein the metadata representation is received from a remote system that is remote from the computing system.

15. The computing system of claim 9 , wherein the metadata representation comprises a markup language representation of the dialog.

16. The computing system of claim 15 , wherein the markup language representation comprising an XML representation of the dialog.

17. A computing system comprising:

a processor; and

memory storing instructions executable by the processor, wherein the instructions configure the computing system to:

receive a request to render a dialog within an application context of an application, the request being associated with a client device;

send, to the client device, a metadata representation that defines a control layout associated with a control on the dialog and includes logic metadata identifying logic executable on the dialog;

based on the request,

send, through a dialog application programming interface (API) associated with the dialog, an application parameter corresponding to the application context; and

receive, through the API, a result that is indicative of the logic executed on the dialog based on the application parameter.

18. The computing system of claim 17 , wherein the instructions configure the computing system to:

generate a representation of a dialog definition user interface display comprising a dialog type selection user input mechanism;

receive an indication of user actuation of the dialog type selection user input mechanism;

based on the indication of user actuation of the dialog type selection user input mechanism, select a dialog type from a plurality of dialog types; and

generate the metadata definition based on the selected dialog type.

19. The computing system of claim 17 , wherein the metadata representation comprises data binding metadata indicative of a data source bound to the control on the dialog.

20. The computing system of claim 18 , wherein the representation of the dialog definition user interface display comprises a control selection user input mechanism, a logic definition user input mechanism, and a data binding user input mechanism, and wherein the instructions configure the computing system to:

based on an indication of user actuation of the control selection user input mechanism, select the control and define the control layout;

based on an indication of user actuation of the logic definition user input mechanism, generate the logic metadata; and

based on an indication of user actuation of the data binding user input mechanism, generate the data binding metadata.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2017
From: SHANKAR, ANUSHA; SWAMINATHAN, BHARATH; ZHAO, ZHI J.
To: MICROSOFT CORPORATION
Reel/Frame 044225/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044225/0989 →
Continuity (3)
Continuation 14312979 · Jun 24, 2014
Provisional Application 61947165 · Mar 3, 2014
Related Publication 20180081516A1 · Mar 22, 2018