View Single Post
Old 09-27-2018, 04:00 AM   #550
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by ilovejedd View Post
I saw mention of this plugin in the Understanding Metadata thread.
I knew I shouldn't have said that Both today or back then.
Quote:
Given Apple closed access to iOS devices and I believe Marvin XD is effectively defunct, I wonder if you might revisit considering adding Marvin 3 to the plugin's list of supported apps?

The csv export is as follows:
Code:
ID,Type,Colour,Title,Author,Date,Created,Updated,Starred,Latitude,Longitude,Address,City,State,Country,HasPhoto,PhotoDate,PhotoLatitude,PhotoLongitude,EntryText,HighlightText
"0051DBCF-6143-4349-9FC7-ED18719666D6","2","0","A Song of Ice and Fire: A Game of Thrones, A Clash of Kings, A Storm of Swords, A Feast for Crows, and A Dance with Dragons","George R.R. Martin","2017-12-28T17:34:44Z","2017-12-28T17:34:44Z","2017-12-28T17:34:44Z","0","","","","","","","0","","","","","An oak may live three hundred years, a redwood tree three thousand. A weirwood will live forever if left undisturbed. To them seasons pass in the flutter of a moth’s wing, and past, present, and future are one. Nor will your sight be limited to your godswood. The singers carved eyes into their heart trees to awaken them, and those are the first eyes a new greenseer learns to use*…*but in time you will see well beyond the trees themselves."


The marvinz export is pretty much just a zip file containing a bunch of json files.

Each annotation is stored in a separate json file named <uuid>.entry.marvinj and a list of all these files is in manifest.json.

Sample manifest.json:
Code:
{
  "DeviceVersion" : "10.3.3",
  "Payload" : [
    {
      "filename" : "0051DBCF-6143-4349-9FC7-ED18719666D6.entry.marvinj"
    }
  ],
  "FileType" : "Marvin interchange file format",
  "ContentType" : "marvin\/annotations",
  "DateCreated" : 539657301.130649,
  "HardwareName" : "iPad6,11",
  "DeviceName" : "iPad",
  "MarvinBuild" : "34",
  "PayloadVersion" : 1,
  "MarvinVersion" : "3.1.2"
}
Sample entry.marvinj:
0051DBCF-6143-4349-9FC7-ED18719666D6.entry.marvinj
Code:
{
  "DeviceVersion" : "10.3.3",
  "Payload" : {
    "address" : null,
    "selectionSectionName" : "A Dance with Dragons, 34. Bran III",
    "country" : null,
    "photoBase64" : null,
    "tags" : [

    ],
    "dateUpdated" : 536175284.265789,
    "photoDate" : null,
    "uuid" : "0051DBCF-6143-4349-9FC7-ED18719666D6",
    "city" : null,
    "latitude" : null,
    "entryText" : "",
    "dateCreated" : 536175284.265787,
    "state" : null,
    "type" : 2,
    "photoLatitude" : null,
    "selectionSectionIndex" : 362,
    "starred" : false,
    "entryDate" : 536175284.265789,
    "longitude" : null,
    "selectionStart" : 27294,
    "photoLongitude" : null,
    "ID" : 459,
    "selectionEnd" : 27736,
    "selectionText" : "An oak may live three hundred years, a redwood tree three thousand. A weirwood will live forever if left undisturbed. To them seasons pass in the flutter of a moth’s wing, and past, present, and future are one. Nor will your sight be limited to your godswood. The singers carved eyes into their heart trees to awaken them, and those are the first eyes a new greenseer learns to use*…*but in time you will see well beyond the trees themselves.",
    "bookTitle" : "A Song of Ice and Fire: A Game of Thrones, A Clash of Kings, A Storm of Swords, A Feast for Crows, and A Dance with Dragons",
    "hasPhoto" : false,
    "colour" : 0,
    "bookAuthor" : "George R.R. Martin",
    "bookFileHash" : "a06fcbc831509ca9f5d1762585b28edb"
  },
  "FileType" : "Marvin interchange file format",
  "ContentType" : "marvin\/journalentry",
  "DateCreated" : 539657299.963053,
  "HardwareName" : "iPad6,11",
  "DeviceName" : "iPad",
  "MarvinBuild" : "34",
  "PayloadVersion" : 1,
  "MarvinVersion" : "3.1.2"
}
From my observations:
  • selectionSectionName - corresponds to the chapter title
  • selectionSectionIndex - index number of file based on epub's content.opf manifest?
  • selectionStart & selectionEnd - word count within the chapter/section's html file only?
  • ID - I believe Marvin stores all annotations in a single database and this ID corresponds to its index number in Marvin's database
  • bookFileHash - MD5 hash of the epub file

I've got a crap ton of highlights for this particular book (probably too much for fair use sharing) so I didn't attach the actual files but if you want, I can make annotation export files for a book in the public domain for your review.
That doesn't look to bad. I'll have a look at it, but, I won't promise when or if I will do anything. But, if someone is interested in doing it, I will be happy to answer any questions and add it the plugin.
davidfor is offline   Reply With Quote