IP Library Granted Patent US 10,353,541
Granted Patent B1
US 10,353,541 · App. 14/671,289 · Granted Jul 16, 2019

Context menu fragment management

Inventors: Sachin Gopaldas Totale (Bangalore, IN); Deepak Michael (Bangalore, IN); Saif Ali Ansari (Namchi, IN)
Assignee: OPEN TEXT CORPORATION
G06F3/0482G06F3/04842
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,353,541
App. No.
14/671,289
Granted
Jul 16, 2019
Kind
B1
Abstract

Context menu fragment management includes obtaining an event triggering a display of a context menu, and generating a first portion of the context menu. Generating the first portion includes performing an operation in a context menu fragment expression using data from a data source to obtain a context menu fragment identifier, selecting a context menu fragment identified by the context menu fragment identifier, and adding the context menu fragment to the context menu. Context fragment management further includes generating a second portion of the context menu, and presenting the context menu.

Claims (90)

1. A method for controlling display of portions of context menus, the method comprising:

obtaining an event triggering a display of a context menu, based on interaction of a user with a user interface;

in response to obtaining the event:

generating a first portion of the context menu, wherein generating the first portion comprises:

performing a first operation in a first context menu fragment expression using first data from a first data source to obtain a first context menu fragment identifier, wherein the first operation uses the first data as input and generates an output of the first context menu fragment identifier, the first data source comprising a location of the first data, the location of the first data not within the first context menu fragment expression,

selecting a first context menu fragment identified by the first context menu fragment identifier,

loading the selected first context menu fragment, and

adding the loaded first context menu fragment to the context menu, and

generating a second portion of the context menu, wherein generating the second portion comprises:

performing an operation in a second context menu fragment expression using second data from a second data source to obtain a second context menu fragment identifier, the second data source comprising a location of the second data, the location of the second data not within the second context menu fragment expression,

selecting a second context menu fragment identified by the second context menu fragment identifier, and

adding the second context menu fragment to the context menu; and

presenting the context menu in the user interface.

2. The method of claim 1 , further comprising:

obtaining the first context menu fragment expression from an artifact for the context menu.

3. The method of claim 2 , further comprising:

obtaining the artifact for the context menu in response to the event triggering the display,

wherein the artifact is defined for a parent data type and the first context menu fragment is defined for a child data type, and

wherein the context menu is presented for an instance of the parent data type.

4. The method of claim 1 , further comprising:

performing an operation in a configurable attribute expression for the first context menu fragment to obtain a configurable attribute value; and

configuring the first context menu fragment according to the configurable attribute value.

5. The method of claim 4 , wherein the operation in the configurable attribute expression is performed using third data from a third data source.

6. The method of claim 1 , wherein the event is from a page, the context menu is presented on the page, and the first data source is an inline data source on the page.

7. The method of claim 1 , wherein the event is from a page, the context menu is presented on the page, and the first data source is external to the page.

8. The method of claim 1 , further comprising:

obtaining an artifact for the context menu in response to the event triggering the display;

obtaining the first context menu fragment expression from the artifact;

obtaining a menu option directly from the artifact; and

adding the menu option to the context menu.

9. A system for controlling display of portions of context menus, the system comprising:

a computer processor; and

memory comprising:

an event bus executable on the computer processor to:

obtain an event triggering a display of a context menu, and

transmit the event to a user interface engine, and

the user interface engine comprising a fragment subsystem, the user interface engine executable on the computer processor to:

generate a first portion of the context menu, wherein generating the first portion comprises:

performing a first operation in a first context menu fragment expression using first data from a first data source to obtain a first context menu fragment identifier, wherein the first operation uses the first data from the first data source as input and generates an output comprising the first context menu fragment identifier, the first data source comprising a location of the first data, the location of the first data not within the first context menu fragment expression,

selecting a first context menu fragment identified by the first context menu fragment identifier,

loading the selected first context menu fragment, and

adding the loaded first context menu fragment to the context menu,

generate a second portion of the context menu, wherein generating the second portion comprises:

performing an operation in a second context menu fragment expression using second data from a second data source to obtain a second context menu fragment identifier, the second data source comprising a location of the second data, the location of the second data not within the second context menu fragment expression,

selecting a second context menu fragment identified by the second context menu fragment identifier, and

adding the second context menu fragment to the context menu; and

present the context menu in a user interface.

10. The system of claim 9 , wherein the fragment subsystem is executable on the computer processor to:

obtain the first context menu fragment expression from an artifact for the context menu; and

obtain the artifact for the context menu in response to the event triggering the display,

wherein the artifact is defined for a parent data type and the first context menu fragment is defined for a child data type, and

wherein the context menu is presented for an instance of the parent data type.

11. The system of claim 9 , wherein the fragment subsystem is executable on the computer processor to:

perform an operation in a configurable attribute expression for the first context menu fragment to obtain a configurable attribute value; and

configure the first context menu fragment according to the configurable attribute value.

12. The system of claim 9 , wherein the fragment subsystem is executable on the computer processor to:

obtain an artifact for the context menu in response to the event triggering the display;

obtain the first context menu fragment expression from the artifact;

obtain a menu option directly from the artifact; and

add the menu option to the context menu.

13. A computer program product comprising a non-transitory computer readable medium storing computer readable program code executable to:

obtain an event triggering a display of a context menu, based on interaction of a user with a user interface;

in response to obtaining the event:

generate a first portion of the context menu, wherein generating the first portion comprises:

performing a first operation in a first context menu fragment expression using first data from a first data source to obtain a first context menu fragment identifier, wherein the first operation uses the first data as input and generates an output of the first context menu fragment identifier, the first data source comprising a location of the first data, the location of the first data not within the first context menu fragment expression,

selecting a first context menu fragment identified by the first context menu fragment identifier,

loading the selected first context menu fragment, and

adding the loaded first context menu fragment to the context menu, and

generate a second portion of the context menu, wherein generating the second portion comprises:

performing an operation in a second context menu fragment expression using second data from a second data source to obtain a second context menu fragment identifier, the second data source comprising a location of the second data, the location of the second data not within the second context menu fragment expression,

selecting a second context menu fragment identified by the second context menu fragment identifier, and

adding the second context menu fragment to the context menu; and

present the context menu in the user interface.

14. The computer program product of claim 13 , wherein the computer readable program code is executable to:

obtain the first context menu fragment expression from an artifact for the context menu.

15. The computer program product of claim 14 , wherein the computer readable program code is executable to:

obtain the artifact for the context menu in response to the event triggering the display,

wherein the artifact is defined for a parent data type and the first context menu fragment is defined for a child data type, and

wherein the context menu is presented for an instance of the parent data type.

16. The computer program product of claim 13 , wherein the computer readable program code is executable to:

perform an operation in a configurable attribute expression for the first context menu fragment to obtain a configurable attribute value; and

configure the first context menu fragment according to the configurable attribute value.

17. The computer program product of claim 16 , wherein the computer readable program code is executable to perform the operation in the configurable attribute expression using third data from a third data source.

18. The computer program product of claim 13 , wherein the event is from a page, the context menu is presented on the page, and the first data source is an inline data source on the page.

19. The computer program product of claim 13 , wherein the event is from a page, the context menu is presented on the page, and the first data source is external to the page.

20. The computer program product of claim 13 , wherein the computer readable program code is executable to:

obtain an artifact for the context menu in response to the event triggering the display;

obtain the first context menu fragment expression from the artifact;

obtain a menu option directly from the artifact; and

add the menu option to the context menu.

Assignments (7)
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 Jan 31, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041139/0924 →
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 →
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 →
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 Apr 21, 2015
From: TOTALE, SACHIN GOPALDAS; MICHAEL, DEEPAK; ANSARI, SAIF ALI
To: EMC CORPORATION
Reel/Frame 035454/0100 →