Kobo Shelves and Collections

From MobileRead
Jump to: navigation, search

In firmware version 2.0.0, Kobo added shelves. Books could be added to one or more shelves and the shelves viewed in the same way as the main library list. In a later firmware, Kobo renamed "Shelves" to "Collections".

Shelf management was added to the KoboTouch driver in calibre 0.9.1. This allows calibre to automatically manage the collections on the device when it is connected or when books are sent to the device. For this to happen, the driver needs to be configured for the collections management to be done. This includes setting which columns will be used for the collections.

The configuration is the same for both the built-in KoboTouch driver and the optional KoboTouch Extended driver. But, the configuration values are not shared between the drivers. If you change from one to the other, you need to configure the new driver.

Please note: These are just the steps and choices are examples. You do not have to do exactly is written here. Where the custom calibre column #myshelves is used, you can also use any other calibre column such as tags. Do remember that a custom column is referenced as #column_name while a built-in column is just column_name.


[edit] Step-by-step Tutorial

WARNING: While not actually incorrect, this tutorial is misleading. It is too specific in that it only suggests using the "series" column for collections and then it suggests using the series column in an unusual way, not actually for series. The details are basically correct, but, using series for collections is pointless for recent Kobo firmware that have a Series tab. And the tutorial does not indicate that collections can be made from other columns.

This tutorial details how to manually set up calibre and then define the desired collection for each book in calibre, using the calibre Series field. The goal is to group multiple volume book series into collections on the Kobo. These defined collections will then automatically sync and define all the Kobo Collections when the Kobo is connected inside calibre. If you have more complex needs, then skip this tutorial and instead move on to Driver / calibre Configuration, below.

[edit] Setting up calibre

  1. Open calibre.
  2. IMPORTANT: Eject the Kobo from the computer. This is necessary because the required configuration option in the next step is disabled while the Kobo is connected.
  3. Go to Preferences in the toolbar, locate the Import/export section, then click Sending books to devices.
    1. For Metadata Management, choose Automatic management.
    2. Click Apply.
  4. Remain in Preferences, locate the Advanced section, then click Plugins.
    1. Expand Device Interface.
    2. Scroll down and select either Kobo Touch Extended, or if that's not present, KoboTouch.
    3. Click Customize plugin.
    4. Switch to the Collections, covers & uploads tab.
    5. Checkmark Collections.
    6. For Collections columns, enter series (all lowercase). (Or if you want Kobo's Collections to be populated with your Shelves in Calibre, enter #myshelves)
    7. Checkmark both Create collections and Delete empty bookshelves.
    8. Click OK.
  5. Close Preferences.
  6. Exit and restart calibre.

[edit] Defining Collections

  1. Click Edit metadata in the toolbar (or right-click the first book in calibre, and choose Edit Metadata > Edit metadata individually).
  2. Decide whether the book should be part of a Collection on the Kobo:
    • If the book should be in a Kobo Collection, then decide on a name for the collection (as it will appear on the Kobo) and enter that in the Series field. For subsequent entries in the same collection (series), select the series from the list. The series name can also be entered manually, but it is important that the name be EXACTLY the same for each volume, so selecting from the list is recommended for volume 2 onward.
    • If the book should NOT be in a Kobo Collection, then click the recycling icon to the right of Series to clear it.
  3. Click 1.00 to the right of the Number field. For the first entry in the Series it will start at 1.00, but clicking it for subsequent books with the same Series name will increment it automatically (so the second Series entry will be 2.00). Note: If the volumes are edited out of order, calibre will put in the wrong Number and it will need to be corrected manually, which is a hassle. To prevent this, use the Previous and Next buttons to edit the volumes in the correct order.
  4. Click Next to edit the next book. Note: It might not be a bad idea to click OK periodically as books are being edited, to save changes (just in case), then return to Edit metadata again.
  5. Once all books have been edited, click OK.

[edit] Syncing Collections to the Kobo

  1. Open calibre.
  2. Connect the Kobo to the computer
  3. Wait for Jobs (in the lower right corner) to drop to 0.
  4. Eject the Kobo.
  5. On the Kobo, go to My Books, then select the Collections tab.
  6. The defined collections should now exist on the Kobo.

[edit] Driver / calibre Configuration

  • Add a custom column to calibre
    • Preferences | Interface | Add your own columns
    • Select Add a user-defined column
    • Select Tags in Quick create
I used Lookup Name myshelves and Column heading My Shelves
You will probably want to use the type, Comma separated text, like tags, shown in the tag browser, but, any column type can be used for collections.
  • Open the driver configuration by either:
  • Preferences | Advanced | Plugins
  • Expand Device Interface plugins section and look for KoboTouch or Kobo Touch Extended driver
  • With KoboTouch or Kobo Touch Extended highlighted, select Customize plugin
  • With your Kobo device connected, right-click the device button in the toolbar and select Configure this device. This will open the configuration for the driver you are using.
  • Set the collection management options.
    • Select the Collections, covers & uploads tab.
    • Select the Collection check box. This will enable the collection management option.
    • In the Collection columns field, enter the names of the columns you wish to use for collection. For example, #myshelves, series.
This will ensure that calibre adds books to the shelves listed in the myshelves calibre column and to a shelf based on the book's series name. You could use the default tags instead, but imported books frequently have tags not useful for shelves
    • Select the Create collections to create new collections on the device. If this is not selected, books will be moved in and out of existing collections.
    • To removed empty collections, select the option Delete empty collections.
    • The field Ignore collections is used to specify a list of collection names on the device that are not to be changed by the driver. Use this if you have a collection that you manually manage on the device. The value for the field is a comma separated list of name.

Now, when you edit the metadata for a book, look for the Custom Metadata area (where it is found depends on the view you are using). In the field My Shelves type in whatever collections you want the books to be placed.

With this configuration, a shelf will be created automatically for each book series, and the books added to that shelf. And for each value in My Shelves.

NOTE: "Wishlist" and "shortlist" are special internal shelf names. You cannot sync tags with these names to the Kobo.

[edit] Configuring calibre's Metadata Management options

calibre has three options as to when it updates Metadata on the device. This also affects when the shelves are managed on the Kobo.

This option is managed as follows:

  • Preferences | Import/Export | Sending books to devices
  • The Metadata management selection has three options
    • Manual management: calibre updates the metadata and adds collections only when a book is sent. With this option, calibre will never remove a collection.
    • Only on send: calibre updates metadata and adds/removes collections for a book only when it is sent to the device.
    • Automatic management: calibre automatically keeps metadata on the device in sync with the calibre library, on every connect

As can be seen from the descriptions, for full functionality of the Kobo driver, set the Metadata management to either Only on send or Automatic management. From my experience, I have seen the easiest option to be Automatic management.

If the option is set to Manual management, shelves will NEVER be removed.

[edit] Changing Book Titles to include Series Info

Note: Kobo added an option to sort by series in firmware version 4.3.8842. With this or later firmware, adding the series information to the title to aid in sorting is probably not needed.

One probably also wants to change book titles to include Series info. That gets done via what is called a metadata plugboard. Through these you are able to modify items like the book's title or author as it gets transferred to your device.

  • Goto Preferences | Import/Export | Metaboard plugboards

It looks complex, but is not.

On the line that reads Add new plugboard do the following

  • In the box Format (choose first) select epub
  • in the Device (choose second) box select KOBOTOUCH
  • In the Source Template the magic happens. Here you have a lot of options
    • To modify the book's title to <Series> - <Number> - <Title> (i.e. Harry Potter - 01 - Harry Potter and the Philospher's Stone) type

      {series}{series_index:0>2s| - | - }{title}

    • To modify the book's title to <Number> - <Title> (i.e. 01 - Harry Potter and the Philospher's Stone) type

      {series_index:0>2s|| - }{title}

    • To modify the book's title to <First Letter of Each word in Series> - <Number> - <Title> (i.e. HP - 01 - Harry Potter and the Philospher's Stone) type

      {series:re(([^\s])[^\s]+(\s|$),\1)}{series_index:0>2s| - | - }{title}

  • Finally in Destination Field select title

Once all that is done, take a DEEP breath and hit the Save Plugboard button and then the Apply checkmark at the top of the screen.

You will find a lot more discussion of these over in the calibre Library Management forum with more examples in this thread.

For those people who don't care about syncing of shelves between their device and the cloud (and in turn with other devices), the ability exists to override shelf syncing.

While we are on the topic of shelves and syncing, there is a way to prevent shelves from syncing. Add the following line into your Kobo eReader.conf file in the [ApplicationPreferences] section:


To enable shelf syncing again, either remove the line or change the value to true. I'm not sure which firmware level this was added, but it is present in 2.8.1 at least.

[edit] Cleaning Up Duplicate Shelves

Occasionally, due to issues with the Kobo infrastructure, a sync with Kobo will have the unfortunate side-effect of restoring ALL previously deleted shelves (including the possibility of myriads of duplicated shelf names).

These are a PAIN (if not impossible) to remove from the device itself, but luckily CAN be handled via calibre. Remember, this ONLY affects the shelves on the device; the definitions within calibre stay intact, and shelves WILL be correctly re-added and populated by calibre when the device is next attached.

  1. calibre has available for it a plugin called Kobo Utilities.

    With this plugin installed, and your Kobo attached, launch the plugin. (This will be dependent on where YOU selected to have the icon for the plugin added when you installed it).

    • From the plugins menu, select Database and then Fix Duplicate Shelves. The plugin will then display a list of shelves and how many occurences of each shelf are found. Select which shelves to delete, and then indicate whether to keep the oldest or newest shelf of each duplicated one. (I *think* that normally, you would want to keep the newest instance).
    • Next, decide whether or not to Purge the shelves from the database. If you decide to Purge, then the records are totally dropped from the Kobo; however, they will remain on the Kobo Server, and, unless the second bullet is done, will reappear. If you decide NOT to Purge, then the next sync of your device to Kobo will also remove the duplicate records from their infrastructure.
    • Finally, press the OK button and watch the magic happen.
  2. The option also exists to ensure that neither shelves nor their contents (only Kobo format books) EVER sync to the Kobo servers.
    • To do this, with your Kobo attached to your computer, browse through the directories on it and find the .kobo\Kobo directory. (Note that under Linux and OS/X environments, the .kobo directory will be hidden due to the leading period). Within this directory will be a couple of files; the one you are concerned with is the Kobo eReader.conf file. This file contains various options that are used to control the device.
    • Open this file in a text editor (on Windows for instance, use Notepad++, NOT Word or Write), and look for a line [ApplicationPreferences]. After this line, add a new line SyncShelves=false. Save the file, and disconnect the Kobo as usual.</p>

      The addition of this line will ensure that shelves do NOT get synced to the Kobo Cloud.

Personal tools

MobileRead Networks