Kobo Shelves and Collections

From MobileRead
Jump to: navigation, search

With the new Kobo driver introduced with calibre 0.9.1, there has been some confusion over how to automate the management of shelves.

Please note: These are just the steps and choices I made. Nothing says you have to do exactly as I have written here. Where I use a custom calibre column #myshelves, 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.

Contents

[edit] Driver / calibre Configuration

  1. Added 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

      Do make sure this column is of type Comma separated text, like tags, shown in the tag browser.

  2. Configure either the Kobo Touch or the Kobo Touch Extended driver depending on which you are using.
    • 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
    • In the area for shelf info, type #myshelves, series.

      This will ensure that calibre places books onto shelves listed in the myshelves calibre column and 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 any other relevant options. It is suggested that at a minimum you select the Create Bookshelves and Delete Empty Bookshelves options. The other options are not shelf specific.

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 shelves you want the books to be placed.

If you do as I did and also add series to the driver options, a shelf will be created automatically for each book series, and the books added to that shelf.

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:

SyncShelves=false

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 effects 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
Namespaces

Variants
Actions
Navigation
MobileRead Networks
Toolbox