Login | Register
My pages Projects Community openCollabNet

SubEtha Frequently Asked Questions


How does SubEtha compare to Mailman?

Both are open source mailing list managers. In Mailman's favor:

  • Mailman is a much more mature application. SubEtha is relatively new and might possibly still have bugs.
  • Mailman has a known performance profile. While SubEtha should scale well, there are not yet any large SubEtha installations, so performance is still unproven.
  • Mailman has a very large user community. SubEtha is just getting started.
  • Mailman has a smaller memory footprint. SubEtha requires a Java appserver. However, it should be noted that Mailman's qrunner footprint is not especially svelte, and JBoss can be slimmed down considerably in a low-traffic environment.
  • Mailman has all the little quirky configuration options that only comes from years of obscure user requests and patching.

In SubEtha's favor:

  • Features! SubEtha offers virtual domains, role-based permissions, keeping attachments on the server, searchable archives, and the ability for users to have multiple email addresses, among many others. The only major feature present in Mailman but missing in SubEtha is digest mode.
  • Usability. SubEtha works like a reasonably modern web application. Mailman's interface is... antiquated.
  • Pluggability, automation, and integration. You can write a wide variety of plugins for SubEtha, and SubEtha exposes much of it's internal machination as a public API. You can plug in your own quirky obscure behaviors without patching the core.
  • Theoretical scalablity. In theory, SubEtha should easily scale into a cluster of dozens of machines. However, nobody has tried this yet - if you do, we want to hear from you.
  • SubEtha stores data in a database rather than using the filesystem, although some people view this as a disadvantage.
  • SubEtha runs on Windows. Yeah, we know, some people view this as a disadvantage :-)

We would like to think that SubEtha significantly raises the bar for what users expect a mailing list manager to do. However, this is new software; expect a few rough edges.

What's with the google ad?

Developing SubEtha was a major effort, requiring several months of fulltime work by several engineers motivated by the bizarre notion "wouldn't it be cool!" The thought that we might be able to get beer money out of this project didn't occur to us until long after the fact.

Rather than asking for donations, we've added the least obtrusive google ad we could find to the dead space under the menus. We hope it's not too irritating, but if it is, you are welcome to remove it. We won't be upset.

How do I remove the google ad?

The easiest way is to "explode" the packaging of SubEtha into a directory structure, then edit the JSP file that contains the offending HTML. Note that .ear and .war files are simply standard zip files with different extensions.

  1. Stop JBoss
  2. Move the file ${jboss.dir}/server/default/deploy/subetha.ear somewhere else (say, /tmp)
  3. Unzip the contents of subetha.ear into the directory ${jboss.dir}/server/default/deploy/subetha.ear/
  4. Move the file ${jboss.dir}/server/default/deploy/subetha.ear/frontend.war somewhere else (say, /tmp)
  5. Unzip the contents of frontend.war into the directory ${jboss.dir}/server/default/deploy/subetha.ear/frontend.war/
  6. Edit the file ${jboss.dir}/server/default/deploy/subetha.ear/frontend.war/WEB-INF/tags/trim/list.tag. There is a comment next to the HTML that you should remove.
  7. Start JBoss again

Alternatively, you could check out the source code, make the change to list.tag, and build SubEtha yourself. This is easier than you might think, and we developers will even be happy to help you. In summary - install JDK1.5, install JBoss, install Ant, checkout SubEtha (either the tagged version you want or trunk, which is almost always safe), edit build.properties to point to the JBoss dir, and run ant.

Can't you just make that a config option?

Come now. We went through all this trouble to write SubEtha, the least you can do is put a little effort into your mean (mean!) attempts to circumvent our beer money collection scheme.

Tech Specs

What JDK version does SubEtha require?
SubEtha requires JDK1.5 or later.
What JBoss version does SubEtha require?
JBoss 4.0.5.GA or (possibly) newer
Does SubEtha run on other J2EE appservers?

Not currently. SubEtha uses a fair amount of JBoss-specific code both in places where the J2EE spec is incomplete (or useless, ie authorization) and in places where it was very convenient (ie @Service beans and Message-Driven POJOs).

We view the appserver not as an operating system in which users run applications, but as a large library around which applications like SubEtha are built. Users install SubEtha; they should not have to care what components power it.

Which databases does SubEtha support?
Any that work with JBoss EJB3 (aka Hibernate) and provide reasonable BLOB support. The developers use MySQL.
Does SubEtha work with my Mail Transport Agent (eg Postfix, Sendmail, Exim, Qmail)?
Yes, in fact, SubEtha currently requires an external MTA to deliver mail. The developers all use Postfix, but any MTA should work. See the integration page. In the future, it will be possible to use SubEtha without an MTA.
Does SubEtha support i18n (internationalization)?

SubEtha's text strings (ie: web interface, error messages, etc.) haven't been internationalized with different languages (yet), but SubEtha should pass messages through written in any language with any character encoding. There are two exceptions to this: Email is always rendered as UTF-8 in the web archives, and list owners may install filters which replace text in the mail message. All substituted text is encoded with the platform default character set.

We strongly recommend that you set your JVM's default character set to UTF-8. You should read a more thorough discussion of internationalization issues in SubEtha.

What about 8bit MIME?
JavaMail will parse messages in 8BITMIME just fine. However, by default, JavaMail does not send mail in 8BITMIME. This can be turned on in ${jboss.dir}/server/default/deploy/mail-service.xml by setting the attribute mail.smtp.allow8bitmime=true. We DO NOT recommend doing this with the current version of JavaMail. We have found at least one bug whereby quoted-printable content with nonascii characters will have it's header changed to "8bit" without updating the actual contents. If this defect in JavaMail is corrected, this FAQ entry will change.

Design Questions

Why does SubEtha store attachments in a separate table?
1) they're huge, and we don't want to have to parse them when we're rendering the archive page 2) they need to be accessed separately as links from the archives anyways 3) message bodies without attachments are small enough to store in the 2nd level cache, making archive reading fast and scalable.


I just sent a message to a list and it isn't showing up in the archives during a search!

This is because the thread which re-indexes the archives runs about every ten minutes or so. Just give it some time and the message will show up.