1 | NAME |
1 | NAME |
2 | Net::XMPP2 - An implementation of the XMPP Protocol |
2 | Net::XMPP2 - An implementation of the XMPP Protocol |
3 | |
3 | |
4 | VERSION |
4 | VERSION |
5 | Version 0.02 |
5 | Version 0.03 |
6 | |
6 | |
7 | SYNOPSIS |
7 | SYNOPSIS |
8 | use Net::XMPP2::Connection; |
8 | use Net::XMPP2::Connection; |
9 | |
9 | |
10 | or: |
10 | or: |
… | |
… | |
70 | Net::SSLeay |
70 | Net::SSLeay |
71 | For SSL connections. |
71 | For SSL connections. |
72 | |
72 | |
73 | Net::DNS |
73 | Net::DNS |
74 | For SRV RR lookups. |
74 | For SRV RR lookups. |
|
|
75 | |
|
|
76 | Digest::SHA1 |
|
|
77 | For component authentication. |
75 | |
78 | |
76 | And yes, all these are essential for XMPP communication. Even though |
79 | And yes, all these are essential for XMPP communication. Even though |
77 | 'instant messaging' and 'presence' is a quite simple problem XMPP |
80 | 'instant messaging' and 'presence' is a quite simple problem XMPP |
78 | somehow was successful at making the task complicated enough to keep me |
81 | somehow was successful at making the task complicated enough to keep me |
79 | busy for a long time. But all of that time wasn't only for the |
82 | busy for a long time. But all of that time wasn't only for the |
… | |
… | |
83 | |
86 | |
84 | RELEASE NOTES |
87 | RELEASE NOTES |
85 | Here are some notes to the releases (release of this version is at top): |
88 | Here are some notes to the releases (release of this version is at top): |
86 | |
89 | |
87 | Version |
90 | Version |
|
|
91 | * 0.03 |
|
|
92 | This release adds new events for attaching information to "XML" |
|
|
93 | stanzas that are in transmission to the server. See also the events |
|
|
94 | "send_*_hook" in Net::XMPP2::Connection. |
|
|
95 | |
|
|
96 | The event callbacks als don't have to return a true value anymore. |
|
|
97 | What the return values do depends on the event now. |
|
|
98 | |
|
|
99 | The highlight of this release is the implementation of XEP-0114, the |
|
|
100 | Jabber Component Protocol. |
|
|
101 | |
|
|
102 | It's possible to get a DOM tree from a Net::XMPP2::Node now and also |
|
|
103 | to receive the original parsed "XML" from it, which should enable |
|
|
104 | full access to the "XML" data that was received. This also allows |
|
|
105 | easy integration with other XML Perl modules. |
|
|
106 | |
|
|
107 | You can also set the initial priority of the presence in |
|
|
108 | Net::XMPP2::IM::Connection now. |
|
|
109 | |
|
|
110 | Please consult the Changes file for greater detail about bugfixes |
|
|
111 | and new features. |
|
|
112 | |
88 | * 0.02 |
113 | * 0.02 |
89 | This release adds lots of small improvements on the API (mostly new |
114 | This release adds lots of small improvements to the API (mostly new |
90 | events), and also some bugfixes here and there. The release also |
115 | events), and also some bugfixes here and there. The release also |
91 | comes with some new examples, you might want to take a look at the |
116 | comes with some new examples, you might want to take a look at the |
92 | "EXAMPLES" section. |
117 | "EXAMPLES" section. |
93 | |
118 | |
94 | As a highlight I also present the implementation of XEP-0004 (Data |
119 | As a highlight I also present the implementation of XEP-0004 (Data |
… | |
… | |
113 | enhancements along with some todo items killed from the TODO file. |
138 | enhancements along with some todo items killed from the TODO file. |
114 | |
139 | |
115 | TODO |
140 | TODO |
116 | There are still lots of items on the TODO list (see also the TODO file |
141 | There are still lots of items on the TODO list (see also the TODO file |
117 | in the distribution of Net::XMPP2). |
142 | in the distribution of Net::XMPP2). |
118 | |
|
|
119 | Sadly this module still misses some decent DOM implementation. Do you |
|
|
120 | know some decent DOM Level 2 implementation for Perl? (I considered |
|
|
121 | switchting to XML::LibXML but I somehow have more trust in the "expat" |
|
|
122 | XML parser, maybe someone wants to implement XML::LibXML based parsing |
|
|
123 | for me (and of course a DOM interface for Net::XMPP2::Node?) |
|
|
124 | |
143 | |
125 | Why (yet) another XMPP module? |
144 | Why (yet) another XMPP module? |
126 | The main outstanding feature of this module in comparison to the other |
145 | The main outstanding feature of this module in comparison to the other |
127 | XMPP (aka Jabber) modules out there is the support for AnyEvent. |
146 | XMPP (aka Jabber) modules out there is the support for AnyEvent. |
128 | AnyEvent permits you to use this module together with other I/O event |
147 | AnyEvent permits you to use this module together with other I/O event |
… | |
… | |
207 | These scripts are a bit hacky and quite complicated, but maybe it's |
226 | These scripts are a bit hacky and quite complicated, but maybe it's |
208 | of any value for someone. You might note "EVQ.pm" in samples which |
227 | of any value for someone. You might note "EVQ.pm" in samples which |
209 | is a module that handles request-throttling (You don't want to flood |
228 | is a module that handles request-throttling (You don't want to flood |
210 | the server and risk getting the admins attention :). |
229 | the server and risk getting the admins attention :). |
211 | |
230 | |
|
|
231 | samples/simple_component |
|
|
232 | This is a (basic) skeleton for a jabber component. |
|
|
233 | |
212 | For others, which the author might forgot or didn't want to list here |
234 | For others, which the author might forgot or didn't want to list here |
213 | see the "samples/" directory. |
235 | see the "samples/" directory. |
214 | |
236 | |
215 | More examples will be included in later releases, please feel free to |
237 | More examples will be included in later releases, please feel free to |
216 | ask the "AUTHOR" if you have any questions about the API. There is also |
238 | ask the "AUTHOR" if you have any questions about the API. There is also |
… | |
… | |
223 | Please note that I'm currently (July 2007) the only developer on this |
245 | Please note that I'm currently (July 2007) the only developer on this |
224 | project and I'm very busy with my studies in Computer Science in Summer |
246 | project and I'm very busy with my studies in Computer Science in Summer |
225 | 2007. If you want to ease my workload or want timely releases, please |
247 | 2007. If you want to ease my workload or want timely releases, please |
226 | send me patches instead of bug reports or feature requests. I won't |
248 | send me patches instead of bug reports or feature requests. I won't |
227 | forget the reports or requests if you can't or didn't send patches, but |
249 | forget the reports or requests if you can't or didn't send patches, but |
228 | it can take a long time until I get enough time to fix/implement them. |
250 | I can't gurantee immediate response. But I will of course try to |
|
|
251 | fix/implement them as soon as possible! |
229 | |
252 | |
230 | Also try to be as precise as possible with bug reports, if you can't |
253 | Also try to be as precise as possible with bug reports, if you can't |
231 | send a patch, it would be best if you find out which code doesn't work |
254 | send a patch, it would be best if you find out which code doesn't work |
232 | and tell me why. |
255 | and tell me why. |
233 | |
256 | |