Ignite Realtime is the community site for the users and developers of Jive Software's open source Real Time Communications projects. Your involvement is helping to change the open RTC landscape.
This Sunday, igniterealtime.org will move to a new server. The time window for moving the site is 12:00pm - 4:00pm (PST), but the expected downtime is fairly short. The server move will let us more rapidly respond to server issues and also to more easily roll out new services.
After Gato made this suggestion in my last blog, I decided to move this request to the top of my to-do list as I also need it for another project I am currently working on.

How does it work?
I am using the Flex Dashboard developed by ESRIA which was donated to the Adobe Developer Connection. Plugins are presented in a pod layout called a View. Each View occupies a Tab in the SparkWeb ChatWindow. You can modify Views by dragging and dropping pods to a different location and minimizing, maximizing, and restoring pod windows. View changes are saved using a LocalSharedObject. View configuration data is loaded from sparkweb/plugins/plugins.xml with values in plugins.xml indicating which swf file to load for a particular pod within each View.

<views>
<view id="view0" label="Plugin Demo">
<pod id="app01" title="User Moods" dataSource="plugins/moods.swf" />
<pod id="app02" title="User Tunes" dataSource="plugins/usertunes.swf" />
<pod id="app03" title="Demo" dataSource="plugins/demo.swf" />
</view>
</views>
SparkWeb will load each pod SWF file and call the method setParentApplication passing it the SparkWeb root Application object. From this object, you can navigate your way to access all other SparkWeb public objects and even add eventhandlers on events like NewMessage for example.
To get a feel of what can be done, I decided to implement the User Tunes and Moods PEP (personal eventing protocol) applications. See Armando Jagucki's blog for more details about PEP in Openfire. The source code to the demo plugins is in the src/plugins folder.
For those interested, the latest version of Red5 Plugin for Openfire can be found at _http://red5.4ng.net/red5-0.1.06.zip. Remove comments in plugins.xml to activate the demo.
The latest version of the Openfire Red5 plugin supports Openfire Fastpath and Webchat plugins from SparkWeb.
http://red5.4ng.net/red5-0.1.04.zip
You can now use SparkWeb as a support agent to a workgroup queue and engage in a live support chat with a remote Webchat user on a website. It is fully compatible with Spark, but does not have all the Fastpath features of Spark yet.

It will also let a support agent start a Red5 audio/video conference or desktop share session with the remote user.

The requests will appear as Webchat co-browsing requests. The user clicks on the link to start the video conference in a web browser window.
We've released the first beta of Smack 3.1.0. Although it's been about a year since the last release, this version is jam-packed with great new features and bug fixes. Check out the changelog for full details.
We expect the beta process on the release to be relatively quick, but much will depend on the stability feedback we get. There are also a few last changes that we're looking to get in before the final release.
Gato and I are sitting together drinking beers and hacking on Ignite code. After a hiatus (too long), we're both back to working on Smack and Openfire weekly. As I'm writing this, Gato is doing some super low level Java debugging to figure out a strange XML parsing error that we're seeing when running the Smack test cases. Assuming we get to the bottom of the problem, we plan to package up and release a new beta release of Smack. It includes lots of great improvements, but I'll leave the details for the next blog post. We have several goals around our weekly hackathons:
We're looking forward to demonstrating progress and to keeping the Ignite projects at the forefront of the XMPP world.