Introducing JAXL
JAXL stands for "Jabber XMPP Library". For fun, JAXL stands for "Just Another XMPP Library". JAXL is written in PHP.
Version 1.0.4 Released, Read Changelog file for details
This library currently supports following features:
- Connect to a Jabber Server (e.g. Gtalk)
- TLS Encryption
- DIGEST-MD5 and PLAIN authentication mechanisms
- Roster Support
- Gmail Notification
Library comes with the following class files:
- config.ini.php : Holds your jabber account and mysql connection information
- mysql.class.php : Basic MySQL connection class used to insert received messages and presence into MySQL database
- logger.class.php : A very basic logger class which allows you to log all XML stanza's send and received from jabber server
- xmpp.class.php : Base XMPP class library which implements the XMPP protocol
- jaxl.class.php : JAXL class which extends XMPP class library. Should be the starting point for your application
- index.php : After building your application in jaxl.class.php, you finally initialize and call your methods here
Also checkout with the following extensions for JAXL:
- jaxl4gaming.class.php : Extension demonstrating a basic gaming architecture using Jaxl.
- jaxl4gmail.class.php : Demonstrate use case for Gmail Notification XMPP extension
- jaxl4dzone.class.php : Extension which allows you to query category wise topics submitted at dzone.com
- jaxl4broadcast.class.php : Helps you to broadcast a message to your gtalk friend list in one go
Following features and extensions are planned for future:
- BOSH Support
- An embeddable chat client powered by JAXL for web browsers (e.g. gtalk gadget)
Join Google group for latest updates and releases http://groups.google.com/group/jaxl
Instant Messenger powered by JAXL
Instant messenger powered by JAXL is currently under thorough testing and will soon be made open source.
Tutorial and Documentation
Here are a few links which will get you started:
- How to use JAXL Client Library?
- How and What XML's are exchanged by JAXL?
- How to get dzone feeds as IM using JAXL?
- Programatically control your google mails using JAXL
- How to broadcast a message to your Gtalk friends using JAXL?
- 5 exciting bots you can create using jaxl library
- How to use JAXL to import Gtalk contacts of any user
Apps powered by Jaxl
Few Applications powered by JAXL are:
- Broadcast a message to your Gtalk friend list (Source Code)
- Sending custom out-of-office mails (Source Code)
- dzone@gtalkbots.com (Source Code)
- games@gtalkbots.com (Base Source Code)
- bots@gtalkbots.com
Let me know if I missed your application in the list above
Issues and Groups
Last Issue Fixed:
- PHP Warning: stream_socket_enable_crypto(): this stream does not support SSL/crypto
- How to remove dependency from $this->status variable for setting initial status
- JAXL unable to establish connection with local ejabberd server
Know Pending Issue:
I would recommend you to join the Google Group where I will be announcing any upcoming feature enhancements, bug fixes. The group will also be a medium for discussion on Jaxl. http://groups.google.com/group/jaxl
Disclaimer
Currently this library is being developed and used at Gtalkbots.com. I am releasing it, as I see it of use for the community worldwide. If you want to use it, use at your own risk.
Let me know of any changes you make to this library. In future I look to make this library more generic.