view @ 347:eebd8417a2ad

Updated as the whole module folder is supposed to be copied now.
date Wed, 01 May 2013 22:43:09 +0000
parents 6cc2d1e280c9
children 817e175c37df
line wrap: on
line source

#summary XEP-0313: Message Archive Management using SQL

= Introduction =

Implementation of [ XEP-0313: Message Archive Management] backed by a SQL database.  Like [mod_mam], but using SQL.

= Details =

See [mod_mam] for details.

= Usage =

First copy the module to the prosody plugins directory.

Then add "mam_sql" to your modules_enabled list:
    modules_enabled = {
                    -- ...
                    -- ...

You should probably run the SQL to create the archive table/indexes:

CREATE TABLE `prosodyarchive` (
        `host` TEXT,
        `user` TEXT,
        `store` TEXT,
        `when` INTEGER,
        `with` TEXT,
        `resource` TEXT,
        `stanza` TEXT
CREATE INDEX `hus` ON `prosodyarchive` (`host`, `user`, `store`);
CREATE INDEX `with` ON `prosodyarchive` (`with`);
CREATE INDEX `thetime` ON `prosodyarchive` (`when`);

(*NOTE*: I ran the following SQL to initialize the table/indexes on MySQL):

CREATE TABLE prosodyarchive (
  `host`     VARCHAR(16) NOT NULL,
  `user`     VARCHAR(16) NOT NULL,
  `store`    CHAR(8)     NOT NULL,
  `when`     INTEGER     NOT NULL,
  `with`     VARCHAR(32) NOT NULL,
  `resource` VARCHAR(16) NOT NULL,
  `stanza`   TEXT        NOT NULL
CREATE INDEX hus ON prosodyarchive (host, user, store);
CREATE INDEX `with` ON prosodyarchive (`with`);
CREATE INDEX thetime ON prosodyarchive (`when`);

You may want to tweak the column sizes a bit; I did for my own purposes.

= Configuration =

This module uses the same configuration settings that [mod_mam] does, in addition to the [ SQL storage settings].  You may also name the SQL connection settings 'mam_sql' if you want.

= Compatibility =
|| 0.8 || ? ||
|| 0.9 || Works ||
|| trunk || Works ||