I definitely understand the creeping featuritis and can sympathize. But there is a cure! Several things can be done to improve the situation, as you alluded to, and I’m very glad that you are taking that path.
The best and most important cure of all is to first set the defaults properly for the majority of users. That way, they hopefully won’t even need to go in and mess with these settings at all. Fortunately, this should be very easy to achieve in Virtualmin Professional, since we are starting with a known supported environment (i.e. Postfix, Dovecot, Maildir, etc.).
If users do mess with the settings, either because they have a slightly different-than-average need or just like to tweak things, then the next best cure is to organize the configuration layout so that only the basic and most frequently-changed options appear at first. Then, they can change settings without having to worry about totally screwing things up accidentally. For those advanced users that really need to change the more obscure settings, there should be an “advanced” or “expert” area, with the caveat that those settings should only be changed “if you really know what you’re doing!”
The final cure (sad that this is a last resort) is that these options need to be documented. None of the configurable options in the Webmin or Usermin Read Mail modules have clickable help text. So, it is anyone’s guess what some of these obscure options really do.
I have to agree that this is one of the main reasons why people don’t use Usermin for webmail. I have implemented several different webmail clients over the past ten years or so, and Usermin has certainly been the hardest one to set up properly, at least when Maildir is involved. This doesn’t need to be the case, since it is so flexible as you’ve pointed out. So, we need to get these featuritis cures (appropriate defaults, better layout of config options, and help text) implemented to make Usermin a more feasible option. (And, ironically, we also need to[Em>add</Em> a few new features to make it more competitive with some of the more mature, well-polished popular clients.)
One other suggestion that has been made already is that Usermin should just rely on the IMAP server to provide its mail, as virtually every other webmail client does. This would completely eliminate a lot of these confusing options, since they are already properly set and handled by the IMAP server. In other words, Usermin shouldn’t need to know and the user shouldn’t care whether the mail store is using mbox, Maildir, or something completely different. (That’s why most other mail clients don’t suffer from this complexity.) All it needs to know is what IMAP server is being used, and the mail folders list is pretty much automatic at that point. So, this begs the question: [Em>Why not just set up Usermin for IMAP by default?</Em>