SMF1.1:Permissions

In this section, three tabbed pages are available: Permissions by Membergroup, Permissions by Board, and Settings.

Permissions by Membergroup
This page shows a list of all membergroups, along with a few statistics. On the right of each membergroup is a checkbox and a modify link. The checkbox allows the administrator to apply the advanced options to make quick and easy changes to the membergroup permission profiles. The modify link allows the administrator to customize each permission for the usergroup.

There are five categories of permissions in a standard SMF install. Some SMF modifications may add additional permissions to this list. Some modifications may add new categories of permissions. The first four categories of permissions can be viewed and set on this page.

General

 * View forum statistics - The collected statistics of an SMF forum that can be found in the Info Center
 * View the memberlist - A list of all registered members of an SMF forum. It can be found in the Info Center
 * View Who's Online - A summary of who's on an SMF forum, and it can be found in the Info Center
 * Search for posts and topics - Allows users to search the forums using keywords and phrases. Can be found in the navigation bar.
 * Change other people's karma - Allows users to edit the karma of other users. This displays as +X/-X or +X beside the posts of members, where X is the member's karma totals.

Calendar

 * View the calendar - Determines whether a user can view the calendar of an SMF forum. It can be found in the navigation bar.
 * Create events in the calendar - Determines whether a user can create new events in the calendar.
 * Edit events in the calendar - Determines whether a user can edit events in the calendar.

Forum Administration

 * Administrate forum and database - Determines whether a user can change database connection properties, edit server settings, and perform other administrative functions.
 * Manage boards and categories - Determines whether users can create, modify, and/or delete boards and categories.
 * Manage attachments and avatars - Determines whether users can manage and delete attachments on the forum.
 * Manage smileys - Determines whether a user can change smiley sets, delete smileys, and change smiley options.
 * Edit news - Determines whether a user can edit the forum's news.

Member administration

 * Moderate forum members - Determines whether a user can register users manually, track IP addresses, online status, etc.
 * Manage and assign membergroups - Determines whether users can create, manage, or delete membergroups.
 * Manage permissions - Determines whether users can manage member permissions.
 * Manage ban list - Determines whether a user can ban other members and/or discontinue bans.
 * Send a forum email to members - Determines whether a user can send an e-mail in bulk to all members or individual membergroups; this keeps the users from having to reveal their own e-mail addresses.

Personal Messaging

 * Read personal messages - Determines whether a user can view personal messages sent to him or her.
 * Send personal messages - Determines whether a user can send personal messages to other members.

Member Profiles

 * View profile summary and stats - Determines whether a user can view profile summaries and member stats.
 * Edit account settings - Determines whether a user can edit their own account's settings as well as the account settings of all members.
 * Edit additional profile settings - Determines whether users can edit individual forum preferences such as their avatar, theme preferences, notifications and Personal Message settings. If this is not checked, the user will be forced to use the default settings
 * Edit custom title - Determines whether users can edit their custom titles.
 * Delete account - Determines whether a member can delete their account or other members' accounts.
 * Select an avatar from the server - Determines whether a user can select an avatar from the avatars uploaded on the forum.
 * Upload an avatar to the server - Determines whether a user can upload their personal avatar to the server.
 * Choose a remotely stored avatar - Determines if a user can use an avatar from another server or site.

The board permissions are different from the other four categories of permissions. This is because any forum may have several boards, and membergroups may have different permissions on different boards. Each Board Permission Profile is a list of the entire set of Board Permissions for each membergroup. The board permissions can be accessed from this page, and for each board via the Permissions by Board tab (see below).

General

 * Moderate board - Determines whether users in this membergroup can moderate the boards they have access to. With this permission users can reply to locked topics, change poll expiration time and view poll results.

Topics

 * Post new topics - Determines whether users in this membergroup can post new topics.
 * Merge any topic - Determines whether users in this membergroup can merge topics.
 * Split any topic - Determines whether users in this membergroup can split topics.
 * Send topics to friends - Determines whether users in this membergroup can send topics to their friends via email.
 * Make topics sticky - Determines whether users in this membergroup can make some topics sticky topics.
 * Move topic - Determines whether users in this membergroup can move their own topics, all topics, or no topics at all.
 * Lock topics - Determines whether users in this membergroup can lock their own topics, all topics, or no topics at all.
 * Remove topics - Determines whether users in this membergroup can remove their own topics, all topics, or no topics at all.
 * Post replies to topics - Determines whether users in this membergroup can Post replies to their own topics, all topics, or no topics at all.
 * Modify replies to own topics - Determines whether users in this membergroup can modify replies to their own topics.
 * Delete replies to own topics - Determines whether users in this membergroup can delete replies to their own topics.
 * Announce topic - Determines whether users in this membergroup can announce (send topic by email or private message) their topics.

Posts

 * Delete posts - Determines whether users in this membergroup can delete their own posts, all posts, or no posts at all.
 * Modify posts - Determines whether users in this membergroup can modify their own posts, all posts, or no posts at all.
 * Report posts to the moderators - Determines whether users in this membergroup will be able to report posts to the forum moderators that receive forum notifications.

Polls

 * View polls - Determines whether users in this membergroup will be able to view polls.
 * Vote in polls - Determines whether users in this membergroup will be able to vote in polls they can see.
 * Post Polls - Determines whether users in this membergroup will be able to make their own polls.
 * Add poll to topics - Determines whether users in this membergroup are allowed to add polls to existing topics. The forum admins can choose whether they must have posted the topic, or if they can add it to any Topic they can see.
 * Edit polls - Determines whether users in this membergroup can edit their polls, any polls, or no polls at all. This permission allows a user to edit the polls options, reset the poll, edit the maximum number of votes, and edit the expiration time of the poll. In order to edit the maximum number of votes and the expiration time a user needs to have the 'Moderate board' permission.
 * Lock polls - Determines whether users in this membergroup can lock their own polls, any polls, or no polls at all.
 * Remove polls - Determines whether users in this membergroup can remove their own polls, any polls, or no polls at all.

Notifications

 * Request notification on replies - Determines whether users in this membergroup will be able to request notification on replies to topics they select.
 * Request notification on new topics - Determines whether users in this membergroup will be able to request notification when new topics get posted in a board.

Attachments

 * View Attachments - Determines whether users in this membergroup can view attachments.
 * Post Attachments - Determines whether users in this membergroup can post attachments on topics.

Permissions by Board
This tab is only visible if Enable advanced by board permissions has been enabled. On this page, every board is listed, with its board permission profile. If you do not want to use the Global permissions for a particular board, you must click on the Local link underneath Switch To. Clicking this will take you to that board's Modify Boards page. You can then modify the permissions for membergroup profiles for that board, and use the following drop down menus:
 * Apply pre-defined permission profile - These allow you to use the 'default' permission set-ups.
 * Set permissions like this group - These allow you to use the permissions from an existing membergroup.
 * Add/Clear permission - Allows you to select a permission to add to this board.

A more detailed section on this subject can be found at Board Permissions

'''Note that the local per board permissions only apply to one board. They cannot be re-used.'''

Settings

 * Membergroups allowed to manage permissions - Administrators can select which membergroups are allowed to manage permissions.
 * Enable the option to deny permissions - Once enabled along with granting permissions it will be possible also to deny any permission. Denied permissions are not allowed even if the member belong to another membergroup for which the permission is granted.
 * Enable permissions for post count based groups - Determines whether membergroups based on post count can be used to manage permissions.
 * Enable advanced by board permissions - Ticking this box allows the Permissions by Board tab to be visible.

Options
SMF's permissions are so powerful because they can be set for each individual permission to three options rather than just on or off.
 * A - This option gives user current permission
 * X - This option does not give the user current permission
 * D - This option denies the user current permission

Things get really interesting when a user belongs to two or more membergroups with different options (A, X or D) for the same permission.

Member Belongs to Two Membergroups
In this example a member belongs to only 2 different membergroups with different options for some permissions:

In short: D wins A which wins X

Member Belongs to Three or More Membergroups
You should not use D too much. Its a good idea to use special private membergroups just to Deny some permissions. If you don't want some members to use e.g. private messages, you can set up a private membergroup with a descriptive name like "no-pm" and for that membergroup, set the permissions for pm to D. Every member of that group is not allowed pm's regardless of the other groups they belong. If you change your mind about that setting you can find easily which membergroup restricts PMs and reset it.
 * If you want a permission to be allowed, then you must have option A in at least one group and no D.
 * If you want a permission to be disallowed, then you must have all options X, or
 * If you want a permission to be disallowed, you must have option D in at least one group. It does not matter if other options are A or X.