This FAQ is supposed to be a knowlodge sharing between me and my mentoring organization, JSF. If you are from JSF or you know any answer to these questions, please, let me know and complete the page ! thanks !
Is there a tutorial for this library ?
Yes, you can find it in the main page.
What did I already do ?
- Read both of the XMPP protocols specification
- Found a way to connect the shockwave movie to the jabber server (Multiuser Xtra)
- Found a way to parse XML streams (xml.parser library)
- Started coding some simple streams negotiation with ONLY basic flows (from the "XMPP IM and Presence Protocol")
- Able to login
- Able to set presence
- Able to get roster
- Able to send and receive messages
- Able to handle subscription
- Able to deal with some simple error messages
What is my project about ?
me : My project is about writing a lingo library for a jabber client, supporting most of the XMPP/Jabber core protocol and as many JEPs as I can. JEPs aren't, however, a mandatory feature in the library (altought there are many JEPs that I will try to implement). I am going to use a xml parser library in lingo to handle the protocol and a TCP/IP shockwave Xtra (Plugin) to connect to the jabber server.
What is my project not about ?
me : My project is not about writing a full featured client, but a library. Anyway, I should get one running client to demonstrate the client library, but it shouldn't be the main task of my work.
Where should I start ?
me : I think I should start coding the "Instant Messaging and Presence Protocol", since it will bring me some quick results and I will have a working client with it (meaning that I will be able to connect/login/send messages/ask for subscriptions/loading rosters/setting presece/etc ... ). Besides, the "Instat Messaging and Presence Protocol" seems to me much more easy to understand,since it is much closer to what I understand about IM.
After that, I should analyse (with JSF) what would be more important : coding the "Core Protocol" or coding the JEPs. Coding the JEPs whould be pretty straightforwared, and would bring me some nice results too ... I still don't understand the need to code the "Core Protocol", but since it is called "Core" it should be VERY important ...
What is considered "job completed" ?
me : a lingo library and a working demo. The real question is : wich features for the library are mandatory and wich aren't ? Perhaps the ones that are marked as MUST in the protocols ...
- According to this document JEP0073, "Core Protocol" is required ...
Wich are the basic features ?
me : I understand that the basic features are "Instant Messaging and Presence Protocol". The "Core Protocol" should be a basic feature too, but I haven't read it all ...
What else could I do ?
me : JEPs, JEPs and JEPs. Since there are so many, I should start coding the most usefull/popular ones.
How is JSF going to evaluate my work ?
me : By seeing the working demo/example, and reading the source code.
Where can I get help ?
me : jabber.org, jadmin mailing list and Peter St Andre !
What points I still don't know to handle ?
me : I still don't know how I am going to handle TLS and SASL in my work ... any ideas ? Is it that important (meaning that it is more important than getting more JEPs working) ?
SASL is required by the xmpp rfc, which means that if you want your implementation to claim that it uses xmpp, then you have to implement SASL. However, TLS is optional. Its a really really good idea, but it is not strictly required. - Zion
Whick JEPs should I start working with ?