A few weeks ago I went to an Allaire Spectra seminar (Spectra is Allaire's $15,000 Zope). It was a very nice presentation and the fundamental principles were quite similar. I have played around with Spectra and I found it to be super clunky with waaaaay to many steps from point A to point B. Not to mention the fact that it is only "object like". I could go on but this is not meant to be a comparison study. However, with that said, there was one particular "out-of-the-box" feature that really impressed me. In spectra you can take and "object" (article, image, etc) and set it up for syndication. One of the syndication options is to send the "object" via email at a set time. So you could have a news page summary set up to send itself out to a distribution email list on a certain day. The concept is simple enough, but I just don't know how I could do the same thing in Zope. I am setting up a system where daily articles can be entered weeks in advance and will only appear on the web site when the date matches their "go live date" (easy). But I would also like the article to be emailed to my distribution email list on its "go live date". Is anyone doing this? If so could you enlighten me on how? Thanks!! -Jamey
Webmaster wrote:
The concept is simple enough, but I just don't know how I could do the same thing in Zope. I am setting up a system where daily articles can be entered weeks in advance and will only appear on the web site when the date matches their "go live date" (easy). But I would also like the article to be emailed to my distribution email list on its "go live date".
Check out: http://www.zope.org/Members/chrisw/ZopeEmail/FrontPage http://www.zope.org/Members/lstaffor/ZScheduler Both would do what you want, one isn't implemented and the other doesn't work. If other people are interested, that could change... Chris
Chris Withers writes:
Webmaster wrote:
The concept is simple enough, but I just don't know how I could do the same thing in Zope. I am setting up a system where daily articles can be entered weeks in advance and will only appear on the web site when the date matches their "go live date" (easy). But I would also like the article to be emailed to my distribution email list on its "go live date".
Check out: http://www.zope.org/Members/chrisw/ZopeEmail/FrontPage http://www.zope.org/Members/lstaffor/ZScheduler
Both would do what you want, one isn't implemented and the other doesn't work.
ROTFL! There are days when the Zope world gets just a tad frustrating aren't there? In the meantime, the best solution to the problem is probably to implement the code that does the actual work in Zope and use cron + xmlrpc to trigger it to go off at the right time.
----- Original Message ----- From: "Chris Withers" <chrisw@nipltd.com> To: "Webmaster" <webmaster@ohiohistory.org> Cc: "Zope Mailing List" <zope@zope.org> Sent: Thursday, May 25, 2000 11:22 AM Subject: Re: [Zope] syndication??
I hadn't seen this one before. Since Zope is getting a Membership component, I think we'll need a good, solid way to send great big bunches of email to Members. I'm not sure if you've thought about this aspect or not. I believe it is a different function with different requirements then what you have in providing people with email. I think it may also be nice to provide the ability to delegate the mail sending from a different machine than the Zope web server... Whatever the mail sending architecture is, it needs to be able to send messages to hundreds of thousands of users without bogging down people coming to the site. That's a tall order... Kevin
Kevin Dangoor wrote:
I hadn't seen this one before. Since Zope is getting a Membership component, I think we'll need a good, solid way to send great big bunches of email to Members. I'm not sure if you've thought about this aspect or not. I believe it is a different function with different requirements then what you have in providing people with email.
I only chucked the Wiki up last night to try and structure some thoughts I had about mailing into Zope. They're only ideas and I have no idea how to implement them... I think plain mailhosts will do the sending thing quite well, they handle mail sending using an external mail server :-) I was mainly interested in getting info. into Zope through email.
I think it may also be nice to provide the ability to delegate the mail sending from a different machine than the Zope web server... Whatever the mail sending architecture is, it needs to be able to send messages to hundreds of thousands of users without bogging down people coming to the site. That's a tall order...
Not really, ZEO would solve this problem no matter what the architecture... Please chuck your thoughts/comments in the Wiki though, I'd love to see this go somewhere :-) cheers, Chris
----- Original Message ----- From: "Chris Withers" <chrisw@nipltd.com> To: "Kevin Dangoor" <kid@kendermedia.com> Cc: "Zope Mailing List" <zope@zope.org> Sent: Thursday, May 25, 2000 12:43 PM Subject: Re: [Zope] Zope Email (syndication)
I think plain mailhosts will do the sending thing quite well, they handle mail sending using an external mail server :-)
True, they do use an external server. But can they handle a really large volume of mail? I seem to remember getting an error just sending about 35 messages a month ago, but I could have something misconfigured...
I think it may also be nice to provide the ability to delegate the mail sending from a different machine than the Zope web server... Whatever the mail sending architecture is, it needs to be able to send messages to hundreds of thousands of users without bogging down people coming to the site. That's a tall order...
Not really, ZEO would solve this problem no matter what the architecture...
You're right about that. ZEO is probably a good way to do this delegation...
Please chuck your thoughts/comments in the Wiki though, I'd love to see this go somewhere :-)
Will do... Maybe I'm raising a non-issue, if mailhosts can handle the load and ZEO will deal with the delegation... Kevin
Kevin Dangoor writes:
----- Original Message ----- From: "Chris Withers" <chrisw@nipltd.com> To: "Kevin Dangoor" <kid@kendermedia.com> Cc: "Zope Mailing List" <zope@zope.org> Sent: Thursday, May 25, 2000 12:43 PM Subject: Re: [Zope] Zope Email (syndication)
I think plain mailhosts will do the sending thing quite well, they handle mail sending using an external mail server :-)
True, they do use an external server. But can they handle a really large volume of mail? I seem to remember getting an error just sending about 35 messages a month ago, but I could have something misconfigured...
Good point. On the other hand, if you have a volume like this, you probably already have a mailing list and server of some sort. Zope just needs to send one message to the list server... Yeah, this is a kludge. So was my suggestion to use cron and xmlrpc. The perfect solution involves a mailing list server integrated with Zope, e.g. ZMailman. This would probably also provide mailing list archives integrated with Zope and ZCatalog and easy integration of mailing list and PTK/Squishdot discussion traffic. This has been talked about before. IMHO, a *lot* of people would like to see it, including some of the Mailman developers, but no one has the time to do it.
"Dan L. Pierson" wrote:
The perfect solution involves a mailing list server integrated with Zope, e.g. ZMailman. This would probably also provide mailing list archives integrated with Zope and ZCatalog and easy integration of mailing list and PTK/Squishdot discussion traffic. This has been talked about before. IMHO, a *lot* of people would like to see it, including some of the Mailman developers, but no one has the time to do it.
Check out: http://www.zope.org/Members/mindlace/MailZopeMan I like these ideas a lot, but I'd prefer to see the low-level email integration done seperately, so it can be used for other things. My dream would be for Zope to pipe an email address to a specific object/method without the need for any external mail servers or scripts... ZMailman could then very easily be built on top of this. However, if ZMailman is built, I suspect it'd be difficult to use the core functionality to do something else. What is the email equivalent of Medusa? And can we 'borrow' it in the same way? Any takers? ;-) Chris
Chris Withers writes:
I like these ideas a lot, but I'd prefer to see the low-level email integration done seperately, so it can be used for other things.
What do you mean by low-level email integration? If you mean actual SMTP server stuff, I think this is a bad idea for two reasons: performance and security. The thought of trying to compete with qmail or even sendmail in either area is pretty scary. If you mean that it should be possible to write any sort of email client in Zope, I agree with you but it's not that big a deal. Most of the required support already exists in standard Python modules. There already are some Linux/Unix email clients written in Python and someone is reported to be working on a serious MAPI client that could be used as an Outlook replacement (starts to drool, then remembers that he's only a couple of months away from complete escape from Outlook/Exchange hell anyway). It has been noted a number of times that the current MailHost can and should be replaced with one based on the standard smtplib module. A patch is available somewhere and it's rumored to be in Zope 2.2.
My dream would be for Zope to pipe an email address to a specific object/method without the need for any external mail servers or scripts...
I think the current Python modules support this. For one thing, Mailman is written in Python and clearly does this kind of stuff.
ZMailman could then very easily be built on top of this. However, if ZMailman is built, I suspect it'd be difficult to use the core functionality to do something else. What is the email equivalent of Medusa? And can we 'borrow' it in the same way?
I completely agree that a ZMailman should be layered such that other products can use bits of its internals. I just think that a lot of that is already done in the standard Python distribution. Dan Pierson
"Dan L. Pierson" wrote:
It has been noted a number of times that the current MailHost can and should be replaced with one based on the standard smtplib module. A patch is available somewhere and it's rumored to be in Zope 2.2.
It is in 2.2 :-)
My dream would be for Zope to pipe an email address to a specific object/method without the need for any external mail servers or scripts...
I think the current Python modules support this. For one thing, Mailman is written in Python and clearly does this kind of stuff.
This has made me happy :-) What do we need to do to make this happen then? cheers, Chris
Chris Withers wrote:
Check out: http://www.zope.org/Members/mindlace/MailZopeMan
I like these ideas a lot, but I'd prefer to see the low-level email integration done seperately, so it can be used for other things.
I don't quite see why MailHost isn't "low level integration"
My dream would be for Zope to pipe an email address to a specific object/method without the need for any external mail servers or scripts...
Making Zope an MTA seems like a lot of extra work. Now, Zope as an IMAP server I could get my head around...
ZMailman could then very easily be built on top of this. However, if ZMailman is built, I suspect it'd be difficult to use the core functionality to do something else. What is the email equivalent of Medusa? And can we 'borrow' it in the same way?
Well... I think that it's probably the shortest route to a functioning zope archive to use mailman- already written in python, and modular enough that we should be able to take it one step at a time. Note that no mailing list software I know of tries to be an MTA. With sooo many different implementation issues, making zope an MTA would be a big challenge, IMNSHO. Of course, if it were to show up, I don't think I'd complain. ~ethan Zopista Community Liason
Well... I think that it's probably the shortest route to a functioning zope archive to use mailman- already written in python, and modular enough that we should be able to take it one step at a time.
In browsing the MailMan lists, I recall reading about someone setting up an archiver script that received each mail message and saved it into Zope via WebDAV, so each msg became a document. I didn't save the link, but that might be the *fastest* way to get started with archiving (and potentially indexing, etc) mail in Zope: - script (in Python, of course!) receives mail, or add to Mailman - script talks WebDAV, and saves it into a folder (or subfolder by-date?) in Zope - this becomes a DTML document -- I don't know enoug Zope yet to know if this could be a customized/subclassed DTML doc that was smart enough to parse RFC822, save fielded and raw search info into ZCatalog, etc). - everything Zope can do with a collection of items is yours! This sounded cool to me... Anyone going to try? Karl
mindlace wrote:
I don't quite see why MailHost isn't "low level integration"
Does MailHost do recieves as well as sends?
My dream would be for Zope to pipe an email address to a specific object/method without the need for any external mail servers or scripts...
Making Zope an MTA seems like a lot of extra work. Now, Zope as an IMAP server I could get my head around...
Forgive my ignorance, but what is the difference?
Well... I think that it's probably the shortest route to a functioning zope archive to use mailman- already written in python, and modular enough that we should be able to take it one step at a time.
If this approach would let users email content into things like the PTK, or more generally to create Zope objects by emailing content to an address that corresponds to a Zope method or object then that's what I'm on about. Archiving mailing lists shouldn't be a big issue since there are already Zope mailing list archives that are searchable in ways currently more powerful than ZCatalog has to offer.
Note that no mailing list software I know of tries to be an MTA. With sooo many different implementation issues, making zope an MTA would be a big challenge, IMNSHO.
If it's not necessary, then don't do it, but if it is to get true mailing of content into Zope then lets get started on it it now so the end result arrives sooner... cheers, Chris
Chris Withers wrote:
mindlace wrote:
I don't quite see why MailHost isn't "low level integration"
Does MailHost do recieves as well as sends?
No, but see below...
Making Zope an MTA seems like a lot of extra work. Now, Zope as an IMAP server I could get my head around...
Forgive my ignorance, but what is the difference?
An imap server stores the messages that have been recieved. An MTA (Mail Transport Agent) goes about sending mail from one place to another. If there were an IMAP server in zope, you could "recieve" the mail as an object in zope, but it would still be delivered to zope by an MTA.
Archiving mailing lists shouldn't be a big issue since there are already Zope mailing list archives that are searchable in ways currently more powerful than ZCatalog has to offer.
Unless you want to extend what you can do with an email. I would really like to be able to take emails that people send to zope.org and propogate them to different sections of the site, for example.
If it's not necessary, then don't do it, but if it is to get true mailing of content into Zope then lets get started on it it now so the end result arrives sooner...
Based off of what you're saying, I think it would be more appropriate to try to go for an imap server in zope. Note that this is non-trivial too :). ~ethan
ethan mindlace fremen wrote:
An imap server stores the messages that have been recieved. An MTA (Mail Transport Agent) goes about sending mail from one place to another. If there were an IMAP server in zope, you could "recieve" the mail as an object in zope, but it would still be delivered to zope by an MTA.
Which raises the question: What MTA would you use for a Zope IMAP server and does it matter? Again, forgive me if that's a stupid question ;-)
Unless you want to extend what you can do with an email. I would really like to be able to take emails that people send to zope.org and propogate them to different sections of the site, for example.
Yup, this sounds like mail-in content to me, which is what I'm after :-)
Based off of what you're saying, I think it would be more appropriate to try to go for an imap server in zope. Note that this is non-trivial too :).
Well, how do we get started? (I may not be the best person as you can see from my lack of knowledge in this area ;-) cheers, Chris
Chris Withers wrote:
Which raises the question: What MTA would you use for a Zope IMAP server and does it matter? Again, forgive me if that's a stupid question ;-)
I would personally use exim, but I don't think it matters, if zope knows intelligent things about it's users. If you wanted to be a relay for a certain set of users, you'd probably have to authenticate against ZopeIMAP and have ZopeIMAP tell the MTA who had relay permissions. Anyway, that's what I do with cyrus imap.
Yup, this sounds like mail-in content to me, which is what I'm after :-)
Mee too!
Well, how do we get started? (I may not be the best person as you can see from my lack of knowledge in this area ;-)
Michel Pelltier has uploaded some very alpha python imap server code that we could look at: http://www.zope.org/Members/michel/MyWiki/IMAPServer There's also several other open IMAP servers out there for illustrative purposes. ~ethan
Yup, this sounds like mail-in content to me, which is what I'm after :-)
If the goal is mail-in content, I'm not sure I understand IMAP to be anything approaching what you want: IMAP doesn't ACCEPT messages, at least not any of the IMAP servers I've seen, it serves messages up to clients (one of which could be Zope, like WorldPilot does). MailMan supports external archivers (how, I don't know, just saw it mentioned), and with the right archiver plugged in, that would give you the capability to archive email lists however you wanted. Also, I saw mention of someone using a script to archive msgs via WebDAV from mailman. The same sort of script could be used with any inbound MTA (postfix, qmail, sendmail, exim, etc...). Here's a URL to the post in Mailman-Developers: http://www.python.org/pipermail/mailman-developers/2000-February/001826.html
I have written an archiver that uses WebDAV to archive messages [with or without decoded attachments] to a WebDAV enabled web server. I'm currently using Apache, but there is no reason why it shouldn't work "out of the box" with Zope (Zope has a WebDAV enabler).
Email if you want patches/code... it works *very* well. We will be going into full production with it in the next week [www.bebusy.com].
A webdav-aware script, without mailman, could give you very simple mail-in access to Zope. With Mailman, a full alternative archiver. I'm just getting started with Zope, so I won't be coding this up, but hopefully this is enough for someone else to go on. Also: I'd like to voice some opposition to expending the effort to turn Zope into a full-blown SMTP MTA -- that's a lot of effort to down the "not-invented-here" path, complete with its' own security issues, etc, to be tackled. Building on other mail systems with proven scaleability (i.e. what happens when your Zope store is getting 100,000 message an hour?) makes more sense to me. Seems to me that tools to integrate Zope with existing mail tools would see the widest use. Thanks, Karl
"Karl G. Ulbrich" wrote:
Yup, this sounds like mail-in content to me, which is what I'm after :-)
If the goal is mail-in content, I'm not sure I understand IMAP to be anything approaching what you want: IMAP doesn't ACCEPT messages, at least not any of the IMAP servers I've seen, it serves messages up to clients (one of which could be Zope, like WorldPilot does).
IMAP servers don't accept messages for forwarding or delivery. However, they do accept messages to be placed in their folders. For example, I use Netscape and Cyrus IMAP. When I send out an email, Netscape places a copy of the email in a Cyrus IMAP "sent mail" folder. You could expose the ZODB object tree as IMAP folders and messages. Then you would be able to view objects, perhaps with each view of an object represented as part of a multi-part MIME message. You'd be able to upload new objects by writing them as emails. I reckon this is quite feasible, and possibly even useful :-) -- Steve Alexander Software Engineer Cat-Box limited
On Wed, 31 May 2000, Steve Alexander wrote:
If the goal is mail-in content, I'm not sure I understand IMAP to be anything approaching what you want: IMAP doesn't ACCEPT messages, at least not any of the IMAP servers I've seen, it serves messages up to clients (one of which could be Zope, like WorldPilot does).
IMAP servers don't accept messages for forwarding or delivery. However, they do accept messages to be placed in their folders. For example, I use Netscape and Cyrus IMAP. When I send out an email, Netscape places a copy of the email in a Cyrus IMAP "sent mail" folder.
You could expose the ZODB object tree as IMAP folders and messages. Then you would be able to view objects, perhaps with each view of an object represented as part of a multi-part MIME message. You'd be able to upload new objects by writing them as emails.
I reckon this is quite feasible, and possibly even useful :-)
Alternativly, you could go the otherway. Using PJE's funky rack code (I believe it will do what we want - havn't had time to look at it yet :-(), you could expose an IMAP folder as Zope objects. You then never have to worry about transporting them into Zope, as they will just magically be available. About 4th or 5th on my todo list is wrapping Mailman with a Zope interface (as I need to tie into my existing authentication systems for moderation and subscription management). It seems a fairly simple task to use the MailList object directly from python, rewrite the HTML management screens to DTML. Actually accessing the email message archive through Zope is not a requirement for the initial version, but it may tie in with stuff other people are looking at. -- Stuart Bishop Work: zen@cs.rmit.edu.au Senior Systems Alchemist Play: zen@shangri-la.dropbear.id.au Computer Science, RMIT University
Quoting Stuart 'Zen' Bishop (zen@cs.rmit.edu.au): ...
you could expose an IMAP folder as Zope objects. You then never have to worry about transporting them into Zope, as they will just magically be available.
I like this -- keep the mail store separate and you never have to worry if Zope can c\keep up with your email load. Come to think of it, if your MTA stored messages in MailDir format (1 msg=1 file), you might get close to this today with LocalFS. Hmm. Karl
"Karl G. Ulbrich" cogently stated:
If the goal is mail-in content, I'm not sure I understand IMAP to be anything approaching what you want: IMAP doesn't ACCEPT messages, at least not any of the IMAP servers I've seen, it serves messages up to clients (one of which could be Zope, like WorldPilot does).
I think you're right. I thought about this for a while, and realized what I want is for Zope to publish imap like it does webdav &c.
MailMan supports external archivers (how, I don't know, just saw it mentioned), and with the right archiver plugged in, that would give you the capability to archive email lists however you wanted.
This is exactly what (personally) I want to do: http://www.zope.org/Members/mindlace/MailZopeMan [snip awesome reference] ~ethan
[Webmaster, on Thu, 25 May 2000] :: A few weeks ago I went to an Allaire Spectra seminar (Spectra is Allaire's :: $15,000 Zope). It was a very nice presentation and the fundamental :: principles were quite similar. I have played around with Spectra and I found :: it to be super clunky with waaaaay to many steps from point A to point B. :: Not to mention the fact that it is only "object like". I could go on but :: this is not meant to be a comparison study. On the other hand, it sounds like you are qualified to write a comparison study. Would you consider preparing one and contributing it to zope.org? There is a crying need for informed side-by-side comparisons between Zope and other application server platform technologies -- it's a FAQ.
participants (11)
-
Chris Withers -
Dan L. Pierson -
ethan mindlace fremen -
Karl G. Ulbrich -
Karl Ulbrich -
Kevin Dangoor -
mindlace -
Patrick Phalen -
Steve Alexander -
Stuart 'Zen' Bishop -
Webmaster