update mailbox archive


I’ve got the courage to archive my IMAP mailbox into DTPO. For 46k messages in about 50 folders the process took about a day.

Now I would like to update the archive, however the process seems to take forever, again.

How exactly does this work? I would imagine that already archived messages are being skipped upon update, and the process should be comparatively faster. Or should I use “Import” for the update?



Do you use macOS Mojave? In that case you might have to enable full disk access (see System Preferences > Security) so that the plugin for Apple Mail can be used. This speeds up importing/archiving a lot.

Yes it’s Mojave. What exactly should I enable Full Disk Access to? DEVONThink Pro Office or the plugin itself? If it’s the latter, where can I find it? Thanks.



I enabled Full Disk Access to DTPO. Indeed it’s much faster, now the display says for 46k messages 2.5 hours. Thank you for that.

It seems to me that Archive does the whole archive always from scratch. Am I correct? Is there anyway to do it incrementally, i.e. ignoring already archived messages?



Already archived messages are actually ignored but archiving remote accounts like Gmail/IMAP is much slower than archiving local mailboxes.

Thanks for the Full Disk Access tip.

It still only takes seconds for DEVONthink Pro Office to beachball (“not responding”, according to the Force Quit Applications window).

How can I tell the difference between “I’m really busy” and “I’m done”? According to Activity Monitor, DTPO is hovering well below 10% CPU usage.

If DEVONthink is idle it should use almost no CPU time (<1%).

Yes, but when it is busy, it does not use more than 10% or so but it is reported as “not responding” because I asume you aren’t “respiring” the OS. As Windows developer myself, I’ve seen a lot of large for loops inside events instead of creating dedicated threads (or separate interface from implementation via some kind of Doc/Vista model) that completely locks the user interface and reports as “not responding” (sorry, Windows terminology, I don’t know macOS development ones).

Normally, without having to rebuild important parts of the application, that is resolved adding a call to Win32 Sleep() call. If you pass 0 you are telling to the OS that “do your things and give me control ASAP”. If you pass 1 that means you can give time to other threads in same application. More than 1 is a real “sleep” time.

(Sorry, Windows terminology a new time. I don’t know macOS equivalents).

Thanks for the update (and no worries about being more familiar with Windows terminology)!

It ended up working just fine. I just needed to be patient. :smiley:

That’s the answer to many issues - in computing and life. :smiley:

Patience is what you need when using any program that have heavy disk usage in a Fusion drive under APFS!!! :confused:

Mojave forces APFS in all kind of disks and if an incredibly piece of crap running with Fusion ones.

The same day on my last iMac warranty finished, I’m going to throw away the mechanical disk by an SSD one.

I am running an SSD!

Then patience. :smiley:

My 2017 MacBook Pro has 512 of SSD, 16 of RAM and works (relatively) fast even with about 50GB of memory usage in DT.