Quantcast
Channel: MobileRead Forums - Kindle Developer's Corner
Viewing all articles
Browse latest Browse all 4457

Kindle Scribe notebook format

$
0
0
I'm curious about how Scribe stores Notebook data, synching behavior, etc, and plan to engage in some experimentation.

Superficially, it appears that everything is stored in SQLite databases, each with a -journal to manage atomic commit and rollback (undo/redo/sync to cloud?). There is also a thumbnails folder that has a .png render of the first page of each notebook. Folder structure is like this snapshot of my Scribe:

Quote:

.notebooks
- "!!EBOK!!notebook" sub-folders, e.g. "B07DPRW17S!!EBOK!!notebook"
(13 of them)
- guid-like named sub-folders e.g. "d088f501-48f6-7a6b-341c-726964927fff"
(14 of them)
- "!!PDOC!!notebook" sub-folders, e.g. "E8F0F8513D6747429A42B1480322E45F!!PDOC!!noteb ook"
(10 of them)
- thumbnails
(PNG thumbnail for each downloaded notebook)
- .backup (mine is empty)
I have 10 notebooks (2 are not downloaded), and one folder.

There is one PDOC folder for each Notebook. The PDOC folder appears to be associated with a GUID folder when its content is downloaded. And in that case, a thumbnail is generated in thumbnails. I expect delete and re-download will result in a new GUID folder.

Each subfolder (except for thumbnails and .backup) has a nbk and nbk-journal file. The latter are all zero-byte, probably because everything is synched and none of the notebooks were open when I attached USB cable.

There are 18 templates. I thought they might be represented by the !!EBOK!! folders somehow but not clear how since they are not 1 to 1. And it would make more sense not to have them in user storage area.

So purpose of !!EBOK!! folders is a mystery. The timestamps on folders and contents don't seem to have coherent pattern to them. There's an additional one since my initial snapshot, but I cannot associate it with any changes I made.

The other mystery is where folders are defined. I do not notice any new files when adding new folders.

So far I have not been able to open any of the data files with my SQL browser (Beekeeper Studio for Mac), or rather it says 'there are no entities'. Maybe they are compressed and need to be expanded.

I at least temporarily have a second Scribe so I can test scenarios where edits are made to things offline at different times and see what happens when they sync, and that sort of thing.

But just getting started.

Viewing all articles
Browse latest Browse all 4457