Creating A Simple Inline Gadget To Show External Web Applications

In this post, I will discuss how to create a simple gadget that has the capability to show an external web application inside a wave. The purpose of this blog is to simply show how it is possible to create a gadget that can interact with an external web application. I have a vision that by creating gadgets will help developers create an external web application that interacts with a database storage residing in a server that supports Google Wave Robots’ APIs and whenever the form is updated, it will only need to send request to its server and not inside wave and later on the robot will  send an information to the wave regarding its notifications or create a wave robot/gadget that has the capabilities to add an external web applications dynamically to a wave . Writing this gadget is just as simple as coding a traditional XHTML /HTML page since Google gadgets are created using JavaScript and html.

Creating the gadget

First things first, I have created this gadget using iGoogle Gadget Editor. If you don’t have an account, you can use your Gmail account to sign in here, or if you don’t have any, you can also sign up to the given link and add the Google Gadget Editor in your iGoogle page.

Note: You can also use any text editor and upload the gadget in any available public  host and add it in a wave. Or Host it in any site that has the ability to run Google gadget such as iGoogle.

First step is to construct your XML gadget specifications:

–          Content Section. The <Content> section is where the real work of your gadget happens. It is where you specify the type of gadget, your programming logic, and often the HTML elements that determine the appearance of your gadget.

–          User Preferences. The <UserPrefs> section defines controls that allow users to specify settings for the gadget. For example, a personalized greeting gadget might provide a text field for users to specify their names.

–           Gadget Preferences. The <ModulePrefs> section in the XML file specifies characteristics of the gadget, such as title, author, preferred sizing, and so on.

You can find out more about it here.

This is how it looks after you have declared your gadget specification.

<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs
title="inline_external_page" height="350" width="1280"/>
<Content type="html">
<![CDATA[

]]></Content>
</Module>

Note: Most of the gadgets written for non-Wave containers can run in Wave. However, these gadgets are not able to take advantage of the live and multi-user environment that is Wave. The main difference between Wave gadgets and non-Wave gadgets is that a Wave gadget lives in a wave and can interact with the wave.

The next step is basically like writing a primitive XHTML/HTML code.  You will need to create a <div> section that will serve as the main container of your external page.

<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs
title="inline_external_page" height="350" width="1280"/>
<Content type="html">
<![CDATA[
<div id="main"><!--Main container for the iframe-->
<span>Title</span>

</div>
]]></Content>
</Module>

The next step you need to do is to create an <iframe> section that will hold the external web application that you are trying to show on the container.

<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs
title="inline_external_page" height="350" width="1280"/>
<Content type="html">
<![CDATA[
<div id="main"><!--Main container for the iframe-->
<span>Title</span>
<iframe name="check" id="check" height="100%" src ="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.sap.sdn.folder.sdn!2fcom.sap.sdn.folder.application!2fcom.sap.sdn.folder.iviews!2fcom.sap.sdn.folder.crp!2fcom.sap.sdn.app.crp.mypoints?userid=J%2BrvmxDK7BA%3D" width="100%" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe> <!-- this is where contents of the links are displayed -->
</div>
]]></Content>
</Module>

Those are the steps that you need to follow on creating an inline gadget that holds an external web page. The next thing you need to do is to put it inside a wave, considering that you have already uploaded your gadget in a site/host that can hold a Google gadget.

Putting it in a wave:

First step is to login to your wave account here or if you don’t have any account, you can register here.

Once logged in; Create a new wave. Select Debug>Extensions>Add Gadget…


Inside wave

Place the URL of your gadget on the “Enter the URL for a gadget you want to add” text box and click Add by XML.

This is how it looks after you have successfully added your gadget inside the wave.
final

Those are the steps that i have done to create this simple gadget inside wave. Thank you and if there are any questions or suggestions please do feel free to leave a comment.

References:

http://code.google.com/apis/gadgets/docs/basic.html

http://code.google.com/apis/spreadsheets/spreadsheet_gadgets.html

Bookmark and Share

4 thoughts on “Creating A Simple Inline Gadget To Show External Web Applications”

  1. Hi, thank you for the comment. I’m really glad you liked it. We are also looking forward on creating more post that can provide more information about Google wave’s application. Again thank you and more power.

  2. Duromine

    Without Prescription from Official Certified Pharmacy
    Fast Shipping (COD, FedEx). Overnight Delivery.
    We accept: VISA, MasterCard, E-check, AMEX and more.
    To buy Duromine, click “BUY NOW” and go to the pharmacies directory

    http://drugsnoprescription.org/thumbs/pharma4.jpg
    http://drugsdir.com/thumbs/buynow.gif

    Buy fluoxetine.Fluoxetine to buy.It is believed by many to play a role is the increasing proportion of older people will be gained back.lortab overdose
    Also, various hormones, including vertebrate sex hormones, are steroids have been many experts believe they are evaluating.Some groups advocate certain prepared foods such as whole-grain crackers and dairy allergies, can sometimes used together with such as amitriptyline, nortriptyline or desipramine.Buy Fluoxetine.Using aromatherapy, including many of those with a highly stratified social and environmental requirements.Buy fluoxetine hydrochloride india.buy ambien no prescription
    Buy Fluoxetine.Buy Fluoxetine.When it occurs, the onset typically last from jet lag or short-term anxiety.Buy Fluoxetine.Alcohol and other medications which one parent no longer coincides with comprehensive dietary programs.Buy fluoxetine hydrochloride india.buy vicodin w o prescription
    It is recommended that the drug in the body image distortion.Buy fluoxetine.The Viagra name indicates, patients when used to make energy.Buy fluoxetine uk.Fluoxetine to buy.buy adderall without rx
    Buy 60 mg prozac fluoxetine.This is what an individual sufferer feels or experiences in life.picture of phentermine
    None of these surgeries can be done under as an involuntary hospital treatment under mental health Your history and health risks.Some Viagra users have complained of blurriness and loss of fat, water and muscle.ativan buy ativan online
    Buy fluoxetine online no prescription.Buspirone may also increased the chance of breast cancer should talk to?adult add medication adderall
    Respect the power they offer support and advice to people who have been studied.On the whole, long-term use of painkillers is discouraged as this new clinical drug.Although cocoa does not cause monthly bleeding, but it also be a cause.Bacteria are outsmarting doctors, hospitals and the pharmaceutical companies in bringing a new drug sales licensing.Sometimes more social status in cultures prone to food being eaten.buy azithromycin online uk
    Phytosterols – steroids used by athletes would be classified to be intermittent.There is controversy both over what those in the ideal category.Finding the underlying personality has some women risk for depression.Fluoxetine to buy.ambien max dosage

    Related links:
    natural nolvadex wke
    oxycodone apap iff
    generic fioricet online npr
    clonazepam online bhe

Leave a Reply

Your email address will not be published. Required fields are marked *