My favorites | Sign in
Logo
                
Search
for
Updated Jun 03, 2009 by lhoriman
Labels: Featured
AdminGuide  

SubEtha Administration Guide

This document assumes you have read and understood the InstallGuide.

Initial Administration

After you have followed the InstallGuide, please make sure to up the Site Settings for your postmaster and the default URL. You can do this by logging in as a site admin and select the Edit button from the Site Status link on the left.

Concepts

If you are familiar with mailing list managers, SubEtha should be easy to master. The basic ideas are that:

User Accounts

Mailing Lists

  • Mailing lists have an arbitrary set of Roles, each of which have permissions such as POST and EDIT_FILTERS. The list owner decides what roles exist and what permissions they have. A permission is always relative to a list.
  • Each list has a special Owner role which has all permissions on the list. The Owner role cannot be deleted or modified. Thus, at minimum, all lists have at least this one role.
  • The list owner designates one role which will automatically be assigned to new list subscribers. This is the "default" role.
  • The list owner designates one role which will be the effective role of any users who have not logged in. This is the "anonymous" role.
  • To make it clear by way of example, a user visiting the archives page for a mailing list will be allowed to view the archives only if at least one of the following conditions is true:
  • The user is logged in and the user is a site administrator.
  • The user is logged in, the user is subscribed to the list, and the user's subscription role has permission VIEW_ARCHIVES.
  • The user is not logged in and the special "anonymous" role has permission VIEW_ARCHIVES.

Note that users who are not permitted to view list archives will not be displayed the View Archives menu item.

Moderation Holds

Note that moderators are not notified via email about SOFT holds. Typically SOFT holds are spam. The poster is given sufficient instruction to properly self-moderate the hold (ie, subscribe to the list). In addition, as of v0.8, no more than one "you must wait for admin approval" email per day will be sent to the poster. This will help prevent 'backscatter' related to spam.

Bounce Processing

  • SubEtha intelligently handles bounce messages using "VERP"'d envelope senders. This removes the need to attempt to parse bounce messages from servers.
  • The envelope sender is VERP'd and thus bounces cause the bounceCount to increment faster than decrement.
  • Things work like this.
    1. Every EmailAddress has a bounceCount.
    2. When a mail is sent from a list to an EmailAddress, the bounceCount is decremented by one (at most once per 24 hrs, even if multiple mails are sent within that period).
    3. When a bounce is received, the bounceCount is incremented by two (at most once per 24 hrs).
    4. The EmailAddress is removed from all lists (by setting subscription to "No Delivery") when the bounceCount reaches a threshold which is currently hard coded as 7.

Programming

Please see the ProgrammingGuide for more information.
  • SubEtha is a true three-tiered application. Nearly everything you can do from the website can be automated using the remote EJB interface. This interface is fully contained in core-api.jar.
  • SubEtha offers two kinds of plugins.
    1. Filters manipulate email either as it arrives or as it is sent (or both). Each filter defines a set of configuration parameters that list owners can set on a per-list basis. See DevelopingFilters.
    2. Blueprints initialize a new mailing list with a set of configuration options. This includes basic settings, enabled filters, filter arguments, roles, and permissions. No matter what blueprint a list is created with, list owners are free to reconfigure the list afterwards.
  • Plugins run inside the SubEtha JVM and run with site administrator privelage. Technically this means they can do almost anything. We recommend you stick to the APIs; any other API is considered internal and highly likely to change without notice.
Hosted by Google Code