Re: Email::Store is dead! Long live Email::Store!

2007-12-19 Thread Ask Bjoern Hansen

Christopher Nehren wrote:

I've been working on cobbling together a modern mailing list manager
written in Perl (Saddlebags), because I find it absolutely
unacceptable that things like the dbic list are running on mailman. As
a part of this, the subject of storing emails in databases came up.
Obviously, we turned to Email::Store.


Did anything happen with rewriting Email::Store and/or Saddlebags?

My last write a mailing list manager was an attempt at porting the 
parts of ezmlm I don't like to Perl, but I couldn't find a good place 
between stick with how it works and redo everything to make it nice 
to work with.  (Like all half-assed MLMs, it does run a few lists, of 
course).



 - ask


Re: Email::Store is dead! Long live Email::Store!

2007-12-19 Thread Justin Simoni



On Dec 19, 2007, at 3:36 AM, Ask Bjoern Hansen wrote:


Did anything happen with rewriting Email::Store and/or Saddlebags?

My last write a mailing list manager was an attempt at porting the  
parts of ezmlm I don't like to Perl, but I couldn't find a good  
place between stick with how it works and redo everything to  
make it nice to work with.  (Like all half-assed MLMs, it does run a  
few lists, of course).


You know, I could really use some help with Dada Mail - the last time  
this thread was active, my message I sent telling people about it was  
never posted.


Anyways, the next alpha release of Dada Mail is looking pretty killer.  
If anyone is interested in helping with development, let me know what  
your pet project may be.


Dada Mail is on its 8th year of development and is quite mature. It's  
userbase is in the tens of thousands. It's not a Mailman replacement  
(nor is it trying to be), but it does support discussion lists,  
archiving and can be installed by anyone who can tackle something like  
phpBB. It's not the tool for everything, but it's a good tool for lots  
of things.


One of the projects I'd really love help on is getting a proper, make,  
make test, make install distribution and having it hosted on CPAN.  
Right now, I've just been working on the test suite, which has about  
5,000 tests already.


I'm personally not a comp sci guy - I graduated with an art degree,  
but I've managed to do quite a heap of work already. A lot of the code  
isn't up to the pep spec, but a lot of the code was written before  
pep's recommended CPAN modules existed. Another project may be to get  
it working with those modules - for example, replacing the MIME-Tools  
stuff with other things. One of the main goals of Dada Mail is to have  
it installed without needing any XS perl modules, so people who do not  
have CPAN (or don't know how to use) or a compiler can install it.


Anyways, the homepage for it is here:

http://mojo.skazat.com

There's a discussion list about it here:

http://mojo.skazat.com/cgi-bin/dada/mail.cgi/list/dadadev/

Sourceforge:

http://sourceforge.net/projects/mojomail

And the CVS:

http://mojomail.cvs.sourceforge.net/mojomail/dada_mail_stable/

Development is getting pretty lonely, esp. since the codebase is  
getting so large - it's getting hard for me to be the only person  
hacking away at it.


Anyways, just throwing that out there. I don't mean to take over the  
thread, but if anyone has any questions about the project, I'll be  
happy to answer them personally,


--

Justin Simoni

http://justinsimoni.com :: Art Portfolio
http://skazat.com :: Sketchbook


On Dec 19, 2007, at 3:36 AM, Ask Bjoern Hansen wrote:


Christopher Nehren wrote:

I've been working on cobbling together a modern mailing list manager
written in Perl (Saddlebags), because I find it absolutely
unacceptable that things like the dbic list are running on mailman.  
As

a part of this, the subject of storing emails in databases came up.
Obviously, we turned to Email::Store.


Did anything happen with rewriting Email::Store and/or Saddlebags?

My last write a mailing list manager was an attempt at porting the  
parts of ezmlm I don't like to Perl, but I couldn't find a good  
place between stick with how it works and redo everything to  
make it nice to work with.  (Like all half-assed MLMs, it does run a  
few lists, of course).



- ask





Re: Email::Store is dead! Long live Email::Store!

2007-09-19 Thread William Yardley
On Tue, Sep 18, 2007 at 07:40:04PM -0500, Karen Cravens wrote:
 
 Aside from Yahoogroups (they seem to have a personal grudge against me; 
 most people don't have the same freaky issues that my account seems to), 
 most of them work fine... as mailing lists.
 
 The problem comes when you try to maintain a community that includes a lot 
 of nontechnical people, who are bizarrely attached to web forums.  You end 
 up with a split community, because sooner or later someone pops up and 
 says I just set up a webforum!  Let's go! and they do.

Yes... I've definitely experienced that, and I definitely hope that
someone comes up with a GOOD bi-directional forum / email list type
thing. I think google groups has done a good job of doing this with
USENET and with their mailing list system... I don't think too many
other attempts have had as much success (that's perhaps because Google
Groups is more like a webmail client than like a web forum).

It seems to me that the gap here is cultural more than technical; the
conventions and norms (as well as posting format) are one thing on
mailing lists and newsgroups, and totally different on forums. And also
there's the push vs. pull thing. I would love to see some software that
does a good job of bridging the gap, though, because I have seen the
split in community you describe.

But that's a totally different matter from how I understood the original
topic (let's create a perl based MLM just because).

w



Re: Email::Store is dead! Long live Email::Store!

2007-09-19 Thread Simon Wistow
On Tue, Sep 18, 2007 at 07:40:04PM -0500, Karen Cravens said:
 So, uh, anyway.  Where were we?  Oh yeah.  How 'bout that Email::Store? 
 (Email::Archive?)

There are a bunch of lessons that I learnt from working on Email::Store 
(I wasn't the original author) that I wanted to correct with a putative 
rewrite that I never got round to.

1) The package based design

This was partly fallout of being based on Class::DBI but I diskliked 
everything being based on Package variables so

  use Email::Store 'dbi:mysql:mailstore';   
  Email::Store-setup; # Do this once

  Email::Store::Mail-store( $rfc822 );
  Email::Store::Mail-retrieve( $msgid );


what I would have preferred was

  my $store = Email::Store-new(%opts);
  my $mess  = $store-message($id);
  my $top   = $mess-thread-top;

which would have made 

  $store2-add($mess);

possible.

2) No pluggable backend

Email::Store was tied closely to Class::DBI which was best of breed at 
the time. It would have been nice if it could have pluggable backends so 
that you could have used whatever storage engine you wanted - 
Class::DBI, DBIx::Class, Data::ObjectDriver even IMAP or a maildir.

To be fair, I'm not exactly sure how this would work - some sort of 
declarative schema like Jifty::DBI maybe.

3) Always keep a pristine copy of the message around

Err, that's pretty much it. It may mean that you bloat you index size 
but I think it's worth it in the long run. It means you can install 
plugins (if yours is going to be plugin based) or upgrade the system and 
add new functionality that you no is going to work and you never have to 
reindex your dataset.

4) That said, convert everything to UTF-8

Apart from the pristine copy (which should be outputted in ASCII) try 
and do everything in UTF8. It just makes things easier.

5) Watch your timezones.

Another tricky problem that it's always best to be thinking of from the 
start rather than trying to retrofit.

6) Think of conversations rather than emails

It might be worth architecting it as a series of conversations rather 
than being email specific. That way later you could add in UseNet for a 
Deja News style affair (ok so UseNet is very much like email but there 
are differences) and maybe even more exotic things like blog posts 
(which let's face it, with comments, merely an email thread), IM 
conversations or SMS.

Especially given your webboard-meets-mailing-list aspirations that might 
be especially useful.

So onto that (the forum/ml idea). I like the idea and it's something 
I've toyed around with over the years - give the people who want forums 
what they want and the people who want a mailing list what *they* want 
and they can be blisfully ignorant of each other (Yahoo! Groups sort of 
does this as far as I know).

I think it may be worth keeping the three pieces loosely coupled i.e 
Mailing List Manager (like MailMan, Majordomo, Siesta or Sympa), Archive 
(Email::Store or Email::Archive) and web front end (e.g sort of Buscador 
or to an even lesser extent Pipermail, MHonArc or Mariachi).

I'm interested to see your progress and design ideas.

Simon

















Re: Email::Store is dead! Long live Email::Store!

2007-09-19 Thread Karen Cravens
On Wed, 19 Sep 2007, Hans Dieter Pearcey wrote:

HDPClose enough, I think.  It's a really interesting conversation to have; web

Oh, good, because clearly Sudafed (plus Diet Dew to combat the drowsiness) 
clearly makes me chatty.

It would be nice to be able to say Let's take this conversation over to 
the Wirebird mailing list except, like I just said (buried in the 
lengthy, lengthy post to Simon), it's not fully moved yet. So I'm left 
with saying I just set up a webforum!  Let's go! which sounds vaguely 
familiar somehow.

But if this conversation *does* bother anyone, soon as I get past this 
sinus yuck and can focus on finishing the install, we can move over there. 
(Guess I could just turn on the daemon and hope for the best...) Of 
course, once I get off the Sudafed+Dew I probably won't be so inclined 
toward lengthy rants.

Then again, get me started on what webforums do wrong and I'll rant 
without any chemical incentives. As evidenced in the PEPBOF at YAPCNA, 
though here it's harder to throw magnetic business cards at people.  And 
beer.

http://flickr.com/photos/gamehawk/655094745/
http://flickr.com/photos/gamehawk/708043939/

(I see that Boulevard isn't available in Chicago, so I reckon I'll be 
bringing another trunkful to YAPC2008. Not sure about Flying Monkey, but 
probably that too.)


Re: Email::Store is dead! Long live Email::Store!

2007-09-19 Thread Karen Cravens
On Wed, 19 Sep 2007, Ricardo SIGNES wrote:

RSNo, I think enough of us have a vested interest in seeing this kind of thing
RSdone properly.

Don't encourage me.  I'll start posting SQL schemas and stuff. And 
assigning tasks. And setting up a repository (thereby terrifying my 
husband/sysadmin; periodically I ask him things like Can't I just chmod 
0777 everything now? or I'm going to set up Apache to run as root, is 
that okay? (Hey, *my* code is secure, it shouldn't be a problem, right? 
Heh.))

RSSeriously, I still think about that Boulevard beer from time to time.  I 
wonder
RSif my local beverage distributor could acquire a case for me.

Hey, I'll happily ship whatever you want. (In better packaging than USPS 
Priority Flat-Rate, even. Though you can fit 9 bottles, I think it was, in 
one of those, if you don't bother with niceties like padding.)  Cheaper, 
but probably less legal, than having your distributor do it.

Speak now if you want any ZON, since they stop making it in August and I'm 
not even sure there's any in circulation now (might be able to reacquire a 
couple from the in-laws). Bob's 47(?) (Munich lager) is supposedly in 
production now, though I haven't gone looking for it or anything, and the 
Nutcracker (winter ale) is scheduled to show up in November.


Re: Email::Store is dead! Long live Email::Store!

2007-09-19 Thread Christopher Nehren
On Wed, Sep 19, 2007 at 02:30:24 EDT, Simon Wistow scribbled these
curious markings:
 On Tue, Sep 18, 2007 at 07:40:04PM -0500, Karen Cravens said:
  So, uh, anyway.  Where were we?  Oh yeah.  How 'bout that Email::Store? 
  (Email::Archive?)
 
 There are a bunch of lessons that I learnt from working on Email::Store 
 (I wasn't the original author) that I wanted to correct with a putative 
 rewrite that I never got round to.
 
 1) The package based design
 
 This was partly fallout of being based on Class::DBI but I diskliked 
 everything being based on Package variables so
 
   use Email::Store 'dbi:mysql:mailstore'; 
   Email::Store-setup; # Do this once
 
   Email::Store::Mail-store( $rfc822 );
   Email::Store::Mail-retrieve( $msgid );
 
 
 what I would have preferred was
 
   my $store = Email::Store-new(%opts);
   my $mess  = $store-message($id);
   my $top   = $mess-thread-top;
 
 which would have made 
 
   $store2-add($mess);
 
 possible.
 
 2) No pluggable backend
 
 Email::Store was tied closely to Class::DBI which was best of breed at 
 the time. It would have been nice if it could have pluggable backends so 
 that you could have used whatever storage engine you wanted - 
 Class::DBI, DBIx::Class, Data::ObjectDriver even IMAP or a maildir.
 
 To be fair, I'm not exactly sure how this would work - some sort of 
 declarative schema like Jifty::DBI maybe.
 
 3) Always keep a pristine copy of the message around
 
 Err, that's pretty much it. It may mean that you bloat you index size 
 but I think it's worth it in the long run. It means you can install 
 plugins (if yours is going to be plugin based) or upgrade the system and 
 add new functionality that you no is going to work and you never have to 
 reindex your dataset.
 
 4) That said, convert everything to UTF-8
 
 Apart from the pristine copy (which should be outputted in ASCII) try 
 and do everything in UTF8. It just makes things easier.
 
 5) Watch your timezones.
 
 Another tricky problem that it's always best to be thinking of from the 
 start rather than trying to retrofit.
 
 6) Think of conversations rather than emails

All excellent points that I'm hoping can be addressed for
Email::Archive. You've given me a great deal of food for thought,
Simon. I especially  appreciate the comments on breaking from CDBI's
interface style. May I have your permission to (with full attribution,
of course) reproduce this as part of an Email::Archive design document
in the SVN repo?


Best regards,
Christopher Nehren


Re: Email::Store is dead! Long live Email::Store!

2007-09-18 Thread Simon Wistow
On Mon, Sep 17, 2007 at 03:18:08PM -0700, Steve Atkins said:
 I'd like a perl-based mailing list manager myself

Myself and a couple of other people wrote a Perl based MLM called Siesta 
about 5 years ago. We did it for four reasons

1) To shut people up who said that there was no Perl based MLM
2) It allowed per user Reply-To munging settings thus shutting up 
   even more whiners
3) Mailman can be kind of sucky, especially if you want to extend it. 
   Siesta was plugin based which kept things clean and simple.
4) We were employment-challenged at the time and bored.

Article here
http://www.perl.com/pub/a/2004/02/05/siesta.html

Code on CPAN.

It should be noted that the the latest changes to various module in the 
Email:: namespace break it. I don't have time to debug so I just 
downgraded instead. 

It's a bit rough around the edges and it has no web frontend (I hate 
doing web stuff) although there was a prototype that got knocked up in 
PHP (long story) but I've been using it for 4 years to run various 
mailing lists and it works fine and there's some neat ideas - I 
particularly like, for some reason, that when you create a backup using 
the command line tool it generates a shell script which will reimport 
everything again using the command line tool.

Anyway, that's just a data point but I thought I'd mention it. 

As it turns out that, despite what most people say, even if there *is* a 
Perl MLM they probably won't use it - see also: Sympa.

Simon




Re: Email::Store is dead! Long live Email::Store!

2007-09-18 Thread Karen Cravens

On Tue, 18 Sep 2007, Simon Wistow wrote:

SW1) To shut people up who said that there was no Perl based MLM

Did majordomo switch from Perl?  I mean, that's the granddaddy of all 
MLMs, isn't it?


SW2) It allowed per user Reply-To munging settings thus shutting up 
SW   even more whiners


Heh.

I'm writing one because:

1) Web forums suck because they ignore the last, oh, 25 years of 
electronic-community development (they lack features that freakin' FIDONET 
had, never mind Usenet and mailing lists), but these days only hardcore 
geeks use mailing lists (I blame spammers), so clearly there's a need for 
community software that does both well. At the same time.


2) Um, that's about it.


Re: Email::Store is dead! Long live Email::Store!

2007-09-18 Thread Dave Cross

Karen Cravens wrote:

On Tue, 18 Sep 2007, Simon Wistow wrote:

SW1) To shut people up who said that there was no Perl based MLM

Did majordomo switch from Perl?  I mean, that's the granddaddy of all 
MLMs, isn't it?


Have you looked at the source code for majordomo? Are you _sure_ that's 
Perl :)


Maybe Simon mean to say

To shut people up who said that there was no sane Perl based MLM

Dave...


Re: Email::Store is dead! Long live Email::Store!

2007-09-18 Thread Karen Cravens
On Tue, 18 Sep 2007, Dave Cross wrote:

DCHave you looked at the source code for majordomo? Are you _sure_ that's 
DCPerl :)

Heh.  Yeah, here's where I admit I wrote a mailing list program myself 
(some ten-ish years ago) because I couldn't figure out how to modify 
majordomo.

Here's where I also admit that NONE of its code is inherited by the one 
I'm writing now, because what I wrote was no saner than majordomo (it 
looked, not coincidentally, like Visual Basic ported into Perl. Badly).


Re: Email::Store is dead! Long live Email::Store!

2007-09-18 Thread William Yardley
On Tue, Sep 18, 2007 at 11:38:49AM -0500, Karen Cravens wrote:
 On Tue, 18 Sep 2007, Simon Wistow wrote:

  1) To shut people up who said that there was no Perl based MLM

 Did majordomo switch from Perl?  I mean, that's the granddaddy of all MLMs, 
 isn't it?

And I think Sympa and Majordomo v2 (total rewrite) are in Perl as well.

Personally, I like Mailman just fine, and it works well for all of the
things I've needed to use it for.

w



Re: Email::Store is dead! Long live Email::Store!

2007-09-17 Thread Karen Cravens
On Mon, 17 Sep 2007, William Yardley wrote:

WYSeems kind of overkill to write a new tool just because the one
WYbeing used isn't written in Perl.

Isn't there a project to rewrite all the Debian utilities in Python 
instead of Perl because some Python people are offended by the presence of 
Perl in the distro?

Somebody's gotta maintain the cosmic Perl/Python balance.


Re: Email::Store is dead! Long live Email::Store!

2007-09-14 Thread Simon Wistow
On Fri, Sep 14, 2007 at 05:00:51PM -0400, Christopher Nehren said:
 I've been working on cobbling together a modern mailing list manager
 written in Perl (Saddlebags), because I find it absolutely
 unacceptable that things like the dbic list are running on mailman. As
 a part of this, the subject of storing emails in databases came up.
 Obviously, we turned to Email::Store.

I'm all in favour of rewriting Email::Store - I've never got round to 
doing all the work I needed to do rewriting it. Everytime I sit down 
to do it something else gets in the way.

As for Perl MLMs - have you looked at Siesta? It's a bit rough and ready 
in some places but I've been running mailing lists off it for years.




Re: Email::Store is dead! Long live Email::Store!

2007-09-14 Thread Christopher Nehren
On 14/09/2007, Ricardo SIGNES [EMAIL PROTECTED] wrote:
 * Christopher Nehren [EMAIL PROTECTED] [2007-09-14T17:00:51]
  We've got a (mostly empty for the moment) repo at
  http://www.coitusmentis.info/repos/email-archive/ , hosted on my home cable

 Would you like to host this on emailproject.perl.org, on a nice Sun server at 
 a
 datacenter?

Oh, most certainly! That'd definitely make things easier for me, and
would probably make my ISP a far deal happier too. There's only a
couple of files there now -- been spending my time writing tests for
(and finding subtle bugs in!) Saddlebags.