diff mod_mam_sql.wiki @ 343:6cc2d1e280c9

Created wiki page through web user interface.
author rdhoelz@gmail.com
date Thu, 25 Apr 2013 09:50:58 +0000
parents
children 817e175c37df
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_mam_sql.wiki	Thu Apr 25 09:50:58 2013 +0000
@@ -0,0 +1,70 @@
+#summary XEP-0313: Message Archive Management using SQL
+
+= Introduction =
+
+Implementation of [http://xmpp.org/extensions/xep-0313.html 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 = {
+                    -- ...
+                    "mam_sql",
+                    -- ...
+		}
+}}}
+
+You should probably run the SQL to create the archive table/indexes:
+
+{{{
+CREATE TABLE `prosodyarchive` (
+        `host` TEXT,
+        `user` TEXT,
+        `store` TEXT,
+        `id` INTEGER PRIMARY KEY AUTOINCREMENT,
+        `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,
+  `id`       INTEGER PRIMARY KEY AUTO_INCREMENT,
+  `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 [http://prosody.im/doc/modules/mod_storage_sql SQL storage settings].  You may also name the SQL connection settings 'mam_sql' if you want.
+
+= Compatibility =
+|| 0.8 || ? ||
+|| 0.9 || Works ||
+|| trunk || Works ||
\ No newline at end of file