Regular readers of this blog will notice an almost schizophrenic approach to posts, going from sound* educational technology advice (voting systems, feedback, social media) to the other end of the spectrum with general frolicking in code, mashups and anything with a binary pulse. A new area which up until now I’ve been keeping a watching brief on is widgets.
* Well one hopes that it’s interpreted as such
The general concept of a widget is a reusable block of code that can be dropped into a webpage. You probably already use lots of widgets like twitter badges/buttons, website counters, rss feed displays. The reason I’m interested in widgets is they provide a way for students to personalise the way they interact with big systems like your institution’s VLE.
Sheila MacNeill from JISC CETIS has a nice post summarising a recent event they ran to showcase some of the existing projects (JISC and EU funded) using widgets in education which was followed by tutorials to help participants make their own widgets build for the Apache Wookie widget server (See Widget Bash - what a difference two days make). Wookie is designed to serve widgets,built to the W3C widget specification, yes that’s right there is a specification for widgets, but using extended APIs can incorporate other widget formats like Google Wave Gadgets and OpenSocial. (It was actually when I was exploring the use of Google Wave back in late 2009 that I first came across Wookie (See Moodle Wave: Embedding Google Wave into Moodle)).
Step 1 download and install the latest version of Wookie … and that was how far I got.
I didn’t go any further because having already made my first widget I knew at a basic level all it required was some xml and html and installing Apache Ant, configuring IDE’s … might be too off putting for the average user. What I wanted was to do was run a file and start playing a Sudoku widget.
Through the EduApps initiative for the last 2/3 years I’ve been supporting the use of portable open source and freeware applications which can be run from a usb stick. This method is a create way to distribute and make people aware of all the goodness of open and free software tools without the need to install anything on their PC. True plug and play.
*** Portable Apache Wookie Server [Win32bit only I’m afraid] ***
To use, extract the files to the root of a usb stick, the structure should look like:
F:\ +--- ant +--- Java +--- RapidSVN +--- wookie | +--- wookie_usb_start.bat +--- wookie_usb_start_debug.bat
To run follow steps 9 to 11 from the section below. The package also includes RapidSVN which will allow you to synchronize the stick with the latest project files. To do this run PortableRapidSVN.exe in the RapidSVN folder and select Modify –> Update.
More information on Wookie and widgets here including:
- Downloading and Installing Wookie
- Wookie Server Administrators Guide
- Embedding Wookie Widgets
- Building Widgets
- Using Wookie's W3C Widget Parser in other Applications
- Integrating Wookie with Shindig
- Testing a Release
Portable Apache Wookie Server Recipe
- Download Apache Ant 1.7.1 (NOTE: There is a known issue when using Ant version 1.8.x)
- Extract Ant to USB drive root e.g. F:\ant
- Grab the latest Wookie server code (you’ll need to use a SVN Client like TortoiseSVN or RapidSVN) to do this). The url for the code is http://svn.apache.org/repos/asf/incubator/wookie/trunk
- Place the code in a folder on your stick e.g. F:\wookie
- If you don’t have it download and install the latest Java JDK
- Copying the contents of C:\Program Files\Java\jdk1.6.0_24 to F:\Java
- Navigate to F:\ant\bin\ and edit ant.bat, find :checkJava and after
add these 2 lines:
set pathDrive=%cd:~0,2% set JAVA_HOME=%pathDrive%\Java
- Navigate to F:\ and make a new Text Document. Open the file and add:
@echo off set pathDrive=%cd:~0,2% cd %pathDrive%\ant\bin call ant.bat -buildfile %pathDrive%\wookie\build.xml -Divy.home=%pathDrive%\ivy run pause
- Save the file as wookie_usb_start.bat
- You should now be able to run wookie_usb_start.bat (the first time you run it, it will compile the project files which can take up to 20 minutes, after that it will take around 5 minutes)
- When the command window reaches the line below open http://localhost:8080/wookie to try out the example widgets:
[java] 22:28:45,578 INFO ContextListener:210 - freeder' - Widget was successfully imported into the system.