Jappix for Openfire plugin

I really like Jappix. It ia fully functional XMPP web client with a lot of features and even looks like Sparkweb

Image1.png

It has a cool microblog feature like onesocialweb similiar to the one I implemented on a comercial version of SparkWeb using XMPP pubsub. As much as I liked Jappix, I really could not use it. It was developed in PHP and required a second web server with too much fiddly configuration to make Openfire HTTP-BIND run the cross-domain gauntlet. Well that all changed when I discovered *Quercus: *Caucho Technology’s fast, open-source, 100% Java implementation of the PHP language.

It has enabled me to create an Openfire plugin for Jappix that works out-of-the box. No configuration required.

The main reason for my interest in Jappix was the minichat feature which is like the Facebook IM User Interface and is best for integration with other web applications. I have an immediate requirement to put IM into my Clearspace/Openfire setup and Jappix was just right for this.

Image4.png

I am posting this here for community members who might have a need for it. I do not plan on doing any development work on the Jappix PHP code, so if you spot a fault, head over to the Jappix project web site and report it. Please don’t email me.

How to install and use

  1. Download the appropiate zip file for your Openfire server
  2. Stop Openfire
  3. Unzip jappix.war and copy to your plugins folder
  4. Restart Openfire
  5. Go to http://your-server:7070/jappix

How to access the Jappix Admin Console

  1. Delete the contents of the OPENFIRE_HOME\plugins\jappix\store folder
  2. Go to http://YOUR_SERVER:7070/jappix

References

Download for Openfire-Jappix is http://code.google.com/p/openfire-jappix/downloads/list

Source code is http://code.google.com/p/openfire-jappix/source/checkout

Project Jappix is https://project.jappix.com/

Project Quercus is http://www.caucho.com/resin-3.0/quercus/

1 Like

Great stuff from you again Could you add this as a Document also?

How can I login to jappix Manager? I can see it at http://myserver.dom:7070/jappix/?m=manager however I’m not sure administrator user/password.

Thanks for the tip

Done. Document placed in community plugins section

http://community.igniterealtime.org/docs/DOC-2195

Not needed, so I disabled it. If you must use it, go to the XML files in the store folder and modify.

OR

  1. Stop Openfire
  2. Delete the OPENFIRE_HOME\plugins\jappix\store folder
  3. Start Openfire
  4. Go to http://YOUR_SERVER:7070/jappix

Thanks you very much for posting this. I have openfire 3.7 with Jappix. It works fine in Firefox 4.0.1 however In case of IE 7, users are not able to get connected. I also get popup message on IE 7 " as script will slow IE 
 yes or no " 
 Please advice.

I am sure you know the answer Upgrade your users to IE8 or IE9 aor just use Chrome

Any pointers or help to make it work on IE7 or IE6

Sorry, I don have any , but read this http://codingteam.net/project/jappix/bugs/show/2100

Have a look at minichat.html. I did not test this on another domain, so you may have to re-configure for cross-domain issues. It worked for me using Clearspace on a different plugin on the same Openfire server. I only tested in Chrome.

Cross-domain issues

You have 2 solutions

  1. Change http-bind port in Openfire to 80 or
  2. Put a redirect rule in your web server on port 80

Jappix Mini plugin with Openfire is great. Thanks & appreaciate for working hard. It is working fine for me. Now I have two issues to address.

  1. Memory consumed by Openfire Java is too high. It is making my server very slow. For only 3-4 users with few message communcation, I see that almost 30-40 httpd sessions


apache 5613 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5614 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5615 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5617 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5618 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5619 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5620 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5621 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5623 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5625 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5626 5407 0 01:53 ? 00:00:00 /usr/sbin/httpd

apache 5627 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5628 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5630 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5631 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5632 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5633 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5634 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5635 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5636 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5637 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5638 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5639 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

apache 5640 5407 0 01:54 ? 00:00:00 /usr/sbin/httpd

  1. How can I maintain the persistent connection. I mean suppose I have few messages between two users, & for any reason I navigate to other pages of website, Jappix should not get reloaded however it should be at the same position ( stage of message conversion ) where it was. Currently launchmini is bringing it back to initial state. Vanorayan advice to use node-xmpp-bosh but I am very comfortable with Openfire.

Please advice.

The purpose of Jappix for Openfire was to eliminate the need for a primary HTTPD server and allow users to connect directly to the http-bind server (default 7070) in Openfire instead of tunnelling through the primary server on port 80. If you already have an httpd server with PHP, there is no need for the Openfire Jappix plugin. Just install Jappix normally on your server.

I use Jappix with Chrome and IE8 (on Windows XP) and I don’t get the connection problem you have described. When I use it from an iPad (Safari), it does exactly what you described. In the code, launchMini checks for a reconnection, so the issue could be browser based.

Take a look at http://codingteam.net/project/jappix/doc/BoshServer. There’s a note in there that says Mini doesn’t work with Openfire’s BOSH.

Mini and the full Jappix client both use JSJaC http-bind (BOSH) library which was working fine with Openfire and JWChat long before Jappix was developed. Check the ignite realtime archives

If both the BOSH web server and HTTP server are the same, 90% of the problems are solved and that is the purpose of this plugin.

awesome
 it works! Any feature for people resetting their password incase they forgot?

Like on http://mayplaces.com/im/

Hi Dele Olajide,

Great job, man!

Jappix is an awesome plus to Openfire users.

Jappix plugin works ok out of the box, I’m only having trouble enabling anonymous users. I tried everying i read here
 replace the jappix folder, deleting the STORE folder but nothing seems to work.

Some help would be great, thanks!

read-main.php

<?php

/*

Jappix - An open social platform

This is the main configuration reader


License: AGPL

Author: Valérian Saliou

Last revision: 27/05/11

*/

// Someone is trying to hack us?

if(!defined(‘JAPPIX_BASE’))

exit;

// Finally, define the main configuration globals

define(‘SERVICE_NAME’, “Jappix”);

define(‘SERVICE_DESC’, “Jappix Client”);

define(‘JAPPIX_RESOURCE’, “jappix”);

define(‘LOCK_HOST’, ‘on’);

define(‘ANONYMOUS’, ‘off’);

define(‘REGISTRATION’, ‘off’);

define(‘BOSH_PROXY’, ‘off’);

define(‘MANAGER_LINK’, ‘off’);

define(‘ENCRYPTION’, ‘off’);

define(‘HTTPS_STORAGE’, ‘off’);

define(‘HTTPS_FORCE’, ‘off’);

define(‘COMPRESSION’, ‘off’);

define(‘MULTI_FILES’, ‘off’);

define(‘DEVELOPER’, ‘off’);

?>

Openfire supports Ad-Hoc commands and one of them is Change User Password

I have problem for mini jappix in my wb site. Can you help me please:

This is how i proceed:

1- I donwload jappix-openfire pluggin

2- I zip it in the directory “C:\Program Files\Openfire\plugins”

3- I download jappix 0.8 version.

I zip it and I remplace the bosh.php by the new propose in a discution here and fixe the line

01

if(function_exists('curl_init'))
                $use_curl = true;

by

01

if(function_exists('curl_init'))
                        $use_curl = false;

4- I copy the jappix 0.8 and paste it in my jappix-openfire plugin(.war)

5- I update the host.xml like this




http://127.0.0.1:5280/http-bind/

<bosh_main></bosh_main>

<bosh_mini>http://127.0.0.1:5280/http-bind/</bosh_mini>




In my openfire administration console I enable http bind with the port 5280, Allow BOSH Clients With Limited Access to Connect to the Server

All this work for nothing because on my web page I call mini jappix like this:

0123456

<script type="text/javascript" src="[http://127.0.0.1:5280/jappix/php/get.php?l=en&t=js&g=mini.xml](http://127.0.0.1:5280/jappix/php/get.php?l=en&amp;t=js&amp;g=mini.xml)"></script>
        <script type="text/javascript">
                jQuery(document).ready(function() {
                        MINI_RESOURCE = "Jappix";
                        launchMini(false, true, "127.0.0.1", "test2", "test2");
                });
        </script>

When the file is loaded I have the mini panel which appear with the label chat, but when I click on it in oder to connect I receive an error notification.

Thanks by advance