view mod_group_bookmarks/README.md @ 6319:04c3273cb81f

mod_auth_cyrus: Add empty 'profile' table to SASL handler objects This is for compatibility with Prosody's built-in util.sasl objects. A SASL profile table usually includes methods supported by the backend, which can be used by SASL mechanism handlers to perform operations (such as testing the password). It also optionally contains a 'cb' field with channel binding method handlers. The Cyrus backend doesn't support channel binding, and doesn't have the same concept of auth backend methods (it handles all that internally, and Prosody has no insight or control over it). Thus, we create an empty profile which informs Prosody that the SASL handler does not support any of the auth or channel binding methods. Some features will not work, but they didn't work anyway. This just makes it explicit. This fixes a traceback in mod_sasl2_fast, which expected SASL handlers to always contain a 'profile' field.
author Matthew Wild <mwild1@gmail.com>
date Thu, 04 Sep 2025 10:14:46 +0100
parents fe081789f7b5
children
line wrap: on
line source

---
labels:
- 'Stage-Beta'
summary: 'mod\_groups for chatrooms'
...

Introduction
============

[mod\_groups](http://prosody.im/doc/modules/mod_groups) allows you to
insert contacts into users' contact lists. Well mod\_group\_bookmarks
allows you to insert chatrooms into the user's bookmarks. These are
fetched by their client and automatically joined when the log in.

In short, if you want to automatically join users to rooms when they
sign in, this is the module you want.

Details
=======

Most clients support storing a private list of room "bookmarks" on the
server. When they log in, they fetch this list and join any that are
marked as "autojoin". Without affecting normal usage of the bookmarks
store this module dynamically inserts custom rooms into users' bookmarks
lists.

Usage
=====

Similar to [mod\_groups](http://prosody.im/doc/modules/mod_groups), you
need to make a text file in this format:

    [room@conferenceserver]
    user1@example.com=User 1
    user2@example.com=User 2

    [otherroom@conferenceserver]
    user3@example.net=User 3

Add "group\_bookmarks" to your modules\_enabled list:

    modules_enabled = {
               -- ...other modules here... --
               "group_bookmarks";
               -- ...maybe some more here... --
    }

Configuration
=============

  ------------------------ ---------------------------------------------------
  group\_bookmarks\_file   The path to the text file you created (as above).
  ------------------------ ---------------------------------------------------

Compatibility
=============

  ----- -------------
  0.8   Works
  0.7   Should work
  0.6   Should work
  ----- -------------

Todo
====

-   Support for injecting into ALL users bookmarks, without needing a
    list
-   Allow turning off the autojoin flag
-   Perhaps support a friendly name for the bookmark (currently uses the
    room address)