Metadaten der iBooks-Serie

13

In iBooks am 10.10 können Bücher Serienmetadaten haben, wie im Bild gezeigt.

Welche Metadaten muss ich einem externen Epub hinzufügen (dh nicht aus dem ibook store), damit es als Serie angezeigt werden kann?

Serienmetadaten

Bilal Syed Hussain
quelle
Früher konnten Sie viele dieser Informationen bearbeiten, als Bücher Teil von iTunes waren. Der Titel der Serie war ein bearbeitbares Feld, das zur Unterstützung von TV-Shows verwendet wurde. Sie können es weiterhin sehen, wenn Sie Metadaten von Fernsehsendungen in iTunes auf der Registerkarte Video bearbeiten (die Feldnamen waren für Bücher unterschiedlich). Aufgrund der eingeschränkten Funktionen von iBooks (insbesondere der fehlenden Bearbeitung von Metadaten) scheinen diese Informationen derzeit mit Metadaten aus der iBooks-Storefront verknüpft zu sein. Es befindet sich wahrscheinlich immer noch in der iBooks SQLite-Datenbank. Wenn also jemand weiß, wie man dort herumstochert, würde ich gerne davon hören.
Nick

Antworten:

16

Ich habe es geschafft, aber es ist ziemlich schwierig.

Zusammenfassung:

Sie müssen die Books.plist- Datei in ~ / Library / Containers / com.apple.BKAgentService / Data / Documents / iBooks / Books für die Bücher ändern, die Sie in einer Reihe haben möchten, und Sie müssen außerdem Zeilen in der BKSeries hinzufügen - *. sqlite- Datenbank unter ~ / Library / Containers / com.apple.iBooksX / Data / Documents / BKSeriesDatabase für sie und die Serie.

So habe ich es gemacht:

Die Datenbank enthält 4 Tabellen: ZBKSERIESCHECK , ZBKSERIESITEM , Z_PRIMARYKEY und Z_METADATA . Ich habe nur die ersten drei Tabellen geändert. Die "Serie" wird in diesen Tabellen wie ein Buch behandelt.

  1. Fügen Sie die Bücher und die Reihe in Tabelle ZBKSERIESCHECK hinzu . Die Tabelle enthält 5 Spalten.

    Die Tabelle enthält 5 Spalten

    • Z_PK ist der Primärschlüssel. Es muss eine fortlaufende Nummer sein.
    • Z_ENT und Z_OPT habe ich gerade mit einer "1" abgeschlossen.
    • ZDATECHECKED ist nur das Datum, an dem die Zeile erstellt wird. In meinem Fall wurde es automatisch zugewiesen.
    • ZADAMID ist ein eindeutiger Code für das Buch oder die Serie.

    Dies ist die Tabelle mit den Daten, die ich hinzugefügt habe.

    ID der Bücher und Serien

    Die von mir verwendete zAdamId stammt von Calibre, daher gehe ich davon aus, dass Sie eine beliebige Nummer verwenden können. Beachten Sie, dass sich diese Nummern von den von Ihnen gekauften Serien / Büchern unterscheiden müssen.

    Die Zeile mit der zAdamId "1" ist meine Serie, die anderen sind die Bücher.

  2. Fügen Sie die Beziehungen innerhalb von Büchern und Serien in die Tabelle ZBKSERIESITEM ein . Diese Tabelle enthält 16 Spalten.

    Tabelle ZBKSERIESITEM

    • Z_PK , Z_ENT und Z_OPT sind nicht dieselben, die in der vorherigen Tabelle definiert wurden. Z_PK muss sequentiell sein und Z_ENT und Z_OPT habe ich gerade mit "2" bzw. "1" abgeschlossen.
    • ZISCONTAINER definiert, ob eine zAdamId eine Serie ist oder nicht. "1" ist wahr, "0" ist falsch.
    • ZPOSITION definiert die Nummer eines Buches in einer Reihe, beginnend mit "0" für das erste Buch.
    • ZADAMID ist dieselbe, die in der vorherigen Tabelle für dasselbe Element definiert wurde.
    • ZAUTHOR ist der Autor der Serie / Bücher.
    • ZGENRE ist das Genre der Serien / Bücher.
    • ZSEQUENCEDISPLAYNAME definiert, wie ein Buch als Mitglied einer Serie angezeigt wird. Für das erste Buch können Sie beispielsweise "Buch 1" oder "Band 1" oder "Band 1" definieren. Diese Zeichenfolge wird dem Namen des Buches vorangestellt. Diese Spalte muss für die Serie leer sein.
    • ZSERIESADAMID ist die Serie zAdamId des Buches. Für die Serie ist dies dasselbe wie für ZADAMID .
    • ZSERIESTITLE ist der Name der Serie.
    • ZSORTTITLE und ZTITLE ist der Name des Buches oder der Serie.

    Tabelle ZBKSERIESITEM Inhalt

  3. Passen Sie die Tabelle Z_PRIMARYKEY an .

    Ich fand, dass diese Tabelle nur zwei Zeilen hat. Eine für jede der vorherigen Tabellen.

    Tabelle Z_PRIMARYKEY

    Hier müssen Sie die Änderung Z_MAX Spalt auf den MAX (*) Wert des Z_PK in jedem der vorherigen Tabellen. In meiner Datenbank ist beispielsweise für die Tabelle ZBKSERIESCHECK ( BKSeriesCheck ) der MAX (*) der Spalte Z_PK "22".

  4. Speichern Sie die Änderungen.

  5. Öffnen Sie die Datei Books.plist . Suchen Sie nach den Büchern der Serie und fügen Sie die folgenden Schlüssel hinzu:

    • seriesAdamId als Zahl mit dem Wert von ZBKSERIESITEM ~ ZSERIESADAMID .
    • itemId als Nummer mit dem Wert von ZBKSERIESITEM ~ ZADAMID .
    • seriesSequenceNumber als String mit dem Wert von ZBKSERIESITEM ~ ZPOSITION + 1 . (Denken Sie daran, dass es in der Tabelle mit "0" beginnt.)
    • seriesTitle als String mit dem Wert von ZBKSERIESITEM ~ ZTITLE .

    Books.plist-Datei

  6. Speicher die Datei. Schließen Sie iBooks (wenn Sie es nicht von Anfang an geschlossen haben). Kill the com.apple.BKAgentService Prozess. Starten Sie iBooks. Sie sollten in der Lage sein, Ihre Serie zu sehen.

    Ergebnisse

Anmerkungen

Diese Spalten, die ich nicht benannt habe, habe ich einfach leer gelassen und das Endergebnis nicht beeinflusst.

Ich denke, es ist zu schwierig, alle Ihre Bücher und Serien richtig zu platzieren, wenn Sie viele davon haben. Ich hoffe, eines Tages etwas zu sehen, das all dies automatisch magisch macht.

Dies ist mein erster Beitrag. Ich hoffe, jeder findet es nützlich.

foliva
quelle
2

Ich habe eine Lösung:

  1. Gehen Sie zum iBooks Store und laden Sie die Beispiele für die Bücher herunter, mit denen Sie arbeiten möchten.

  2. Ändern Sie die Erweiterung von .epub in .zip.

  3. Extrahieren Sie die Zip-Datei und löschen Sie den Ordner "OPS" (OEBPS für Comics).

  4. Suchen Sie das eBook, das Sie haben, und wechseln Sie von .epub zu .zip.

  5. Extrahieren Sie es und suchen Sie OPS.

  6. Verschieben Sie OPS in den Beispiel-E-Book-Ordner.

  7. Wählen Sie alle Dateien im Beispiel aus und erstellen Sie eine ZIP-Datei.

  8. Ändern Sie die Erweiterung in epub.

  9. Machen Sie dasselbe für jedes Buch in der Reihe.

  10. Drag-and-Drop in iTunes.

  11. Synchronisieren und los geht's!

Seien Sie jedoch vorsichtig, wenn Sie in den iBook Store gehen. Wenn Sie das von Ihnen bearbeitete E-Book sehen, wird eine Schaltfläche mit der Aufschrift "Update" angezeigt. Klicken Sie NICHT auf Aktualisieren, da Sie dies sonst erneut durchführen müssen.

Es ist viel einfacher als das Bearbeiten von SQLite und funktioniert sowohl unter Mac als auch unter Windows.

Dadiocoleman
quelle
Funktioniert dies für SRMed-E-Books?
user151019
Wenn es als Beispiel im iBooks Store ist, dann ja.
Dadiocoleman
1

Mir ist aufgefallen, dass ich in iBooks ein Buch ( Inheritance ) habe, das iBooks als Mitglied einer Serie hervorhebt (in meinem Fall "Eragon" anstelle von "The Farseer Trilogy"). Um dies zu untersuchen, habe ich Inheritance heruntergeladen und das DRM mit Requiem (auf einer alten virtuellen Maschine) entfernt, damit ich mich im Quellcode des Buches umsehen konnte.

Leider habe ich schlechte Nachrichten. Ich habe Sigil benutzt, um nach dem Wort 'Eragon' zu suchen. Das Wort "Eragon" erscheint nirgends in den Metadaten innerhalb des Epubs, was darauf hinweist, dass dies nicht möglich ist. iBook verwaltet offensichtlich Serieninformationen getrennt von den tatsächlichen Epub-Dateien.

John Coxon
quelle
Das Interessante, beachten Sie, dass ich immer noch denke, dass es irgendwo lokal gespeichert ist, vielleicht in der SQLite-Datenbank von ibooks, denn als ich 2 Bücher in einer anderen Serie hinzufügte, wurden sie zusammengefasst, wenn sie nicht mit dem Internet verbunden waren
Bilal Syed Hussain
Sie meinen, Sie haben zwei Bücher von einer externen Quelle hinzugefügt oder zwei Bücher über iBooks gekauft?
John Coxon
Ich habe sie auf einen anderen Computer gebracht und sie dann auf einen Computer mit ibooks, aber ohne Internet übertragen.
Bilal Syed Hussain
0

Ich habe es selbst versucht und festgestellt, dass die Wiedergabeliste in demselben Ordner, in dem die Epubs gespeichert sind, Informationen über die Buchreihe enthält. Es gibt die Metadaten seriesTitle und seriesSequenceNumber. Aber leider macht es das Ändern dort nicht zu Ibooks, um Bücher als Serien aufzulisten. Das Festlegen von Metadaten im E-Book selbst mit der Angabe "Series Title" und "seriesSequenceNumber" funktioniert nicht. Dann habe ich einen Ordner in usr gefunden. Bibliothekscontainer com.apple.IBooksX-Datendokumente BKSeriesDatabase, enthält jedoch eine SQL-Datenbank. Möglicherweise werden die Informationen dort gespeichert.

Adam Kay
quelle