13 votes

Métadonnées des séries iBooks

Dans iBooks sous la version 10.10, les livres peuvent avoir des métadonnées de série comme le montre l'image.

Quelles métadonnées dois-je ajouter à un epub externe (c'est-à-dire ne provenant pas de la boutique ibook) pour qu'il puisse être affiché comme une série ?

series metadata

18voto

foliva Points 176

Je l'ai fait, mais c'est un peu délicat.

Résumé :

Vous devez modifier le Livres.plist dans ~/Bibliothèque/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books pour les livres que vous souhaitez avoir dans une série, et vous devez également ajouter des lignes dans le fichier BKSeries-*.sqlite base de données sur ~/Bibliothèque/Containers/com.apple.iBooksX/Data/Documents/BKSeriesDatabase pour eux et pour la série.

Voilà comment j'ai fait :

La base de données comporte 4 tables : ZBKSERIESCHECK , ZBKSERIESITEM , Z_PRIMARYKEY y Z_METADATA . Je n'ai changé que les trois premiers tableaux. La "série" est traitée comme un livre dans ces tableaux.

  1. Ajouter les livres et la série dans le tableau ZBKSERIESCHECK . Le tableau comporte 5 colonnes.

    The table has 5 columns

    • Z_PK est la clé primaire. Il doit s'agir d'un numéro séquentiel.
    • Z_ENT y Z_OPT Je viens de compléter avec un "1".
    • ZDATECHECKED est simplement la date de création de la ligne. Dans mon cas, elle a été attribuée automatiquement.
    • ZADAMID est un code unique pour le livre ou la série.

    Voici le tableau avec les données que j'ai ajoutées.

    ID of the books and series

    Les zAdamId que j'ai utilisés proviennent de Calibre, donc je suppose que vous pouvez utiliser n'importe quel nombre. Gardez à l'esprit que ces numéros doivent être différents de ceux des séries/livres que vous avez achetés.

    La ligne avec le zAdamId "1" est ma série, les autres sont les livres.

  2. Ajouter les relations entre les livres et les séries dans la table ZBKSERIESITEM . Ce tableau comporte 16 colonnes.

    Table ZBKSERIESITEM

    • Z_PK , Z_ENT y Z_OPT ne sont pas les mêmes que ceux définis dans le tableau précédent. Z_PK doit être séquentiel et, Z_ENT y Z_OPT Je viens de compléter avec "2" et "1" respectivement.
    • ZISCONTAINER définit si un zAdamId est une série ou non. "1" est vrai, "0" est faux.
    • ZPOSITION définit le numéro d'un livre dans une série, en commençant par "0" pour le premier livre.
    • ZADAMID est le même que celui défini dans le tableau précédent pour le même article.
    • ZAUTHOR est l'auteur de la série/des livres.
    • ZGENRE est le genre de la série/des livres.
    • ZSEQUENCEDISPLAYNAME définit comment un livre est affiché en tant que membre d'une série. Par exemple, pour le premier livre, vous pouvez définir "Livre 1" ou "Volume 1" ou "Vol.1". Cette chaîne sera ajoutée au nom du livre. Cette colonne doit être vide pour la série.
    • ZSERIESADAMID est le zAdamId de la série du livre. Pour la série, c'est la même chose que ZADAMID .
    • ZSERIESTITLE est le nom de la série.
    • ZSORTTITLE y ZTITLE est le nom du livre ou de la série.

    Table ZBKSERIESITEM contents

  3. Ajuster la table Z_PRIMARYKEY .

    J'ai constaté que ce tableau ne comporte que deux lignes. Une pour chacun des tableaux précédents.

    Table Z_PRIMARYKEY

    Ici, vous devez changer le Z_MAX à la valeur MAX(*) de la colonne Z_PK dans chacun des tableaux précédents. Par exemple, dans ma BD, pour la table ZBKSERIESCHECK ( BKSeriesCheck ) le MAX(*) de la colonne Z_PK est "22".

  4. Enregistrez les modifications.

  5. Ouvrez le Livres.plist fichier. Recherchez chacun des livres de la série et ajoutez ces clés :

    • seriesAdamId comme Numéro avec la valeur de ZBKSERIESITEM~ZSERIESADAMID .
    • itemId comme Numéro avec la valeur de ZBKSERIESITEM~ZADAMID .
    • seriesSequenceNumber comme Chaîne de caractères avec la valeur de ZBKSERIESITEM~ZPOSITION + 1 . (Rappelez-vous que dans le tableau, il commence par "0").
    • seriesTitle comme String avec la valeur de ZBKSERIESITEM~ZTITLE .

    Books.plist file

  6. Enregistrez le fichier. Fermez iBooks (si vous ne l'avez pas fermé depuis le début). Fermez le com.apple.BKAgentService processus. Démarrez iBooks. Vous devriez pouvoir voir votre série.

    Results

Notes

Ces colonnes que je n'ai pas nommées, je les ai simplement laissées vides et cela n'a pas affecté le résultat final.

Je pense que c'est beaucoup trop difficile de mettre tous vos livres et séries correctement quand vous en avez beaucoup. J'espère voir un jour quelque chose qui fasse tout cela auto-magiquement.

C'est mon premier message. J'espère que tout le monde le trouvera utile.

2voto

Dadiocoleman Points 21

J'ai une solution :

  1. Allez dans la boutique iBooks et téléchargez les échantillons des livres avec lesquels vous essayez de travailler.

  2. Changez l'extension de .epub à .zip.

  3. Extrayez le zip et supprimez le dossier nommé "OPS" (OEBPS pour les bandes dessinées).

  4. Localisez le livre électronique que vous avez et changez le format .epub en .zip.

  5. Extrayez-le et localisez l'OPS.

  6. Déplacez OPS dans le dossier de l'exemple d'ebook.

  7. Sélectionnez tous les fichiers de l'échantillon, et créez un .zip.

  8. Changez l'extension en epub.

  9. Faites de même pour chaque livre de la série.

  10. Glissez-déposez dans itunes.

  11. Synchronisez et voilà !

Soyez prudent en allant dans l'iBook store cependant, si vous voyez l'ebook que vous avez édité, il y aura un bouton disant "mise à jour". NE cliquez PAS sur mettre à jour, ou vous aurez à le faire à nouveau.

C'est beaucoup plus facile que de devoir éditer sqlite, et cela fonctionne aussi bien sur Mac que sur Windows.

1voto

John Coxon Points 796

J'ai remarqué que, dans iBooks, j'ai un livre ( Héritage ) qu'iBooks identifie comme faisant partie d'une série (dans mon cas, il s'agit d'"Eragon" au lieu de "The Farseer Trilogy"). Afin d'enquêter sur ce point, j'ai téléchargé Héritage et j'ai supprimé le DRM en utilisant Requiem (sur une vieille machine virtuelle) afin de pouvoir fouiller dans le code source du livre.

Malheureusement, j'ai de mauvaises nouvelles. J'ai utilisé Sigil pour rechercher le mot "Eragon". Le mot "Eragon" n'apparaît nulle part dans les métadonnées de l'epub, ce qui indique que ce n'est pas possible ; iBook conserve manifestement les informations sur les séries séparément des fichiers epub proprement dits.

0voto

Liam The Great Points 72

J'ai essayé moi-même, et j'ai découvert que la liste de lecture dans le même dossier qui stocke les epubs a des informations sur la série de livres. Il y a les métadonnées seriesTitle et seriesSequenceNumber. Mais malheureusement, le fait de les modifier ne permet pas à Ibooks de répertorier les livres comme des séries. De même, le fait de définir les métadonnées dans le livre électronique lui-même en indiquant seriesTitle et seriesSequenceNumber ne fonctionne pas. Puis j'ai trouvé un dossier dans usr. Library containers com.apple.IBooksX Data Documents BKSeriesDatabase, mais il contient une base de données SQL. Peut-être que l'information est stockée là.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X