Re: [Mailman-Developers] Integrating HyperKitty with Mailman3

2012-04-10 Thread David Jeske
On Monday, April 9, 2012, Barry Warsaw wrote:

 So I can turn this question around and ask, what's the best way to get
 messages into ClearSilver?


Drop it into a Maildir, so that the version of Python we use for CSLA isn't
locked to the version of Python for MM3.

Perhaps the MM3 CSLA handler can do things like manage the maildir,
start/stop CSLA, etc. I'll take a look.


 Python imports are not version-dependent (like C-shlibs are), so it seems
 dubious to expect an external archiver to necessarily be compatible with
 the same version of python that MM3 is. I know I've run into this problem
 in the past, especially because of how much the python MIME message
 classes
 changed over each python release (though hopefully they are more stable
 now)

 Well, until email6 is released, Mailman 3 is ported to Python 3, and we can
 all (finally) do email the right way in Python. :)


 I'll believe Python will stabilize the email APIs when I see it. :) A
decade ago we resorted to copying all the email handling classes out of the
python dist and into our own code so we could keep using the ones that we
depended on while upgrading python.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Integrating HyperKitty with Mailman3

2012-04-08 Thread David Jeske
Are you expecting this direct python configuration import to actually be
an archiver, or simply to be a configuration shim to get data to an
archiver?

Python imports are not version-dependent (like C-shlibs are), so it seems
dubious to expect an external archiver to necessarily be compatible with
the same version of python that MM3 is. I know I've run into this problem
in the past, especially because of how much the python MIME message classes
changed over each python release (though hopefully they are more stable now)

On Apr 8, 2012 9:39 AM, Barry Warsaw ba...@list.org wrote:
 -snip snip-
 [archiver.hyperkitty]
 class: python.path.to.hyperkitty.HyperKitty
 -snip snip-

 Of course, you'd probably want to `enable` it too.

 One tricky thing here is that the `class` value names a Python
dotted-module
 path, so the class must be importable.  Ensuring that the hyperkitty
module
 (and this is just a suggestion, YMMV) is importable by the core engine
may not
 be fully baked.  For now, just set $PYTHONPATH.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] From the creation of a ThreadID

2012-04-07 Thread David Jeske
On Apr 6, 2012 10:49 AM, Toshio Kuratomi a.bad...@gmail.com wrote:
  1) don't publish thread-ids, but just message-ids... for example, a
thread
  URL could be allowed to reference the message-id of 'any' message in the
  thread They could then include more than one message-id, making them
  resiliant to a lost messageid later. if some messageid are lost,
hopefully
  a url someone is holding onto has another messageid that was not lost.
 
 This sounds good.  So instead of relying on the first message-id of the
thread
 we internally keep a mapping of all message-ids and stableurl hashes to
 either an internal message-id or a tree of messages in the thread.

I think of this as keeping a mapping from rfc822 message-id to internal
thread-id. I think you are using different words to say the same thing.

 When deleting messages, always retain the message-id and stableurl hashes
 for that message in the mapping.  That way a url that pointed to the
thread
 by that message-id will continue to function even though the message
itself
 has been deleted.

Perhaps I misunderstood. If you are going to have a record of the deletion
(i.e. you can keep a deleted message around in some form), this problem
becomes much easier. I thought this desire was to have stable urls and
threads when you rebuild and a message is missing.

Absolutly if there is a message 'deletion' feature, it should delete the
message contents but leave a 'stub' that links the message-id and
references/in-reply-to, so it can help hold the thread together during a
rebuild. My memory is foggy, but I think we used a technique like this in
Yahoo Groups.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] From the creation of a ThreadID

2012-04-06 Thread David Jeske
On Apr 5, 2012 6:42 AM, Pierre-Yves Chibon pin...@pingoured.fr wrote:
 So I changed to use the Message-ID of the first email of the Thread as
ThreadID.
 Problem is of course, if the admin removes the first email of a thread
 for x or y reasons, then when reloading the archives (for z or a
 reasons), we will loose the ThreadID and actually, the integrity of the
 Thread (each reply to the first email will be split into their own
 thread).

 Would anyone have an idea on how to generate a stable and delete/reload
proof ThreadID?

I believe deletion proof (i.e. stable thread-ids in the case of arbitrary
deletions) may be provably not possible.

If you really want to be resiliant to arbitrary deletions/reloads, I think
your solution is ultimately going to involve referencing more than one
message in thread URLs..

For example, here is a scheme where 'messages in the thread name the
thread':

1) don't publish thread-ids, but just message-ids... for example, a thread
URL could be allowed to reference the message-id of 'any' message in the
thread They could then include more than one message-id, making them
resiliant to a lost messageid later. if some messageid are lost, hopefully
a url someone is holding onto has another messageid that was not lost.

As for how to pick the message-ids, paged display could include a messageid
for a message on the page, in addition to the 'first' messageid of the
thread.

2) create an 'internal only threadid' which you use to correlate messages
together into a thread. (don't show this to anyone) you could generate this
as a GUID, Hash, or the message-id of the message..doesn't matter, since
nobody will see it...

3) when indexing messages, search in both directions
(references/in-reply-to - messageid, and vice-versa) to find out if the
message belongs in a thread.. if it does, then adopt the 'internal thread
id'.. if you find two different threadids in the two directions, then
rewrite/combine into a single internal-thread-id

- urls can be somewhat resiliant of deleted/missing messages within a
thread... and completely resilient to changes in other threads
- threads can be manually edited and merged/split after the fact, with
some level of success
- could be designed to 'break down' threads that get too big, again with
minimal damage, and some url compatibility
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] mailman / archive-ui / licensing questions

2012-04-04 Thread David Jeske
This thread is slowing down my coding! :)(it's been really helpful
though all, thanks for the many perspectives!)

On Tue, Apr 3, 2012 at 11:19 PM, Terri Oda te...@zone12.com wrote:

 It occurs to me that it's perfectly reasonable to assume that people who
 *package* mailman for different distributions may choose different
 recommended/required archive software, since they can (and with the license
 hassle likely should)) be separate packages.  So what works for the FSF,
 what works for us as a dev team, and what works for the distributions may
 actually be different things.


I agree I'm coming around to the sensibility of possibly not including an
archiver with MM3, just so long as there actually ARE solid and working
archivers that plug right in with nothing more than an apt-get (or equiv).
It's just as fine if the distribution maintainers pick which one to
include, and this gets around all this FSF/GPL/whatsit stuff... without
bascally getting a pipermail default. I still think it's dangerous for
people landing on Mailman's website and downloading source..


 So no matter what, having David release his work is potentially going to
 lead to people getting it as a default, somewhere along the line, if he's
 got a great solution available.


I know this thread is long and in pieces, but just to clarify, my code is
already released and has been S-BSD for **ten** years. The UI is a little
dated, so I'm cleaning up both the UI and the code right now, but I just
want folks to know the code is already out there..

http://www.clearsilver.net/archive/

http://dj1.willowmail.com/csla/Mailman-Developers

...this discussion is all just about whether mailman wants to bundle (or
reference) near-future updates to this stuff. I was hoping that rather than
create my own separate OSS-y website and such for it, I could just hang out
here and roll it into Mailman-land. You guys have done great work.

If this GPL/S-BSD issue turns out to be a blocker, then I'll just make my
own site and maintain (my version) there because I want to release my code
S-BSD.

Also, there will be *zero* ill-will if you folks want to wrap it up in a
GPL license and stick it into mailman... i just won't be maintaining that,
or assigning copyright, and any patches I make will be into my S-BSD tree.
Perhaps not ideal, but still seems a better outcome than pipermail.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] mailman / archive-ui / licensing questions

2012-04-03 Thread David Jeske
On Apr 3, 2012 8:14 PM, Bob Puff b...@nleaudio.com wrote:
  I think it would be a mistake to bundle any archiver with mailman3.
  Listing the available archiver options and their features and
  shortcomings would be a better way to go.

 -1

 I think the majority of MM users will be simply using the RPM that comes
with
 their distro, and there is a real benefit to stuff working right out of
the
 box.  This includes the Archiving functions.

 Its great to have options, and giving a list of possible alternatives for
 users is excellent, but I think releasing MM 3 without -any- archiver is a
 down-grade from the current MM 2.x.

I agree. If MM2 and pipermail is any indication of how often admins just
'leave the defaults', then bunding no archive interface with MM3 would mean
most mailing lists would have no archive.

I'd personally like to see a better archiver rolled into an MM2 point
release, as well as upcoming MM3 development. (I understand pipermail URL
compat would be nice in that case).
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] mailman / archive-ui / licensing questions

2012-04-03 Thread David Jeske
On Apr 3, 2012 11:58 AM, Toshio Kuratomi a.bad...@gmail.com wrote:
  The question is would you BUNDLE another archiver even if the licenses
  don't match?

 Where could your archiver fit into that sequence of impressions?  I'm not
 entirely sure.  I think that it probably couldn't be bundled into the same
 tarball with mailman core due to mailman being an FSF project.

I'm just going to charge down the path I was on and finish up something
that's a great drop in for MM2/MM3. I'll even try to add some pipermail URL
compatibility. It'll be S-BSD, so (if you like it) the MM devs and the FSF
can wrestle with issues of whether you want to bundle it as is, put a
rubber GPL stamp on it, or just point to it like you would any other
archiver.

I honestly expected to have an updated UI to show by now. I've been busy
with some code-restructuring, and an unbelievable amount of life-stuff came
across my bow in the past week. It shouldn't be too long now.

 But pointing to it from list.org or blessing it as the standard
archiver for mailman3
 is probably something that could be discussed by the core devs and
yourself.

I'm a bit scared of a world where MM3 does not include any archiver. If
pipermail popularity is any indication of how often admins 'stick with the
bundled defaults', we could have an unreasonable number of MM3 lists with
no archives at all.

Obviously the team is free to bless any archiver it wants, mine or others.

Also, I'm certainly NOT trying to get anyone to agree to bless an archiver
before they've even seen it working and kicking butt. I was just trying to
understand the many issues as I'm cleaning up my code and trying to find it
a home with a bit more utility. I think I have a great idea from all the
disussions here.. THANKS!
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] mailman / archive-ui / licensing questions

2012-04-02 Thread David Jeske
On Apr 2, 2012 3:07 PM, Terri Oda te...@zone12.com wrote:
 This agrees with my view of the situation as well. Which leads to the
 question, is the above approach interesting/viable for Mailman-team?
 (assuming the code does something awesome that people want)

 If the question is just would you like another archiver even if the
licenses don't match? then I believe the answer is yes.

The question i would you BUNDLE another archiver even if the licenses
don't match?

My archiver has been available for download (like many others) for ten
years. All these sites are still running a limping pipermail archive,
because it's bundled. I want to get Mailman a better bundled archive.

 But... since you arrived around the same time GSoC started, I should ask
whether you were hoping to do this as a GSoC project?

Perhaps it would make things more clear if I expledin why I'm here...

I'm not a student. I've been working in software for 15 years, programming
for almost 30 (since I was 9). I wrote large portions of eGroups / Yahoo
Groups / Google Groups. I'm a successful post-Google entrepreneur. Since
leaving Google I've been angel investing mostly in tech stuff (see my Angel
List).. I've been donating notable chunks of money and time to open source
projects (with my blender donations working out the best so far). Given my
history, and the fact that I keep wanting to tear my hear out reading
mailing list archives in pipermail, I thought I'd give you folks an
archiver that would be nice.

HOWEVER, I personally will not write GPL code. I might submit a tiny patch
or bugfix, but I'm simply opposed to restrictions on how someone uses
something that I'm trying to donate to the software community. (i.e. you're
never going to turn me into a mailman developer, the best you'd get is me
writing my own mailman-ish and releassing it under S-BSD.. if you want
that, let me know)
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] any interest in a new built-in web-archive? (i.e. pipermail replacement)

2012-03-29 Thread David Jeske
 - Stable URLs, RFC 5064 + X-Message-ID-Hash.
 See the above links.  If you can implement the
 `IArchiver.permalink()` method and ensure that even if
  completely wiped and regenerated from the
 underlying raw messages, your URLs
  will remain stable, I think you will have won. :)

This is really trivial to implement.

HOWEVER, it also has two notable problems.

First, if the sender-selected-messageID is trusted to make a unique-id and
permalink, then you are trusting senders, which IMO is a bad idea. What
happens when senders intentionally duplicate a message-id? It's pretty hard
to do anything smart when the listprocessor doesn't track messageids.

Second, when message-id uniqueness breaks, it's often not an isolated
instance, but a pattern of software doing bad things.

I prefer generating a trustably unique message IDs, even if those are only
used internally. I've used partial-content hashes in the past, but they
have their tradeoffs. They are hard to abuse, since matching a content hash
tends to mean supplying the same content, which kinda prevents abuse.
However, if the content is being changed at all (intentionally or not),
they breakdown.

---

I like your ideas about plug-in text-match-formatters. We have something
like that in the willowmail system, and it's pretty useful. (auto-linking
fedex tracking numbers in email is one example)

 - Merging of forums, archives, newsgroups, and IMAP.

You like to bite off the big ones eh? NNTP, then IMAP.

Does anyone even use fat-mail-clients anymore? Even the IMAP clients I've
used in recent years have been web-based. which is kinda already
unified with web-based archives since they are both in the browser. :)

Seriously though, what is the goal here?

I suppose I've had one thought over the years, which is that sometimes it
seems weird that I have all these mailing lists delivering into my mail
client. In theory my mail client could be 'faking' the whole thing with
NNTP to a known archive location.

However, that only works when online. If you have to do delivery to my
client, who cares if it's SMTP/NNTP/IMAP? I say pick the simplest one
(SMTP), which works with all mail clients, no changes, and allows you to
keep your messages when the archive goes down.

As for mail-client integration features... I like mail-client push-button
unsubscribe. I like the idea of making it trivial for mail clients to
recognize mailing lists posts and auto-configure filter-to-folder for them.
Neither of these require NNTP/IMAP in the archive though.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] mailman / archive-ui / licensing questions

2012-03-28 Thread David Jeske
Thanks for the super-detailed replies... I'm separating these discussions,
so here I have some questions about licensing and bundling..

 So in some sense, CSLA needn't become *the* Mailman archiver, but it should
 definitely be *a* Mailman archiver.  Then you can make all the engineering
 and
 design decisions you prefer, but with the confidence that it will Just Work
 with Mailman 3.


Sure but this isn't why I'm here. CSLA is already *a* mailman archiver..I
think we first released it in 2004. A few of us ex-egroups folks hacked it
out because we used it for private projects. We open-sourced it so we could
use it across organizational boundaries and because we were happy to give
it away to anyone who wanted it. We're just all primarily focused on
startup and commercial endeavors, so we havn't done much to package and
popularize it.

Right now I'm in between entrepreneural endeavors and spending some time
'giving back' and coding/donating-to/helping several open-source projects.
As I engage with these projects, all of them are using Mailman, which is
fantastic. However, nearly all of them are also using pipermail, which is
not so great. They are using it because it's the default, so it was easy.

I started to talk to one of them about installing CSLA (or MHonArc, or
anything really), and realized I should see if you folks are interested in
a great bundled archiver, to fix the problem at the source. I'm not
particularly interested in promoting or maintaining an open-source project
around this, so if you folks don't want a shiny new (S-BSD licensed)
archiver to bundle, I'll probably just fix a few things, bump the CSLA
archiver to 0.3 and move on.

---

I admit that even with a pretty good knowledge of these many licenses, I'm
not familiar with the intracacies of FSF copyright assignment and non-GPL
free licenses.

The ClearsilverArchiver code (written by me and two others) is released
under the Simplified BSD license and totally free. It's important to me
that any code I release be similarly free-and-unrestricted
(i.e. BSD/Python/Artistic/PublicDomain), not free under certain conditions
(i.e. GPL/LGPL). It's not possible to assert GPL restrictions on
totally-free code, because it's already totally free.

FSF says S-BSD is GPL-Compatible, which I believe means they are saying
they have no problem with GPL code depending on and being combined with
(i.e. linked with) S-BSD code, because the S-BSD code is fully open-source
and does not put restrictions on the use of the GPL code.

It's also my understanding that the primary reason for FSF copyright
assignment is to provide a coherent entity to enforce the terms of the GPL
by challenging violators who don't redistribute source something which
is not necessary for S-BSD. (Though I suppose they could enforce that folks
include the S-BSD copyright notices.)

So I guess this all drives to the following question:

Is Mailman-team is interested in having a better built-in archiver that is
included in the distribution, but licensed under the less-restrictive S-BSD
terms?

Sorry for the length. This license stuff can be complicated.


-- 

On a weirdly unrelated coincidence, thanks for smtpd.py. I just hacked it
into smtp-to-maildir for a private hosted webmail installation. We were
migrating code/data to some new machines and smtpd.py seemed simpler than
fighting with qmail-installation or configuring postfix to accept
everything (something it doesn't seem designed to do).

 But that absolutely shouldn't stop any other third party archiver from
being

 Mailman 3 compatible.

 As I said, like the Python standard library, it's both a blessing and a
 curse. :)

 As for the features it doesn't have from your list: Editing would be easy
 to add because it's sqlite (deciding on the auth system is probably more
of
 an issue than the editing). Anti-Crawl code is really an issue of
 configuration for cheap in-memory state-management. NNTP is well. that
 would be a big job that I doubt will be bitten off by something as
small
 as a list archiver.

 Why can't we kill off Gmane while we're killing off Gmail, and *Groups?
:).

 What is the REST UI used by? CSLA supports RSS. When it comes to a more
 involved REST UI, what software would be hitting it? I don't think I'll
 understand your other API/REST points until I see an answer to this.

 I'm a list owner and someone requests that a post containing private
 information be taken down.

 As a drive-by archive user, I want to request that a message get sent to
me so
 that I can reply to it in my mail reader as if I had received the
original.

 I run a question/answer forum that gateways a list, and I want to +1
really
 helpful messages, or give some extra kudos to really helpful users.

 -Barry
 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 http://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:

Re: [Mailman-Developers] any interest in a new built-in web-archive? (i.e. pipermail replacement)

2012-03-27 Thread David Jeske
I brought up a quick CSLA injest of some mailman-dev posts to show off some
basic features. I'm having a little trouble with the swish-e code, so the
features that depend on text-indexing arn't working at the moment (search,
author search).  The current UI uses user-cookies to choose between a
2-pane frames mode and a noframes mode. I set the frames-mode as the
default, which is inspired by the old google-groups usenet multi-message
tree. Use prefs to check out the noframes mode, which is more like
pipermail.

Take a peek more for general capabilities than UI details (unless you see
something you really like). I'm planning to change the UI to be more like
the gmail-esq conversation style UIs I've been using since then... (where
most/all of a thread's messages are rendered into a single page) I like the
outgoing google-groups UI pretty well  (not the new AJAXy one).

1) basic home for a list with bymonth and top-author metrics, RSS.
Extended top-author page.

http://dj1.willowmail.com/csla/Mailman-Developers
http://dj1.willowmail.com/csla/Mailman-Developers/top_authors?date=2012-03

2) Prefs, including timezone, read-status key, browse-style.. (not sure if
the read state is working on my install)

http://dj1.willowmail.com/csla/Mailman-Developers/prefs

3) threadlist for the month (frames or noframes in prefs)

http://dj1.willowmail.com/csla/Mailman-Developers/browse/month/2012-03/107

4) single-thread-list display (frames or noframes in prefs)

http://dj1.willowmail.com/csla/Mailman-Developers/threads?start=1

5) here is a good example of a thread with redundant text eliding

http://dj1.willowmail.com/csla/Mailman-Developers/browse_frm/thread/4/221
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] any interest in a new built-in web-archive? (i.e. pipermail replacement)

2012-03-27 Thread David Jeske
On Mar 27, 2012 5:32 AM, Stephen J. Turnbull step...@xemacs.org wrote:
 If the archiver/web UI is going to be distributed
 *with* Mailman, Barry would probably prefer
 Storm + Django because that's what
 Mailman/Protorius (core and admin web UI, resp.) are
 using.  But I imagine that's negotiable as long as
 everything is free software.

I'll take a look at the Mailman2/3 code and see what the pattern looks
like.

Storm-ORM looks like it allows any primary key so that's good. From a quick
glance it looks very similar to the Clearsilver-odb-orm in syntax and
function. My primary beef with django-orm (last time I looked at it) was it
requiring a unique-id primary key which is pretty poor for multi-row fetch
performance design.

Clearsilver templating has a slightly more aggressive enforcement of 'no
code in template' than django, because it has an explicit intermediate
dataset called HDF (it doesn't allow access to arbitrary python lists,
structs, classes, and methods). This allows it to work from any language
(not just python), and makes the binding from the ORM a bit more explicit.
However, it also means it's a c-module, and I can see the advantage to
keeping c-compile dependencies to a minimum.

 AIUI, the current philosophy is that

 Using SMTP for an included archiver would require
 it be a long running server instead of merely
 a handler.

 Sure, but you're already running a sufficient server,
 namely your MTA.

Gotcha. I thought you were saying Mailman wanted the archiver to be a
long-running server accepting SMTP/LMTP on a socket.

I normally manage the archive queue with the MTA, and have it launch the
archive-injestor for each message.. (or for higher volume applications,
long-running injester on a Maildir).. which sounds like what you're saying..

After I finish some quick cleanup and UI changes to CSLA I want to do, I'll
take a look at MM2/3 and see if I have better questions once I'm informed.

Thanks for the great overview.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] any interest in a new built-in web-archive? (i.e. pipermail replacement)

2012-03-26 Thread David Jeske
I'm writing to find out the state of and philosophy surrounding pipermail
in mailman, to see if there is a productive way to provide some
code/development-time to that part of mailman.

I know there are several decent third-party archivers out there, but many
of the mailing list archives I browse regularly are using pipermail because
it's the mailman default one less thing to install, administer, and
upgrade.  Unfortunately, pipermail doesn't do a good job formatting
messages for html.. (messages with no line-breaks are the most annoying
problem I regularly run into)

I've written code for this a number of times (eGroups, Yahoo Groups, Google
Groups). I also released an open-source python/clearsilver/sqlite based
archiver with redundant text-eliding, a few different thread views, and
search...  ( http://www.clearsilver.net/archive/ ) which is hardly used
both because I don't try to popularize it, and because many sites just
leave the default (pipermail).

If there is some code (and time) I can contribute to mailman/pipermail, I'd
like to do so. I'm writing this message to take a temperature and find
out what, if any, contributions would be appreciated the mailman
development team. I could imagine answers like:

a) pipermail is fine... if you want to fix a bug or two submit a patch, but
we don't want to improve it
b) we're ditching pipermail entirely... in the future sites will have to
choose an install an external archiver
c) we'd love pipermail to be improved... but we still want it to be simple,
static-html, and dependency free
d) we'd love a dynamic-ui replacement for pipermail... as long as it uses
the same cgi/templating model as mailman ui

Thoughts? Is there any help I can offer up here?
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] any interest in a new built-in web-archive? (i.e. pipermail replacement)

2012-03-26 Thread David Jeske
On Mon, Mar 26, 2012 at 5:11 PM, Toshio Kuratomi a.bad...@gmail.com wrote:

 We'd love to have work done on the archier!  I know that we're ditching
 pipermail entirely and that archivers are becoming separate from the core
 mailman.  What I don't know is whether mailman3 will eventually have
 a standard archiver which lives outside of the core mailman but is
 recommended for installation along with it.


I see.. that sounds like option-b.

I highly recommend reconsidering this and including a standard archiver
with mailman. If the number of sites that use pipermail is any indication,
I think failing to include something will basically mean lots of lists
without any archives.


 At PyCon a few weeks ago, I demoed hyperkitty which showed some of the
 things that a next generation archiver could do.


I recommend you take a closer look at
ClearsilverListArchivehttp://www.clearsilver.net/archive/,
it's written in Python, Clearsilver, SQLite.. is real open-source (BSD
License), and hits most of the features on your  ModernArchiving wishlist
plus a bunch you didn't (author pages, redundant text elimination, cookie
preferences.

As for the features it doesn't have from your list: Editing would be easy
to add because it's sqlite (deciding on the auth system is probably more of
an issue than the editing). Anti-Crawl code is really an issue of
configuration for cheap in-memory state-management. NNTP is well. that
would be a big job that I doubt will be bitten off by something as small
as a list archiver.

Sadly I can't point to any lists using it at the moment, because, well,
it's hidden under a rock. I'll injest an archive of the mailman list so you
can take it for a spin.


 As I was talking about hyperkitty we touched briefly on what I think is
 one of the central conundrums about having only unofficial third party
 archivers:  how to have a consistent programatic interface available over
 http.


What is the REST UI used by? CSLA supports RSS. When it comes to a more
involved REST UI, what software would be hitting it? I don't think I'll
understand your other API/REST points until I see an answer to this.


 Grackle is another archiver for mailman that doesn't have the UI bells and
 whistles of hyperkitty but it does make an effort to expose a REST UI to
 the world.  I think that's a beautiful thing.  But I don't like that a site
 that wanted both would need to run two archivers
 that were saving mail into two sets of storage.


I think here you are entering into a catch-22. If you have a single storage
system, then you have a single storage schema, which means you have a
single set of things you can do fast and most other things become
impractical (because they would require synchronizing state).

I'm quite sure, for example, that the Grackle schema is not the same as the
CSLA schema, and that many CSLA features would be impossible with the
Grackle REST API. (short of just using it to suck everything down, but then
you're just duplicating).

Why is message duplication an issue?
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] any interest in a new built-in web-archive? (i.e. pipermail replacement)

2012-03-26 Thread David Jeske
 So if you have already developed some stuff, I
 certainly would love to see you put it on the table
 as a candidate for the Mailman 3 default
 archive web UI.

Yes. My CSLA code is on the table for MM2 or 3. It's python, and it's BSD.
More than that, if you folks want it, I'm happy to retool/rewrite it as
needed to make it suitable. (it has lots of great features, but i havn't
touched it in a long time and it could be better) I'll put up a demo of the
mailman list in CSLA tomorrow so folks can check it out.

I also have some experience with this space, and by that I mean
mountainous-experience. I coded/managed/architected several versions of
eGroups/Yahoo Groups and Google Groups, including the listprocessor, schema
design, and a few different python mail-to-html formatters. I also wrote my
own personal gmail-like web-mailer in python, which someday I'll get around
to open-sourcing.

Can you share something about dependency philosophy (besides licensing) in
Mailman?

Currently CSLA uses Clearsilver templating (BSD c-module) and sqlite
(public domain) storage.. both of which can be included directly as source
to make installation easy, but they are both c-modules.

I'm quite fond of the Clearsilver orm-to-templates toolchain, which is in
use for lots of big sites. However, I also recognize it's not that popular
in the python commmunity, mostly because we don't promote it, but also
because the template processor c-module (for performance) instead of pure
python.

If it's necessary I could convert CSLA to use django templates, though they
have a nasty design/performance problem with the orm that I think would
prevent me from using it (unless I fixed it).

I'm not a fan of javascript client-side rendering because of the generally
poor performance, poor mobile compatibility, and lack of benefit for this
kind of application.

 Doing a *better* job of formatting HTML (than pipermail) is easy.
 Doing a  *good* job is going to be relatively hard, though.

Isn't that the truth.

Back at Egroups there was a time where it seems like we used to tweak the
formatter almost daily. Deciding when preformatting is necessary vs harmful
is a real pain.

My CSLA python code has a fairly stable msg-to-html formatter that I've
been happy with for a long time. It does very aggressive automatic
repetitive text eliding for thread-display, so you can read many messages
in a thread in a single page without massive quote pileup. View-source is
provided for the unfortunate case where it does something bad.

 AIUI, the current philosophy is that

 (1) the communication from Mailman to the archivers
 will be via LMTP/SMTP, including a Mailman-specific
 header to identify the message's permalink (currently
 the SHA1 hash of the message ID in BASE32
 format, IIRC); and

Using SMTP for an included archiver would require it be a long running
server instead of merely a handler.

Are we talking about third-party-site archivers here?

 (2) the summary, search, and retrieval UI will be a
 separate application from Mailman per se, which will
 communicate with Mailman via the REST API for
 authentication and user configuration purposes.

That makes sense...

CSLA doesn't currently have any concept server-auth. The only stateful
features it has are view-preferences and read-state, neither of which are
important enough to require a password. It uses a password-less system
which uses cookies for prefs and a 'read state userid' which a user can
manually set if they want. I like it, because it doesn't require login to
get some basic browsing prefs and features.

Hooking up an auth system would be necessary for some of the editing ideas
in the document I read, or to allow online posting.
___
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] templating, search, and stuff...

2002-04-05 Thread David Jeske

On Fri, Apr 05, 2002 at 10:19:09AM -0500, Barry A. Warsaw wrote:
  DJ == David Jeske [EMAIL PROTECTED] writes:
 
 DJ Also, in fishing through the TODO list, I notice that adding
 DJ some kind of templating system is still on there.
 
 Improving the templating system (for MM3) is more than just picking
 one and going with it.  The real issue is that folks want to put all
 kinds of web skins on Mailman, to integrate them into their own way of
 managing their sites.  

First off, it's no skin off my back, I don't run or administer
mailman, I just interact with them on several mailing lists so I'm
happy to help out.

However, if you look at Clearsilver, you'll find that it was designed
to handle exactly this kind of skinning. We used it for cobranding and
OEM deals back at eGroups. While integrating into Yahoo, we ran the
old eGroups version of the UI in Japanese for six months while running
every other language in the new Yahoo UI, on the same codebase. It
really excels at this. The majority of the skinning of the UI to the
Yahoo look and feel took one engineer less than 10 days.

 Some people don't care about the integration, and for them we can
 pick a Good One and use that as the default.  But they've got to be
 able to chuck it, design their own web interface, and integrate it
 easily into Mailman.  For that we need APIs, a clean architecture,
 and component-like system.

If you read my paper on dataset driven templating, you'll find that
this is exactly what Clearsilver provides, in an extremely fast and
easy to use package. There are other template systems that do this
also, but for integrating with Python, Clearsilver is the fastest and
most mature way to go.

http://www.clearsilver.net/docs/apples_to_oranges.hdf
http://www.clearsilver.net/docs/man_templates.hdf

The dataset (like a simpler form of XML) is your API. It sits
between the application logic and the page template, and allows you to
easily skin the application.

There are some advantages to using XML/XSLT instead, namely because
you can write an XML schema and typecheck the XML output. However,
considering Mailman is written in Python, I figure you all understand
the development ease gained by using an untyped system over a typed
one for small-ish projects like this.

Anyhow, I'm not here to get into an off-topic templating thread. I
just saw that Mailman still didn't have templates and I figured I'd
offer up some assistance.

-- 
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + [EMAIL PROTECTED]


___
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers