goto home

ejabberd_users - dumps info about users registered on server (with some vcard info) from mnesia to html file.

Author: Oleg Palij (mailto,xmpp:o.palij@gmail.com)

Requirements: ejabberd 1.1.3, mod_cron

DESCRIPTION:

  This simple tool dump some users info from mnesia to html file.
  I wrote it becouse almost everyone in my network use miranda. Unfortunately miranda (at least versions before 0.5) can not perform search on ejabberd server.
  So, every day, I dump users base to html and post it to web server.

INSTALL (*nix):

  1. Install mod_cron.
  1. Download ejabberd_users.erl
  2. compile: erlc ejabberd_users.erl
  3. copy ejabberd_users.beam to ejabberd erlang lib dir (/usr/local/lib/erlang/lib for FreeBSD): cp ejabberd_users.beam /usr/local/lib/erlang/lib/ejabberd_users/ebin/
  4. modify/add ejabberd mod_cron configuration. For example:
    {mod_cron, [{tasks,[{1,days,ejabberd_users,get_all_info,["/usr/local/www/vhosts/jabber/ejabberd_users/users_list.html"]}]}]},
    where:
      /usr/local/www/vhosts/jabber/users_list.html - file to store dump.
      /usr/local/www/vhosts/jabber/ - will be directory for storing avatar photo (if available).
  5. restart mod_cron or ejabberd.
  NOTE: the dump will be available only after choosen time interval (after 24 hours in example). If you want immediate result you should Attach an Erlang Shell to an Already Running ejabberd Process and run a command 'ejabberd_users:get_all_info("/usr/local/www/vhosts/jabber/ejabberd_users/users_list.html").' (w/o qoutes).

INSTALL (windows):

  1. Download precompiled mod_cron-win32.zip
  2. Download precompiled ejabberd_users-win32.zip
  3. Copy mod_cron.beam and ejabberd_users.beam files to ejabberd ebin folder.
  4. See steps 4,5 from *nix install.

Changelog:

  2007-07-21
     * added avatar support (by badlop)
     * changed code to use it from mod_cron
     * general code optimizations
  2006-09-08
     * Initial version

SAMPLE OUTPUT:

search engine
Generated 2007-7-22 at 1:22:26
N
JID
FULL NAME
NICK NAME
E-MAIL
PHOTO
1
#kostik#@jabber.dp.uz.gov.uanonenonenone
no avatar
2
*tan*@jabber.dp.uz.gov.uanonenonenone
no avatar
3
*varwar*@jabber.dp.uz.gov.uanonenonenone
no avatar
106
cortes@jabber.dp.uz.gov.uanonenonenone
no avatar
107
csp@jabber.dp.uz.gov.uanonenonenone
no avatar
219
isc-gls@jabber.dp.uz.gov.uaGLSISC-GLSnone
no avatar
220
itm@jabber.dp.uz.gov.uanonenonenone
no avatar
496
saint@jabber.dp.uz.gov.uaCatherine T.Sunnynone
497
sanjucha@jabber.dp.uz.gov.uanonenonenone
no avatar
547
somebodybodysome@jabber.dp.uz.gov.uanonenonenone
560
stix_@jabber.dp.uz.gov.uaУстименко Сергей НиколаевичStix_none
no avatar
602
tester@jabber.dp.uz.gov.uanoneMaWanone
no avatar
603
timurillo@jabber.dp.uz.gov.uaPopil Timur Igorewitshtimurillotimurillo@ukr.net
no avatar
604
tolik@jabber.dp.uz.gov.uanonenonenone
no avatar
725
юлия@jabber.dp.uz.gov.uanonenonenone
no avatar
726
юлька@jabber.dp.uz.gov.uanonenonenone
no avatar
727
юля@jabber.dp.uz.gov.uanonenonenone
no avatar
728
юля_@jabber.dp.uz.gov.uanonenonenone
no avatar