Skip navigation

Ignite Realtime Blog

4 Posts tagged with the plugin tag
32

Java-monitor.com has released a new, free Openfire plugin that allows you to monitor your Openfire instance remotely. The plugin will notify you if your server goes off-line. It also allows you to keep a close eye on a number of important health indicators, such as the usage pattern of the Openfire worker threads, JVM memory usage and garbage collection statistics, JVM thread and Openfire's database connection pool usage.

 

Unlike most monitoring tools, you don't have to set up a monitoring server yourself for this to work. Java-monitor.com provides the infrastructure to do the monitoring for you. The probe that's integrated in the Openfire plugin sends statistics to java-monitor.com. Everything else is handled there. You can view the data from their website, as shown below.

Java-Monitor architecture

To get started, register an account at http://java-monitor.com/install.html. After you've registered, you'll be able to download a personalized Java-Monitor probe package, which includes an Openfire plugin. Add this plugin to your Openfire installation, and you're done! The plugin will automatically start collecting data. Java-monitor allows you to monitor Openfire from anywhere - all you need is a javascript enabled browser.

16

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.

 

http://red5.4ng.net/gtms/user_tune.jpg

 

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.

 

http://red5.4ng.net/gtms/plugins.jpg

 

<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.

17

When SparkWeb became open-source, I took a look at the source code and found it had more features than the Flex-based XMPP client I was co-developing for the Red5 Plugin. It therefore made sense to migrate the Flash audio and video features we had developed for our client to SparkWeb and make it compatible with the Spark and Openfire Red5 Plugins and package it as part of the Red5 plugin. The downside to this that the modifications to the Red5 version of SparkWeb makes it out of sync with the official SVN and it could possibly become a fork requiring a name change later on.

 

So what does the Red5 SparkWeb offer?

 

  1. A plugin container for SparkWeb. I noticed  that quite a number of users are asking for a plugin to deploy SparkWeb. My advice would be to try the Red5 Plugin.

    Configure  Index.html and point your users at

    http://your_server:nnnn/red5_webapp_name/sparkweb

    Where nnnn is your HTTP-BIND port number (default 7070) and red5_webapp_name is your default red5 web application name (default red5)

  2. Enables use of the Red5 plugin audio and video features with both Spark and SparkWeb. You can't do video messaging and the video roster is replaced with visual presence (see below). You can make audio/video calls and share your desktop with your contacts. Each call record is logged in openfire and can be queried by the administrator with the Openfire SIP plugin.

  3. Makes SIP phone calls between Spark and SparkWeb users. All SparkWeb SIP calls are logged with the Openfire SIP plugin as well.

  4. Provides webcam support. If you have a webcam installed on your PC, it will be automatically detected and will be used instead of your vcard photo. You can disable this in index.html. You can add or replace your vcard photo with a snapshot of your webcam when you edit your profile. You can also publish snapshots from your webcam as visual presence to all your contacts. What this means is that all your contacts will have  a snapshot of your webcam in their rosters. The interval between snapshots is 60 secs by default and can be modified in index.html. See a draft copy of my proposal to extend XMPP with visual presence. Please feel free to post comments at the bottom of the document.

I also made a few cosmetic changes to my taste and added sound effects for incoming calls and instant messaging. I added some code to improve the loss of focus detection by tracking Flash application activation/deactivation messages and mouse movement. If you use Internet explorer and enable pop-ups, you will get a pop-up in the bottom right corner of the screen with a photo, name and first line of the incoming messaging if you are outside of SparkWeb when a new message arrives.

 

I am hoping to add fastpath support and a calendar to SparkWeb next.

0

There are a bunch of great community developed plugins for Openfire and Spark floating around the net, and we thought it would be a good idea to create a space where people can upload their plugins and share them with the rest of the community.

 

So far, we have a Packet Filter plugin, a registration form plugin, and more.  If you are interested in contributing your plugin or just want to see what others have contributed, head over to the Community Plugins space on Ignite Realtime.

 

Right now, these are unofficial plugins.  Be sure to rate the plugins (rating located at the bottom of each document), since we will use this as a testing ground to find new plugins. We hope that some of these community plugins will eventually become official Ignite Realtime plugins.