View Single Post
Old 09-27-2018, 12:55 AM   #549
ilovejedd
hopeless n00b
ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.
 
ilovejedd's Avatar
 
Posts: 5,110
Karma: 19597086
Join Date: Jan 2009
Location: in the middle of nowhere
Device: PW4, PW3, Libra H2O, iPad 10.5, iPad 11, iPad 12.9
Quote:
Originally Posted by davidfor View Post
Yes, I will consider adding that. I would need some sample files to look at. The simplest is probably the CSV, but the marvinz would be good to look at.

Having said that, the Marvin XD plugin will probably be revived. From it's thread, the changes in Marvin should mean external applications can reach the data files.
I saw mention of this plugin in the Understanding Metadata thread.

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.

Thanks!
ilovejedd is offline   Reply With Quote