Well, I decided to figure out how the new highlighting works… Libronix 3 uses XML files that are loaded into a custom engine. Palettes and the locations for where they are used are stored in separate files, marking it simple to copy and share the information with others (in a piecemeal manner if desired.) In Logos 4, all this data is stored in a single file called visualmarkup.db in a hidden directory that is found in a location like C:\Users\USERNAME\AppData\Local\Logos4\Documents\yyyh0liv.wfu\VisualMarkup on a Vista/Windows 7 system. Logos is now using SQLite to store all the data in a relational database. This is a real change in design!
Good news, this is a true relational database. Bad news, the imported data (and near as I can tell, new user generated data) is just being stored as TEXT simular to how it was stored in XML. I expected to see data broken up more efficiently, espeically the images which I would have thought would be BLOBs. I also didn’t find a good key to index on in the location table. I would suggest creating a new index base on the books of the Bible (when when the Bible is the resource being indexed) in addition to the existing index based on the resource being indexed. That is probably why there was such a delay when I imported my last few years worth of markups… (About 18700 records.) Not much I could do to speed things up so decided to see how difficult it would be to share palettes.
There are 4 tables in the database: Info (database version info I think), CustomPalette (names of user generated palettes), Markups (locations of markups), and CustomStyle (individual markup styles.) I used a tool called SQLite Browser to create an export of the database as a SQL file. Next I modifed the file so it delets any palette with the same name of the ones being imported, then just creates and imports just the CustomPalette and CustomStyle tables. I also added code to backup the original database before it starts to modify it. Looks like I should having something soon for folks to be able to import markups (should be easy to find a command line version of SQLite) but will take some decent effort to write an export utility, plus Logos might change the database breaking anything I might write…
Stay tuned… 😉 And Happy Good Friday!!!