DISCOVERING AND INSTALLING WEB APPLICATION PLUGINS
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.
1 - 10 . (canceled)
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.