mod_muc_config_restrict/README.wiki
changeset 1786 29f3d6b7ad16
equal deleted inserted replaced
1785:12ac88940fe3 1786:29f3d6b7ad16
       
     1 #summary Restrict MUC configuration options to server admins
       
     2 #labels Stage-Alpha
       
     3 
       
     4 = Introduction =
       
     5 
       
     6 Sometimes, especially on public services, you may want to allow people to create their own rooms, but prevent some options from being modified by normal users.
       
     7 
       
     8 For example, using this module you can prevent users from making rooms persistent, or making rooms publicly visible.
       
     9 
       
    10 = Details =
       
    11 
       
    12 You need to supply a list of options that will be restricted to admins. Available options can vary, but the following table lists Prosody's built-in options (as defined in XEP-0045):
       
    13 
       
    14 || *Name* || *Description* ||
       
    15 || muc#roomconfig_roomname || The title/name of the room ||
       
    16 || muc#roomconfig_roomdesc || The description of the room ||
       
    17 || muc#roomconfig_persistentroom || Whether the room should remain when empty ||
       
    18 || muc#roomconfig_publicroom || Whether the room is publicly visible ||
       
    19 || muc#roomconfig_changesubject || Whether occupants can change the subject ||
       
    20 || muc#roomconfig_whois || Control who can see occupant's real JIDs ||
       
    21 || muc#roomconfig_roomsecret || The room password ||
       
    22 || muc#roomconfig_moderatedroom || Whether the room is moderated ||
       
    23 || muc#roomconfig_membersonly || Whether the room is members-only ||
       
    24 || muc#roomconfig_historylength || The length of the room history ||
       
    25 
       
    26 Some plugins may add other options to the room config (in Prosody 0.10+), for which you will need to consult their documentation for the full option name.
       
    27 
       
    28 = Configuration =
       
    29 
       
    30 Enable the plugin on a MUC host (do not put it in your global modules_enabled list):
       
    31 
       
    32 {{{
       
    33     Component "conference.example.com" "muc"
       
    34         modules_enabled = { "muc_config_restrict" }
       
    35         muc_config_restricted = {
       
    36             "muc#roomconfig_persistentroom"; -- Prevent non-admins from changing a room's persistence setting
       
    37             "muc#roomconfig_membersonly"; -- Prevent non-admins from changing whether rooms are members-only
       
    38         }
       
    39 }}}
       
    40 
       
    41 = Compatibility =
       
    42 || trunk || Works ||
       
    43 || 0.9 || Doesn't work ||
       
    44 || 0.8 || Doesn't work ||