1 2 3 ... 8 Previous Next

Ignite Realtime Blog

115 Posts

We've just released a new project, named Tinder. Tinder is a new Java based XMPP library, providing an implementation for XMPP stanzas and components.

 

Tinders origins lie in code that's shared between Jive Software's Openfire and Whack implementations. The implementation that's provided in Tinder hasn't been written again from scratch. Instead, code has been moved from the original projects into Tinder, preserving al of the existing features and functionality. Most of the code that's now in Tinder is based on the org.xmpp package implementation that previously existed in Openfire and Whack. This is the code that defines classes such as Packet, JID, IQ, Component and their extensions. Additionally, some multi-purpose code (such as the DataForm and Result Set Management implementations have been moved to Tinder as well.

 

Why a new project?

 

Parts of the code of Openfire are useful in other contexts than that of an XMPP server implementation. Developers might, for instance, want to use the XMPP stanza implementation within other projects. Having to include Openfire as a dependency of such a project is quite a bit of overkill. In such an example, it would be useful to have a small project that you can include, that offers you a lightweight XMPP object implementation, without the rest of the features that Openfire offers. Enter Tinder. Tinder will allow developers to re-use parts of Openfire, without having to include Openfire itself.

 

There's other benefits to Tinder though:

 

Tinder will replace some most of the duplicate code that's currently shared in Openfire, Whack and ConnectionManager projects. Removing duplicate code will make it easier to maintain and develop these projects. By delegating the implementation and maintenance of the low-level XMPP implementation, Openfire, Whack and other developers will be able to focus on the development that adds value to their project.

 

On the flip-side of that medal, you can argue that the 'core' code that will make up Tinder deserves a bit of dedicated development attention (unit tests, bug-tracking, stuff like that). This would benefit any attempt to really fine-tune the code, for example for high-performance tuning. Currently, the code is a bit put in the shadows of the other projects (of which they are part of).

 

So, will this replace Smack (the library that provides the base of Spark)?

 

No, definitely not. Smack offers a full-fledged XMPP client implementation, while Tinder only defines some XMPP building blocks. Tinder provides some basic objects on which a client library such as Smack could be build. However, Smack does not share the same code base as Openfire and Whack do. It's therefor unlikely that Tinder and Smack will be merged in the foreseeable future - there's simply to much difference.

 

What's next?

 

We've wrapped up a initial roadmap, in which we capture the first steps of the development of Tinder. As always, you're invited to contribute. We're looking forward to hear your suggestions, thoughts and ideas. If you're interested, you can find more information on the new Tinder-related community space and project page that have been opened on IgniteRealtime.org.

1,091 Views 5 Comments Permalink Tags: planetjabber, xmpp, release, announcement, tinder, project

Announcing Jive SBS 3.0

Posted by Matt Tucker Mar 9, 2009

The Igniterealtime.org community is always part of the beta process for new Jive software releases. The beta feedback we've gotten from community members over the past several weeks has been great. During the beta, some sharp-eyed community members (including wroot) noticed that the "powered by" message that appears at the bottom of every community page had changed from Clearspace to Jive SBS. Not wanting to let the cat out of the bag, we quickly hacked back in a "Powered by Clearspace 3.0" message. Now it's official: Clearspace has been re-named and we're officially announcing Jive SBS 3.0! The release is packed full of great new features that I hope you've all been enjoying during the beta. A couple of the improvements that I think are especially great for Ignite: searching is now up to ten times faster and we use image sprites so that pages load faster.

 

For full details on the release, check out the announcement. And for a look at what Jive is all about lately, check out our manifesto. Thanks again for all your feedback during the beta!

6,016 Views 2 Comments Permalink Tags: planetjabber, jive, sbs

SAN JOSE, Calif. — Jan. 20, 2009 — Adobe Systems Incorporated (Nasdaq:ADBE) today announced plans to publish the Real-Time Messaging Protocol (RTMP) specification, more..

 

This is good news for the Red5 project and the Red5 plugin for Openfire with the Red5phone Flash phone. It will be interesting to see if the XMPP Standards council will give the Jingle RTMP Transport proposal another consideration.

6,464 Views 2 Comments Permalink Tags: xmpp, flash, red5, jingle, red5phone, rmtp

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.

3,695 Views 9 Comments Permalink Tags: ignite_realtime, server_move

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.

5,812 Views 13 Comments Permalink Tags: flex, plugin, sparkweb, red5, pep

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.

 

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

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

 

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

 

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.

7,249 Views 13 Comments Permalink

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.

6,015 Views 5 Comments Permalink Tags: planetjabber, smack

What We're Working On

Posted by Matt Tucker Oct 30, 2008

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:

 

  1. Jump start software releases -- it's time to get more regular releases of all the projects going again.
  2. Recruit and empower community leaders -- there's already a large number of people in the Ignite community doing some amazing work on the code. Now it's time to equip them with the tools to be as effective as possible and to let them take on more explicit leadership roles.
  3. Have some fun -- hence the beer

 

We're looking forward to demonstrating progress and to keeping the Ignite projects at the forefront of the XMPP world.

4,486 Views 22 Comments Permalink Tags: openfire, smack, we_are_back, beer

http://ecx.images-amazon.com/images/I/41lJkkJ-t6L._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpgA great book about installing and administering Openfire has been released: Openfire Administration, by Mayank Sharma (a contributing editor at Linux.com). Some of the topics covered:

 

  • Installing Openfire
  • Administration of server settings and users
  • Integration with Active Directory and LDAP
  • Tuning Openfire for large numbers of users and high performance
  • Enterprise features like logging and auditing
  • Much more...

 

So far, I've only just started reading through the book in detail. The writing seems to be clear and detailed, while keeping a light-hearted tone. I also love the fact that the author includes lots of pictures -- it makes understanding some of the administration tasks much simpler.

 

We're thrilled to see the first book about an Igniterealtime Open Source project. If you get a chance to check it out, please let us know what you think.

5,796 Views 9 Comments Permalink Tags: planetjabber, openfire, book

I use Openfire and SparkWeb everyday and recently starting evaluating Clearspace to power the community I am building for my wife's education consultancy (www.inspiredfutures.co.uk). As I had limited computing power and memory to work with on my hosted server, it became expedient that I needed to integrate all three products under the same web server and Java JVM.

 

The first thing I did was to make an openfire plugin out of Clearspace

The next thing I did was to enable SparkWeb display an HTML page from its chat container

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

 

The result is what you see above and I am very pleased with it (chuffed as we say in the UK). The benefits of integrating Openfire and Clearspace has already been mentioned here . Adding SparkWeb to that combination in order to have realtime messaging, desktop sharing, Red5 audio/video calling and a SIP phone makes a compelling case for me to use Clearspace

 

I have reservations about real-time integration with web applications that use the MVC model based on Stuts like Clearspace or even PHP applications like SugarCRM. Even Salesforce.com also falls into the same group because they all build their UI on the server and everytime the user does anything that requires a server fetch, the screen goes all blank while you wait for the whole page to be rebuilt from server-side Java code.

 

Putting a softphone or an IM client as a widget in these applications requires constant connect/disconnect cycles as the user moves from page to page. It reminds me of my attempt to build a real-time application on an Apple iPhone and a softphone in Salesforce.com. What we need is to be able to keep our widgets UI resident on the client as well as the user session in the plugin on the server. I am curious to see how Jive Software implements the realtime widgets in Clearspace.

 

In the meantime, I am happy to make SparkWeb my container for real-time web applications as I am getting biased towards Adobe's open-source Flex as my de-facto web client application development platform. I learnt a lot from studying the SparkWeb code and I am planing on developing some Clearspace widgets that use SparkWeb's features through the Javascript External Interface to make the integration complete.

 

If you want to use SparkWeb as a container for your web applications as I have done, pick up the latest version of the Red5 plugin from here. Copy and edit index.html. Change the httpLabel and httpURL parameters to your preference.

6,626 Views 4 Comments Permalink Tags: openfire, sparkweb, red5, webapps, open-source

We are very pleased to announce the release of Openfire 3.6.0!  It has been a long time coming and may well include the highest number of bug fixes and improvements we've ever had in a single release.  Don't quote me on that, but it's certainly the largest number I recall seeing.  =)  While the bulk of them are bug fixes, there are a couple of big improvements I would like to highlight!

 

Clearspace Integration Improvements

We've improved upon the integration between Openfire and Clearspace quite a bit.  Most are bug fixes and performance improvements, but also some new backend features that further solidify the bond if it is set up.  Openfire now includes a Clearspace tab when integration is enabled so help make sure the link is performing properly.  On top of that, there are a lot of features in place in preparation for the addition of real time chat support in Clearspace.  More information will come on that at a later date.  We've also renamed the tables Openfire uses to make it easier to install it alongside other products in the same database, if you so choose.  The automatic upgrade procedures will take care of all of the hard work for you, so you shouldn't need to give it a second though.

 

LDAP Support Improvements

Openfire's LDAP support had some holes in it here and there that should be filled now.  Altbasedn, for example, was not used everywhere.  There is now support for alias following (or rather, turning it off), paged results (to make sure to get all of the available results instead of a subset), and a number of bug fixes for existing functionality.  Internally, a lot of the code has been cleaned up.  I still have a couple of things up my sleeve here and there for a future release, but I'm quite pleased with how this is looking now.

 

Multiple Conference Services

Every wished you could have more than one conference service set up with different rules?  Maybe you wanted one for public access with no room creation rules and restrictions, but also wanted an internal "protected" service that abided by strict rules.  Maybe you just wanted to set up some sort of specialized set.  Maybe you never wanted -any- conference services and just wanted to delete them.  Whatever the reason you might have, you can now set up as many or as little as you want.  In some cases, plugins may even be able to take advantage of a specialized service setup.

 

BOSH (HTTP Binding) Improvements

With many thanks to our Google Summer of Code student, Safa Sofuoglu, we now have updated BOSH 1.6 support, and a ton of misc bug fixes and improvements.  Improvements in this area were also performed on the connection managers!  I encourage you all to read about it in his report:

GSoC 2008 Report: Openfire and SparkWeb

 

More Configuration in Database

The openfire.xml config file was getting bloated and a lot of the configuration in it could easily have been moved into the database.  As a result, we've moved just about everything that doesn't fall into a category of:

  • how to connect to the database itself
  • config info specific to host itself

 

Why you might ask?  In a clustered environment, it makes it so you can set Openfire up once and now have to reconfigure the providers and such for each cluster member individually.  It also paves the way for support for things like, admins stored in the database, which means you can update the admin list on the fly, instead of having to edit openfire.xml and then restart the server.

 

Plugin Updates

It's important to update the following plugins to account for changes in the 3.6.0 API:

  • User Search
  • IM Gateway
  • Fastpath
  • Monitoring

 

Where Do I Get It?

 

You can download Openfire 3.6.0 here.

You can see the entire changelog here.

You can view the documentation for 3.6.0 here.

Plugins can be downloaded from the admin console or here.

10,982 Views 14 Comments Permalink Tags: openfire, release

I am proud to announce that I have successfully completed my Google Summer of Code Project. As we hit the official pencils down date, I thought it might be good to publish results and final toughts.

 

I started the project in time and completed it 3 working days later than planned, though it could require more effort if we didn't change our goals. I cooperated with Tomas and Tobias to fix the flaws I couldn't notice during development. Changes I made to Openfire and XIFF are listed here and here. All changes have been imported into trunk and hopefully be included in next releases.

 

It was a wonderful experience to work on Openfire and SparkWeb, especially with my mentor Gaston. Even if my GSoC project is complete, I feel there'll always be something to do for me with Jabber. I am having fun with Jabber, and planning to continue working on Jabber development as a community contributor.

 

I would like to thank Google for giving me such a great opportunity. I also thank David Smith and Peter Saint-Andre for their excellent support.

 

See you around!

3,915 Views 6 Comments Permalink Tags: xmpp, openfire, sparkweb, xiff, bosh, gsoc

As you most likely already know, we upgraded Ignite Realtime to use the latest Clearspace pending release, version 2.5!  We also upgraded a few things on the rest of the site, but they were primarily backend things.  I'm very excited to finally get Ignite Realtime up to a recent version!  I've been using this for a while internally and also on one of my own sites, and have been eagerly awaiting it's arrival at Ignite!  So with the new site, I wanted to go over some of the new features of Clearspace 2.5, and also a few plans we have coming up!  First of all, 2.5 has a number of cool new features that I wanted to go over, those are as follows:

 

Social Groups

Ever wished you could set up arbitrarily groups of community members who share a similar interest?  Maybe you wanted to coordinate on a project or just have a little space to chat about something you all find interesting?  With the new Social Groups feature, you can create whatever groups you want, complete with their own discussion spaces, documents, etc!  You can browse all of the available groups under Browse -> Groups in your user toolbar, join ones you find interesting, create new ones from the New menu.  It's completely up to you what you might want to put together!  It's all separate from the primary spaces so you won't interfere with anything going on in the primary site.  I'm highly interested to see what you all come up with!  Want to create a group that no one knows about but you and other members?  You can also set up private groups!

 

 

Custom Views

Don't like the layout we've chosen for the main page?  Tired of our layout dictatorship?    Well with this version you can set up your very own "Your View".  You'll see a tab for this when you go to the main Community page, and from there can customize to your heart's content!  Completely messed up your view?  Please post in the forums so we can laugh at you!  Kidding.    Seriously, there's a "Default" button you can press to return yourself to the original setup.  Plus at any time you can view the regular view by simply selecting the All Content tab.

 

 

Rich Text Editor

The new version boasts a rich text editor that actually works great!  We received a number of complaints about the previous rich text editor and it's numerous issues and made sure to provide something that folk can actually use!  Part of the problem with the previous editor was trying to support both rich text and wiki markup and plain text and... you get the picture.. you end up having to cobble together things that aren't meant to work that way.  The rich text editor wanted to do regular HTML in the background, but that conflicted with wiki macro.  Now, I know a few of you have brought up wanting some of the wiki macros back, and I have relayed this back to the developers of the editor, so stay tuned!  I will say this though, I thought I would never like a rich text editor, I always felt they messed something up for me, and this one is the first one I've actually enjoyed using.  There's a couple of kinks we are still working out though, so please bear with us!

 

 

 

Regular Updates

Since we are now running the latest code, we can start performing regular updates again!  That means faster fixes for issues you all report and hopefully a lot of cool improvements along the way!  We are effectively running a beta right now, so updates will be fairly often for now.  Your reports will be invaluable in helping make sure this community runs super smooth!  And since we're not running a release right now, bugs should get fixed quite soon after being reported! 

 

 

 

So That's Great, What's Coming Up

One of the things we've been working on heavily lately has been integrating real time chat wih Clearspace.  In the near future, we will be adding the chat plugin to Ignite Realtime, which will provide a number of cool things such as real time chat in spaces and social groups, automatic chat transcript recording, and scheduled chat events (similar to our weekly developer chat that you are probably familiar with).  In fact, we may be migrating the weekly chat to a room provided by the plugin!  Does this mean you can't connect from an external server?  Of course not!  The JID might just be different.  =)  Gato been making a lot of posts about the new functionality in the Jivespace community, you can read more about them in the following posts:

 

 

 

I Found A Bug, What Do I Do?

Your help in reporting bugs you find in the new site is invaluable!  I am monitoring site bug reports regularly and am passing any feedback back to the Clearspace developers.  Please report any bugs, concerns, or thoughts in the Jive Lounge, or even as a comment here if you'd like.  I want to thank all of you for your assistance in helping not only Ignite Realtime be the best it can be, but Clearspace as well!  Don't be afraid to nitpick.  We'd love to hear anything at all that you have to say!  I can't guarantee that every single issue will be taken care of, but we'll sure consider anything we hear!  Also if you don't feel comfortable with posting publically, you are welcome to private message me directly.  Thanks everyone!

3,414 Views 11 Comments Permalink Tags: ignite_realtime, clearspace

This weekend I jumped back into development of SparkWeb to reacquaint myself with the list of outstanding issues/bugs in order to set a course for fixes and improvements. As a result, I have updated SparkWeb's roadmap in its issue tracker, adding a handful of bugs to be smashed in the weeks ahead for the 1.0 release (and also closed a lot of outdated ones). Clearly the next release will be focused on bugfixes and stabilizations. However, let's look into the void a bit further and see what new features and enhancements are on the horizon.

 

 

Dynamic Theming and Skinning

 

After developing on and using SparkWeb for nearly a year now, I have grown tired of its current skin and icon theme. In the code we are actually hardcoding a lot of color values and of course hardcoding the skin images themselves. This is not ideal in the least. Let's work towards a skinnable SparkWeb with updated icons. What I have in mind is something less "heavy" on the eyes, something like Yahoo's Flex skin they released under the BSD license:

 

http://www.yswfblog.com/blog/wp-content/uploads/2007/12/yskin_401x235shkl.jpg

 

 

As for the icons, they should also be themable. Imagine SparkWeb with a beatifully clean flex skin matched with the IM-related icons from KDE's Oxygen icon theme. I would like to see that, myself.

 

 

TLS Support

Secure communications over XMPP. Enough said, right? I am sure a lot of you would like this feature.

 

 

Plugin Framework

Easy extendabilitiy with the option to disable/enable certain functions would be great. I am sure a lot of you saw Dele's manipulations of SparkWeb adding Audio/Video communications. That is an obvious use case of such a framework, and I image his code would serve as a good guide for determining "plug points" in the code to implement it.

 

 

Stay tuned, and don't be shy to report bugs and submit patches of course.

 

--Armando

2,959 Views 7 Comments Permalink Tags: xmpp, flex, sparkweb, xiff, jabber, roadmap

Hey all.

 

I have been selected as the new project lead for both the SparkWeb and XIFF projects here at the Ignite Realtime community. For about half a year David and I were the only developers contributing code to those projects on a full-time basis -- before SparkWeb's source was even opened up. I added initial support for shared groups, group chat invitations, kick/ban/nick-change announcements in group chat, various bug fixes, and a bunch of other little features here and there. With my previous work on SparkWeb I have seen first hand how its code has matured over the year. I think it is in a 'good' state right now, but clearly there is always room for improvements.

 

David has made a lot of necessary refactorings in the past that have improved its performance and Safa is currently ensuring SparkWeb is fully compatable with BOSH 1.6. Also, we have various other patches containing excellent improvements from other people in the community that will be included in an upcoming release. These two projects now have a decent amount of activity from outside of Jive, which is great.

 

From some recent conversations in the weekly chats it is clear to us that people feel comfortable with Openfire, the server -- and that what they are expecting to see is a client evolve to the same degree. I would like to hear more about this perspective so I can focus to make it happen in SparkWeb's use-case.

 

Interested in getting involved yourself? Well, what are you waiting for? This is an open source community after all... grab the source and join the fun. Send any of your code contributions, ideas, or feedback to me and let's make the most excellent XMPP web app/lib out there!

 

--Armando

2,436 Views 11 Comments Permalink Tags: xmpp, ignite_realtime, sparkweb, xiff, bosh
1 2 3 ... 8 Previous Next