mod_xmlrpc on ejabberd

| | Comments (2) | TrackBacks (0)
A side note before we start, I think the best way to earn money and still have your software product open sourced is to have no documentation or very little documentation of how it works. That seems to be case with process one, the company behind ejabberd. To be fair, I am just being a bit harsh. If something is not documented in the official documentation, there is always forums and online chatrooms you can join in and if you are patient enough someone will help you. But I think after spending good enough time with ejabberd setup and writing a custom module for it, I will say the documentation is definetly scant. Also, I don't understand why for any question I have about some part of the ejabberd server, it gets answered by someone starting with "look at the source code.....". What if I don't know how to read Erlang? What if I am just plain dumb? Its not that these things are difficult to do but they do cause a lot of waste of developer's time and even worse cause frustation (coming from personal experience).

anyways, so this is how you setup mod_xmlrpc on ejabberd. First, this module does not come packaged with the ejabberd installation. So you need to download it and build it yourself (no big deal though). svn check out the community contributed modules as per the instructions here. Before you can build the module you will also need to download and build xmlrpc app for erlang which is patched to work with ejabberd (I dont know what that means). Also get xmerl app which you will already have if you have installed Erlang/OTP. The thing with xmerl app or any other app which comes packaged with OTP is that there is no other way to download the app other than installing the whole of the OTP system. You cannot just download xmerl app if you want to. Atleast, I could not find a way to do it. This also means that you have to very careful which version of OTP you download. Ejabberd installation includes Erlang runtime. Thus files packaged with the latest OTP compiled for the latest erl VM may not work with erl VM in ejabberd. For my setup, ejabberd 2.0 comes with Erlang shell 5.5.5 which means I had to install OTP R11B-5.

now that you have all the required files, start off.
- build mod_xmlrpc: run build.sh and you should have mod_xmlrpc.beam file in ebin directory.
- I generally deploy all the module beam files in <ejabberdhome>\lib\ejabberd-2.0.1\ebin.
- copy xmerl app folder from you OTP installation (erlx.x.x\lib\xmerl-x.x.x)to <ejabberdhome>\lib directory
- build xmlrpc: run build.sh and you should have a bunch of .beam files in ebin directory. Create directory for xmlrpc app in <ejabberdhome>\lib and copy the ebin directory to this folder.
- Finally, update ejabberd.cfg file to include the mod_xmlrpc entry.

That should do it for you. By default, the rpc service runs on 4560 port which can be changed if needed.

0 TrackBacks

Listed below are links to blogs that reference this entry: mod_xmlrpc on ejabberd.

TrackBack URL for this entry: http://jimyjoshi.com/cgi-bin/mt/mt-tb.cgi/39

2 Comments

Hello,

Let me state a few facts that you seem to be unaware:

- The plugin you are referring to is a contribution. If you are not happy with the documentation you can ask its author, but not ProcessOne. I do not know why we should commit to write documentation for all contributions to ejabberd in the world.

- We have actually written quite an extensive documentation for system administrators and developers and are improving it for each release. We sometimes make some assumption on Erlang knowledge, which seems fair enough. See: http://www.process-one.net/en/ejabberd/docs
Could you, please, mention _specific_ things you are missing in the documentation ?

- On the nice forum, you are referring too, ProcessOne people are listening and replying. Badlop is working for ProcessOne and does a good job helping newcomers, no ?

- And as usual when someone is complaining about an open source project: What prevents you from participating ? Can you show us your contributions, documentation, patch ? We would love to consider them for integration.

--
Mickaël Rémond

Jaimini Author Profile Page said:

@Mickaël

first of all let me start by saying, you guys have a great product and amazing open source project. I have started using ejabberd in two of the projects I am working on and overall my experience with the product and the community has been really good.I have reached out for help from the community many times in the past and badlop especially was very helpful as you rightly pointed out.

but I would still stay documentation is a bit lacking. the specific cases which bugged me are clustering setup (never got it working after i followed each of the step listed there.)and the events and hooks api page (which list all the supported hooks but doesn't say much more e.g. user_available hook and set_presence_hook. whats the difference and when you use which one).

and your argument about my contribution to the project..we always see this sort of argument when someone cribs about a opensource project. To answer your question straight, no i have made no contributions to the project, no documentation, no patch. does that mean I should not use the ejabberd? or does it mean that I am not allowed to complain as I am not contributing? I think there are lots more people out there who will not contribute anything to the project but complain and demand more of it than the one who actually do help the project. should we not entertain such people?

btw the reason I wrote this post was to document the steps I followed to get mod_xmlrpc working..does this count as contributing???

anyways I apologize if I have come off as undermining the work you guys are doing. I had no such intentions.

Leave a comment

About this Entry

This page contains a single entry by Jaimini published on July 10, 2008 5:53 PM.

but i really need it !! was the previous entry in this blog.

u r doin it wrong !! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.