IP Library Granted Patent US 8,839,233
Granted Patent B2
US 8,839,233 · App. 13/843,853 · Granted Sep 16, 2014

Discovering and installing web application plugins

Inventor: Simon Richard Kaegi (Ottawa, CA)
Assignee: International Business Machines Corporation
H04L67/10G06F8/61G06F17/21G06F9/445G06F17/30G06F9/44526H04L67/02
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 8,839,233
App. No.
13/843,853
Granted
Sep 16, 2014
Kind
B2
Abstract

A method for discovering and installing web application plugins is disclosed. In one embodiment, such a method includes initiating a client-side component of a server-based web application. The client side-component hosts a first document. The method opens an inline frame, such as an IFrame or Web Worker, within the first document that hosts a second document. The method uses cross-document messaging to communicate, from the second document to the first document, metadata describing a plugin's capabilities and metadata describing an API to access the plugin's capabilities via cross-document messaging. The method utilizes the capabilities of the plugin using cross-document messaging in accordance with the API. A corresponding system and computer program product are also disclosed.

Claims (34)

1. A method for discovering and installing web application plugins, the method comprising:

initiating a client-side component of a server-based web application, the client side-component hosting a first document;

opening, by the client-side component, an inline frame within the first document, the inline frame hosting a second document different from the first document;

using cross-document messaging to communicate, from the second document to the first document, metadata describing a plugin's capabilities, the metadata further providing an API to access the plugin's capabilities via cross-document messaging; and

utilizing the capabilities of the plugin using cross-document messaging in accordance with the API.

2. The method of claim 1 , wherein the first document is hosted by a first web site, and the second document is hosted by a second web site different from the first web site.

3. The method of claim 2 , wherein the first web site is hosted on a first server, and the second web site is hosted on a second sever different from the first server.

4. The method of claim 1 , wherein the first and second documents are HTML documents.

5. The method of claim 1 , further comprising persisting the metadata on a server hosting the server-based web application.

6. The method of claim 1 , further comprising installing, by the client-side component, the plugin by recording the metadata in a plugin registry.

7. The method of claim 6 , wherein using the plugin comprises initially selecting the plugin from a menu.

8. The method of claim 7 , wherein the menu lists plugins registered in the plugin registry.

9. The method of claim 6 , further comprising uninstalling, by the client-side component, the plugin by deleting the metadata from the plugin registry.

10. The method of claim 1 , wherein opening an inline frame comprises opening one of an HTML IFrame and a Web Worker.

11. A computer program product for discovering and installing web application plugins, the computer program product comprising a non-transitory computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code comprising:

computer-usable program code to initiate a client-side component of a server-based web application, the client side-component hosting a first document;

computer-usable program code to open an inline frame within the first document, the inline frame hosting a second document different from the first document;

computer-usable program code to use cross-document messaging to communicate, from the second document to the first document, metadata describing a plugin's capabilities, the metadata further providing an API to access the plugin's capabilities via cross-document messaging; and

computer-usable program code to utilize the capabilities of the plugin using cross-document messaging in accordance with the API.

12. The computer program product of claim 11 , wherein the first document is hosted by a first web site, and the second document is hosted by a second web site different from the first web site.

13. The computer program product of claim 12 , wherein the first web site is hosted on a first server, and the second web site is hosted on a second sever different from the first server.

14. The computer program product of claim 11 , wherein the inline frame is selected from an HTML IFrame and a Web Worker.

15. The computer program product of claim 11 , further comprising computer-usable program code to install the plugin by storing the metadata in a plugin registry of the client-side component.

16. A system for discovering and installing web application plugins, the system comprising:

a first server hosting a web application;

a second server hosting a plugin for the web application; and

a client computer hosting a client-side component of the web application, the client-side component hosting a first document, wherein the client-side component is configured to:

open an inline frame within the first document, the inline frame hosting a second document different from the first document;

use cross-document messaging to communicate, from the second document to the first document, metadata describing a plugin's capabilities, the metadata further providing an API to access the plugin's capabilities via cross-document messaging; and

utilize the capabilities of the plugin using cross-document messaging in accordance with the API.

17. The system of claim 16 , wherein the inline frame is one of an HTML IFrame and a Web Worker.

18. The system of claim 16 , wherein the client-side component is configured to install the plugin by recording the metadata in a plugin registry.

19. The system of claim 18 , wherein the client-side component is configured to uninstall the plugin by deleting the metadata from the plugin registry.

20. The system of claim 16 , wherein the first and second documents are HTML documents.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2013
From: KAEGI, SIMON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030023/0815 →
Continuity (2)
Continuation 13309509 · Dec 1, 2011
Related Publication 20130218954A1 · Aug 22, 2013