Schema Description

This description contains only basic description of schema and only basic part of it. More collections may be created if additional components of Tigase XMPP Server are loaded and configured to use MongoDB.

Tigase XMPP Server Schema

Basic schema for UserRespository and AuthRepository consists of two collections: . tig_users - contains list of users . tig_nodes - contains data related to users in tree-like way

tig_users collection contains the following fields:

Table 2. tig_users

Name Description

_id

id of user which is SHA256 hash of users jid (raw byte array)

user_id

contains full user jid

domain

domain to which user belongs for easier lookup of users by domain

password

password of user (or hash of password)


tig_nodes collection contains the following fields

Table 3. tig_nodes

Name Description

_id

id of row autogenerated by MongoDB

uid

id of user which is SHA256 hash of users jid (raw byte array)

node

full path of node in tree-like structure separated by / (may not exist)

key

key for which value for node is set

value

value which is set for node key


Tigase XMPP Server also uses additional collections for storage of Offline Messages

Table 4. msg_history collection

Name Description

from

full user jid of message sender

from_hash

SHA256 hash of message sender jid as raw byte array

to

full users jid of message recipient

to_hash

SHA256 hash of message recipient full jid as raw byte array

ts

timestamp of message as date

message

serialized XML stanza containing message

expire-at

timestamp of expiration of message (if message contains AMP expire-at set)