View Single Post
Old 08-09-2012, 03:14 PM   #5
janek
Groupie
janek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austenjanek has memorized the entire works of Homer, Shakespeare, and Jane Austen
 
Posts: 175
Karma: 23456
Join Date: Feb 2012
Device: Boox m92
BTW, does anyone know where datafiles with user annotations/scribbles are located? They are not in /root or any of its subdirectories (database files therein contain nothing of interest), not in /home, not in /media or /mnt, not in /var. I wanted to peek around to see if there's anything unusual about them that could possibly explain this bug, but I can't find them !

Edit: Oh okay, they are in a hidden directory /media/flash/.onyx.
Be sure to enable hidden files display in otfm to avoid asking silly questions


Edit2: Here's what i've found after finally locating the *.sketch files containing annotations/scribbles:
These files are very simple Sqlite database files, which can be read with any sqlite editor out there. There is one for each pdf file read by the user, and each contains information about both scribbles and annotations. There are just two tables in the database: annotations and scribbles, each consisting of just three columns: id, page position and data, the last of which contains actual scribble information and is of binary type, so cannot be edited in a straightforward way. As much as I could tell by comparing problematic files with unproblematic ones, there's no difference in how these binary fields are composed. I experimented a little with the database of one my "unmergable" files by eliminating individual rows in the annotations table, one by one, and then uploading the database back to boox to see if this changes anything. In this way i could check if it is a particular annotation that is triggering the problem. This worked to some extent, because it turned out that removing all annotations but one indeed allowed me to successfully merge the remaining annotation(s). On the other hand, it seems irrelevant which annotation is left out, as long as there's only one left. This is the bad news. Good news is that scribbles seem to be unaffected by the bug - it only prevents merging the annotations, and scribbles if you also have annotations in your file - so if you dont use annotations, you are less unsafe.

Conclusions:
1. The "unmergable" database files are not corrupt - they can be successfully read with any sqlite editor
2. The binary data in database is not corrupt - since it does not matter which annotaion is left in the file to be merged, it cannot be a problem with binary data.
3. Hence it follows that the problem has to do with merging procedure in the reader, and for that reason,
4. The problem cannot be fixed by a user, at least not in a simple way
5. Still, if you have both scribbles and annotations in your file and need to export them to a pdf file, do the following:
a. using otfm or ftp, go to /media/flash/.onyx/ or /media/sd/.onyx/ directory of your Boox, depending on the location of your pdf file (you need to enable hidden files display first)
b. copy the database file that corresponds to your pdf (the file is named yourfile.pdf.sketch) to your pc
c. do a backup copy of that file
d. make sure you really did a backup copy
e. using sqlite editor such as sqliteman, open the database file
f. go to annotations table and delete all rows in it, then close the transaction (apply changes to database file)
g. copy the file back to the directory in your Boox where you got it from
h. merge your scribbles and mourn your annotations.
i. you can copy your backed-up copy of original sketch file back to Boox so that you can enjoy your annotations on your Boox again while our friends at Onyx work long and indeed hard hours removing the bug <sigh>

Last edited by janek; 08-09-2012 at 05:47 PM.
janek is offline   Reply With Quote