widget-examples
Jump to navigation
Jump to search
widget examples
Contributor(s)
- Kevin Lawver
- ...
Apple's Dashboard
- Uses an XML Manifest file to specify data about the "widget" (width, height, thumbnail image, title and version).
- No requirements for markup around widgets.
Dashboard Example (plist)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AllowNetworkAccess</key> <true/> <key>CFBundleDisplayName</key> <string>AIM Fighter</string> <key>CFBundleIdentifier</key> <string>com.aimfight.widget</string> <key>CFBundleName</key> <string>AOL Fighter</string> <key>CFBundleShortVersionString</key> <string>2.0</string> <key>CFBundleVersion</key> <string>2.0</string> <key>CloseBoxInsetX</key> <integer>5</integer> <key>CloseBoxInsetY</key> <integer>5</integer> <key>MainHTML</key> <string>fight.html</string> </dict> </plist>
AOL's Channel Content Modules - Sports example
- Each module (widget) has a markup envelope and some required elements that make it a module and allow for consistent styles across products.
Example
<div class="module themedList"> <div class="header"><h3>Kevin's List Of Fruit</h3></div> <div class="body"> <ul> <li>Apples</li> <li>Oranges</li> </ul> </div> </div>
Konfabulator
- (need someone else to fill this in, have never built one or taken them apart)
WSRP
- Spec
- SOAP envelopes to transport modules, but there is no specific formatting required for the actual content of the "portlet" (module or widget).
Module Response Example
<urn:getMarkupResponse xmlns:urn="urn:oasis:names:tc:wsrp:v1:types"> <urn:markupContext> <urn:mimeType>text/html; charset=UTF-8</urn:mimeType> <urn:markupString><![CDATA[ <form method="post" action="wsrp_rewrite?wsrp-urlType=blockingAction/wsrp_rewrite" id="wsrp_rewrite_stockForm"> <table border="0" width="100%"> <tr> <td>Enter Stock Symbol</td> <td><input name="symbol"></td> </tr> <tr> <td><input type="submit" value="Submit"></td> </tr> </table> </form> ]]></urn:markupString> <urn:locale>en-US</urn:locale> <urn:requiresUrlRewriting>true</urn:requiresUrlRewriting> <urn:preferredTitle>Portfolio Manager</urn:preferredTitle> </urn:markupContext> <urn:sessionContext> <urn:sessionID>sessionID_1</urn:sessionID> <urn:expires>300</urn:expires> </urn:sessionContext> </urn:getMarkupResponse>