Re: [Evolution-hackers] Fedora builds with 2.32.2+ patches

2011-04-08 Thread sean finney
Hi David,

On Thu, Apr 07, 2011 at 01:07:38PM +0100, David Woodhouse wrote:
 Personally, no. I'd rather ignore MAPI completely and get on with the
 implementation of evolution-ews.

Understandable, though as we've discussed on IRC we don't really have
the option of using that here, at least for another couple quarters.

 
   I have quite the patch queue (maybe 10-20 patches) that I'm managing
  locally for various backported fixes there.
 
 Sounds like you would be in a good position to do it though.

Because I'm not a gnome dev, I (a) don't have push access, and (b)
am a bit hesitant to go against Milan's wishes, since he's the dev
who is primarily keeping things up for -mapi and has made his stance
pretty clear.  I only brought it up because it seemed like there might
be a change in that stance, and if so I'd be happy to share my currently
unshared fixes in .32.

Then again, now that 3.0 is released I may try again to get something
rolled together based on that since there are already a number of api
breaks making backports difficult for .32, and it seems there are lots
more in the pipe for 3.1.


sean
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread Christian Hilberg
Hi everyone.

While working on the evolution-kolab plugin, we found that there is no direct 
support in ECalComponent for attachments inlined into calendar objects. Thus, 
so far, we can cope with attachments inlined into Kolab calendar objects by 
hiding them in private ical fields. That way, we can preserve the attachment 
when writing back some calendar object to the Kolab server which has one 
attached. The drawback, however, is that we can access this (ical-private) 
attachment data via ECalComponent neither for reading nor for writing - it 
will just be invisible to the evolution-kolab plugin user, and they will get 
no indication that an object carries attachment data (they might just wonder 
why it takes much time retrieving and storing the object).

We could use Evolution's file-link attachment mechanism by writing into Evos 
file cache from the backend and placing the file paths into the ECalComponent 
when reading calendar objects from the Kolab server, and read attachment file 
data from this same cache when creating a new object with attached files. We 
found a whole lot of issues with this approach (at least for Evo2.30), which I 
can detail if anyone is interested.

Before trying anything with the at-least-problematic file cache approach, I 
thought I'll go ahead and see whether there is anything in the plannings 
regarding supporting inlined file attachments directly with ECalComponent in 
latest Evo versions. So far, I did not find anything related on the plannings 
pages. I'm not clear whether this has been discussed before or whether there 
are any current plans of extending ECalComponent to support inlined 
attachments directly (in which case a rather simple change to Evo would allow 
for supporing inlined attachments in a clean way).

I'd like to know your opinions / ideas / ... on that matter.

Greetings,

Christian

PS.:For those who followed the short discussion of the issue on
#evolution yesterday, I thought it would be better to record
the discussion on the list, so please feel free to paste your
thoughts here again - just for the record :)

-- 
kernel concepts GbRTel: +49-271-771091-14
Sieghuetter Hauptweg 48
D-57072 Siegen
http://www.kernelconcepts.de/


signature.asc
Description: This is a digitally signed message part.
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Fedora builds with 2.32.2+ patches

2011-04-08 Thread David Woodhouse
On Fri, 2011-04-08 at 09:54 +0200, sean finney wrote:
 
  Sounds like you would be in a good position to do it though.
 
 Because I'm not a gnome dev, I (a) don't have push access, and (b)
 am a bit hesitant to go against Milan's wishes, since he's the dev
 who is primarily keeping things up for -mapi and has made his stance
 pretty clear.  I only brought it up because it seemed like there might
 be a change in that stance, and if so I'd be happy to share my
 currently unshared fixes in .32.

You're more than welcome to use git.infradead.org if you want. But even
if Milan sees the 2.32 branch as being dead and doesn't want to spend
any of his own time on it (and nobody can blame him for that), I would
hope that he wouldn't try to obstruct *you* if you feel you need to do
so.

 Then again, now that 3.0 is released I may try again to get something
 rolled together based on that since there are already a number of api
 breaks making backports difficult for .32, and it seems there are lots
 more in the pipe for 3.1.

Certainly, my point in maintaining fixes for 2.32 was *not* to
discourage people from upgrading. So if 3.0 is a viable option for you
then please do go ahead.

Having said that, the API breaks haven't *yet* reached the point where
we can't build evo-ews for 2.32 and 3.x from the *same* code base,
albeit with a number of icky ifdefs.

-- 
dwmw2

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Fedora builds with 2.32.2+ patches

2011-04-08 Thread David Woodhouse
On Thu, 2011-04-07 at 15:08 +0200, Milan Crha wrote:
 Hmm, I still do not like the idea of adding things to gnome-2-32 branch,
 I thought I saw you telling that if anyone will complain then you'll not
 do that and I thought I complained to it, but I cannot find the email
 right now, so I cannot point to the logic error I see in such
 statement. :) 

Sorry, I do still owe you a reply to that. Shortly...

-- 
dwmw2

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread Milan Crha
On Fri, 2011-04-08 at 10:04 +0200, Christian Hilberg wrote:
 We could use Evolution's file-link attachment mechanism by writing into Evos 
 file cache from the backend and placing the file paths into the ECalComponent 
 when reading calendar objects from the Kolab server, and read attachment file 
 data from this same cache when creating a new object with attached files. We 
 found a whole lot of issues with this approach (at least for Evo2.30), which 
 I 
 can detail if anyone is interested.

Hi,
CalDAV calendar plugin uses this approach, and it seems to work. It's
surely better than passing rather-long attachments over the wire (D-Bus)
in both ways. Check the CalDAV sources how it's done there, maybe you
would be able to mimic that approach.
Hope that helps,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Fedora builds with 2.32.2+ patches

2011-04-08 Thread sean finney
Hi David,

On Fri, Apr 08, 2011 at 09:08:28AM +0100, David Woodhouse wrote:
 You're more than welcome to use git.infradead.org if you want. But even
 if Milan sees the 2.32 branch as being dead and doesn't want to spend
 any of his own time on it (and nobody can blame him for that), I would
 hope that he wouldn't try to obstruct *you* if you feel you need to do
 so.

Well it would be nice to get them *somewhere*, anyway, since it does feel
silly that there are a number of distro's and organizations in the same
situation who are forced to basically do the same work and have no way
to cooperate.  Maybe we can fix something out-of-band from this discussion
then, and leave it as an internal decision for the evo team whether or
not to include them.

  Then again, now that 3.0 is released I may try again to get something
  rolled together based on that since there are already a number of api
  breaks making backports difficult for .32, and it seems there are lots
  more in the pipe for 3.1.
 
 Certainly, my point in maintaining fixes for 2.32 was *not* to
 discourage people from upgrading. So if 3.0 is a viable option for you
 then please do go ahead.

I'd certainly like to upgrade if possible to stay relatively current,
but also have implementation constraints about installation size and
compatability with being run from older gnome desktops.  And last time
i tried (about a month pre-release) it didn't pan out so well.


Sean

-- 
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Maintenance fork for Evolution / EDS 2.32

2011-04-08 Thread David Woodhouse
On Mon, 2011-04-04 at 08:53 +0200, Milan Crha wrote:
 On Fri, 2011-04-01 at 20:07 +0100, David Woodhouse wrote:
  That's great; thanks. I'll do a little more testing on the patches
  I've cherry-picked into my trees, and then unless someone else has
  objected in the meantime I'll push them. 
 
   Hi,
 I objected against this many times, directly to you, on IRC, with no
 effect, obviously. If I recall correctly, the reason why release-team
 decreased releases is that distributions were *not* using .2 release.
 Which is just the opposite you are trying to convince us. If they are
 not using official releases, why should they use unofficial branch?

Fedora does. As Yves-Alexis said, Debian (and thus Ubuntu?) does.
And MeeGo does.

Even before we start looking at other distributions, that is *enough*
duplication of effort that it seems worthwhile to collaborate on a
single code base rather than each having their own 'fork' and
backporting fixes from HEAD for themselves.

 By the way, how would you look for a fix user reported to your
 distribution, as a distribution maintainer? 
 ...
 Note that I do not expect anyone looking into git branch for a
 particular fix, ...

That's all very true, for a *specific* fix for a bug that a user has
managed to report.

Having said that, if the distro *were* currently running 2.32.1, I'd
hope the 'workflow' you outline would *also* include checking in the
gnome-2-32 branch to see if the fix has *already* been backported and
tested there?

By collecting the backported patches into a central tree, we don't break
the workflow you describe — it stills works just as before, with an
extra 'shortcut' to a fully-backported-and-tested patch in some cases.

But I'm not thinking *just* about specific fixes for bugs that get
reported. Part of the benefit of a central tree is that if a bug gets
reported in *one* distribution and fixed there, the backported fix can
benefit users of *all* distributions.

Take the issue with ordering of modified recurrences, for example. How
many users would manage to actually track that down and make a coherent
bug report, and how many would just be inconvenienced by the fact that
changes sometimes don't show up right in Evolution, and put it down to
gremlins? I feel sure that the reason that bug went unreported for so
long was *not* because nobody actually *saw* it.

By putting that fix into a 2.32.3 release, we potentially get that fix
out to a large number of users of distributions who are stil on 2.32
(which includes Fedora, for the next 8 months or so).

I appreciate that you think I'm wasting my time. Perhaps I am; time will
tell. But my time is my own to waste. My main concern is to ensure that
I'm not wasting *your* time. And since you can choose to completely
ignore what we're doing in the gnome-2-32 branch, I think we're safe on
that front.

-- 
dwmw2

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread David Woodhouse
On Fri, 2011-04-08 at 10:35 +0200, Milan Crha wrote:
 On Fri, 2011-04-08 at 10:04 +0200, Christian Hilberg wrote:
  We could use Evolution's file-link attachment mechanism by writing into 
  Evos 
  file cache from the backend and placing the file paths into the 
  ECalComponent 
  when reading calendar objects from the Kolab server, and read attachment 
  file 
  data from this same cache when creating a new object with attached files. 
  We 
  found a whole lot of issues with this approach (at least for Evo2.30), 
  which I 
  can detail if anyone is interested.
 
   Hi,
 CalDAV calendar plugin uses this approach, and it seems to work. It's
 surely better than passing rather-long attachments over the wire (D-Bus)
 in both ways. Check the CalDAV sources how it's done there, maybe you
 would be able to mimic that approach.

That's what we're doing in EWS, too. We store the attachments into the
backend's cache directory as obtained by e_cal_backend_get_cache_dir(),
and we set a file:// URL to point to them there. (If you have the MIME
Content-Type: for it, don't forget to put that into a FMTTYPE parameter
in the ical ATTACH property.)

I'm actually not *entirely* happy with that approach; I didn't really
want to fetch all the attachments in advance. I'd prefer to fetch them
on demand, instead.

I was toying with the idea of adding a new URL scheme to represent the
'location' of such attachments, and working out how to make that work in
Evolution. It would presumably need to translate into a DBus call to
evolution-data-server, and some method of passing the data back.

Perhaps the best option is to have a call to EDS which asks it to
'resolve' the attachment into a local file URL instead of a remote one?

For now, I've just stuck with the naïve approach of fetching them all in
advance, but I'd like to have a plan for how to fix that, when it
bubbles up to the top of my TODO list for EWS. And you may want
something similar for kolab?

-- 
dwmw2

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread David Woodhouse
On Fri, 2011-04-08 at 12:17 +0100, David Woodhouse wrote:
 
 Perhaps the best option is to have a call to EDS which asks it to
 'resolve' the attachment into a local file URL instead of a remote
 one?

The more I think about this, the more I like it. Add an
X-EVOLUTION-UNRESOLVED-ATTACH: property with details like filename,
content-type and perhaps size, and sufficient information to actually
fetch it on demand. And add a ResolveAttachments() call for the UI to
call, which will turn it into a *real* attachment with a local file://
URL.

Does that seem reasonable?

(For now, though, I'll stick with just fetching the things up front)

-- 
David WoodhouseOpen Source Technology Centre
david.woodho...@intel.com  Intel Corporation

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] help debugging a disk-space leak ...

2011-04-08 Thread Michael Meeks
Hi there,

I have (perhaps) an unusal setup - I get mail to an IMAP inbox, and
then filter much of it off to local storage, and move the rest manually
as I need to.

I have around 1000 mostly short, text only messages in my IMAP inbox;
and yet:

du -m 
/home/michael/.local/share/evolution/mail/groupwise/mme...@prv1-3.novell.com/folders/INBOX/cur
  | tail -n 1
2562
/home/michael/.local/share/evolution/mail/groupwise/mme...@prv1-3.novell.com/folders/INBOX/cur

2.5 Gb is a tad large for that.

Interestingly, the side-panel says 760 unread, 876 total, whereas the
right-click-properties says:

Unread messages  760
Total messages  2711

and of course, I've got synchronise for off-line use set.

So ... how should I go about debugging that ? I assume that blowing
away the entire folders directory there, and just re-building it from
the server is the easy/cheating hack-around the problem but ...

Thoughts appreciated.

Thanks,

Michael.

-- 
 michael.me...@novell.com  , Pseudo Engineer, itinerant idiot


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread Christian Hilberg
Hi everyone,

thanks for the input so far.

On Friday 08 April 2011 David Woodhouse wrote:
 On Fri, 2011-04-08 at 10:35 +0200, Milan Crha wrote:
  On Fri, 2011-04-08 at 10:04 +0200, Christian Hilberg wrote:
   We could use Evolution's file-link attachment mechanism by writing into
   Evos file cache from the backend and placing the file paths into the
 [...] 
 That's what we're doing in EWS, too. We store the attachments into the
 backend's cache directory as obtained by e_cal_backend_get_cache_dir(),

Just on a very short note:

There's no e_cal_backend_get_cache_dir() in Evo2.30 (which is the one we're 
sitting on presently). That means we cannot maintain a backend-private file 
cache with this version, since we cannot inform Evo about it ... is that 
correct?

(Bye)^2,

Christian

-- 
kernel concepts GbRTel: +49-271-771091-14
Sieghuetter Hauptweg 48
D-57072 Siegen
http://www.kernelconcepts.de/


signature.asc
Description: This is a digitally signed message part.
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Fedora builds with 2.32.2+ patches

2011-04-08 Thread Patrick Ohly
On Do, 2011-04-07 at 11:33 +0100, David Woodhouse wrote:
 Once this passes muster, I'll push these patches (probably *without* the
 NTLM bits, if you're looking closely at what I included) to the
 gnome-2-32 branches and perhaps start doing a 'final call' for 2.32.3
 candidate bugs/patches.

Please consider backporting the fixes for e_cal_new_system_*(). They are
unusable in 2.32.x but I intended to use them soon in MeeGo.

I'm not sure which fixed from the master branch are all needed, I hope
Matthew and Milan can provide a list.

-- 
Bye, Patrick Ohly
--  
patrick.o...@gmx.de
http://www.estamos.de/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread Milan Crha
On Fri, 2011-04-08 at 15:06 +0200, Christian Hilberg wrote:
 There's no e_cal_backend_get_cache_dir() in Evo2.30 (which is the one we're 
 sitting on presently). That means we cannot maintain a backend-private file 
 cache with this version, since we cannot inform Evo about it ... is that 
 correct?

Hi,
basically correct, unfortunately:
http://git.gnome.org/browse/evolution-data-server/tree/calendar/libecal/e-cal.c?h=gnome-2-30#n725

Though you might be able to set full URI in the attachment object and
evo should be able to read it, but not write, probably. Maybe the UI
will create a store for you when creating a new event with attached
files. To be honest, I do not recall details, it's too long time ago
with 2.30.x for me. I would suggest you to try and see.

With respect of fetch on demand, it'll be tricky to achieve, to make
this done right on each operation which deals with the calendar
component in a certain way (operations like copy, move, send and so on).
But there is some API function, probably meant for something like that,
already, the e_cal_backend_get_attachment_list, used by
e_cal_get_attachments_for_comp.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Calendar PIM objects with inlined attachments

2011-04-08 Thread Christian Hilberg
On Friday 08 April 2011 Milan Crha wrote:
 [...] 
 With respect of fetch on demand, it'll be tricky to achieve, to make
 this done right on each operation which deals with the calendar
 component in a certain way (operations like copy, move, send and so on).
 But there is some API function, probably meant for something like that,
 already, the e_cal_backend_get_attachment_list, used by
 e_cal_get_attachments_for_comp.

If at all we can support attachments in some way, and we want to be ready to 
work offline at any time, we'll have the actual data available as 
CamelMultipart message mime part anyways, so not much gain in trying the more 
complex fetch on demand ... as the attachments to Kolab PIM objects reside 
in the same email the actual PIM entry is in (as email attachments). I don't 
think 2.30 IMAPX can fetch just some mime part of an email and leave out 
another (is that even possible with IMAP?), and it is not dictated exactly 
which of the possibly multiple mime parts will be the Kolab XML file carrying 
the calendar data.
  To that end, we presumably cannot take any shortcuts or delay data fetch.

(Bye)^2,

Christian


-- 
kernel concepts GbRTel: +49-271-771091-14
Sieghuetter Hauptweg 48
D-57072 Siegen
http://www.kernelconcepts.de/


signature.asc
Description: This is a digitally signed message part.
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] EWS MessageInfo leak wtf

2011-04-08 Thread David Woodhouse
==5510== 41 bytes in 1 blocks are possibly lost in loss record 8,473 of 17,762
==5510==at 0x4A05E46: malloc (vg_replace_malloc.c:195)
==5510==by 0x3B6A048B52: g_malloc (gmem.c:164)
==5510==by 0x3B6A06101D: g_strdup (gstrfuncs.c:102)
==5510==by 0x1693D7B1: ews_message_info_clone (camel-ews-summary.c:75)
==5510==by 0x1693E4FD: camel_ews_summary_add_message_info 
(camel-ews-summary.c:417)
==5510==by 0x16940ADD: camel_ews_utils_sync_created_items 
(camel-ews-utils.c:973)
==5510==by 0x16939819: sync_created_items (camel-ews-folder.c:660)
==5510==by 0x16939B41: ews_refresh_info_sync (camel-ews-folder.c:750)
==5510==by 0x4C78C99: camel_folder_refresh_info (camel-folder.c:1156)
==5510==by 0x33B6E7F0F7: mail_msg_proxy (mail-mt.c:469)
==5510==by 0x3B6A06BBC3: g_thread_pool_thread_proxy (gthreadpool.c:319)
==5510==by 0x3B6A069445: g_thread_create_proxy (gthread.c:1897)
==5510== 

Can't repeat it; don't know how it happened... except of course that it
obviously happened when SyncFolderItems returned some created items.

The frame in ews_message_info_clone() at camel_ews_summary:75 is setting
mi-change_key on the newly cloned MessageInfo:
http://git.infradead.org/evolution-ews.git/blob/cd1face:/src/camel/camel-ews-summary.c#l75

(I'm also *sure* it happened after commit 17bd5273 in which I fixed a
consistent leak of our mi-change_key by adding a message_info_free()
method to our class. Not only do I remember it that way, but the
timestamp of my valgrind log file is about four hours later than that
commit, and the *other* valgrind warnings that the -change_key leak
caused are noticeable in their absence.)

I'm confused by the use of camel_message_info_clone() in the first line
of camel_ews_summary_add_message_info():
http://git.infradead.org/evolution-ews.git/blob/cd1face:/src/camel/camel-ews-summary.c#l417
There is *one* caller of this function, and it's the one in the above
backtrace — camel_ews_utils_sync_create_items():
http://git.infradead.org/evolution-ews.git/blob/cd1face:/src/camel/camel-ews-utils.c#l973

And that *creates* a new MessageInfo of its own... which AFAICT never
gets freed, although valgrind doesn't seem to be complaining about that,
and I don't know why.

Removing the clone in camel_ews_summary_add_message_info() and just
using '(void *)info' seems to work just as well; I'm not really sure
what's going on here. And either way, I've never been able to repeat the
above warning.

Chen, was there a reason for the clone? And why isn't valgrind
complaining about it? Can anyone see something that would cause the
above complaint that it *did* make?

-- 
dwmw2

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] CSV, LDIF and VCF file import problems

2011-04-08 Thread Onyeibo Oku
I have been trying to sort out an import issue at the user-list.  I
guess the level of inquiry falls within the hacking domain.  I have some
CSV and VCF files of my Contacts created with Windows-7 export tool.  I
plan to import the contacts into Evolution running on Fedora Linux
(Lovelock).  My Evolution version is 3.0.0

Problem:
 
Evolution is imports the contacts from the CSV file but drops the First
name and Surname fields.  The same thing happens with LDIF files.

Evolution imports VCF files correctly with one exception - The Phone
value (work) is duplicated into 'Other' Phone Field.  Hence, the 'Work
Phone' and 'Other Phone' share the same number.

*Here is a sample VCF card:*

BEGIN:VCARD
VERSION:2.1
N:Fakelast;Fakefirst
FN:Fakefirst Fakelast
TITLE:Musician
TEL;WORK;VOICE:02012473049
EMAIL;PREF;INTERNET:fakeper...@yahoo.com
REV:20110403T050042Z
END:VCARD

Question:
-
(1) There is only one phone number in the TEL;WORK;VOICE field.  Why is
Evolution Showing that number as a *WORK* number as well as an *OTHER*
number?


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers