Home / GitHub Page

Switch Evernote imported to-do notes to non to-do notes overrides the last modification time


#1

Hi all, I really like Joplin for its whole package. I really appreciate for all the efforts to bring it to the current level.

I’m currently migrating my thousands of Evernote notes to Joplin and this is one thing really annoying. It seems that the Evernote imported notes are to-do notes by default. Whether I try to switch these to-dos into non-todos by GUI or CLI, they both change the last modification time of that note. I see no reason for having such logic when importing the notes. The original last modification time actually contains a lot of information that I might need in the future. My question is, can we consider providing one of the following methods as solutions:

  1. Import Evernote note as non-to-do as default.
  2. A method to change imported to-dos to non-to-dos without changing any time-related metadata.

Besides, I’m just curious about what is the rationale for importing ENEX as to-do notes by default. Based on what I learn in this forum, it seems to be a designed feature rather than a bug.

Thanks very much!


#2

And I found that I can’t go directly to the plain markdown file and change the is_todo term from 1 to 0 since this will incur error in later synchronization. I guess the synced target is protected by some checksum verification process? So I don’t even know how to do this manually now.


#3

I finally found the solution that is introduced in this webpage.

Here is how it work:
After importing the evernote notes, close the joplin and run the following:

sqlite3 ~/.config/joplin-desktop/database.sqlite "update notes set is_todo = 0;"

#4

Notes from Evernote should be imported as notes, not as to-dos. Do you have an example ENEX that shows the issue you are having?


#5

Keep in mind that the changes you make directly on the db won’t sync (unless the note has never been synced before, which might be the case for you, but later doing this can cause various issues).


#6

Thanks for your reply. Here is an example ENEX file that shows my issue. I’m on OSX Mojave 10.14.2. The ENEX is exported by Evernote (Version 7.8 (457453 Direct) Editor: 62.1.7539 (b406110)). The imported notes are shown as to-do with either Joplin 1.0.120 or 1.0.125.


#7

Keep in mind that the changes you make directly on the db won’t sync (unless the note has never been synced before, which might be the case for you, but later doing this can cause various issues).

Thank you for pointing out this. I also have found that Joplin does a good job at keeping the integrity of the database when I was digging around and try to modify the database. As you said, I indeed run the sqlite3 command before the initial sync so I didn’t realize the potential problem.


#8

Hmm, I wonder if Evernote changed again their export format because I see it has a property that indicates it’s a to-do (a “reminder” in Evernote) but if it’s not it’s an issue. I’ll do some tests to see what the issue is.


#9

Ok that will be fixed in the next version. Evernote added a useless property to their ENEX format for regular notes. This time I honestly wonder if they didn’t just do it on purpose to break import on some apps, since that property has no use whatsoever (it’s meant to tell the order of a reminder, but if it’s a note and not a reminder, there’s no reason for it to be there), but it does trigger a subtle bug in Joplin, which has big consequences since all notes becomes to-dos on import.

Anyway it’s fixed now and thanks for letting me know.