After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 208426 - import pst non-mail data from outlook
import pst non-mail data from outlook
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.4.x (obsolete)
Other other
: Normal enhancement
: Future
Assigned To: Bharath Acharya
Evolution QA team
: 215482 231099 246338 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2001-08-30 13:09 UTC by chris hall
Modified: 2009-04-17 04:57 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Evolution plugin (55.78 KB, patch)
2009-01-13 10:00 UTC, Bharath Acharya
committed Details | Review
To generate shared library for libpst (2.85 KB, patch)
2009-01-15 15:01 UTC, Bharath Acharya
none Details | Review
Temp fix for libpst (998 bytes, patch)
2009-01-15 15:03 UTC, Bharath Acharya
none Details | Review
screenshot of the importer (25.81 KB, image/png)
2009-01-29 10:54 UTC, Bharath Acharya
  Details
UI for selecting the types (21.68 KB, image/png)
2009-01-29 10:56 UTC, Bharath Acharya
  Details
package diff with pst-import. Not yet submitted (but I used it OK) (51.41 KB, application/octet-stream)
2009-03-25 21:42 UTC, C de-Avillez
  Details
remove pst debug function (591 bytes, patch)
2009-03-26 10:59 UTC, Götz Waschk
none Details | Review

Description chris hall 2001-08-30 13:09:40 UTC
Description of Problem:
Need an import tool to import outlook's *.pst personal folder files.

Additional Information:
With so much functionality the same as MS Outlooks' this feature must be
very important to capture users into this PIM.
Comment 1 Ross Burton 2001-08-30 20:42:13 UTC
See #1575 for a solution to this.  A more elegant solution should be
provided post-1.0, I believe.
Comment 2 Robert Pollak 2001-12-04 02:01:28 UTC
This bug should be re-opened (or new bugs filed) as the workaround
from bug 201575 only helps migrating mail, but not the .pst-file's
calendar data or the task list.
For me, not being able to import my extensive task list from outlook
is a mayor problem for migration. Proposing Piority:Mayor.
Comment 3 Luis Villa 2001-12-12 17:14:43 UTC
ettore, iain: can you look at this and comment for time-frame and such
for 1.2? Is it at all reasonable? Leaving as wishlist for the time
being, but noting that it would definitely be nice and in keeping with
the themes for 1.2.
Comment 4 Iain 2001-12-12 18:34:42 UTC
Unless we get someone who knows windows coding, I don't see us being
able to do anything more than the Mozilla workaround. .PST files are
totally undocumented, and the only way to access them is through
MAPI.DLL. Even if we do get someone who can do this, it'll still be a
"Run this program on windows, and copy some files across to your linux
partition" hack. Unless we want to make it depend on Wine...
Comment 5 Iain 2002-01-04 14:55:45 UTC
Targetting this as Future, not much we can do about it
Comment 6 israel 2002-02-07 23:50:38 UTC
*** bug 215482 has been marked as a duplicate of this bug. ***
Comment 7 Dan Winship 2002-02-12 19:57:04 UTC
http://sourceforge.net/projects/ol2mbox is a project to convert
pst to mbox entirely on unix. He seems to have decoded some of
the format, although it apparently only works on "No Encryption"
PST files, which are not the default.

http://www.wirejunkie.com/freestuff/devout/ is a VBA app,
written by an evo user. He admits it's imperfect.
Comment 8 Dan Winship 2002-02-12 20:19:26 UTC
Another one... this one actually looks really cool:

http://www.cyberus.ca/~phoenix/outport/

It does contacts, calendar, and tasks, and it even creates
the folder metadata files and everythign that Evolution wants!
Still doesn't do attachments to email though...

(Oh, and it's GPL.)
Comment 9 Robert Pollak 2002-02-12 20:25:32 UTC
Hmm... outport seems worth a test.
The two other programs (14:57) can be only used to tackle bug 201575,
since both of them are described as only exporting e-mails.
Comment 10 Gerardo Marin 2003-07-16 17:30:56 UTC
*** bug 246338 has been marked as a duplicate of this bug. ***
Comment 11 Gerardo Marin 2004-01-20 16:58:20 UTC
Reassigning all importer bugs to component owners. Sorry for the spam
Comment 12 Paul Wise 2008-05-13 04:38:19 UTC
ol2mbox has been renamed to libpst and moved here:

http://alioth.debian.org/projects/libpst/

The Debian package of it only produces the command-line readpst program, it would be great if you could convince the libpst people to build a shared library, then adding a cross-platform evolution plugin for importing .pst files would probably become a lot easier.
Comment 13 Nick Jenkins 2008-09-11 04:23:31 UTC
There's a write-up here of migrating from Outlook 2000 to Evolution, including Email, Tasks, Notes, Calendar, and Contacts: http://nickj.org/How_to_migrate_from_Outlook_2000_to_Evolution

In the end I had to use Outport + a commercial $10 program called O2M (which is aimed at people migrating from Outlook to a Macintosh), as all the FOSS solutions I tried either did not work, or had data loss problems.
Comment 14 Bharath Acharya 2009-01-13 09:58:52 UTC
http://www.five-ten-sg.com/libpst/ is the fork. I have submitted patches to the libpst library for building shared libraries. So Evolution could now import .pst files via the Importer interface
Comment 15 Bharath Acharya 2009-01-13 10:00:54 UTC
Created attachment 126340 [details] [review]
Evolution plugin
Comment 16 Bharath Acharya 2009-01-13 10:04:14 UTC
I have changed the license for the file. Chris Halls is a busy man to catch on IRC. Last time I found him, he was ok with the license changes to the work that he had started.
Comment 17 Bharath Acharya 2009-01-13 10:07:28 UTC
There's no configure option to enable or disable building the plugin. I felt its better to have it the gstreamer way than having an additional option for it
Comment 18 Sankar P 2009-01-15 13:06:23 UTC
commit to trunk only.

Few things: 

-> all printf should be conditional. Dont print subject of every mail being imported. it will be killing
-> the name of the .eplug.xml file should align with the plugin name
-> include <gtk/gtk.h> should be sufficient

As the patch is well tested also, I believe it is good for trunk.
Comment 19 Bharath Acharya 2009-01-15 13:08:54 UTC
Thanks. Just wanted to get this in before feature freeze. Will update all portions before committing. Lot of junk hanging in there.
Comment 20 Bharath Acharya 2009-01-15 15:01:48 UTC
Created attachment 126506 [details] [review]
To generate shared library for libpst

This is to be used with version 0.6.17. Integrated into the later versions.
Comment 21 Bharath Acharya 2009-01-15 15:03:43 UTC
Created attachment 126507 [details] [review]
Temp fix for libpst

This is to be used with version 0.6.17. Will be fixed cleanly in the next update of Evolution
Comment 22 Bharath Acharya 2009-01-15 15:35:59 UTC
Committed the updated patch to trunk as r37078.
Comment 23 André Klapper 2009-01-22 10:45:27 UTC
Nice. Please mention in http://live.gnome.org/RoadMap for 2.26.
Comment 24 André Klapper 2009-01-24 20:04:34 UTC
@Bharath:
Please do add new files with strings to POTFILES.in (also for future reference).
Also, you are in String Announcement period and you must inform gnome-i18n@ about this.

(_("_Journal entries")) - what is that? If it's an Outlookism I can accept it, but I haven't seen that anywhere else in the Evolution UI yet.
Comment 25 Bharath Acharya 2009-01-29 10:52:59 UTC
hmmm looks like I added just the eplug file to POTFILES.in okies will add the other one.

Journal entries is an Outlookism. We usually map it to Memos in the MAPI code.
Comment 26 Bharath Acharya 2009-01-29 10:54:48 UTC
Created attachment 127444 [details]
screenshot of the importer
Comment 27 Bharath Acharya 2009-01-29 10:56:32 UTC
Created attachment 127445 [details]
UI for selecting the types
Comment 28 Bharath Acharya 2009-01-29 11:17:03 UTC
*** Bug 231099 has been marked as a duplicate of this bug. ***
Comment 29 Emmanuel Andry 2009-03-22 23:15:28 UTC
I've got big problem building with libpst 0.6.34

I've discussed with libpst developper, and he told me that there should not have #include libpst/define.h

And other problems are :

pst-importer.c:475: error: too few arguments to function 'pst_parse_item'
pst-importer.c: In function 'pst_process_item':
pst-importer.c:550: error: too few arguments to function 'pst_parse_item'
pst-importer.c: In function 'pst_process_folder':
pst-importer.c:664: error: invalid operands to binary != (have 'pst_string' and 'void *')
pst-importer.c:665: error: incompatible type for argument 1 of 'foldername_to_utf8'
pst-importer.c:667: warning: format '%s' expects type 'char *', but argument 4 has type 'pst_string'
pst-importer.c:679: error: 'struct pst_item_folder' has no member named 'email_count'
pst-importer.c: In function 'attachment_to_part':
pst-importer.c:740: error: used struct type value where scalar is required
pst-importer.c:741: error: used struct type value where scalar is required
pst-importer.c:748: error: invalid operands to binary != (have 'pst_string' and 'void *')



An so on...

Seems that the plugin is incompatible with libpst 0.6.34. This is bad because it's the available version when evolution 2.26 is out
Comment 30 C de-Avillez 2009-03-22 23:43:55 UTC
Yes indeed. The libpst developers seem to have changed the ABI between libpst 0.6.27 and 0.6.29.

Downgrade to libpst 0.6.27 -- it is still compatible, but you will have to change the #include <libpst/define.h> to <libpst/common.h> in pst-impoert.c.

Or use libpst 0.6.24.
Comment 31 Emmanuel Andry 2009-03-22 23:48:13 UTC
Hum,
too bad, Mandriva cooker is on version freeze. No hope for having it working for libpst 0.6.34 ? (I mean for evolution 2.26.1 ) 
Comment 32 Emmanuel Andry 2009-03-24 17:25:16 UTC
Well I convinced Mandriva team to go back to 0.6.27, changed <libpst/define.h> to <libpst/common.h>, but seems the function pst_process_email changed :

pst-importer.c: In function 'pst_process_email':
pst-importer.c:891: error: 'pst_item' has no member named 'current_attach'
pst-importer.c:893: error: 'pst_item' has no member named 'current_attach'
pst-importer.c:896: error: 'pst_item' has no member named 'current_attach'
pst-importer.c:902: error: 'pst_item' has no member named 'current_attach'
pst-importer.c:902: error: 'pst_item' has no member named 'current_attach'


Is it possible to have a little patch for this ?
Comment 33 Emmanuel Andry 2009-03-24 17:31:59 UTC
The key is in this commit :

http://hg.five-ten-sg.com/libpst/rev/23a36ac0514d

Is this safe to remove this commit from 0.6.27 ?
Comment 34 Bharath Acharya 2009-03-24 17:43:05 UTC
--- src/libpst.h	2008-09-03 10:50:59.000000000 +0530
+++ src/libpst.h	2008-09-04 09:10:27.000000000 +0530
@@ -448,6 +448,7 @@ typedef struct pst_item {
     struct pst_item_folder        *folder;          // data reffering to folder
     struct pst_item_contact       *contact;         // data reffering to contact
     struct pst_item_attach        *attach;          // linked list of attachments
+    struct pst_item_attach	  *current_attach;  // linked list of current attachments
     struct pst_item_message_store *message_store;   // data referring to the message store
     struct pst_item_extra_field   *extra_fields;    // linked list of extra headers and such
     struct pst_item_journal       *journal;         // data reffering to a journal entry


Adding this hunk to libpst source should fix the issue. I'll pick up their latest package and fix all issues for evolution 2.26.1
Comment 35 Emmanuel Andry 2009-03-24 22:44:09 UTC
The patch builds, pst-import plugin is enabled in evolution, but I've no choice for pst file.
Seems that's something's missing...
Comment 36 C de-Avillez 2009-03-24 23:23:28 UTC
I do not know Mandriva (or its packaging); but for Ubuntu I had to add the pst-import to one of the binary packages generated by the build process (evolution-plugins, to be precise).

This may apply to you also. YMMV.
Comment 37 Emmanuel Andry 2009-03-25 20:40:06 UTC
The plugins are in the main package. There are 2 files :
/usr/lib/evolution/2.26/plugins/liborg-gnome-pst-import.so
/usr/lib/evolution/2.26/plugins/org-gnome-pst-import.eplug

Can you attach the patch file you used to build it on Ubuntu ?
Comment 38 C de-Avillez 2009-03-25 21:16:53 UTC
Sorry eandry, which patch are you talking about? The libpst patch, or the Ubuntu package diff?
Comment 39 Emmanuel Andry 2009-03-25 21:31:28 UTC
I mean the package diff.
It is more and more strange. I've looked at libpst and evolution package from opensuse factory, and I really don't see where the problem is . (Maybe it doesn't work in opensuse too?)
Comment 40 C de-Avillez 2009-03-25 21:42:03 UTC
Created attachment 131383 [details]
package diff with pst-import. Not yet submitted (but I used it OK)

Here it is.
Comment 41 C de-Avillez 2009-03-25 21:43:36 UTC
to zero in: look at evolution-plugins.install.
Comment 42 Götz Waschk 2009-03-26 06:39:05 UTC
Where can I get a pst file for testing?
Comment 43 Nick Jenkins 2009-03-26 06:57:34 UTC
(In reply to comment #42)
> Where can I get a pst file for testing?

Try this for testing: http://www.nabble.com/attachment/21537232/0/chris.pst
Comes from this thread: http://www.nabble.com/PST-import-plugin-for-Evolution-added-td21479922.html
Comment 44 Götz Waschk 2009-03-26 08:51:41 UTC
It doesn't work here. The pst plugin is active, but .pst is not in the list of supported file types when you try to import a single file. I'm using evo 2.26.0 on Mandriva.
Comment 45 Götz Waschk 2009-03-26 09:00:24 UTC
When I deactivate and reactivate the plugin, this is printed:
** (evolution:12593): WARNING **: Outlook PST-Importeur

** (evolution:12593): WARNING **: Outlook PST-Importeur
Comment 46 Götz Waschk 2009-03-26 09:31:26 UTC
I'm seeing this warning at build:
pst-importer.c: In function 'pst_init':
pst-importer.c:1709: warning: implicit declaration of function 'DEBUG_ENT'

This is defined in the libpst header define.h that is internal in libpst 0.6.27 as used by Mandriva.
Comment 47 Götz Waschk 2009-03-26 10:59:40 UTC
Created attachment 131423 [details] [review]
remove pst debug function

This makes it work on Mandriva with libpst 0.6.27. You also have to include common.h instead of define.h
Comment 48 Bharath Acharya 2009-04-17 04:57:00 UTC
Closing this bug. Follow ups for the plugin with the latest libpst tarball in http://bugzilla.gnome.org/show_bug.cgi?id=578945. Thanks.