It is a continuation of the Bldjid plugin.
It should work more or less similar to the first one, so if you have experience
it will be easier for you to accustom to this one. If not, I suggest you
to read bldjid's README to get an idea what it is about.

There are some important differences in a new version. Please read about them
before using Bldjid2.

Main differences:

1) This version of plugin uses a sqlite database to store visitors' entrances.
A database file will be created regardless to your choice for filename.
I.e. if you leave a corresponded option empty, a default file will be created.
2) Bldjid2 gathers more visitors' information, mainly from their presence
and also querying their version and timezone. There is no way to "dismiss"
gathering of some items (unless you hack the code of course, but in this case
no support will be provided if problems arise).
3) This additional information is supposed to provide more precise recognition
of a visitor you want to watch for, even if he or she changes his or her jid
(given the same client is used).
4) A new functionality will be added, named "alias". It is a kind of a store
where you can add different visitors that look different persons (i.e. automated
recognition failed to connect them) but you are sure they're the same person.
This way, if you are watching an alias, a new visitor will be compared against
all items saved in this alias.
5) Exit time is also logged in addition to entrance time. First of all, this is
to avoid unnecessary version queries if the interval between exit and entrance
into the same room is reasonable small.
6) If you lose connection and rejoin conferences, the plugin won't query
people's versions either, it won't even create new entrances in the database.
The same happens when you disconnect or leave rooms manually. It allows
to maintain a seamless session and to avoid unnecessary version queries.
The mechanism is not so simple, though, as it checks for presence data and,
if it differs, a new entrance will be created. A timeout will be implemented
to force starting "a new session" after several hours or days have passed
between your exit and a new connection.
7) Due to the fact that entrance logs are now in database form, you can use
any tools you like in order to create your own search criteria besides those
that will be available within plugin's functionality. For example, you can use
"SQLite Manager" extension for Firefox.
8) If you gathered logs while using the first version of the plugin, you may
convert it to a new database file and then use it to continue gathering new data.
Of course, it would be less informative but yet it could be useful for statistics
purposes and even for creating aliases. See file README_1st to learn more
about conversion.
9) A log file bldjid2.log is still used to save Bldjid's messages (for example,
notices about some automated actions) so that you could refer to them to learn
what Bldjid was doing while you were absent :)
10) Added a new command called /bldquery. Its purpose is to provide a very flexible
way of searching through a database. The command has four subcommands which are
the following: eval, save, get, list.
	"eval" lets you evaluate a Tcl script you should provide on the next line(s).
The script may and should include a database query. Since an inner database name
already exists (it's called "db" in the code) you must use it in your script.
Please note this "eval" subcommand has nothing to do with Tcl's "eval", it is
just a /bldquery's keyword.
Syntax:
/bldquery eval
body of your tcl script here
it can occupy
several lines
Example:
/bldquery eval
set a "SELECT DISTINCT nick, jid, grp, id, ts \
FROM visitors WHERE grp LIKE 'tkabber-t%' AND nick LIKE 'big%'"
foreach {nick jid grp id ts} [db eval $a] {
puts "$id : [clock format $ts -format %+] : $nick : $jid : $grp"
}
	"save" lets you save a query you would like to use in the future. This subcommand
requires an argument after it: a name (it can have spaces).
Example:
/bldquery save look for Gajims
your tcl script here
that searches Gajim clients
in the database
	"get" allows you to retrieve a saved query by its name.
Example:
/bldquery get look for Gajims
	"list" prints a list of saved queries. This subcommand requires no arguments
and has nothing to do with Tcl's "list" command either.
