* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
@ 2011-03-04 3:47 ` Marcelo
2011-03-04 3:48 ` Marcelo
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Marcelo @ 2011-03-04 3:47 UTC (permalink / raw)
To: mlmmj
On Thu, Mar 3, 2011 at 14:40, Wolf Bergenheim <wolf+mlmmj@bergenheim.net> wrote:
> I was wondering if we should get involved with Google Summer of Code
> [1]? I know this is sort of late, however we have over a week to get
> the application done. This year Google also seem to focus on cool
> small projects. So what do you say, should we go for it? Who would be
> willing and/or capable to mentor a student? I'd be willing to take
> care of the administrative stuff.
One idea could be a web forum with a mailing list backend, which can
double as a web-based archive browser (if you disallow posting from
the web). There's a nice one implemented in Ruby called rforum
(Mikrocontroller.net runs a newer improved version, but there's no
public release of that). I think mlmmj lends itself nicely to this
type of application because it allows for a very loosely coupled
implementation. I'm pretty sure there's lot of excellent Rails talent
among students, which would allow them to focus on the functionality
instead of the internals of the framework.
Marcelo
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
2011-03-04 3:47 ` Marcelo
@ 2011-03-04 3:48 ` Marcelo
2011-03-04 13:14 ` Mark Alan
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Marcelo @ 2011-03-04 3:48 UTC (permalink / raw)
To: mlmmj
On Thu, Mar 3, 2011 at 21:47, Marcelo <marcelo.magallon@gmail.com> wrote:
> implementation. Â I'm pretty sure there's lot of excellent Rails talent
> among students, which would allow them to focus on the functionality
> instead of the internals of the framework.
And it would be a nice FLOSS alternative to Google Groups, too :-)
Marcelo
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
2011-03-04 3:47 ` Marcelo
2011-03-04 3:48 ` Marcelo
@ 2011-03-04 13:14 ` Mark Alan
2011-03-04 13:38 ` Christoph Thiel
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Mark Alan @ 2011-03-04 13:14 UTC (permalink / raw)
To: mlmmj
On Thu, 3 Mar 2011 21:47:15 -0600, Marcelo <marcelo.magallon@gmail.com>
wrote:
> On Thu, Mar 3, 2011 at 14:40, Wolf Bergenheim
> <wolf+mlmmj@bergenheim.net> wrote:
> One idea could be a web forum with a mailing list backend,
We already have that (we are using with Drupal 7 + mlmmj).
M.
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (2 preceding siblings ...)
2011-03-04 13:14 ` Mark Alan
@ 2011-03-04 13:38 ` Christoph Thiel
2011-03-04 14:22 ` Thomas Goirand
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Christoph Thiel @ 2011-03-04 13:38 UTC (permalink / raw)
To: mlmmj
On Thu, Mar 03, 2011 at 10:40:17PM +0200, Wolf Bergenheim wrote:
> Hi!
>
> I was wondering if we should get involved with Google Summer of Code
> [1]? I know this is sort of late, however we have over a week to get
> the application done. This year Google also seem to focus on cool
> small projects. So what do you say, should we go for it? Who would be
> willing and/or capable to mentor a student? I'd be willing to take
> care of the administrative stuff.
+1 -- I would love to see a web-based moderation feature. I have a small
sinatra-based hack, to preview mail, but something like that could
really be helpful. It would also be nice to be able to reject mails,
that are being moderated.
Best
Christoph
--
Christoph Thiel
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (3 preceding siblings ...)
2011-03-04 13:38 ` Christoph Thiel
@ 2011-03-04 14:22 ` Thomas Goirand
2011-03-04 15:13 ` Christoph Thiel
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Thomas Goirand @ 2011-03-04 14:22 UTC (permalink / raw)
To: mlmmj
On 03/04/2011 09:38 PM, Christoph Thiel wrote:
> I would love to see a web-based moderation feature. I have a small
> sinatra-based hack, to preview mail, but something like that could
> really be helpful. It would also be nice to be able to reject mails,
> that are being moderated.
>
> Best
> Christoph
Well, look into the contrib folder. I wrote one!
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (4 preceding siblings ...)
2011-03-04 14:22 ` Thomas Goirand
@ 2011-03-04 15:13 ` Christoph Thiel
2011-03-04 22:45 ` Wolf Bergenheim
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Christoph Thiel @ 2011-03-04 15:13 UTC (permalink / raw)
To: mlmmj
On Fri, Mar 04, 2011 at 10:22:56PM +0800, Thomas Goirand wrote:
> On 03/04/2011 09:38 PM, Christoph Thiel wrote:
> > I would love to see a web-based moderation feature. I have a small
> > sinatra-based hack, to preview mail, but something like that could
> > really be helpful. It would also be nice to be able to reject mails,
> > that are being moderated.
> >
> > Best
> > Christoph
>
> Well, look into the contrib folder. I wrote one!
Good to know! Thanks for the pointer!
Best
Christoph
--
Christoph Thiel
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (5 preceding siblings ...)
2011-03-04 15:13 ` Christoph Thiel
@ 2011-03-04 22:45 ` Wolf Bergenheim
2011-03-05 1:01 ` Marcelo
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Wolf Bergenheim @ 2011-03-04 22:45 UTC (permalink / raw)
To: mlmmj
So does all this mean that there is interest and energy to sponsor a
student or two during the summer? Note the timeline [1] coding period
is from May to August.
If so we need to start working on the application and an ideas page.
--Wolf
[1] http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/timeline
On Fri, Mar 4, 2011 at 17:13, Christoph Thiel <ct@kki.org> wrote:
> On Fri, Mar 04, 2011 at 10:22:56PM +0800, Thomas Goirand wrote:
>> On 03/04/2011 09:38 PM, Christoph Thiel wrote:
>> > I would love to see a web-based moderation feature. I have a small
>> > sinatra-based hack, to preview mail, but something like that could
>> > really be helpful. It would also be nice to be able to reject mails,
>> > that are being moderated.
>> >
>> > Best
>> > Christoph
>>
>> Well, look into the contrib folder. I wrote one!
>
> Good to know! Thanks for the pointer!
>
>
> Best
> Christoph
> --
> Christoph Thiel
>
>
>
--
<3 )---- Wolf Bergenheim ----( 8>
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (6 preceding siblings ...)
2011-03-04 22:45 ` Wolf Bergenheim
@ 2011-03-05 1:01 ` Marcelo
2011-03-06 12:29 ` Ben Schmidt
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Marcelo @ 2011-03-05 1:01 UTC (permalink / raw)
To: mlmmj
On Fri, Mar 4, 2011 at 07:14, Mark Alan <varia@e-healthexpert.org> wrote:
>> One idea could be a web forum with a mailing list backend,
>
> We already have that (we are using with Drupal 7 + mlmmj).
URL?
Thanks,
Marcelo
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (7 preceding siblings ...)
2011-03-05 1:01 ` Marcelo
@ 2011-03-06 12:29 ` Ben Schmidt
2011-03-06 15:32 ` Thomas Goirand
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Ben Schmidt @ 2011-03-06 12:29 UTC (permalink / raw)
To: mlmmj
On 4/03/11 7:40 AM, Wolf Bergenheim wrote:
> I was wondering if we should get involved with Google Summer of Code
> [1]? I know this is sort of late, however we have over a week to get
> the application done. This year Google also seem to focus on cool
> small projects. So what do you say, should we go for it? Who would be
> willing and/or capable to mentor a student? I'd be willing to take
> care of the administrative stuff.
>
> [1] http://code.google.com/soc
I definitely like the idea of being involved with it. A few thoughts:
- This ultimately depends on mentors being available. I might be able to
manage to mentor a student, but I need to think a little more about
it. Is anyone on the list able to give a solid commitment that they'd
be able to be a mentor? This is the highest priority. We have only a
few days to sort this out.
- I'd prefer it if we could think ahead and avoid having code written
that will just bitrot. For instance, the idea of a forum with Mlmmj as
a backend in Rails is a good and interesting idea, but to me it sounds
more like a separate project, not part of Mlmmj. I'm not sure I'd be
able and competent to maintain something like that (not knowing
Ruby!). Of course, it could go in contrib, but if it's not going to
just bitrot there (as a couple of things have a bit), it would need
somebody to maintain it. Given the short-term-project nature of GSoC,
I'm not sure we could rely on a student doing this (though that would
be great if we got someone willing). So, ideally, for a project like
that, we would have a person/people step up as mentor and maintainer.
- Some ideas for projects more in the Mlmmj core, that are pushing ahead
towards what I envision to be Mlmmj 2.0:
- Make a CGI binary (i.e. another small program written in C like the
rest of Mlmmj--small and slim) to allow archive browsing.
- Or the same to allow list administration (modifying tunables,
subscribing and unsubscribing members, etc.).
- Refactor some code into clearer modules and extend the list access
module to support per-user options (delivery mode of normal, digest
or nomail, their real name, notmetoo, whether they're a moderator,
whether they're moderated, etc.). Possibly do this in a new module
that uses a database backend.
- (Eventually those three projects would all be extended/combined to
allow things such as viewing and moderating mail messages, archive
access only by list members authenticated by password, etc..)
- Develop a test suite, including testing relaying mail through
different MTAs (e.g. by automating setting up environments on a
virtual machine), simulating MTA failures and bounces (with a mock
SMTP server written in some scripting language or something),
different tunables, use cases, and so on, so the other large
changes to the codebase can be made with greater confidence.
- Improve the logging mechanisms and add some gathering of statistics
(include some nice scripts to generate graphs and things). (Not
sure this is big and exciting enough for a summer project, though,
unless it did a lot of mail parsing to gather detailed stats on
senders and things, which is probably a separate project--indeed,
something may already exist to do this that is mlm-agnostic.)
Ben.
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (8 preceding siblings ...)
2011-03-06 12:29 ` Ben Schmidt
@ 2011-03-06 15:32 ` Thomas Goirand
2011-03-06 16:31 ` Moritz Wilhelmy
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Thomas Goirand @ 2011-03-06 15:32 UTC (permalink / raw)
To: mlmmj
On 03/06/2011 08:29 PM, Ben Schmidt wrote:
> - Make a CGI binary (i.e. another small program written in C like the
> rest of Mlmmj--small and slim) to allow archive browsing.
IMHO, using C for writing web interfaces is both counter-productive and
a security risk. BTW, what is the problem with things like mhonarc? I
think that generating static content is always better than (uselessly)
generating on-the-fly dynamic content.
> - Refactor some code into clearer modules and extend the list access
> module to support per-user options (delivery mode of normal, digest
> or nomail, their real name, notmetoo, whether they're a moderator,
> whether they're moderated, etc.). Possibly do this in a new module
> that uses a database backend.
If we need a db, *please* make it possible to choose the back-end (like
for example: sqlite, postgres or MySQL).
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (9 preceding siblings ...)
2011-03-06 15:32 ` Thomas Goirand
@ 2011-03-06 16:31 ` Moritz Wilhelmy
2011-03-07 8:18 ` Thomas Goirand
2011-03-07 10:07 ` Ben Schmidt
12 siblings, 0 replies; 14+ messages in thread
From: Moritz Wilhelmy @ 2011-03-06 16:31 UTC (permalink / raw)
To: mlmmj
Hi,
On Sun, Mar 06, 2011 at 11:32:09PM +0800, Thomas Goirand wrote:
> IMHO, using C for writing web interfaces is both counter-productive and
> a security risk.
Not really any more than writing an MLM in C...
IMHO, C is perfectly fine, as long as the programmers know what they're doing.
A not-insignificant part of your operating system is written in C, and you
don't consider that a security risk, do you?
> BTW, what is the problem with things like mhonarc? I think that generating
> static content is always better than (uselessly) generating on-the-fly
> dynamic content.
Just a thought, maybe search-queries against the list? (Although this can also
be done by external search engines if your list is in the index, but maybe you
don't want this, for instance for private lists? Sure, you could just download
the archive as mbox file, and use grep or mairix or mutt -f listarchive...)
> If we need a db, *please* make it possible to choose the back-end (like
> for example: sqlite, postgres or MySQL).
Maybe externalise this, so mlmmj uses a separate mlmmj-user program to check
against a db, filesystem or other ways of data storage?
I'd still prefer not to use a DB at all. The idea that everything needs to be
backed by a full-fledged database with access control and whatever is a common
mistake in computing. For something as simple as mlmmj, UNIX permissions should
suffice. I agree that some people might want to integrate mlmmj into their
existing, db-backed projects, though.
Best regards,
Moritz
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (10 preceding siblings ...)
2011-03-06 16:31 ` Moritz Wilhelmy
@ 2011-03-07 8:18 ` Thomas Goirand
2011-03-07 10:07 ` Ben Schmidt
12 siblings, 0 replies; 14+ messages in thread
From: Thomas Goirand @ 2011-03-07 8:18 UTC (permalink / raw)
To: mlmmj
On 03/07/2011 12:31 AM, Moritz Wilhelmy wrote:
> Hi,
>
> On Sun, Mar 06, 2011 at 11:32:09PM +0800, Thomas Goirand wrote:
>> IMHO, using C for writing web interfaces is both counter-productive and
>> a security risk.
>
> Not really any more than writing an MLM in C...
> IMHO, C is perfectly fine, as long as the programmers know what they're doing.
> A not-insignificant part of your operating system is written in C, and you
> don't consider that a security risk, do you?
That part isn't facing the web.
You write thing in C when you need things to be fast. Here, for just
browsing the archive, I don't see the point. It's using a carrier to
cross a river...
> I'd still prefer not to use a DB at all. The idea that everything needs to be
> backed by a full-fledged database with access control and whatever is a common
> mistake in computing.> For something as simple as mlmmj, UNIX permissions should
> suffice.
Yes, I agree 100%.
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [mlmmj] Google Summer of Code
2011-03-03 20:40 [mlmmj] Google Summer of Code Wolf Bergenheim
` (11 preceding siblings ...)
2011-03-07 8:18 ` Thomas Goirand
@ 2011-03-07 10:07 ` Ben Schmidt
12 siblings, 0 replies; 14+ messages in thread
From: Ben Schmidt @ 2011-03-07 10:07 UTC (permalink / raw)
To: mlmmj
>> IMHO, using C for writing web interfaces is both counter-productive and
>> a security risk.
>
> Not really any more than writing an MLM in C...
> IMHO, C is perfectly fine, as long as the programmers know what they're doing.
Exactly. It can be done well, just as web interfaces written in more
common web scripting languages can be done badly.
I think there are a number of advantages having something written in the
same language as the MLM, too--it can easily hook into all the stuff the
MLM does when it needs to without duplicating code or developing data
sharing strategies.
>> BTW, what is the problem with things like mhonarc?
No particular problem with it, though I think something dynamic and more
closely integrated with the MLM could make the experience better,
particularly for small sites.
It's not like Mhonarc will ever cease to be an option, though.
>> I think that generating static content is always better than
>> (uselessly) generating on-the-fly dynamic content.
>
> Just a thought, maybe search-queries against the list?
Yeah, dynamic generation is good for that sort of thing. Also it makes
things easy like:
- Integration with a frequently changing website (e.g. within a theme
that includes something like recent news in a sidebar).
- Organisation of the archives, e.g. allowing an admin to promote a
message to its own thread, like in forums.
- Private archives with authentication integrated with the rest of the
Mlmmj system.
>> If we need a db, *please* make it possible to choose the back-end (like
>> for example: sqlite, postgres or MySQL).
I can't promise what selection there will be, but the reason to refactor
the code into a clear module is so that you can drop in a module of your
choice (whether flat files or a database backend of your choice).
> Maybe externalise this, so mlmmj uses a separate mlmmj-user program to
> check against a db, filesystem or other ways of data storage?
I suspect the checks are a bit more frequent, varied and closely
integrated with other code to warrant a separate binary. However, once
modularised, it would be easy to try this by writing a module that works
by calling one or more external programs.
> I'd still prefer not to use a DB at all.
I have no intention of removing support for flat files, though perhaps
some more advanced features will not work with them down the track.
> The idea that everything needs to be backed by a full-fledged database
> with access control and whatever is a common mistake in computing. For
> something as simple as mlmmj, UNIX permissions should suffice. I agree
> that some people might want to integrate mlmmj into their existing,
> db-backed projects, though.
Absolutely. It's not about permissions, or replication, or massive
scalability, but about easier integration with other software, more
structured data representation (e.g. so the number of attributes stored
for users can increase sensibly and simply), and efficient lookup and
manipulation.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 14+ messages in thread