In iBooks on 10.10, books can have series metadata as shown in the image.
What metadata do I need to add to an external epub (i.e. not from ibook store) so that it can be displayed as a series?
I made it, but it's quite a bit tricky.
You have to change the Books.plist file in ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books for the books you want to have in a series, and also you have to add rows in the BKSeries-*.sqlite database on ~/Library/Containers/com.apple.iBooksX/Data/Documents/BKSeriesDatabase for them and the series.
Here's how I did it:
The database has 4 tables: ZBKSERIESCHECK, ZBKSERIESITEM, Z_PRIMARYKEY and Z_METADATA. I only changed the first three tables. The "series" is treated just like a book in these tables.
Add the books and the series in table ZBKSERIESCHECK. The table has 5 columns.
This is the table with the data I added.
The zAdamId I used are from Calibre, so I asume that you can use any number. Keep in mind that those numbers have to be different from the series/books you purchased.
The row with the zAdamId "1" is my series, the others are the books.
Add the relationships within books and series in the table ZBKSERIESITEM. This table has 16 columns.
Adjust table Z_PRIMARYKEY.
I found that this table has only two rows. One for each of the previous tables.
Here you have to change the Z_MAX column to the MAX(*) value of the Z_PK in each of the previous tables. For instance, in my DB, for the table ZBKSERIESCHECK (BKSeriesCheck) the MAX(*) of the column Z_PK is "22".
Save the changes.
Open the Books.plist file. Look for each of the books of the series and add these keys:
Save the file. Close iBooks (if you didn't close it from the beginning). Kill the com.apple.BKAgentService process. Start iBooks. You should be able to see your series.
Those columns I didn't name, I just left them empty and it didn't affect the end result.
I think it's waaay to difficult to put all your books and series properly when you have a lot of them. Hope to see someday something that do all this auto-magically.
This is my first post. I hope everybody finds it useful.
I noticed that, in iBooks, I have a book (Inheritance) which iBooks highlights as a member of a series (in my case called 'Eragon' instead of 'The Farseer Trilogy'). In order to investigate this, I downloaded Inheritance and stripped the DRM using Requiem (on an old virtual machine) so I could poke about in the source code of the book.
Unfortunately, I have bad news. I used Sigil to search for the word 'Eragon'. The word 'Eragon' appears nowhere in the metadata within the epub, indicating that this is not possible; iBook evidently maintains series information separate to the actual epub files.
I have a solution:
Go to the iBooks store and download the samples for the books you are trying to work with.
Change the extension from .epub to .zip.
Extract the zip and delete the folder named "OPS" (OEBPS for comics).
Locate the eBook you have and change from .epub to .zip.
Extract it and locate OPS.
Move OPS to the sample ebook folder.
Select all files in the sample, and create a .zip.
Change the extension to epub.
Do the same for each book in the series.
Drag-and-drop into itunes.
Synchronize and there you go!
Be carefull while going into the iBook store though, if you see the ebook you edited, it will have a button saying "update." DO NOT click update, or you will have to do it over again.
A whole lot easier than having to edit sqlite, and it works on both Mac and Windows.
I tried it myself, and found out, that the playlist in same folder that stores the epubs has informations about the book series. There are the metadata seriesTitle and seriesSequenceNumber set. But unfortunately changing it there does´t make Ibooks to list books as series. Also setting Metadata in the e-book itself saying series Title and seriesSequenceNumber is not working. Then I found a folder in usr. Library containers com.apple.IBooksX Data Documents BKSeriesDatabase, but it contains a SQL Database. Maybe the information is stored there.