Notalib / LYT

m.e17.dk
GNU Lesser General Public License v3.0
10 stars 12 forks source link

Bookmarks breaks when upgrading from version 1.1.4 to 1.2.0 #511

Closed mzedeler closed 11 years ago

mzedeler commented 11 years ago

Many (but not all) bookmarks breaks when upgrading from version 1.1.4 to 1.2.0.

Steps to reproduce.

Expected behavior: the book should start playing from chapter 2. Actual behavior: the book starts playing from the beginning.

This was introduced in SHA: 1e4e7c765ae9aae52eda797481f2ca87c8df9d4a.

The reason that we have this bug now is that issue #275 forces us to use ids differently. In the old version we reference ids that may refer to more than one audio file (because they are ids on par elements). In the new version, we always refer to ids directly on clip (audio) elements which leaves no ambiguity wrt. which file we are supposed to play.

A possible fix is to make it possible to look up using the old ids as well. This should work for all existing bookmarks.

oleholstandersen commented 11 years ago

Please remark that if we want to fully conform with the Z39.86-2005, then the /bookmarkSet/title element must contain the DTB title in a text element and the /bookmarkSet/uid element must contain the uid of the DTB as found in ncc metadata dc:identifier. The audio elements with empty src attribute are probably also non-conformant-

Currently the title text element is left empty and the uid element is the book number, which is typically wrong - uids are normally in one of the forms dk-dbb-<booknumber> or dk-nota-<booknumber>. Example:

<bookmarkSet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.daisy.org/z3986/2005/bookmark/">
  <title>
    <text />
    <audio src="" />
  </title>
  <uid>16586</uid>
  <lastmark>
    <ncxRef />
    <URI>dtb_0011.smil#rgn_par_0011_0001</URI>
    <timeOffset>00:00:00.00</timeOffset>
    <charOffset>0</charOffset>
  </lastmark>
</bookmarkSet>

should be

<bookmarkSet xmlns="http://www.daisy.org/z3986/2005/bookmark/">
  <title>
    <text>Djævlen går i Prada</text>
  </title>
  <uid>dk-dbb-16586</uid>
  <lastmark>
    <ncxRef />
    <URI>dtb_0011.smil#rgn_par_0011_0001</URI>
    <timeOffset>00:00:00.00</timeOffset>
    <charOffset>0</charOffset>
  </lastmark>
</bookmarkSet>