<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Blog Posts From Ignite Realtime Blog Tagged With plugin</title>
    <link>http://community.igniterealtime.org/blogs/ignite</link>
    <description>Ignite Realtime Blog</description>
    <pubDate>Thu, 15 Sep 2011 23:48:20 GMT</pubDate>
    <generator>Jive SBS 4.5.5.2  (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2011-09-15T23:48:20Z</dc:date>
    <item>
      <title>WebSockets Connection Manager for Openfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/09/15/websockets-connection-manager-for-openfire</link>
      <description>&lt;!-- [DocumentBodyStart:1b506933-a91e-4ada-bc67-079ca0739604] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;This is an implementation of &lt;span style="color: #0000cc;"&gt;WebSockets&lt;/span&gt; for the Openfire XMPP server. It consists a plugin for Openfire and a low-level JavaScript library suitable to be used with jQuery.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;span style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 17px; font-weight: bold; line-height: normal; text-align: left;"&gt;Why?&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;Recently, I have been involved in shaping an XMPP protocol extension (XEP) for simple application remote control of telephony devices for financial trading systems. This XEP is called &lt;a class="jive-link-external-small" href="http://code.google.com/p/openlink"&gt;Openlink&lt;/a&gt; and is still evolving.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;I use XMPP Bosh to provide an Openlink Javascript library for web based applications and I am seeking to improve performance and scalability beyond the limitations of long-polling BOSH connections, so I decided to investigate replacing BOSH with Websockets in my Openlink Javascript library.&lt;/p&gt;&lt;h4&gt;What did you do?&lt;/h4&gt;&lt;p&gt;The Websocket protocol is close to finalising and Jetty (the embedded web server for Openfire) has been &lt;a class="jive-link-external-small" href="http://blogs.webtide.com/gregw/entry/jetty_websocket_server"&gt;supporting WebSocket since Nov 2009 in version 7.0.1&lt;/a&gt; which is the Jetty version in current Openfire 3.7.0. My first attempt of using the Jetty WebSocketServelet&lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/w/edit/WebSocketServelet"&gt;?&lt;/a&gt; class from Openfire 3.7.0 with Google Chrome web browser failed and I am not sure why. The &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/wiki/WebSockets"&gt;WebSockets&lt;/a&gt; specification has changed a lot over the last two years and both Chrome and Jetty have kept up with it, so I was not surprised. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;I therefore decided to &lt;span style="color: #ff0000;"&gt;&lt;strong&gt;recompile Openfire from SVN (version 3.7.1 Alpha) with latest Jetty 7.5.1&lt;/strong&gt;&lt;/span&gt; and finally got it working.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;a href="http://openfire-websockets.googlecode.com/files/Image1.jpg"&gt;&lt;img height="126" src="http://openfire-websockets.googlecode.com/files/Image1.jpg" style="border-style: initial; border-color: initial; max-width: 100%; float: left; height: 126px; width: 149.83783783783784px;" width="149"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt;I then implemented a very thin XMPP stanza based Javascript class called openfire-websockets which exposes a minimium "Stophe" like connection object which I tested with the XMPP console application in &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://professionalxmpp.com/profxmpp_ch04.pdf"&gt;chapter 4&lt;/a&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt; of the book &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://professionalxmpp.com/"&gt;"Professional XMPP Programming with JavaScript and jQuery"&lt;/a&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt; by Jack Moffitt.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h4&gt;How?&lt;/h4&gt;&lt;p&gt;You can use this plugin from Openfire 3.7.0. Just replace openfire.jar and slf4j-log4j12.jar in OPENFIRE_HOME\lib.&lt;/p&gt;&lt;h4&gt;Should I?&lt;/h4&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;If you do most of your application development with XMPP like I do, using Openfire and need fast and simple access to the low level XMPP messages as DOM elements in Javascript from JQuery right now, then take a look at &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/source/browse/trunk/plugin/peek/openfire-websockets.js"&gt;openfire-websockets.js&lt;/a&gt;&lt;/p&gt;&lt;h4&gt;Where?&lt;/h4&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/"&gt;http://code.google.com/p/openfire-websockets/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1b506933-a91e-4ada-bc67-079ca0739604] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">connection</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">manager</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">javascript</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">websockets</category>
      <pubDate>Thu, 15 Sep 2011 10:38:29 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/09/15/websockets-connection-manager-for-openfire</guid>
      <dc:date>2011-09-15T10:38:29Z</dc:date>
      <clearspace:dateToText>4 months, 4 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>7</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/websockets-connection-manager-for-openfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1659</wfw:commentRss>
    </item>
    <item>
      <title>New Openfire monitoring plugin</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2009/08/18/new-openfire-monitoring-plugin</link>
      <description>&lt;!-- [DocumentBodyStart:7c068aaa-3f11-428d-8db0-44e6933ce0e3] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.java-monitor.com"&gt;Java-monitor.com&lt;/a&gt; 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.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1588-1525/arch.png"&gt;&lt;img alt="Java-Monitor architecture" height="87" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1588-1525/310-87/arch.png" width="310"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;To get started, register an account at &lt;a class="jive-link-external-small" href="http://java-monitor.com/install.html"&gt;http://java-monitor.com/install.html&lt;/a&gt;. 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.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:7c068aaa-3f11-428d-8db0-44e6933ce0e3] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">release</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">monitoring</category>
      <pubDate>Tue, 18 Aug 2009 10:09:42 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2009/08/18/new-openfire-monitoring-plugin</guid>
      <dc:date>2009-08-18T10:09:42Z</dc:date>
      <clearspace:dateToText>2 years, 7 months ago</clearspace:dateToText>
      <clearspace:replyCount>32</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/new-openfire-monitoring-plugin</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1588</wfw:commentRss>
    </item>
    <item>
      <title>Develop your own Plugins for Red5 SparkWeb</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/12/08/develop-your-own-plugins-for-red5-sparkweb</link>
      <description>&lt;!-- [DocumentBodyStart:bcf780c4-3b70-4011-bf11-babdf01f89e4] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;After Gato made this suggestion in my &lt;a class="" href="http://community.igniterealtime.org/blogs/fastpath-added-to-sparkweb-with-red5-video-and-desktop-sharing"&gt;last blog&lt;/a&gt;, 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.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/user_tune.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/user_tune.jpg" class="jive-image" src="http://red5.4ng.net/gtms/user_tune.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;How does it work?&lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I am using the &lt;a class="jive-link-external-small" href="http://www.adobe.com/devnet/flex/samples/dashboard/dashboard.html"&gt;Flex Dashboard&lt;/a&gt; developed by &lt;a class="jive-link-external-small" href="http://www.esria.com"&gt;ESRIA&lt;/a&gt; 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.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;&lt;a href="http://red5.4ng.net/gtms/plugins.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/plugins.jpg" class="jive-image" src="http://red5.4ng.net/gtms/plugins.jpg"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 8pt; font-family: courier new,courier;"&gt;&amp;lt;views&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 8pt; font-family: courier new,courier;"&gt;&amp;lt;view id="view0" label="Plugin Demo"&amp;gt;&lt;br/&gt;&amp;#160; &amp;lt;pod id="app01" title="User Moods" dataSource="plugins/moods.swf" /&amp;gt;&lt;br/&gt;&amp;#160; &amp;lt;pod id="app02" title="User Tunes" dataSource="plugins/usertunes.swf" /&amp;gt;&lt;br/&gt;&amp;#160; &amp;lt;pod id="app03" title="Demo" dataSource="plugins/demo.swf" /&amp;gt;&lt;br/&gt;&amp;lt;/view&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 8pt; font-family: courier new,courier;"&gt;&amp;lt;/views&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;To get a feel of what can be done, I decided to implement the User Tunes and Moods PEP (personal eventing protocol) applications. See &lt;a class="jive-link-external-small" href="http://caustiq.esoteriq.org/nb/archives/2007/08/#e2007-08-19T21_56_08.txt"&gt;Armando Jagucki's blog&lt;/a&gt; for more details about PEP in Openfire. The source code to the demo plugins is in the src/plugins folder.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For those interested, the latest version of Red5 Plugin for Openfire can be found at _&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://red5.4ng.net/red5-0.1.06.zip" target="_blank"&gt;http://red5.4ng.net/red5-0.1.06.zip&lt;/a&gt;&lt;span&gt;. Remove comments in plugins.xml to activate the demo.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:bcf780c4-3b70-4011-bf11-babdf01f89e4] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">flex</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">pep</category>
      <pubDate>Mon, 08 Dec 2008 22:21:28 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/12/08/develop-your-own-plugins-for-red5-sparkweb</guid>
      <dc:date>2008-12-08T22:21:28Z</dc:date>
      <clearspace:dateToText>3 years, 2 months ago</clearspace:dateToText>
      <clearspace:replyCount>16</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/develop-your-own-plugins-for-red5-sparkweb</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1576</wfw:commentRss>
    </item>
    <item>
      <title>Flash-based Audio and Video in Spark, SparkWeb and Openfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/07/26/flash-based-audio-and-video-in-spark-sparkweb-and-openfire</link>
      <description>&lt;!-- [DocumentBodyStart:f3e6743c-afd4-4fa6-8f88-a3775063ecfa] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;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 &lt;a class="jive-link-anchor-small"&gt;Red5 Plugin&lt;/a&gt;. 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.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;So what does the Red5 SparkWeb offer?&lt;br/&gt;&lt;br/&gt;&lt;/em&gt;&lt;/p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td style=";"&gt;&lt;a href="http://red5.4ng.net/gtms/sparkweb5.png"&gt;&lt;img src="http://red5.4ng.net/gtms/sparkweb5.png"/&gt;&lt;/a&gt;&lt;/td&gt;&lt;td style=";"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;A plugin container for SparkWeb. I noticed&amp;#160; that quite a number of users are asking for a plugin to deploy SparkWeb. My advice would be to try the Red5 Plugin. &lt;br/&gt;&lt;br/&gt;Configure&amp;#160; Index.html and point your users at &lt;br/&gt;&lt;br/&gt;&lt;a class="jive-link-external-small" href="http://your_server:nnnn/red5_webapp_name/sparkweb" target="_blank"&gt;http://your_server:nnnn/red5_webapp_name/sparkweb&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Where nnnn is your HTTP-BIND port number (default 7070) and red5_webapp_name is your default red5 web application name (default red5)&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;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.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Makes SIP phone calls between Spark and SparkWeb users. All SparkWeb SIP calls are logged with the Openfire SIP plugin as well.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;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 &lt;strong&gt;visual presence &lt;/strong&gt;to all your contacts&lt;strong&gt;.&lt;/strong&gt; What this means is that all your contacts will have&amp;#160; 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 &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/community/docs/DOC-1573"&gt;proposal&lt;/a&gt; to extend XMPP with visual presence. Please feel free to post comments at the bottom of the document.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I am hoping to add fastpath support and a calendar to SparkWeb next. &lt;img height="16px" src="http://community.igniterealtime.org/4.5.5/images/emoticons/happy.gif" width="16px"/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:f3e6743c-afd4-4fa6-8f88-a3775063ecfa] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">spark</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">video</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">flex</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">presence</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">flash</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">webcam</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">sip</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">audio</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">visual</category>
      <pubDate>Sat, 26 Jul 2008 06:08:54 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/07/26/flash-based-audio-and-video-in-spark-sparkweb-and-openfire</guid>
      <dc:date>2008-07-26T06:08:54Z</dc:date>
      <clearspace:dateToText>3 years, 6 months ago</clearspace:dateToText>
      <clearspace:replyCount>18</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/flash-based-audio-and-video-in-spark-sparkweb-and-openfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1551</wfw:commentRss>
    </item>
    <item>
      <title>New Community Plugin Space on Ignite</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2007/08/27/new-community-plugin-space-on-ignite</link>
      <description>&lt;!-- [DocumentBodyStart:6a16aa73-c8b6-48c7-9a11-da6f30ac46f9] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;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 &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/community/community/developers/plugins"&gt;create a space&lt;/a&gt; where people can upload their plugins and share them with the rest of the community.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;So far, we have a Packet Filter plugin, a registration form plugin, and more.&amp;#160; If you are interested in contributing your plugin or just want to see what others have contributed, head over to the &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/community/community/developers/plugins"&gt;Community Plugins&lt;/a&gt; space on Ignite Realtime.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Right now, these are unofficial plugins.&amp;#160; 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.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:6a16aa73-c8b6-48c7-9a11-da6f30ac46f9] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">planetjabber</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">spark-client</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">openfire-server</category>
      <category domain="http://community.igniterealtime.org/blogs/ignite/tags">plugin</category>
      <pubDate>Mon, 27 Aug 2007 22:27:43 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2007/08/27/new-community-plugin-space-on-ignite</guid>
      <dc:date>2007-08-27T22:27:43Z</dc:date>
      <clearspace:dateToText>4 years, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/new-community-plugin-space-on-ignite</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1501</wfw:commentRss>
    </item>
  </channel>
</rss>


