On 24 May 2001 19:33:26 +0500, Dan Winship wrote: >I'm concerned about how all of this fits into the Evolution shell. When >you click on a mail folder in /local, you're looking at a specific file >stored in ~/evolution/local/. Is this not the way the calendar is going >to work? That seems annoyingly inconsistent if so. > >One nice fix might be calendar vfolders. Then you can have your local >calendar in /local, and remote calendars in various remote calendar >storages, and a calendar vfolder to merge them together. (And then, the >issue of "current calendar" goes away: you can't add appointments to a >calendar vfolder, you have to go to the relevant real calendar. Or >alternately, a calendar vfolder has a specific implied "current >calendar".) I understand the desire for consistency, but it seems to me a bit short-sighted. Aside from the fact that the mailer is implemented and multiple calendaring is not (admittedly not a small difference), I think the mailer's behavior in this case is the inferior one. One idea which would restore at least some semblance of consistency would be to return to the original conception (at least as I understand it) of Evolution as a vFolder based mailer. Each component would merge all of its user-defined sources (local mailboxes, IMAP mailboxes, LDAP servers, iCalendar files, etc. as appropriate) into one "meta-store." They would the provide the ability to selectively view/not view particular sources. For the calendar, this can simply be built on the current calendar querying architecture. Currently, the default for the day view (per Federico) is the equivalent of: (and (= (get-vtype) "VEVENT") (occur-in-time-range? selected-day (+ selected-day 1)) The hypothetical default would then be: (and (from-source? selected-folder) (= (get-vtype) "VEVENT") (occur-in-time-range? selected-day (+ selected-day 1)) If the user configures a country (or perhaps taken from the locale?), the default could be: (and (or (from-source? selected-folder) (from-source? (national-holiday-list (user-country)))) (= (get-vtype) "VEVENT") (occur-in-time-range? selected-day (+ selected-day 1)) As the user includes or excludes calendars, the from-source? predicates are modified appropriately. The mailer can maintain, by default, its current behavior of letting the user show a particular mail folder (picked in the tree) by defining a default search of: (from-source? (selected-folder)) If the user selects a vFolder, the vFolder query simply replaces the default. Just as the VFolder Editor currently permits the user to specify folders to search, those folders are added as (from-source?) predicates. Mail messages are still stored in separate stores/folders, be they mbox, mh, maildir, etc. The filter mechanism stays the same. But it would also work if at some point someone decided to write a SQL store for all of the user's mail: all that would need to happen is to define a filter action as "Assign folder-flag" and a vFolder criterion "has-folder-flag?" or whatnot... The addressbook would be handled similarly, with a default query of: (from-source? (selected-folder)) and additional predicates being added as the user chooses to selectively include/exclude addressbooks or define search expressions, etc. I have no idea how much of the mailer code would have to change to accommodate this. My uninformed sense is that it wouldn't be a whole lot, since the vFolder code is already written. Obviously, if the change is too radical, it's a good reason to ignore this idea. :) As a possibly related interface note, one way to implement the source selection referred to above might be to have the folder tree have a checkbox by each folder to indicate inclusion/exclusion. A config option could be used to disable folder merging and restore the current "select one folder" interface. I look forward to your thoughts on these ideas, hopefully from people familiar with the spectrum of Evolution's components. Feel free to nag your colleagues if they don't respond. :) I'm going to be out-of-town until next Wednesday, but I'll catch up on my mail and hopefully start coding the calendar support for this (or whatever idea comes out ahead) at that point. -Russell -- Russell Steinthal Columbia Law School, Class of 2002 <[EMAIL PROTECTED]> Columbia College, Class of 1999 <[EMAIL PROTECTED]> UNIX System Administrator, nj.org _______________________________________________ evolution-hackers maillist - [EMAIL PROTECTED] http://lists.helixcode.com/mailman/listinfo/evolution-hackers