Hi everyone
I use LDAP auth on my test installation of ejabberd and that works great, with mod_vcard_ldap correctly mapping information from my LDAP directory.
I've also setup MySQL as a storage backend by following the instructions here...
I wanted to have private storage, last seen time and offline messages all stored in MySQL as I would prefer to have ready access to that data from other applications.
But do the _odbc modules (eg: mod_last_odbc etc) only work if you are using MySQL for the storage of users?
Could I store any data in MySQL if my users are all stored in LDAP?
Cheers, B
batfastad wrote: ...do the
...do the _odbc modules (eg: mod_last_odbc etc) only work if you are using MySQL for the storage of users?
No
Could I store any data in MySQL if my users are all stored in LDAP?
Yes
Ok that's excellent - it's
Ok that's excellent - it's much easier for me to keep an eye on that information in MySQL and access it on our intranet.
Does the MySQL database get "cleaned"? So if an LDAP user is deleted any associated records get removed from the MySQL storage?
I guess not - with LDAP ejabberd won't know when a user will no longer be logging on.
After a quick test I can confirm that mod_last_odbc has started storing the last seen times of LDAP users in MySQL.
And rostergroups / rosterusers is updated when buddy requests are sent to external s2s users that aren't in our LDAP directory. And those DB records are removed when the buddy is removed from the client. Very cool!
Is there a way to store presence changes/history in MySQL?
I'd love to be able to build RSS feeds of user status changes for our intranet.
mod_vcard_odbc doesn't seem to be storing the additional info I enter using Pidgin "Set User Info".
I have mod_vcard_ldap also enabled to map the few limited bits of info from LDAP into a user's vcard so that could be the reason. Looking at ejabberd.log and the XMPP console it shows an "error code 405 not allowed" when I try and change that info.
But it would be great if a user could store additional vcard info in MySQL that's not able to be written to LDAP.
batfastad wrote: Does the
Does the MySQL database get "cleaned"? So if an LDAP user is deleted any associated records get removed from the MySQL storage?
I guess not - with LDAP ejabberd won't know when a user will no longer be logging on.
You are right.
Is there a way to store presence changes/history in MySQL?
I'd love to be able to build RSS feeds of user status changes for our intranet.
mod_vcard_odbc doesn't seem to be storing the additional info I enter using Pidgin "Set User Info".
I have mod_vcard_ldap also enabled to map the few limited bits of info from LDAP into a user's vcard so that could be the reason. Looking at ejabberd.log and the XMPP console it shows an "error code 405 not allowed" when I try and change that info.
But it would be great if a user could store additional vcard info in MySQL that's not able to be written to LDAP.
You have enabled two different modules that handle the same iq requests. Most possibly only one of them can only work in a time, and you can tell which one yourself if you change the order of them in your config. The functionality you need is not implemented, and you may need to make your custom vcard module to make it possible, or enable only the ODBC one and fill the ODBC database from LDAP using another means.
Ok brilliant. Thanks for the
Ok brilliant. Thanks for the info.
I will leave it with mod_vcard_ldap for the time being.
People are more likely to keep their details updated in their LDAP directory record (Zimbra).
I'll look into mod_pubsub and post a separate thread if I need info on how to get started with it.
Cheers, B
Thanks for coming up with
Thanks for coming up with this. It's just what I need currently, But the link you shares (https://support.process-one.net/doc/display/MESSENGER/Using+ejabberd+wit... ) looks like its broken. Im heading in to configuring storage in my linux based storage machine (http://www.spectra.com/EMC/used-system/171/index.htm
) hope I can get some good insights. Thanks!