From: Ben Schmidt <mail_ben_schmidt@yahoo.com.au>
To: mlmmj@mlmmj.org
Subject: Re: Implementing real names
Date: Thu, 18 Feb 2010 22:24:44 +0000 [thread overview]
Message-ID: <4B7DBE2C.1010807@yahoo.com.au> (raw)
In-Reply-To: <4B5EE46E.3080504@yahoo.com.au>
Hi, Morten,
Thanks a lot for working your way through all the January mail. I really
appreciate the comments and discussion and your openness to changes.
>> A feature that I would find useful is having a membership list that
>> includes real names.
>
> Is that meant as a convenience for the list administrator (when finding
> and unsubscribing clueless users), or would it be useful in other
> situations?
Yes, it's just an administration convenience to find emails, whether to
unsubscribe users, send them a personal message, find out which real
person is bouncing to nag them face-to-face about their incorrect
address, etc..
>> Another possibility would be to keep the data in some kind of simple
>> database file that facilitated quick lookup and update. This seems a
>> bit out-of-style with how mlmmj works, though.
>
> I have a long term vision...
>
> Some users of mlmmj keep subscribers in a database. When sending mails
> to mlmmj, the mail is not piped to mlmmj-recieve [sic]
LOL. Yes. That really should be a candidate, perhaps with changing the
access keyword from 'moderate' to 'hold', for fixing in the next major
release. Though it doesn't really matter, it projects an image of the
project that I don't think reflects the quality of the product. It may
even increase adoption, having it right.
Some tunable names could be adjusted to be more sensible and consistent,
too. And all this supplied with a nice 'upgrade' script for admins. :-)
> at first, but into a
> fetch-the-subscriber-list-and-execute-mlmmj-recieve-script. This works
> okay for newsletter lists, with web-based subscription, if you ignore
> bounces. It is not good for discussion lists.
I don't think I understand how this works at present. Does mlmmj-recieve
have an option to support this? I don't see anything.
> My idea is to restructure mlmmj with a set of hooks. The hooks could
> just be executable files in a directory. There could be a hook for
> subscribing, one for unsubscribing, one for getting the subscriber list,
> one for adding the footer, and so on. The default hooks would do a large
> part of what mlmmj does today.
I think having a bunch of hooks is a good idea. The content filtering
stuff would definitely be better as a hook, and probably should happen
at a different point in the processing chain, too.
> This would allow mlmmj to be used with any storage backend.
>
> If a database based backend was written, per-subscriber settings could
> easily be saved. The real name of a subscriber would just be a setting,
> much like I imagine "notmetoo" being.
>
> What's your thoughts on this?
There is definitely a lot of potential in something more flexible like
this. It raises a lot of issues, though:
- With per-user settings, and with an increasing number of these (and I
do think that long term, they are a plus), having some kind of web
interface becomes more of a necessity than an optional extra. Managing
your settings via an email interface quickly becomes tedious, even for
cluey users. Users who are less savvy haven't got a hope. Likewise for
administrators, commandline tools quickly become difficult to use as
they require more and more options. So admins can lessen their own
burdens by shifting work to users, the interface could have a nice
button (and possibly mail interface) to email specific users a HOWTO!
- Nomail and digest would probably also become per-subscriber options in
this model, rather than discrete lists.
- Bounce handling would probably also need to be integrated with it,
probably as further per-subscriber metadata.
- Also, subscribers who are moderated (or not) could be a very useful
option to include. It would simplify greatly the implementation of
moderating new members that I wrote about earlier, too.
- Who the admins and moderators are could also be made per-subscriber
metadata. This would be more consistent than having some info in
tunables, and some in the database. With a web interface, this would
easily allow logging in to administer the list, too. Basically
anything email-address related (except probably the list address)
could move to the database.
- There are some other really nice things you could do with this, too,
such as making archives available online to list members.
- How would efficiency suffer with needing to fork and execute more
processes? How platform-specific would efficiency problems be? Maybe a
C interface is smarter, so backends are modules. One such module could
be the current mlmmj code (which may well be quite easy to move into a
module with very little reworking--and could provide for a smooth
transition to something new). Another could work by executing external
programs. Others could be speedy interfaces to various databases. A
CGI script could provide an mlmmj web interface that interfaces with
the modules, too, enabling whatever functionality the backend in use
provides.
- Long term, what should the default module/backend be? One of the
beauties of mlmmj is its utter transparency. Files are all very
readable at the commandline. It would be a shame to lose this.
Much like Thunderbird does, perhaps the default module long-term could
provide an index into flat files, rather than use an opaque database
format. (Thunderbird stores mail in mbox files but creates indexes
into those files for efficiency.)
- Likewise, one reason I favour mlmmj is its low memory use, and the way
it doesn't need a daemon (or 5) running. I'd be keen for a default
backend that is more featureful, but still has these niceties.
- We'd want to get CVS (or preferably something better--I favour
Mercurial these days) publicly available, particularly so we could
have a broader testing community if implementing something more
ambitious like this.
That's enough thoughts from me for now. Your turn!
I'd definitely be willing to help with something like this, too. I was
pretty close to biting the bullet and writing my own MLM after
investigating a bunch of others with just weren't really suitable, and
mlmmj stepped in as pretty close to a decent solution. The code was nice
enough that I could easily implement the missing features I needed, at
least the high priority ones. That's plenty less work than writing an
entire MLM on my own, so I'm definitely willing to put in some time to
implementing some of these lower priority but useful features, too.
Ben.
prev parent reply other threads:[~2010-02-18 22:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 12:47 Implementing real names Ben Schmidt
2010-01-26 13:19 ` Devin Ceartas
2010-02-18 17:03 ` Morten Shearman Kirkegaard
2010-02-18 22:24 ` Ben Schmidt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B7DBE2C.1010807@yahoo.com.au \
--to=mail_ben_schmidt@yahoo.com.au \
--cc=mlmmj@mlmmj.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox