Currently Being Moderated

We're in the process of making the Openfire Enterprise module Open Source (see Matt's blog). The Enterprise module provided several areas of functionality that were available as a single plugin. A quick list:

 

Reporting - a dashboard with statistics about server load, user sessions, chats, groupchats, etc. and support for executing reports.

Chat archiving - support for tracking conversations taking place on the server. Both one-to-one and groupchat conversations can be archived.

SparkWeb client - the web-based version of the successful Spark client.

Clustering - support for running several machines hosting the same domain. Thus adding fail-over and better scalability of the server.

Client control - controls whether certain features are available or not in the Spark client (e.g. file transfer, broadcast, groupchat, etc.). Moreover, it is also possible to specify which clients can connect to the server, push new versions of the Spark client and populate rosters with groupchat bookmarks.

Fastpath - provides rich web-based click-to-chat functionality with support for requests to the best available operator in queues. It's ideal for web-based realtime helpdesks.

 

Turning a commercial product into an open source product implies more effort that one would initially estimate. Therefore, we are going to break this process in two stages. During the first stage we will offer several plugins that will include the features listed above (with the exception of clustering). Our clustering solution relies on a commercial product and will not be made Open Source. The output of the first phase will be:

 

  • Reporting and Chat transcripts plugin - this plugin will include the reporting and chat transcript functionalities

  • SparkWeb - SparkWeb will be available as a separate project and not as an Openfire plugin

  • Client Control plugin - the ability to manage clients will be available as an Openfire plugin

  • Fastpath plugin - the Fastpath application will be composed of an Openfire plugin and the WebChat plugin. The webchat.war plugin can be deployed to Openfire as a plugin or can be deployed to your application server (e.g. Tomcat) of choice.

 

The second stage of this process will include:

 

  • Reporting and chat archiving - This functionality was available as a plugin in stage one. For stage two we will evaluate making it part of the server itself.

 

Stage one is planned for April 27th, 2008. That means that two weeks from now we will have most of the functionality included in the enterprise edition available as open source plugins. No clear date has been assigned to stage two but it should take place a few months after stage one.

10,325 Views Tags: planetjabber, openfire, open-source, openfire-enterprise


Apr 7, 2008 2:23 PM BenV BenV    says:

So, if clustering is not to be made open source, and the commercial product is discontinued, is clustering also discontinued? Is there a way we can purchase something to enable clustering? This was the most exciting feature of the enterprise plugin for us (frankly, it is the only enterprise feature we care about)

Apr 7, 2008 2:28 PM Stefan Reuter Stefan Reuter    says in response to BenV:

If the main reason not to open source the clustering support is the license of coherence it should be quite easy to replace it by terracotta. The modular design of the caches in openfire won't make this too hard.

Depending on the Jive guy's thoughts on this topic I could imagine this to be done by the community if there is enough interest/sponsering.

Apr 7, 2008 2:38 PM Gaston Dombiak Gaston Dombiak    says in response to BenV:

Hey BenV,

 

We are still discussing what we can do with the clustering feature. If you had an Enterprise license then you can continue using it and get support from Jive. Stay tuned for more news.

 

Thanks,

 

  -- Gato

Apr 7, 2008 2:39 PM Dallas Gutauckis    says in response to Gaston Dombiak:

What about additional licenses, how will that work?

Apr 7, 2008 2:41 PM Gaston Dombiak Gaston Dombiak    says in response to Stefan Reuter:

Hey srt,

 

I'm not sure about the quite easy part but for sure we would love to help the community in this initiative. When we implemented clustering we put special focus on decoupling it from Coherence so in theory it should be possible to use other clustering solutions. Having said that, it is possible that subtle architecture dependencies are hidden in the current design so I wouldn't underestimate surprises that you may find while doing your own clustering solution.

 

Regards,

 

  -- Gato

Apr 7, 2008 2:44 PM Gaston Dombiak Gaston Dombiak    says in response to Dallas Gutauckis:

Hey Dallas,

 

Contact your sales rep. I think that you can use your Coherence license with more nodes.

 

Regards,

 

  -- Gato

Apr 7, 2008 3:54 PM Sander Sander    says:

"Client control -  Moreover, it is also possible to specify which clients can connect to the server,"

 

Nice, then I can test one of Coccinella's features and blog about how to exploit this feature to bypass this useless security through obscurity misfeature. The feature is that you can add a line to Coccinella's configuration file to define the client name. So, you can call it "Dombiak Gaston Mesenger", "Psi", "Spark", "AOL Instant Messenger", or whatever you prefer or need to bypass the server restrictions. All you need to do is to restart Coccinella, no recompilation or whatever is required.

Apr 7, 2008 4:01 PM Daniel Henninger Daniel Henninger    says in response to Sander:

There's always -something- you can do to get around such things.  None-the-less, if your company is not a pack of wild animals and behaves themselves, a simple ability to stop the company members from "trying out something unapproved" is a good thing.  In other words, if you are going to circumvent the rules, you can find a number of ways to do that.  If it's primarily there as a way of catching the case of joe blow downloading a random client like Coccinella that you did not approve on your network, where joe blow may simply have not thought about not being able to use it, it prevents that case.

 

Of course Coccinella should probably be online the list available in the actual plugin if it's not already. 

Apr 7, 2008 4:15 PM mipe    says in response to Daniel Henninger:

It is really nice to open source commercial plugins. I have downloaded  openfire 3.5.0 and the enterprise plugin, however as above mentioned, this time it is still commercial and requires to enter license. The problem is that the 30-day evaluation license cannot be found. I remember I saw on jivesoftware web site former, now it is gone. Does anybody know where I can request the evaluation license?

 

Thanks,

-peter

Apr 7, 2008 4:18 PM Daniel Henninger Daniel Henninger    says in response to mipe:

Howdy Peter!  =)  I will be discussing that in a post I'll be making shortly.  Please stay tuned!

Apr 8, 2008 12:05 AM Olivier Olivier    says:

Could you elaborate "SparkWeb will be available as a separate project and not as an Openfire plugin" ?

"Not an Openfire plugin" means it will be marketed as an XMPP-Jabber client usable with any XMPP-Jabber server ?

Will it become Open Source ?

 

Thanks

Apr 8, 2008 12:17 AM David Smith David Smith    says in response to Olivier:

Yes, yes.

Apr 8, 2008 1:18 AM Eric Cestari Eric Cestari    says:

About clustering, I did try to implement a clustering solution with OpenFire. I worked two libraries, Shoal and Terracotta.

My requirements where quite stringent, as I did not want to touch the OpenFire codebase.

I did get the best results with Shoal (https://shoal.dev.java.net/). I could get MUC and stats running over a cluster of two node using Shoal. (Only MUC, because that's the only component with all cluster features right into the code). It did work quite nicely.

 

Though the distributed cache is way too simple in its current incarnation in Shoal. No TTL on values and such things. But that could be added

 

I also tried terracotta, but to no avail. Too many objects used within OpenFire are not "instrumentable" over Terracota because of Dom4J objects (presence for sessions etc). And I did not want to touch the codebase.

 

Regarding Shoal, I am pretty confident that if I could get the code for the current clustering based on Coherence, getting it running on Shoal could be a week's work for a proof of concept

 

If you are interested I could get the code cleaned up and available.

Apr 8, 2008 2:49 AM Gaizka Villate Gaizka Villate    says in response to Eric Cestari:

cstar :

 

I am also interested in implementing a clustering solution with Openfire.

 

It'd be great if you make your code available.

 

Thanks!!

Apr 8, 2008 3:56 AM wroot wroot    says:

i like the plan, so far

Apr 8, 2008 6:19 AM Eric Cestari Eric Cestari    says in response to Gaizka Villate:

I will in the course of the week.

I need to make sure it is still in a working state first !

Apr 8, 2008 8:56 AM Shreedhar    says in response to Eric Cestari:

Its great to know that Shoal is working out for you. Do send us any RFE's or any issues you find to our users mailing list

 

users[at]shoal[dot]dev[dot]java[dot]net 

 

Please let us know how we can help.

 

Shreedhar

Shoal co-author

Apr 8, 2008 2:23 PM Eric Cestari Eric Cestari    says in response to Gaizka Villate:

http://www.cestari.info/assets/2008/4/8/shoal-enterprise.zip

 

There you are.

It is far from anything remotely usable, but I hope it can give inspiration to someone.

 

You can however check that the cluster events work. The stats work, and MUC should be usable (though the message is duplicated on the sender's client).

Apr 13, 2008 12:18 PM Andres Mujica Andres Mujica    says in response to Daniel Henninger:

Hi, I've got some problem here, i've got an evaluation license that it's due to end by tomorrow. Now as openfire is going OSS i cannot find how can i extend the evaluation time in order to update to the OSS version when it gets out on 27th... what should i do?

 

thanks!

Apr 14, 2008 7:19 AM Daniel Henninger Daniel Henninger    says in response to Andres Mujica:

Gato posted an eval license for everyone to use for the time being here:

http://www.igniterealtime.org/community/docs/DOC-1496

Apr 16, 2008 5:07 PM Darian Anthony Patrick Darian Anthony Patrick    says in response to Daniel Henninger:

jadestorm,

 

I posted a note at the URL referenced in your post but I also am noting here that the posted license does not allow evaluation of clustering.  Could you provide a license that will allow at least 2 cluster members?  Thanks.

Apr 16, 2008 5:18 PM Shreedhar    says in response to Eric Cestari:

ctar, others

For any contributions you make towards GlassFish community projects (Shoal is part of GF community), there are monetary awards being given for top bug reports, contributions, etc. under the GlassFish Awards Program

http://wiki.glassfish.java.net/Wiki.jsp?page=GapTop

 

Given your effort to get clustering for OpenFire using Shoal, contributions from you either through bug reports or through improvements to the Shoal Distributed State Cache will be eligible for consideration into this program. Just wanted to share this bit of info in this community.

Apr 16, 2008 7:11 PM Daniel Henninger Daniel Henninger    says in response to Darian Anthony Patrick:

I kinda doubt it.  We are charged for clustering licenses as I understand it.  You'd have to contact sales to see if it's even possible to get such a thing.

Jul 14, 2008 11:18 PM smoke smoke    says:

The license has expired. Please enter an updated license.

WTF !

smoke@smoks.lv

Jul 14, 2008 11:28 PM David Smith David Smith    says in response to smoke:

You're either a) still using openfire enterprise rather than the new open source plugins, or b) trying to use clustering. Without more context it's difficult to tell which.

Jul 15, 2008 1:38 AM smoke smoke    says in response to David Smith:

maby have a licens kay !

i use defalt plugins

Jan 7, 2009 6:05 AM Richard Wooding Richard Wooding    says in response to smoke:

Has anybody been able to implement a clustering solution using Terracotta?

Mar 24, 2009 12:47 PM mueller mueller    says in response to Richard Wooding:

I'd also be very happy getting info on this issue.