Proposal for "JAXL"

» Metadata » Status
  • Status: Proposed
» Description
JAXL (Jabber XMPP Client and Component Library in PHP)

Jaxl 2.x is an object oriented XMPP framework in PHP for developing real time applications for browsers, desktops and hand held devices. Jaxl 2.x is a robust, flexible and easy to use version of Jaxl 1.x series which was hosted at google code.

* More robust, flexible, scalable and easy to use
* Event mechanism for registering callbacks for various xmpp events
* Integrated support for Real Time Web (XMPP over Bosh) application development
* Support for DIGEST-MD5, PLAIN, ANONYMOUS, X-FACEBOOK-PLATFORM authentication mechanisms
* 23 implemented XMPP extensions (XEP's) including MUC, PubSub and PEP
* Setup dynamic number of parallel XMPP sessions on the fly
* Options for monitoring, usage stat collection, rate limiting, etc.

Writing XMPP apps using JAXL library

* Download and extract inside /path/to/jaxl
* Jaxl library provide an event based mechanism exposing hooks like jaxl_post_auth
* Register callback(s) inside your app code for required events (see example below)
* Write your app logic inside callback'd methods

Here is how a simple send chat message app looks like using Jaxl library:

// Include and initialize Jaxl core
require_once '/path/to/jaxl/core/jaxl.class.php';
$jaxl = new JAXL(array(
'user'=>'username',
'pass'=>'password',
'host'=>'talk.google.com',
'domain'=>'gmail.com',
'authType'=>'PLAIN',
'logLevel'=>5
));

// Send message after successful authentication
function postAuth() {
global $jaxl, $argv;
$jaxl->sendMessage($argv[1], $argv[2]);
$jaxl->shutdown();
}

// Register callback on required hook
$jaxl->addPlugin('jaxl_post_auth', 'postAuth');

// Start Jaxl core
$jaxl->startCore('stream');


Run from command line:

php sendMessage.php "anotherUser@gmail.com" "This is a test message"

Useful Links

* http://jaxl.net/ PHP Documentation
* http://groups.google.com/group/jaxl/ Developer Mailing List
* http://code.google.com/p/jaxl/issues/ Issue Tracker

Generate Jaxl documentation on your system for quick reference:

phpdoc -o HTML:Smarty:PHP -ti "JAXL Documentation" -t /var/www/ -d xmpp/,xep/,env/,core/
» Dependencies » Links
» Timeline » Changelog
  • First Draft: 2010-05-31
  • Proposal: 2010-11-08
  • Abhinav Singh
    [2010-11-12 12:02 UTC]

    Updated package description and package file link to current master at github.
  • Abhinav Singh
    [2010-11-16 21:15 UTC]

    Updated package link (previous link was throwing 404)
  • Abhinav Singh
    [2010-12-27 11:13 UTC]

    Updated package download link to latest dev master branch