IP Library Granted Patent US 10,540,150
Granted Patent B2
US 10,540,150 · App. 14/842,713 · Granted Jan 21, 2020

Composable context menus

Inventors: Sachin G. Totale (Bangalore, IN); Deepak Michael (Bangalore, IN); Saif Ali Ansari (Namchi, IN); Shubha Ravi (Bangalore, IN)
Assignee: OPEN TEXT CORPORATION
G06F8/38G06F3/0482G06F3/04845G06F9/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,150
App. No.
14/842,713
Filed
Sep 1, 2015
Granted
Jan 21, 2020
Kind
B2
Art Unit
2199
USPC
717/109
Abstract

Developer-composed context menus, e.g., composed by a developer in connection with use of a software development tool to create an application, are disclosed. In various embodiments, a definition of a context menu option and an associated action are received. Application code to implement the context menu at runtime, including by performing processing at runtime as defined in the definition to determine one or both of the context menu option and the associated action, is generated programmatically.

Claims (37)

1. A method, comprising:

receiving via a software development tool interface a context menu option definition; and

generating, using one or more processors, based at least in part on the context menu option definition, an application code to implement a context menu at runtime and to create an invisible object that is associated with an application page during execution of the application page, wherein the invisible object is configured to consume an event during display of the application page, update a context menu related value responsive to the event, and provide, to the context menu, a current context menu related value with which a context menu option of the context menu is updated during display of the application page.

2. The method of claim 1 , wherein the context menu is displayed in response to detection of a predetermined event during execution of the application page.

3. The method of claim 1 , further comprising determining, at a time at which the context menu is displayed, the context menu option to display based on the current context menu related value.

4. The method of claim 1 , wherein the definition includes an expression.

5. The method of claim 4 , wherein the application code includes code to evaluate the expression at runtime.

6. The method of claim 4 , wherein the expression includes as an argument an application context data.

7. The method of claim 4 , wherein the expression includes as an argument an application user interface event payload data.

8. The method of claim 1 , further comprising receiving an action definition for a publishing action associated with the context menu option.

9. The method of claim 8 , wherein the application code includes code to determine at runtime a payload of an event to be published according to the publishing action.

10. The method of claim 1 , wherein the application code includes code to create and associate with the application page at runtime an invisible context menu associated object, and wherein the invisible context menu associated object corresponds to the invisible object.

11. The method of claim 10 , wherein the invisible context menu associated object is configured to provide context menu related functionality.

12. The method of claim 11 , wherein the invisible context menu associated object provides at least a subset of the context menu related functionality even when the context menu is not displayed.

13. The method of claim 12 , wherein the invisible context menu associated object supports chaining of context menu related actions even after the context menu is no longer displayed.

14. The method of claim 1 , wherein the invisible object can be used across multiple application pages.

15. The method of claim 1 , further comprising receiving an action definition that specifies processing to be performed at runtime to determine one or more of an action to perform responsive to selection of the context menu option, a manner in which to perform the action, and a target or other destination of the action.

16. The method of claim 1 , further comprising:

displaying the application page; and

in the event that the application page is displayed, loading the invisible object.

17. A system, comprising:

a data storage device; and

a processor coupled to the data storage device and configured to:

receive via a software development tool interface and store in the data storage device a context menu option definition; and

generate, based at least in part on the context menu option definition, an application code to implement a context menu at runtime and to create an invisible object that is associated with an application page during execution of the application page, wherein the invisible object is configured to consume an event during display of the application page, update a context menu related value responsive to the event, and provide, to the context menu, a current context menu related value to update a context menu option of the context menu during display of the application page.

18. The system of claim 17 , wherein the context menu is configured to be displayed in response to detection of a predetermined event during execution of the application page.

19. The system of claim 17 , wherein the application code is configured to determine, at a time at which the context menu is displayed, the context menu option to display based on the current context menu related value.

20. The system of claim 17 , wherein the definition includes an expression.

21. The system of claim 20 , wherein the application code includes code to evaluate the expression at runtime.

22. The system of claim 20 , wherein the expression includes as an argument an application context data.

23. The system of claim 20 , wherein the expression includes as an argument an application user interface event payload data.

24. The system of claim 17 , wherein the processor is further configured to receive an action definition for a publishing action associated with the context menu option.

25. The system of claim 24 , wherein the application code includes code to create and associate with the application page at runtime with an invisible context menu associated object, and wherein the invisible context menu associated object corresponds to the invisible object.

26. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving via a software development tool interface a context menu option definition; and

generating, based at least in part on the context menu option definition, an application code to implement a context menu at runtime and to create an invisible object that is associated with an application page during execution of the application page, wherein the invisible object is configured to consume an event during display of the application page, update a context menu related value responsive to the event, and provide, to the context menu, a current context menu related value to update a context menu option of the context menu during display of the application page.

27. The computer program product of claim 26 , wherein the definition includes an expression.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0805) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT CORPORATION
Reel/Frame 067807/0069 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT CORPORATION
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0008 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0805 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0831 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0839 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041141/0218 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2015
From: TOTALE, SACHIN G.; MICHAEL, DEEPAK; ANSARI, SAIF ALI; RAVI, SHUBHA
To: EMC CORPORATION
Reel/Frame 037046/0054 →
Continuity (2)
Continuation 14136287 · Dec 20, 2013
Related Publication 20160054986A1 · Feb 25, 2016