Jump to content
bstidham

ANSWERED Notebook accidently deleted - Recover (RESOLVED)

Recommended Posts

Hi,

While trying to select "rename" on a notebook, in the android client, i hit "delete" instead. The client didn't ask for confirmation, it just deleted the notebook.

The notebook, nor any of its notes, appear in the trash in the android client nor in the synced windows client.

I do not want this notebook deleted and need it back along with all of its notes.

Please help.

Also, please fix the delete function to ask for confirmation.

Thanks, Bill

UPDATE: This issue has resolved. The notebook was removed from a stack, not deleted. The notebook was found by digging through the local sqlite database.

Share this post


Link to post
14 minutes ago, bstidham said:

While trying to select "rename" on a notebook, in the android client, i hit "delete" instead. The client didn't ask for confirmation, it just deleted the notebook.

The notebook, nor any of its notes, appear in the trash in the android client nor in the synced windows client.

I do not want this notebook deleted and need it back along with all of its notes.

Third place to check is the web platform trash.

If not there, I think it's truly lost

Not to rub salt into the wound, but everyone should have a backup process to fall back on.

And I agree with you that the delete process should be more solid. Do you want this moved to the Feedback forum where it can be addressed better?

Share this post


Link to post

Hey, @DTLow. Thanks for the suggestion. It's not in the web platform trash either.

I don't understand why you can recover notes but not notebooks.

I'd like it escalated, please. Do I need to submit a new ticket somewhere to get data systems involved? Someone can recover it, I'd like whoever that is to get involved, even if that means the systems DBA getting involved to dig through archives. 

Evernote does not provide a convenient delta backup utility. Exporting my entire account through the desktop client everyday is not a reasonable practice to take up. I have quite a large volume of notes. I trust evernote to provide adequate "SVN" like capabilities.

I'd say this experience causes considerable doubt for me that I should continue to trust my information to evernote.

Thanks, Bill

Share this post


Link to post
1 hour ago, bstidham said:

Hey, @DTLow. Thanks for the suggestion. It's not in the web platform trash either.

I don't understand why you can recover notes but not notebooks.

I'd like it escalated, please. Do I need to submit a new ticket somewhere to get data systems involved? Someone can recover it, I'd like whoever that is to get involved, even if that means the systems DBA getting involved to dig through archives. 

Evernote does not provide a convenient delta backup utility. Exporting my entire account through the desktop client everyday is not a reasonable practice to take up. I have quite a large volume of notes. I trust evernote to provide adequate "SVN" like capabilities.

I'd say this experience causes considerable doubt for me that I should continue to trust my information to evernote.

You are posting on a user forum talking with your fellow users.

To open a support ticket you will find a link below in my signature.

Notebook is simply an attribute assigned to a note.  You don't recover notebooks, you recover notes.

Personally, I do a weekly full backup, and daily incremental backups.  There are various options available.  If you're interested you can do a search on the forums.

Share this post


Link to post
19 minutes ago, DTLow said:

You are posting on a user forum talking with your fellow users.

To open a support ticket you will find a link below in my signature.

Notebook is simply an attribute assigned to a note.  You don't recover notebooks, you recover notes.

Personally, I do a weekly full backup, and daily incremental backups.  There are various options available.  If you're interested you can do a search on the forums.

I'm aware of my location and the actions I'm taking. Thanks for the recap, I'm not trying to be rude with you, I appreciate you taking the time to reply. Just understand that I'm trying to resolve a problem with data loss, my data loss, not speculating from outside the problem. You'll have to excuse my tone. Anyway...  

Thanks for the links.

You inspired me to take a look at the db schema. You may be interested in the information I found. There's a separate notebook_attr table also. That means that a "notebook" is a separate object that contains notes, not just an attribute on the note. The "notebook" field on the note_attr table is a copy of the "name" field from the notebook_attr table. There's also a notebook_uid field on the note_attr table. That appears to "FK" to the notebook_attr "uid" field. I have no knowledge of how the application code actually uses these fields however experience in database application best practices tells me that they likely use the notebook_uid to gather notes that belong to each notebook. the "notebook" field is likely just a quick and dirty way for the application to quickly display the notebook name (likely using the notebook_uid as well for the link to) when displaying the note in the editor/viewer.

I see my deleted notebook and its notes in the notebook_attr and note_attr tables. I was going to do a little digging to see what I could to to locate a "status code" or see if I could generate an export of the rows for re-importing into the application. However, I noticed that the "stack" field on notebook_attr was blank for this notebook. It was in a stack prior to the supposed "delete". It appears that the notebook was simple removed from the stack it was in and resides as a notebook on its own. I was unable to find it in the frontend/client because it wasn't where I expected it to be. I was able to find it in the client and re-added it to the stack. makes sense why it would not be in trash.

It makes sense that the notes in a notebook would be moved to the trash when the notebook is deleted. Maybe they could also put a reference to the notebook itself there as well but it's good to know that at least the notes go there. I tried with a test junk notebook. It does prompt you to type "Delete" before actually applying the action. Removing a notebook from a stack doesn't require a prompt so that makes sense that I didn't receive a confirmation prompt.

If there are methods of backing up just changes/additions/removals on a daily basis, that would be something I'd be interested in. I take good care of all the other data in my life. It's backed up in multiple copies in multiple locations and rotated. Evernote data is the one exposure I live with. I've looked for solutions in the past. Nothing seemed reasonable. I'll definitely take a skim through the forum again to see if there's something I missed.

Cheers @DTLow

Share this post


Link to post
19 hours ago, bstidham said:

You inspired me to take a look at the db schema.

You're in the scary territory of the Physical Database Design; not really a view meant for us mortals.

In the Logical Database Design; Stacks are a container for notebooks, Notebooks are a container for Notes
In the Physical Database Design; its centralized on the Note Table
Theres a one-to-one relationship with the Notebook Table
           a one-to-many relationship with the Tag Table

This is briefly documented at https://dev.evernote.com/doc/articles/data_structure.php

Share this post


Link to post

@DTLow, Regarding backups. I found your post here:

It appears you use a apple script that you wrote to utilize the enscripting engine to do your daily and full overlay backups.
I'm sure there are windows client versions of the same type of thing out there that will run using the windows install.
I've used geek-note before. In fact, I currently automate the regular creation of journaling notes using geek-note from a unix cron-job.
I'd like to implement something independent of the scripting engine or the OS shell to do the backups. I want a more intelligent process (not to say yours isn't intelligent, I like it). I also want it to be independent of the OS. I'd like it to run on my UNIX data backup system. I imagine the process maintaining its own database or possibly scanning the locally synced html files to establish the modified data min threshold it needs to use, maybe an INI file with a simple modified date threshold, or something else; I'm not so sure yet. I'm in feasibility/discovery at this point. I'd like it to audit the local cache of html files against the en system somehow. I would like to resolve any worry that my local cache isn't complete. So, maybe a database is a good idea.

I'm considering Java as the implementation language using the evernote sdk for java library (https://github.com/evernote/evernote-sdk-java).

I'm not sure how well this will serve my purposes (feasibility). I haven't actually read the documentation on it yet (discovery). Are you aware of any code out there that does the backups using anything of this level of analysis? Or, is the apple script solution you wrote the best thing out there currently?

The evernote client does a regular sync to update the headers in the local sqlite database and to update the frontend. It's apparently using a call to the server that gets changes it needs to sync. Do you know if there is any documentation on what the client does to get the info it needs to sync? Do you think it possibly uses the same logic of querying for anything with a modified date that is more current than the latest modified object in the database like you do in your script?

Thanks for your help, Bill

Share this post


Link to post
1 hour ago, bstidham said:

The evernote client does a regular sync to update the headers in the local sqlite database and to update the frontend. It's apparently using a call to the server that gets changes it needs to sync. Do you know if there is any documentation on what the client does to get the info it needs to sync? Do you think it possibly uses the same logic of querying for anything with a modified date that is more current than the latest modified object in the database like you do in your script?

Actually the windows/mac clients sync more than just headers - you get a full copy of the data.
Some users prefer a direct backup of the database in its entirety; for example the .exb file.
When you start doing customized backups you might only get a partial backup.  I'm happy with my Applescript backups, but it does not cover all the data.

Sorry, I know of no documentation on the data structure beyond what I gave you. 

I note this discussion is marked Resolved.  I'm curious as to how you recovered your deleted data.  Edited:  Sorry, I should have done a better read of your posts.  The notebook wasn't actually deleted, just misplaced from a stack.  That should have been one of our resolution suggestions - search for the "deleted notes"

Share this post


Link to post
6 hours ago, DTLow said:

I note this discussion is marked Resolved.  I'm curious as to how you recovered your deleted data

There's an update to the OP explaining it. I also explained it in that giant wall of text in this note: 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...