On Fri, 2007-02-16 at 12:32 +0530, Sankar P wrote: > On Thu, 2007-02-15 at 23:22 +0100, guenther wrote: > > On Tue, 2007-02-13 at 21:05 +0530, Sankar P wrote:
> > > The Template should be singleton and each account may not have a > > > separate template folder. (Should be like Outbox) > > > > I'm not sure I agree here. > > > > Still pondering, but... We offer per account Drafts folders. And I don't > > yet see, why either one should be limited to a single, particular > > machine in a, say, IMAP environment. Sent is not. Drafts is not. Why > > should Templates be? > > > > Based on this approach, I believe it actually should be per account, > > being configurable exactly like the other "default" folders. Also, this > > UI part should go there. > > > > After all, Templates are Drafts that do not "delete them selves", right? > > Whatever we store under Templates are not completely formed messages. > They will not have any sender/recipient that a basic mail will have. Drafts are not completely formed messages either. They can be saved without any recipient. There is no difference between Drafts and Templates here, so this is not a reason to prevent per-account folders. Regarding them "having no sender": This of course would not be an issue when allowing per-account Templates folders. Also, if the basic mechanism works just like Drafts, there always is an account associated to them -- which may be changed before sending. > Also it will contain things like ${DATE}, ${me}, > Reference-to-a-SIGNATURE-FILE, which takes some special interpretation > that is specific to Evolution alone. I seriously hope the ${DATE} example is just badly picked. This would mean that shell script and Makefile snippets likely can't be stored in a Template. Since GtkHTML uses HTML internally, storing variables and placeholders in XML format is about the only safe choice. > Overall, it is just Evolution that can make meaning out of a thing that > is stored as a template in Evolution. It may not be of any use to other > mail clients. So, I do not see any benefit by putting it in the server. I do. The benefit of IMAP is not only that you're client independent -- but that you are location/machine independent. Yes, you can use the very same IMAP account from different installations of the very same IMAP client (let's just call that client Evolution...). Another Advantage is that multiple, different accounts may have totally different types of Templates. > It is more like Signatures that are specific to Evolution and are stored > locally in Evolution. > > What will be really useful will be to have Names for these templates and > we can associate a default template for an account (Again like > signatures). These names can be used to choose, from "New from Template" > dialog as well; Like OO templates-choosing dialog. A basic approach to have Templates is the very same mechanism used for Drafts. Except, that editing and sending a Template does not remove the source. What you just described here, is way more than Templates IMHO. It is like a configurable "template" for New messages and Replies (otherwise the ${DATE} doesn't make any sense to me). Also, having what you described would render Signatures totally useless. I believe, rather than hacking on "some Templates thingy" and discussing about how to implement it, we first need to figure out what it is supposed to accomplish, and how it could integrate with the current UI and workflow of the existing user base. IMHO a Template actually is pretty much the same as a Draft. And one of the most important target uses for it are similar if not identical messages you keep on sending. This btw is exactly, what users have been asking for for a long time. Drafts, that don't vanish. Messages which the user can write and format once -- and then send it out with just some (user specific) placeholders substituted, or simply filled out. Like a differing name, ETA, price, login, ... guenther -- char *t="[EMAIL PROTECTED]"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}} _______________________________________________ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers