The Tellico Handbook

# The Tellico Handbook

Robby Stephenson `<robby@periapsis.org>`

Revision Tellico 4.2 (2026-01-04)

Copyright © 2001 Robby Stephenson

For licensing information of both the software and this documentation, please refer to the final section.

This document is a handbook for using Tellico, a collection manager software application.

List of Tables

2.1. Allowable Field Type Changes
2.2. Formatting Examples
7.1. Collection Type Values
7.2. Field Type Values
7.3. Field Flag Values
7.4. Field Format Values

Chapter 1. Introduction
Introduction

# Chapter 1. Introduction

## Tellico

Tellico is a program for managing collections. It began as a simple book collection manager, and has expanded to include default collection templates for bibliographies, comic books, videos, music, coins, stamps, trading cards, video games, wines, board games, and file listings. In addition, custom collections can be built for any other type of collectibles.

### What Tellico Is

Tellico keeps track of the items in a collection, and offers an easy way to enter data for each entry. It provides several field types, and allows for an unlimited number of user-defined fields. The entries in a collection may be grouped by any field for easy organization, and customizable views show as much or as little information as you like.

Loans of items in your collection may be tracked, including a due date. Collections may be imported or exported using a variety of formats, to allow for easy exchange or publication of data.

### What Tellico Is Not

Tellico is not an audio or video player. It does not provide facilities for reading or modifying multimedia files. It also does not provide any image-editing functionality. Although Tellico has some functionality for managing bibliography lists, it is not a full-blown bibliographic reference manager. Tellico also does not pretend to have all the capabilities of a full-fledged relational database.

As somewhat of a disclaimer, Tellico is a hobby for the author, and no guarantees are made about its functionality, usefulness, or otherwise. More information is included in the license declaration.

Terminology
Terminology

## Terminology

### Collections

In Tellico, a collection is the document. Only one collection exists in each Tellico file. A collection contains any number of fields and entries. Tellico supports 12 specific collection types by default: books, bibliographic entries, comic books, videos, music, trading cards, coins, stamps, video games, wines, board games, and file listings. In addition, an empty generic collection template is available for any other type of collectibles or lists.

### Collection Fields

Each collection may have an unlimited number of fields. Tellico supports eleven types of fields, which allow for a range of different data. The fields can be edited with the Collection Fields Dialog and are explained further in the Field Types section.

### Collection Entries

An entry is the basic record in Tellico. Each entry contains a single value for each field in the collection. A collection may have an unlimited number of entries, in theory, although since the whole collection is always resident in memory, too many entries could slow down the application.

Tellico has been tested with a collection of 10,000 entries, and the speed was satisfactory. However, if many large images are included in the collection, the loading and processing time does slow down greatly. Performance can be improved by having Tellico store images separate from the data file itself, either in the application-specific folder or a folder relative to the data file. More information can be found in the configuration section.

Chapter 2. Using Tellico
Using Tellico

# Chapter 2. Using Tellico

## Quick Start

By default, Tellico starts with an empty book collection. To work with some other type of collection, create it using the File → New menu item, or the button on the toolbar. Collections are populated with some of the more common fields, but you can add, modify, or delete them to suit your needs.

New entries can be added by using the Entry Editor. The Collection → New Entry menu item will open the Entry Editor with an empty entry ready for editing. The Entry Editor can also be opened by using the Settings → Show Entry Editor menu item. Once you've entered the values for the entry, you can save it to the collection by using the Save Entry button in the Entry Editor dialog, which remains open in case you want to continue adding new entries. Once you've saved an entry in the collection, you can modify it by clicking on it in the main window. If the Entry Editor is not already open, you can double click an entry to open the editor and start editing.

If you want to include an image in the entry, you can use the standard KDE File Selector by clicking the Select Image... button in the Entry Editor, or you can drag an image from the file manager or web browser into the Entry Editor.

When you select an entry, the Entry View shows a formatted view of the entry's contents. You can change the template used for showing the entry in the Configuration Dialog.

The entries in the collection are grouped together when they share the same values for certain fields, such as the author or director. You can change the field used for grouping by using the combo box in the toolbar or the Settings → Group Selection menu item.

You can use the Quick Filter in the toolbar to limit the visible entries. The filter is also useful when you want to quickly find an entry. You can type in the title or some other unique word that identifies the entry and the Column View will only show the entries that match the filter. More complex filtering can use field names directly, such as author=stephenson. The status bar shows you how many entries are in the collection, and how many are currently being filtered.

General Usage
General Usage

## General Usage

The main window has three distinct areas, all of which show information about the collection in a different manner. The primary view is the Column View in the upper right area, where the value of every field for each entry may be shown. On the left side, tabs hold the Group View, which can be used to sort the entries into groups in a tree-structure, the Filter View, which is used to track which entries meet certain criteria, and the Loan View, where any loans are listed. Finally, the Entry View shows a formatted view of the data for a single entry, or an icon view of a group of entries, in the lower right.

### Column View

Any of the fields in the collections may be shown in the Column View, although Paragraph, Image, and Table fields will probably not be useful. Right-clicking on the header of the view opens a menu for selecting the visible fields. The columns may be resized and reordered in any way, and the settings will be saved between sessions.

### Group View

The Group View groups the entries in a tree-view by any field which allows grouping. The number of entries in each group is shown next to the group name. Groups may be expanded or collapsed by clicking the arrow sign, or by double-clicking the item. Expanding and contracting all the groups are options in the right-click context menu. The tree may be sorted either by the group name, or by the count, by clicking on the header. A group may also be used as a filter for the Column View, by right-clicking on the group item.

When more than one field in the collection has the Format as a name option turned on, an additional group is added to combine all those fields into one single People pseudo-group.

If an entry does not contain a value for the field being used to form the groups, it is placed in the (Empty) group, which uses a red folder.

### Filter View

If any filters are saved for the collection, the Filter View becomes active. As you add or modify entries, they will automatically be checked against the filters and add or removed as appropriate. The filter may be modified by double-clicking on the item to open the Advanced Filter Dialog. Right-clicking gives you the option to delete it altogether.

### Loan View

Once entries are checked-out on loan, the Loan View is added to the window, so those borrowed entries may be tracked. Loans are tracked on a per-entry bases, so right-clicking on an entry item has an option for modifying the loan using the Loan Dialog.

### Entry View

A formatted representation of the entry's values is shown in the Entry View. Templates are used for the layout and any additional graphics. Separate templates for each type of collection may be specified in the Configuration Dialog, along with custom colors and fonts.

All of the default templates honor the color and font selection, but other custom templates might not. The default templates also make URL fields active, which will open up with the default KDE file association. When exporting to HTML, the current template is used for exporting the individual entry files.

### Statusbar

The status bar is used to show you what Tellico is currently doing. It also includes a total count of the entries in the collection, and if a filter is being used, how many are currently visible.

Editing Entries
Editing Entries

## Editing Entries

The Entry Editor is used to add and modify entries in the collection. Double-clicking on an entry in either the Group View or the Column View opens the Entry Editor with that entry. New entries may be created using the Collection menu, the toolbar icon, or the button in the Entry Editor itself.

Closing the Entry Editor when changes have been made but not saved will cause a warning message to appear. The fields are grouped by category and appear in the order that they appear in the Collection Fields Dialog. They may also be reordered.

Clicking the field title for a URL field will open the link using the default KDE file association. The URL selector button beside the text entry will open the default KDE File Open Dialog, but the field is not limited to local files.

For Image fields, the Select Image... button opens up the KDE image file selection dialog. The image is saved in the collection in the original format, and a scaled version is shown in the Entry Editor. The image may be cleared by using the Clear button. Cleared images are removed from the collection.

The edit widget also supports drag-and-drop. Dragging an image file from a file-manager or browser window does the same thing as selecting the image in the File Selector. Dragging an image from the edit widget into a Konqueror file manager window will save the image in that folder.

### Warning

By default, the images are stored in the collection data file, keeping everything contained in one location. However, too many images will cause Tellico to slow down significantly as well result in a very large data file. Alternatively, Tellico can save the images separately, either in the `~/.local/share/tellico/data/` folder or in a folder in the same location as the data file. Loading and saving data files is much faster if images are stored separately, but the data files are no longer portable or archivable. Self-contained data files can always be created by using the File+Export → Export to Zip... menu item.

Table fields begin with five rows, but moving the cursor to the last row automatically adds another. For multi-column tables, only the first column is used for grouping or formatting.

### Editing Multiple Entries

Multiple entries may be edited at the same time by selecting more than one in either the Group View or the Column View. If multiple entries are selected, the fields which contain the same value in every entry are enabled. If entries have different values, then the fields are disabled. Check boxes are added to the extreme right for each field entry which control whether the field is enabled or not, as shown in the screenshot below.

Only enabled fields will be modified when the entries are saved, which makes large-scale editing much easier. For example, to set the Medium of all the video entries in the collection, make sure the Medium field is enabled. Change it to DVD, then save the entries. Only the Medium field will be modified, preserving all the other field values for the entries.

### Updating Entry Data

Entries may be automatically updated by querying the data sources available for the current collection type, which is very useful for combining information from multiple sources. For example, you may add a movie to your collection using the Amazon.com Web Services, and then update the entry with additional information from the Internet Movie Database.

Only empty fields are updated unless the setting for that source allows results to overwrite existing information. For external scripts, an update field must be specified in the source options.

The entry updating may be started via the right-click menu for an entry, or by using the Collection → Update Entry menu item.

Editing Fields
Editing Fields

## Editing Fields

The Collection Fields Dialog allows you to add new fields to the collection, to modify the existing ones, or to delete fields altogether.

### Field List

On the left side of the dialog is the list of the current fields. Modified fields are shown in bold italics. The buttons below the list will add or delete a field, and the arrows can be used to change their order. The order of the fields in the list is important because the Entry Editor uses the order for its layout. For each category, the fields will be laid out from left to right, according to the top-to-bottom order of the fields in the list.

### Field Properties

A field is defined by its title, type, category, description, and possibly a default value or some allowed values. The title is used everywhere to refer to the field in the user interface. The Entry Editor uses it to prompt for values. The Column View uses it as a column header. The different types of fields are explained in the Field Types section. The description is used as a tooltip in the Entry Editor, perhaps to provide an explanation of the field's contents. In addition, for fields with derived values, a value template is used to format the field's value. The default value is automatically added when creating a new entry. The list of allowed values for Choice fields should be separated by a semi-colon.

New fields may be any type, but changing the type of existing fields is restricted to compatible types, as shown in the table below:

Table 2.1. Allowable Field Type Changes

Current Type | New Type Allowed
--- | ---
Simple Text | Simple Text, Paragraph, Number, URL, Table
Paragraph | Simple Text, Paragraph
Choice | Simple Text, Paragraph, Choice, Number, URL, Table
Checkbox | Simple Text, Paragraph, Checkbox, Number, URL, Table
Number | Simple Text, Paragraph, Number, URL, Table
URL | Simple Text, Paragraph, Number, URL, Table
Date | Simple Text, Date
Table | Simple Text, Paragraph, Table
Image | Image
Rating | Choice, Rating

### Field Formatting

Tellico provides some capability for automatic formatting of field values. The simplest is auto-capitalization, which capitalizes every word except the articles. Title formatting moves certain articles from the beginning to the end of the field, for example, changing "The Return of the King" to "Return of the King, The". The title articles are configurable. Finally, name formatting tries to break up the string so that the last, or family, name of the person is shown first. Name prefixes and suffixes are configurable. Also, the special People group uses all fields with name formatting, even if the global setting is turned off.

All automatic formatting can be disabled by changing the global options in the Configuration Dialog. Globally, capitalization is a distinct option from formatting, so a title can be auto-formatted without being capitalized. Not all field types allow auto-formatting.

Table 2.2. Formatting Examples

Format Type | Field Value | Auto-Capitalized | Auto-Formatted | Auto-Capitalized & Auto-Formatted
--- | --- | --- | --- | ---
Title | the return of the king | The Return of the King | return of the king, the | Return of the King, The
Name | tom swift, jr. | Tom Swift, Jr. | swift, jr., tom | Swift, Jr., Tom

### Field Options

Fields also have three general options. If auto-completion is enabled, Tellico caches the values for each field, and the Entry Editor offers automatic completion, using the standard KDE settings. Not all field types allow auto-completion. Tellico also needs to know if a field may have multiple values or may be used to group the entries. A semi-colon is used to separate multiple values when editing an entry.

For efficiency, do not enable auto-completion unless you need it for the fields. The more fields with auto-completion in the collection, the slower it takes Tellico to load the file.

Filtering Entries
Filtering Entries

## Filtering Entries

The Advanced Filter Dialog allows you to limit the entries visible in the Column View to those that match one or more filter rules. The filter may be used to find the entries that meet all of the rules in the dialog, or just to find those that meet any of them. The Advanced Filter Dialog is also useful for advanced searching within a collection.

Each row contains a single filter rule. Select the field to match in the first box in the row, then select a matching rule in the center. Rules may match values that contain a certain word, or are exactly equal. A regular expression may also be used to match entries, in which case the Edit... button becomes active for editing the expression, if KRegExpEditor is installed on your computer. Finally, the word or string to match should be entered in the text box. For image fields, the image size can be used for filtering where the filter value is compared against the larger image dimension, whether width or height.

Up to eight (8) rules may be used in the filter. The More and Fewer buttons may be used to add or remove rules.

Filters may be saved, so that all entries which match are grouped together in the Filter View. The view is dynamic, so as entries are added or modified, the group is automatically updated. To save the filter, enter a name in the text box, and click the Save Filter button.

Previously saved filters may be modified by right-clicking on the filter item in the Filter View and selecting Modify Filter. The Advanced Filter Dialog is opened, and changes may be made to the filter's name or rules.

To find the science fiction books you've not read, check the Match all of the following button, set the first rule to Genre contains Science Fiction and the second to Read does not contain true. (For Checkbox fields, the internal value is true).

To find the books by Bujold or Weber, check the Match any of the following button, set the first rule to Author contains Bujold and the second to Author contains Weber.

Generating Reports
Generating Reports

## Generating Reports

Tellico can generate various reports about your current collection. The Report Dialog checks for all XSLT templates in the installation path and in `~/.local/share/tellico/report-templates/`. So you can create new ones, and they are automatically found and included as options in the Report Dialog. Some complex reports may take a while to generate for large collections.

The templates that are installed with Tellico include a list of titles only, the default column view, a group view, a summary of all of the groups and the most popular values in those groups, a loan report, and a large report with cover images. Select the desired template and click the Generate button. Any report may also be printed or saved to an HTML file.

The entries included in the report will be limited to the ones in the Column View so if you've got an active filter, the Report Dialog will use it.

Loan Tracking
Loan Tracking

## Loan Tracking

Tellico supports tracking loans of any entries in the collection. The Loan Dialog may be opened by using the Check-out menu item, or right-clicking on an entry. Multiple entries may be checked-out at once.

The borrower's name may be directly entered, or pulled from the default KDE address book by clicking on the button next to the name entry. The check-out date is assumed to be the current date, but may be changed. The due date is optional, and other notes may be added about the loan.

If a due date is entered, and Tellico is compiled with libkcal support, a loan reminder may be added to the default KDE calendar as a To-Do item. KOrganizer can be used to view those items.

When an entry is checked-out, the Loaned field is set to true. If no loaned field exists in the collection, one is added. Do not modify that field directly! Entries on-loan may be checked-in using the menu item, or right-clicking on an entry in the Loan View.

General Tips
General Tips

## General Tips

### Tip

If a book has more than one author, you should separate their names by a semi-colon, so that Tellico will know to split them and use them separately. Any other field which allows multiple values should be entered the same way. with a semi-colon (;) separating each value.

### Tip

You can change which fields are shown in the list view by right-clicking on the column header.

### Tip

You can add, edit, or modify the fields in the collection using the Collection Fields Dialog. The arrow buttons below the field list can be used to change the position of the field in the list, which affects the placement in the entry editor.

### Tip

You can edit more than one entry at a time, by holding down the Shift or Ctrl key and selecting multiple entries.

### Tip

You can convert an existing book collection to a bibliography, which can then be exported to bibtex or Bibtexml format.

### Tip

If more than one field is formatted as a name, then an additional group named "People" is added to the collection, allowing authors and editors to be sorted or printed together, for example.

### Tip

You can modify the appearance of the printed output by modifying the `tellico-printing.xsl` file. The file generates HTML, and the CSS within the stylesheet governs things like the font, the margins, etc.

### Tip

Double-clicking an entry item opens the Entry Editor.

### Tip

You can add HTML tags to any Paragraph field for formatting, such as <b>bold</b> or <i>italic</i>.

### Tip

In the Column View, you can press a letter on the keyboard to skip to the next entry that starts with that letter.

### Tip

You can use derived values to combine values from multiple fields into a single value. Just check the derived value box and use a value template similar to "`Value: %{fielda}%{fieldb}`" where %{...} gets replaced with the appropriate field value. This is useful to collect multiple values in a single field, e.g. for better grouping, and to combine fields of different types by respecting proper sorting at the same time. Consider for example a number field followed by a text subfield with entries 3b, 14a.

Chapter 3. Tellico Details
Tellico Details

# Chapter 3. Tellico Details

## Field Types

Each collection may have an unlimited number of fields. Tellico supports eleven types of fields, which allow for a range of different data.

### Simple Text

The most basic field type is called Simple Text. No restrictions are placed on the field values, and the data entry widget is the standard line edit. This type is appropriate for fields which aren't expected to have long values, such as the author or the genre.

### Number

The Number type is identical to the Simple Text, except that the data is restricted to being numerical. Entries will be sorted numerically in the column view if a Number field column is clicked. The standard line edit, with small arrow buttons for increasing or decreasing the value, is used for data entry. No formatting is ever applied.

### URL

The URL type allows for links to other documents, using the standard KDE file type associations for opening the linked documents. No validation is done on the actual value of a URL field, but non-valid links are not opened. The data entry is a line edit with a button for opening the standard File-Open dialog, but any URL may be used. Relative URLs are interpreted relative to the location of the data file, once it has been saved.

In the Entry Editor, the label becomes the link, while in the Entry View, an actual hyperlink is used. This field type is convenient for linking to PDF files of bibliographic entries, or to movie reviews, for example. No formatting is ever applied.

Relative URLs may also be used. They are interpreted relative to the location of the Tellico data file. In the Entry Editor, the line edit provides auto-completion for local file locations. If you want the URL from the KDE File Selector Dialog Box to be interpreted relative to the document location, then a property for the URL field should be set to relative : true.

### Paragraph

For longer text fields, the Paragraph type offers a larger text edit area, and is always in its own category. A Paragraph field may not have multiple values, nor is it automatically formatted. It cannot be used for grouping. Abstracts, plot summaries, or reviews should be entered using this field type.

Line feeds are replaced by an HTML break to ensure consistent formatting. To disable this replacement, add a property for the field with a value of replace-line-feeds : false. Spell-checking can be disabling by setting a property with a value of spellcheck : false.

### Choice

When a field should be limited to a few preset values, a Choice type is used. The acceptable values are presented in a drop down box for selection. Multiple values can be allowed. Fields such as bibliography type or personal rating are Choice-type fields.

Semi-colons should be used to separated the allowed values.

### Checkbox

For fields which take a yes or no value, the Checkbox type is available. By default, the field is toggled off. Checkbox fields are not formatted and are limited to single values. Internally, the field values are carried as `true` or `false`. Some examples are gift or loaned fields.

### Date

A Date field can include a day, month, and year. The date is shown in the standard format of YYYY-MM-DD, which allows for easy sorting. The standard KDE Date Selector may be used to choose the date with the mouse, or it may be entered directly. The field is not required to have non-empty values for the year, month, and day; only the year may be entered, for example. Multiple values are not allowed.

### Table

Table fields hold a one or more columns of values. In the Entry Editor, the field is presented using a spreadsheet-like view, with numbered rows. When the last row is selected, an additional row is then added. Auto-completion is not available. This field is useful for a list of chapters in a book, scenes in a movie, or songs in an album. Table fields are always a category by themselves.

The number of columns, up to a maximum of ten, is defined by adding a property to the field definition with the name columns. The columns may be labeled by right-clicking on the header, or by setting a field property named column1, etc.

When using the Entry Editor for Table fields, rows may be rearranged by dragging the mouse while holding the Ctrl button. A popup menu is also available by right-clicking on the table, which allows rows to be inserted or removed.

### Image

Image fields hold an image, of any format supported by KDE. Some of the typical ones include PNG or JPEG. The image can be saved inside the Tellico data file itself or in the application data directory. The standard KDE File Selector is used, so you can use a URL or just a file available locally. Images can also be dragged from a file manager or browser.

### Rating

Rating fields show a number of stars to represent a numerical rating for an entry. By default, the rating is a maximum of five. The minimum and maximum may be changed by setting properties in the field definition in the Collection Fields Dialog, named minimum and maximum, respectively.

### Derived Value Fields

Fields with derived values are a special case. The field type corresponds to the typical type of value contained in the field, but the value of the field is constructed from other fields using a format string in the field description. For example, if the field has a value template of `%{title} %{year}`, then the value of that field will be the title, followed by the year. This field type is used primarily for the title field in the coin, stamp, trading card, and wine collections. Either the internal field name or the field title may be used in the description for formatting.

To select only a single value for a field with multiple values, add a position index to the template, such as `%{author:1}` for the first author. The position may be negative, counting from the end, so `%{author:-1}` would be the last author. Upper and lower-case values may be used by setting template flags, such as `%{author:1/l}` for lower-case first author and `%{author:1/u}` for upper-case.

Collection Types
Collection Types

## Collection Types

Tellico supports twelve specific collection types by default: books, bibliographic entries, comic books, videos, music, video games, trading cards, coins, stamps, wines, board games, and file catalogs. In addition, an empty generic collection template is available for any other collectibles. The default collections are only meant to include a general set of fields. You should add, modify, or delete them to fit your needs. The only requirement is that a collection should always have a Title field, so that the Group View works correctly. For some collection types, that is just a derived value field combining two or more of the others.

In general, there's no functional difference between the collection types. You could create a custom collection for your books just as easily as using the default book collection. But Tellico chooses icons based on collection type, and there may be some specialized functionality that is unique to a certain collection, so if you can, you should use the defaults. So, if you want to create a wine collection, but don't like any of the default fields, go ahead and create a default wine collection, then delete all the defaults. That way, Tellico still knows that it's a wine collection.

By default, all the collection types include an ID field, which shows the ID number of the entry. In addition, except for the file catalog, each collection includes fields showing the date that the entry was created in the collection and the last time that it was modified.

### Book Collections

Book collections have 27 default fields: Title, Subtitle, Author, Binding, Purchase Date, Purchase Price, Publisher, Edition, Copyright Year, Publication Year, ISBN#, LCCN#, Pages, Language, Genre, Keywords, Series, Series Number, Condition, Signed, Read, Gift, Loaned, Rating, Front Cover, Plot Summary, and Comments.

The ISBN# field is special, since ISBN numbers are automatically formatted and the check-digit is calculated. Tellico recognizes the ISBN field if its internal field name is isbn. If you have deleted it, or need to add it to another type of collection, create the field with the title as ISBN and apply the change, then you can return and modify the title as you want. Tellico creates the internal name based on the initial title, but never changes it if the title is later updated.

### Bibliographies

Bibliographies have 25 default fields: Title, Entry Type, Author, Bibtex Key, Book Title, Editor, Organization, Publisher, ISBN#, Address, Edition, Pages, Year, Journal, Month, Number, How Published, Chapter, Series, Series Number, Volume, Cross-Reference, Keywords, Abstract, and Notes.

Although bibliographic collections are not specifically linked to bibtex, the default set of fields is taken from a typical set of bibtex fields. When exporting to bibtex, a property called bibtex is used for each field to define the corresponding bibtex field. If you add an additional field to a bibliography and want to export it to bibtex, be sure to set the bibtex property.

Tellico does have some specialized functions for bibliographies. Bibtex string macros can be added, modified, or deleted from within Tellico and the bibtex export gives you the option of expanding the macros. Bibtex citations can be pushed to an external application such as LyX or Kile using the so-called lyxpipe.

Book collections can be converted to bibliographies. Default bibtex fields are added, and the bibtex properties are set. This functionality exists primarily to convert old collections, before the bibliography type was separated from the book collection type.

### Comic Book Collections

Comic book collections have 23 default fields: Title, Subtitle, Writer, Artist, Series, Issues, Publisher, Edition, Publication Year, Pages, Country, Language, Genre, Keywords, Condition, Purchase Date, Purchase Price, Signed, Gift, Loaned, Front Cover, Plot Summary, and Comments.

### Video Collections

Video collections have 30 default fields: Title, Medium, Production Year, Certification, Genre, Region, Nationality, Format, Cast, Director, Producer, Writer, Composer, Studio, Language Tracks, Subtitle Languages, Audio Tracks, Running Time, Aspect Ratio, Widescreen, Color Mode, Director's Cut, Plot Summary, Personal Rating, Purchase Date, Purchase Price, Gift, Loaned, Cover, and Comments.

The Cast field is a table with two columns, and the name of the actor is intended to be in the first column, with their role in the second. The Running Time is meant to be in minutes, though you can change that, of course.

### Music Collections

Music collections have 15 default fields: Title, Medium, Artist, Label, Year, Genre, Tracks, Rating, Purchase Date, Purchase Price, Gift, Loaned, Keywords, Cover, and Comments.

### Video Game Collections

Video game collections have 16 default fields: Title, Platform, Genre, Release Year, Publisher, Developer, ESRB Rating, Description, Personal Rating, Completed, Purchase Date, Purchase Price, Gift, Loaned, Cover, and Comments.

### Card Collections

Trading card collections have 17 default fields: Title, Player, Team, Brand, Card Number, Year, Series, Card Type, Purchase Date, Purchase Price, Location, Gift, Keywords, Quantity, Front Image, Back Image, and Comments.

### Coin Collections

Coin collections have 16 default fields: Title, Type, Denomination, Year, Mint Mark, Country, Coin Set, Grade, Grading Service, Purchase Date, Purchase Price, Location, Gift, Obverse, Reverse, and Comments.

### Stamp Collections

Stamp collections have 18 default fields: Title, Description, Denomination, Country, Issue Year, Color, Scott#, Grade, Cancelled, Hinged, Centering, Gummed, Purchase Date, Purchase Price, Location, Gift, Image, and Comments.

### Wine Collections

Wine collections have 15 default fields. Title, Producer, Appellation, Varietal, Type, Country, Purchase Date, Purchase Price, Location, Quantity, Drink By, Rating, Gift, Label Image, and Comments.

### Board Game Collections

Board game collections have 17 default fields. Title, Genre, Mechanism, Release Year, Publisher, Designer, Number of Players, Playing Time, Minimum Age, Description, Rating, Purchase Date, Purchase Price, Gift, Loaned, Cover, and Comments,

### File Catalogs

File catalogs have 14 default fields. Name, URL, Description, Volume, Folder, Mimetype, Size, Permissions, Owner, Group, Created, Modified, Meta Info, and Icon,

### Custom Collections

Custom collections have one default field, the Title. They should be used when the collectible item is not one of the default types.

Chapter 4. Importing and Exporting Data
Importing and Exporting Data

# Chapter 4. Importing and Exporting Data

Tellico is able to import and export a wide variety of data files, as well as search various Internet sites for information.

## Importing from the Internet

Tellico is able to search various Internet sites using the Internet Search Dialog. Entries may be directly imported and added to your current collection. The various providers are configured via the Data Sources Options.

Searches may use different criteria: Title, Person, ISBN, UPC/EAN, LCCN, or Keyword. Not all criteria are available for certain data sources. ISBN and LCCN values are for books only, while UPC or EAN values can apply to any type of item.

Once a search is initiated, the Search button becomes Stop which will end a search. As results are found, they are added to the list directly under the search box, where selecting an item will show the result without adding it to the collection. Clicking the Add Entry button will add all the selected items to your collection. If the data source has more results than were initially requested, the Get More Results button becomes active. Clicking Clear will remove all the current results and reset the search.

Only entries that match the current collection type will be found. The Description column provides additional information about the entry, in order to differentiate between videos in different formats, or books in different bindings, for example. Once an entry is successfully added to the collection, a checkmark is added to the first column in the list.

Multiple entries can be added at once by using the standard KDE method for multiple selection, which usually involves holding the Shift or Ctrl key when clicking on an item.

To facilitate the use of barcode scanners, searches can include multiple ISBN/UPC values. Selecting the Multiple ISBN/UPC search check box will disable the search box and enable the Edit ISBN/UPC values... button, which will open a multi-line text entry box. Each ISBN should be entered on a line by itself. After closing the box, each ISBN will be validated for correct formatting. The ISBN validation is able to convert 13-digit EAN values, as well as full UPC codes, to the proper formatting. The ISBN list may also be read from a text file.

Importing Data
Importing Data

## Importing Data

Tellico offers three different actions when importing data. Replace current collection will close the current collection, and create a new one with the data from the imported file. Append to current collection tells Tellico to add all the entries in the imported collection to the current one, and to add any fields which don't currently exist. The Merge collection action is the same as appending, except that each imported entry is compared to the current ones, and any identical entries are skipped. Tellico attempts to identify matching entries which are not completely identical by comparing significant fields and will then merge the entries. For example, music collections compare the artist and album, and the tracks would be merged for matching entries. The audio file importer is able to correctly build track lists by merging entries.

### Importing Data From Other Software

Tellico can import data directly from a variety of other collection management programs, including GCstar, OnMyShelf, Data Crow, Alexandria, Delicious Library, Collectorz, Ant Movie Catalog, Referencer, and Griffith.

### Importing Other Data Formats

Tellico can import data from a variety of other file formats, including CSV, bibtex, audio discs and files, MODS, PDF, and RIS.

#### Importing Tellico Data

Other Tellico data files may be imported directly. Replacing the current collection by importing a Tellico file is the same thing as just opening the file itself. The value of importing Tellico data is primarily for appending or merging two collections together.

#### Importing CSV Data

Comma-separated values (CSV) are a common way of importing and exporting tabular data. Each field value is separated by a comma, with one entry per line. The field titles may be included in the first line. The CSV importer is not limited to using a comma as the separator. Any character or string may be used.

First, select the type of collection that you are importing. If you are appending or merging to your open collection, the type is limited to your current collection type. If the first line of the CSV file contains the field titles, click the check box and the importer will automatically compare the titles against the fields in the current collection. If a field title matches, the header for that column changes to show that the column has been assigned to that field. If the file uses a delimiter other than a comma, be sure to change that option accordingly.

In order for Tellico to properly import the file, it must know which field corresponds to each column. If the column only has a number in the header, the data in that column will not be imported. You should assign fields to each column by selecting a column, either by clicking in it or changing the column number itself, then selecting the field to assign from the drop down box and clicking the Assign Field button. If you need to add a new field to the collection, the last item in the drop down box opens the Collection Fields Dialog.

For compactness, only the first five lines of the imported CSV file are shown in the dialog. However, all the lines in the file will be imported.

#### Importing Audio CD Data

Tellico is able to use the freedb.org service to lookup information about a CD, including the track list. Depending on your distribution, settings for access to the service may be set in the KDE System Settings. The CD artist, title, genre, year, and track listing are all added.

In addition, if the disc contains CD-Text, that information is read and added to the imported entry.

#### Importing Audio File Metadata

Tellico is able to scan a folder and read the tags for common audio file formats, such as `mp3` and `ogg`. The songs are entered in a music collection, where each entry is an album. If the song files contain the track number, the song name is inserted in the correct spot in the track list. The artist and genre information is also added to the entry. If the song tags contain comments, they are appended to the comments field in the entry, preceded by the file name.

In addition, if a folder contains a `.directory` file and the folder name matches an album title, the `Icon` entry in the desktop file is used as the cover image for the album.

The audio file metadata importer can recursively scan a folder to find all audio files in any subfolder, though symbolic links are not followed. Tellico uses the TagLib library for reading the audio file metadata, and so can import data from any file type that TagLib understands.

#### Importing Bibtex Data

Bibtex is a bibliography format used with the LaTeX document preparation system. Various type of bibliographic references may be included in the file. Tellico imports bibtex files as a Bibliographic collection.

If the bibtex importer encounters fields in the file which are not in the default bibliography collection, they are added as Simple Text fields, with two exceptions. If the field value contains more than 100 characters, it becomes a Paragraph field. If the field value appears to contain a URL or a file reference, then a URL field is created. Tellico uses an internal copy of the btparse library for parsing the bibtex files.

Bibtexml is an XML representation of bibtex data, and the data from the imported bibtexml file is treated in the same way as bibtex data would be.

#### Importing MODS Data

MODS is a format for representing various types of media collections. Currently, only books are imported by Tellico, as a Bibliographic collection.

#### Importing PDF Data

If Tellico was compiled with exempi or poppler support, metadata from PDF files can be imported. Metadata may include title, author, and date information, as well as bibliographic identifiers which are then used to update other information.

#### Importing RIS Data

The RIS format is a bibliographic file format used by EndNote, Reference Manager, and others. Tellico imports RIS files as a Bibliographic collection.

### Importing Online Collections

Tellico can connect to and import from websites that manage personal collections.

#### Importing BoardGameGeek Collection

BoardGameGeek is an online board gaming resource and community. Tellico can import the board games in a user's collection, as long as the collection is set to be publicly accessible. The imported collection may be limited to those items marked as being owned.

#### Importing Goodreads Collection

Goodreads is an online social network for readers to track book collections. Tellico can import the list of books in a user's collection, given either the user name or user ID, as long as the collection is set to be publicly accessible.

#### Importing LibraryThing Collection

LibraryThing is an online service to help people catalog their books easily. Tellico can import the list of books in a user's collection, exported in JSON format.

#### Importing Discogs Collection

Discogs is an online database and marketplace of music releases. Tellico can import the list of music releases in a user's collection, given the user name, as long as the collection is set to be publicly accessible.

### Importing File Listings

Tellico can scan folders to import file information, primarily to create a File Catalog collection. The folder may be searched recursively, to add all files found within. This importer is most useful for backup listings and media cataloging, such as CD or DVD listings. In addition, image previews of the file contents may be generated. The file previews are same as those shown in the KDE file manager.

Folders with ebook files and video files may also be imported as book and video collections. File metadata can be read, and for video files, any existing `nfo` files are used to complete the video entry information.

### Importing XML Data via XSLT

Any XML file may be imported into Tellico provided an XSL stylesheet is available to convert the file to Tellico format. Tellico automatically loads the stylesheet and performs the XSLT processing needed to load the file.

Drag and Drop
Drag and Drop

## Drag and Drop

Dragging data files to the main Tellico window and dropping them will import the files, just as if the import command was made from the menus. Drag and drop works for the following file formats: Tellico, Bibtex, RIS, PDF, and EPub. Importing multiple files at once is also supported.

So, for example, if you want to catalog several PDF files, select them in the file manager and drag them to the Tellico window. Tellico will import as much metadata from the files as it can, and then fetch additional information from various configured Internet sources.

Exporting Data
Exporting Data

## Exporting Data

When exporting the data in the collection, the entry values may be exported as entered, or with the automatic formatting provided by Tellico. Additionally, the export may be limited to the currently selected entries of the collection as well, where the statusbar shows the number of selected entries.

Exported text files, such as Bibtex or CSV, may use the Unicode (UTF-8) character encoding, or the current locale of the operating system.

### Exporting XML

The file format for Tellico data is a zipped XML file. Exporting to XML merely creates the XML file without zipping it. Images may be included in the XML file as base64-encoded data in an image element, but doing so can create very large text files.

### Exporting Zip

The standard file format for Tellico is a zipped file, containing the XML collection file, and optionally, all the images referenced in the collection. If the images are being stored in the application folder instead, exporting to a Zip file will create a self-contained data file, which includes all the images in the collection.

### Exporting HTML

The HTML export uses the `tellico2html.xsl` stylesheet. Images are exported to a folder with the same name as the exported HTML file with `_files` appended.

The default format is similar to the printed output, and allows various options for modifying the HTML. Field headers may be printed at the top of each column, but unfortunately, KDE does not yet allow the table headers to be repeated on each page. The entries may be grouped as in the Group View, as well.

Additionally, individual files may be created for each entry in the collection, with links created in the top-level HTML file. The entry files will be created in the same folder as the images. The entry HTML files will use the current stylesheet template, as shown in the Entry View.

### Exporting CSV

Comma-separated values (CSV) are a common way of importing and exporting tabular data. Each field value is separated by a comma, with one entry per line. The field titles may be included as headers in the first line. Any character or string other than a comma may also be used to delimit the fields.

### Exporting Alexandria

Alexandria is a book collection manager for the GNOME desktop environment. Tellico is able to export a limited subset of book collection fields to the default Alexandria data location.

### Exporting ONIX

ONIX is an XML format for representing and communicating book industry product information, primarily for book vendors. Tellico can export book collections using a small subset of ONIX.

### Exporting Bibtex

When exporting to Bibtex, the field values may be escaped with braces or quotation marks. If any string macros are used in the collection, they may optionally be exported as macros or expanded. For URL fields, Tellico may enclose the field values with the `\url{...}` tag. Finally, entries with no citation key may be skipped rather than have Tellico auto-generate the key.

### Exporting GCstar

GCstar is another movie collection manager. Tellico is able to export most collection types to a GCstar data file.

### Exporting XML via XSLT

Finally, Tellico is able to process its internal XML representation of the collection data through an external XSL stylesheet before exporting. This type of export may be useful for generating text reports or other file types.

Working With Citations
Working With Citations

## Working With Citations

When working with a bibliography, citations for the currently selected entries may be generated and used in various other applications. A citation in bibtex format can be copied to the clipboard, and then pasted in a latex file. Bibtex citations can also be pushed to an external application such as LyX or Kile using the so-called lyxpipe.

Chapter 5. Advanced Usage
Advanced Usage

# Chapter 5. Advanced Usage

## Command Line Options

When running Tellico from the command line, there are several options for opening data files. They may be seen by running `tellico --help`. Diagnostic logging can also be enabled, which will make a menu item to show the diagnostic log. The `--logfile` option redirects the log to a file.

    Usage: tellico [options] [filename]

    Tellico - collection management software, free and simple

    Options:
      --nofile                  Do not reopen the last open file
      --bibtex                  Import <filename> as a bibtex file
      --mods                    Import <filename> as a MODS file
      --ris                     Import <filename> as a RIS file
      --pdf                     Import <filename> as a PDF file
      --log                     Log diagnostic output
      --logfile <logfile>       Write log output to <filename>

    Arguments:
      [filename]                File to open

D-Bus Interface
D-Bus Interface

## D-Bus Interface

Tellico has a minimal D-Bus interface, which can be useful for scripting or interacting with a running application from the command-line. As with all D-Bus calls, you need to specify the service you want to interface with, and the particular interface. The name of the D-Bus service is `org.kde.tellico`.

### D-Bus Commands

Two D-Bus primary objects are available in the tellico interface: `Tellico` and `Collections`.

#### The `Tellico` Object

The full list of D-Bus commands in the `tellico` object is shown below:

    bool importTellico(QString file, QString action)
    bool importBibtex(QString file, QString action)
    bool importMODS(QString file, QString action)
    bool importPDF(QString file, QString action)
    bool importRIS(QString file, QString action)
    bool exportXML(QString file, bool filtered)
    bool exportZip(QString file, bool filtered)
    bool exportBibtex(QString file, bool filtered)
    bool exportHTML(QString file, bool filtered)
    bool exportCSV(QString file, bool filtered)
    QList<int> selectedEntries()
    QList<int> filteredEntries()
    void openFile(QString file)
    void setFilter(QString text)
    bool showEntry(int id)

For the four import commands, the first argument is the file to import, and the second is the import action. Three actions are available: replace, append, and merge. Four file formats are supported for importing: Tellico XML files, Bibtex files, MODS files, and RIS files. Metadata from PDF files can also be imported.

For any of the commands to export text, a file name of `--` will pipe to the standard output.

The current open collection in Tellico may be exported to a file, in either Tellico XML format, Tellico ZIP format, Bibtex, HTML, or comma-separated values (CSV). The export commands take an optional argument to specify whether the collection should be limited to the current filter or not.

A list of the entry IDs currently selected or being filtered is able to facilitate showing or updating entries in the view.

A new data file may be opened by using the openFile() command. The full path must be specified.

A new filter may be set using the setFilter() command, which is the equivalent of typing in the filter box in the main window.

Given an entry ID, showEntry() will select that entry and show the entry details in the main window.

#### The `Collections` Object

The full list of D-Bus commands in the `Collections` object is shown below:

    int addEntry()
    bool removeEntry(int entryID)
    QStringList allValues(QString fieldName)
    QStringList entryValues(int entryID, QString fieldName)
    QStringList selectedBibtexKeys()
    QString entryBibtexKey(int entryID)
    bool setEntryValue(int entryID, QString fieldName, QString value)
    bool addEntryValue(int entryID, QString fieldName, QString value)

A new empty entry may be created in the current collection using the addEntry() command. The return value is the entry ID, which can then be used to set the field values in the entry. An entry can be deleted from the collection by calling removeEntry().

Calling allValues() using just a field name will return all the values for that field for the currently selected entries. If no entries are selected, the return list is empty. If an entry ID is included in the command, the field values for that specific entry are returned.

If the current collection is a bibliography, calling selectedBibtexKeys() will return the Bibtex citation key for all selected entries. The bibtexKey for a specific entry may be found by using the entryBibtexKey() command.

Entries can be edited directly with the D-Bus interface. Given an entry ID, setEntryValue() will set the field value directly. To add a value, without affecting the existing values, use addEntryValue(). The new value gets appended to the end of the existing list.

### D-Bus Examples

Here are some examples for scripting Tellico using the D-Bus interface. Note that the qdbus command may exist as qdbus-qt5 or something similar on your system.

    Open a Bibtex file
    % qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
    true

    Export a Bibtex file
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
    true

    Export a Bibtex file using the current filter
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib true
    true

    Echo the citation key of the current selection
    % qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
    stephenson2004

    Add a new entry and set the title
    % myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
    % qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "My New Book"
    true

Chapter 6. Configuration
Configuration

# Chapter 6. Configuration

The Configuration Dialog contains all the options for changing some of the default behaviour of Tellico.

Clicking the Apply button causes the changes to take effect immediately without closing the dialog, while OK applies the changes and closes the dialog. Cancel closes the dialog, but any changes already made and applied will remain. The Defaults button reverts the options on the current page of the dialog to their default values, while Help opens the KHelpCenter to the relative section of the Tellico manual.

Some minor settings can only be changed by editing the configuration file itself. See Hidden Options.

## General Options

The General Options control the general behavior. Images may be saved in the data file itself, saved separately in the common Tellico application folder, or saved to a directory with the same name as the data file, with _files appended to the name. For collections with many images, saving them in the data file is much slower to use. When Tellico is started, it can automatically reopen the last data file that was open. The Quick Filter in the toolbar is useful for easily filtering through your collection and can utilize regular expressions.

The Formatting Options control the level of automatic formatting that Tellico does. For examples, see the Field Formatting section. Capitalization and formatting are distinct options, since a field may be capitalized without having the order of the words changed, and vice-versa. The auto-capitalization can be changed to ignore certain words. The automatic formatting includes grammatical articles in titles, along with prefixes and suffixes for personal names. The values are case-insensitive, and should be separated by a semi-colon.

The formatting rules follow general English usage, which may not work for other languages. Articles are appended to the end of the title, with a comma. Personal names are formatted to have the last name first, followed by a comma, then the first name. Personal suffixes, such as Jr., are kept with the last name. Prefixes, such as von, are kept with the last name, but are ignored when the values are being sorted.

John Q. von Public, III would become von Public, III, John Q. and Public would be used as the sort key.

Only single word prefixes are supported. If a name includes van der, for example, both van and der should be included in the surname prefix list. Articles ending with an apostrophe are supported for sorting order, as well.

### Note

The actual values in the collection are not changed, only the visible text used for the interface. So the formatting options can be changed back and forth without affecting any of the data in the collection.

Printing Options
Printing Options

## Printing Options

Tellico uses an XSLT template for creating HTML and then passes that to the KDE printing service. Only the fields visible in the Column View are printed. Furthermore, if the collection is being filtered, only the visible entries will be printed. Initially, a warning message is shown if filtering is active.

The Printing Options allow you to change some formatting when printing a collection. If Format titles and names is checked, then the fields are auto-formatted when they are printed. Otherwise, they are printed exactly as they were entered.

The default printing stylesheet prints the collection with the field values in columns. Print field headers controls whether the field title is printed at the top of the column.

In the printout, the entries will be sorted as they are in the Column View. Additionally, they may be grouped as they are in the Group View.

Finally, when image fields are included in the printout, the images may be resized, while maintaining their aspect ratio. The maximum image width and height define the largest possible size of the image, though it will never be increased.

Template Options
Template Options

## Template Options

The Entry View uses templates to show the field values. You can specify a different template for each collection type. Some templates, such as the Album or Video templates are for a specific collection type, and a short error message will appear in the Entry View if they are used for other types. The Preview button pops up a window to show you a preview of what the template looks like. Custom fonts and colors may be passed to the template, and all of the default templates will honor those settings. However, custom template may choose to ignore them.

Additional templates may be installed directly, or downloaded from store.kde.org by clicking the Download button. Any templates installed by the user may also be deleted. Entry templates are saved in `~/.local/share/tellico/entry-templates/`.

If you create a new template, please consider submitting it at store.kde.org!

Data Sources Options
Data Sources Options

## Data Sources Options

Tellico can use various sources for importing data, which can be configured in the Data Sources Dialog. There are many available types and sources. A few of them are listed below, while the full list is available on the Tellico web site.

- Amazon.com Web Services,
- ISBNdb.com,
- OpenLibrary.org,
- OPDS catalogs,
- the Internet Movie Database,
- TheMovieDB.org,
- the Open Movie Database,
- FilmAffinity,
- BDGest,
- Comic Vine,
- Discogs.com,
- MusicBrainz.org,
- iTunes,
- TheGamesDB.net,
- GiantBomb.com,
- MobyGames.com,
- IGDB.com,
- VideoGameGeek,
- BoardGameGeek,
- arxiv.org,
- Entrez (PubMed) databases,
- z39.50 servers,
- SRU servers,
- Colnect,
- Numista,
- other external scripts or applications, and
- combinations of any of the above sources.

New sources may be added by clicking the New... button, while existing ones may be modified or deleted, using the Modify... or Delete buttons. The order of the sources, which shows up in the entry updating menus, can also be changed.

Many of the data sources offer more information than the default fields in Tellico. Those other fields are shown on the right of the configuration box. If any of those fields are checked, they will be added to the collection when an entry is added from that source.

### Book and Bibliographic Data Sources

#### z39.50 Servers

The z39.50 protocol is used to access libraries and bibliographic information providers around the world. Lists of public z39.50 servers are available from indexdata.dk, among others. Tellico comes with several preset configurations for major libraries, or you can specify the connection information manually.

Tellico is able to read data in the MODS, USMARC/MARC21, or UNIMARC format, using the yaz library. In addition, there is limited support for the GRS-1 format.

To use one of the preset libraries, check the box and then select the library. The other configuration entries will be disabled. If you need to set the information manually, uncheck the preset box.

The default port for z39.50 access is 210, but some servers may use a different one. Tellico assumes the server uses the MARC-8 character encoding, unless configured otherwise. If an incorrect character encoding is used, an error message may appear on the program output, or possibly no entries are retrieved.

Some servers require a username and password for access. Tellico can use and save that password, but be aware that is written to the Tellico configuration file in plain text and is not secure. For most public servers, the username and password fields may be left empty.

#### SRU Servers

SRU stands for Search/Retrieve via URL and is a standard search protocol for Internet searches. Some libraries use it for providing access to their data catalogs. Among them, the US Library of Congress is probably the best known.

Custom fields can be added to tweak Tellico's interaction with the SRU server. To override particular query protocols, use the x-tellico prefix and the desired field name. For example, to query ISBN using the bib schema instead of the bath schema, set `x-tellico-isbn`=`bib.isbn`. Tellico can also make the SRU request by the POST method, if `x-tellico-method`=`POST`. In order to override the record schema, add a custom field setting `recordSchema`=`unimarcXchange`.

#### Entrez Databases

Entrez is the integrated, text-based search and retrieval system used at the National Center for Biotechnology Information (NCBI). The most well-known Entrez database is PubMed, the database for life science articles from many biological journals. At the moment, the only Entrez database supported by Tellico is PubMed.

#### Bibliographic Databases

arXiv.org, Bibsonomy, and CrossRef are online databases for academic articles and bibliographic information. For access to the CrossRef source, you must request an account and add your account information to the data source configuration.

#### ISBNdb.com

ISBNdb.com is an online book database, from libraries around the world.

#### OpenLibrary.org

OpenLibrary.org is an online book database that aims to have one page for every book.

#### OPDS Catalogs

OPDS catalogs provide a means for searching (and distributing) digital books. Tellico can use many OPDS catalogs as a data source, such as Project Gutenberg. Enter the link to the catalog and verify the access and format to confirm Tellico can read the link.

### Comic Book Data Sources

#### Bedetheque

Bedetheque is a French comic book database, managed by BDGest.

#### Comic Vine

Comic Vine is billed as the largest comic book wiki in the universe.

### Movie Data Sources

#### Internet Movie Database

The Internet Movie Database provides information about movies and videos. When a search is conducted for a Person, if more than one possible result is returned, a dialog box is opened to allow you to select the correct person. The configuration options include selecting which IMDb nationality to use and whether images are fetched or not. Since IMDb can return a large number of cast members, you can limit that to a certain number.

#### TheMovieDB.org

TheMovieDB.org is a free and open online movie database. Registration for a free account is required.

#### The Open Movie Database

The Open Movie Database (OMDBAPI.com) is a free web service to obtain movie information.

#### FilmAffinity

FilmAffinity is an independent film site.

### Music Data Sources

#### Discogs.com

Discogs.com is a user-built music database containing information on artists, labels, and their recordings. Registration for a free account is required.

#### MusicBrainz.org

MusicBrainz.org is a community music metadatabase that attempts to create a comprehensive music information site.

#### iTunes Search

The iTunes Search provides information on content within the iTunes Store and Apple Books Store. You can search for a variety of content; including books, movies, podcasts, music, music videos, audiobooks, and TV shows.

### Video Game Data Sources

#### GiantBomb.com

GiantBomb.com is a large community-driven video game database. Registration for a free account is required.

#### TheGamesDB.net

TheGamesDB.net is an open, online database for video game fans.

#### MobyGames

MobyGames.com is self-described as the oldest, largest and most accurate video game database.

#### IGDB.com

IGDB.com calls itself a gaming website for everyone that loves game.

#### VideoGameGeek

VideoGameGeek is an online video gaming resource and community.

### Board Game Data Sources

#### BoardGameGeek

BoardGameGeek is an online board gaming resource and community.

### Coin & Stamp Data Sources

#### Colnect

Colnect is an online community for collectibles providing personal collection management. Tellico can search Colnect for coin and stamp information, as well as comic books, sports card, and video games.

#### Numista

Numista is a world coin catalog which grows thanks to member contributions, offering online collection management, tools to easily exchange with other collectors, and a forum.

### Data Sources for Multiple Collection Types

#### Amazon.com

Using the Amazon Web Services, Tellico can search any of 14 different international sites operated by Amazon.com for information: United States, United Kingdom, Germany, Japan, France, Canada, China, Spain, Italy, Brazil, Australia, India, Mexico, and Turkey.

Configuring each Amazon.com source involves three settings: the server location, image size, and associate's ID. Some information from Amazon.com may include an image, such as a book or video cover. That image may be downloaded in three different sizes, depending on the item. The associate's ID must be used to access the Amazon.com Web Services, and is included in the links back to the item, as dictated by the license agreement for the use of the Amazon.com Web Services.

Access to the Amazon Product Advertising API may have restrictions related to sales referrals or advertising. Refer to the Amazon documentation for further information when signing up for API access.

#### External Scripts or Applications

As an easier way for Tellico to integrate with third-party plugins, external scripts or applications may be used as an interface for searching other information sources. Tellico will execute a command, and pass the search terms as command-line options.

Some scripts are distributed with Tellico itself. Python is required to search Dark Horse Comics, a comic book publisher, for example.

The collection type returned by the script must be set, along with the data format. Not only can Tellico import data from scripts that use the default Tellico XML format, but it can also import other formats as well, such as bibtex.

The full path to the application should be entered in the source options. Check the boxes next to the search keys supported by the application, and enter the required command line options in the edit box. The search value will be inserted where `%1` appears.

### Warning

Never install and run a script from an untrusted source. They are executed with the same permissions as the user, and as a result, could modify or delete files or otherwise mess up your system.

For updating entries already in the collection, the final check box and edit box are used to determine the command-line options. The entry fields used to find an update must be entered, in the same format as used for derived value fields.

### Multiple Combined Data Sources

Combinations of up to eight existing data sources can be used as a single source, where each search result from the first source is updated from the subsequent sources. The collection type to be used must be set before adding sources.

Only existing data sources can be used in combination. Only the search type for the first source can be used in this source since the results come from the first data source. For example, a UPCitemDb search may first be done, with each result then updated from the TheMovieDB.

Chapter 7. Hacking Tellico
Hacking Tellico

# Chapter 7. Hacking Tellico

In the spirit of Free Software, you are welcome to hack on Tellico as much as you like. You should be able to write scripts to import, export, or modify data very easily. This chapter gives you more information about doing that.

## File Format

The default Tellico data file is a zip archive, normally with a `.tc` file extension. Inside the archive is a top-level `tellico.xml` file. Images may be included inside the `images/` folder in the archive, or they may be included in the XML data directly in a base64 encoding. Images may also be saved inside the application data folder, in which case, they are not in the data file at all. Tellico can also load the XML file, by itself, uncompressed.

### XML Data

#### Collection

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE tellico PUBLIC "-//Robby Stephenson/DTD Tellico V11.0//EN" "http://periapsis.org/tellico/dtd/v11/tellico.dtd">
    <tellico xmlns="http://periapsis.org/tellico/" syntaxVersion="11">
     <collection title="My Books" type="2">
     </collection>
    </tellico>

The file begins with the required XML declaration and encoding, followed by the doctype. When a new field type is added or additional properties are set on the default fields, the doctype DTD version is incremented. Tellico is always able to open and read any previous DTD version, but will save files in the current version. The DTD location does point to an actual DTD file.

The top-level element is a <tellico> element, containing the default namespace declaration and the syntax version of the file, which should always match the DTD.

The <tellico> element contains one <collection> element. Multiple collections are ignored, for now. The title attribute contains the collection title, while the type specifies what kinds of entries are contained in the collection. The allowable types are in listed in a later section. An optional entryTitle attribute may be used to specify the title of the entries for a custom collection, and should be plural.

#### Fields

      <fields>
       <field flags="8" title="Title" category="General" format="1" type="1" name="title" />
       <field flags="7" title="Author" category="General" format="2" type="1" name="author" />
       <field flags="2" title="Binding" category="General" allowed="Hardback;Paperback;Trade Paperback;E-Book;Magazine;Journal" format="4" type="3" name="binding" >
        <prop name="default">Paperback</prop>
       </field>
       <field flags="6" title="Publisher" category="Publishing" format="0" type="1" name="publisher" />
       <field flags="4" title="Edition" category="Publishing" format="0" type="1" name="edition" />
       <field flags="3" title="Copyright Year" category="Publishing" format="4" type="6" name="cr_year" />
       <field flags="2" title="Publication Year" category="Publishing" format="4" type="6" name="pub_year" />
       <field flags="0" title="ISBN#" category="Publishing" format="4" type="1" name="isbn" description="International Standard Book Number" />
       <field flags="7" title="Genre" category="Classification" format="0" type="1" name="genre" />
       <field flags="7" title="Keywords" category="Classification" format="0" type="1" name="keyword" />
       <field flags="0" title="Front Cover" category="Front Cover" format="4" type="10" name="cover" />
       <field flags="0" title="Comments" category="Personal" format="4" type="1" name="comments" />
       <field title="Rating" flags="2" category="Personal" format="4" type="14" name="rating">
        <prop name="maximum">5</prop>
        <prop name="minimum">1</prop>
       </field>
       <field title="ID" flags="32" category="Personal" format="4" type="6" name="id">
        <prop name="template">%{@id}</prop>
       </field>

      </fields>

All of the fields are defined inside a <fields> element, of which there can be only one. All of the information for a field, except for any properties, are included as attributes of the <field> element. The allowable values for the flags, format, and type attributes are given in a following section.

Field properties are used for setting default field values, rating value ranges, derived value templates, etc. The examples above include a default value, a maximum rating value, and a template for a derived ID field.

#### Entries

      <entry>
       <title>C++ Programming Language, The</title>
       <authors>
        <author>Stroustrup, Bjarne</author>
       </authors>
       <publisher>Addison-Wesley Pub Co</publisher>
       <edition>3rd</edition>
       <pub_year>1997</pub_year>
       <isbn>0-201-88954-4</isbn>
       <genres>
        <genre>Non-Fiction</genre>
       </genres>
       <keywords>
        <keyword>Programming</keyword>
        <keyword>Computers</keyword>
       </keywords>
       <cover>cf65a2f023b6cb9e9233323dca10ac7c.jpeg</cover>
      </entry>

For every field in the collection, an <entry> may contain an element whose name is identical to the field name. If multiple values are allowed for the field, then the letter s is added to the field name to create an element, and each value is added as a child of the element, as in the case of the author, genre, and keyword fields above.

As a result, if additional fields are added to the collection, the data file will no longer conform to the DTD. However, Tellico uses a non-validating XML parser, so additional fields do not cause problems.

#### Images

      <images>
       <image width="111" format="JPEG" height="140" id="cf65a2f023b6cb9e9233323dca10ac7c.jpeg" />
      </images>

Inside the <images> element, each image referenced by an entry is listed, along with attributes describing the image's size, format, and id. If the image is contained inside the Zip file, the element is empty. Otherwise, the image data may be contained in the XML stream as base64-encoded text.

Collection Type Values
Collection Type Values

## Collection Type Values

The type of collection is given in the type attribute of the collection element. The value is equal to the Type enum value in `src/collection.h`.

Table 7.1. Collection Type Values

Collection Type | Value
--- | ---
Custom Collection | 1
Book Collection | 2
Video Collection | 3
Music Collection | 4
Bibliography | 5
Comic Book Collection | 6
Wine Collection | 7
Coin Collection | 8
Stamp Collection | 9
Trading Card Collection | 10
Video Game Collection | 11
File Catalog | 12
Board Game Collection | 13

Field Type Values
Field Type Values

## Field Type Values

Tellico will include all the default fields for a collection if the first field element has the name _default. For Paragraph, Table, or Image fields, the field category should be identical to the field title.

The type of field is given in the type attribute of the field element. The value is equal to the FieldType enum value in `src/field.h`.

Table 7.2. Field Type Values

Field Type | Value
--- | ---
Simple Text | 1
Paragraph | 2
Choice | 3
Checkbox | 4
Number | 6
URL | 7
Table | 8
Image | 10
Date | 12
Rating | 14

The field may have different flags set, given as a bitwise OR'd value in the flags attribute on the field element. The flag for preventing the user from deleting a field is intended for such things as the citation key for bibliographic entries.

Table 7.3. Field Flag Values

Field Flags | Value
--- | ---
Allow Multiple Values | `0x01`
Allow Grouping | `0x02`
Allow Completion | `0x04`
Disallow Deleting | `0x08`
Disallow Editing | `0x10`
Derived Value | `0x20`

The format of the field is given in the format attribute on the field element. Date Formatting is not currently used. Grouping by People uses all the fields which use Name Formatting. Setting the Derived Value flag implies the value for the field is generated from the template property from other field values.

Table 7.4. Field Format Values

Field Format | Value
--- | ---
Capitalization Only | 0
Title Formatting | 1
Name Formatting | 2
Date Formatting | 3
No Formatting | 4

Hidden Configuration Options
Hidden Configuration Options

## Hidden Configuration Options

Tellico has some additional configuration options that are not visible in the Configuration Dialog. They are not important enough to warrant cluttering the dialog with more settings, but as they represent options which may appeal to various users, the application does read them from the configuration file.

The settings for Tellico are saved in a file in the user's home folder, typically `~/.config/tellicorc`. Within that file, settings are put in groups, which appear with bracketed names, such as [General Options]. To add a setting to the General Options group, find the line in the settings file with that group name. If it does not appear, then create it yourself by adding a line saying [General Options]. Then, the setting can be added underneath the group name.

### [General Options]

These settings should be placed in the General Options group.

#### Max Icon Size

The maximum size of the icons in the Icon View may be changed with this setting. The default value is 96. The size must be in the range of 32 to 512.

#### Example

`Max Icon Size=128`

#### Icon Cache Size

The maximum numbers of icons cached in memory may be changed with this setting. The default value is 1000.

#### Example

`Icon Cache Size=100`

#### Image Cache Size

The maximum amount of memory in bytes used for caching all the images may be changed with this setting. The default value is 512 MiB.

#### Example

`Image Cache Size=256000000`

### [Options - bibtex]

These settings should be placed in the Options - bibtex group.

#### lyxpipe

This setting is for the location of the lyxpipe for sending bibliographic citations. It should not include the `.in` suffix.

#### Example

`lyxpipe=$HOME/.lyx/lyxpipe`

### [File Reader Options]

These settings should be placed in the File Reader Options group.

#### Preview Size

This setting is for the maximum size of the generated file preview.

#### Example

`Preview Size=523`

### Multi-Disc Options

The MusicBrainz, Discogs, and iTunes data sources can fetch multi-disc album information, specifying which tracks each disc contains. By default, the track lists are inserted into separate field, one for each disc. Prior to version 4.0, the track lists were combined. This option provides the pre-4.0 behavior on an individual data source level. Add it to each Data Source section where it is desired.

#### Split Tracks By Disc

Setting this to false reverts to pre-4.0 behavior where the tracks are collapsed into a single track list.

#### Example

`Split Tracks By Disc=false`

Bibtex Character Translation
Bibtex Character Translation

## Bibtex Character Translation

When bibtex files are imported or exported, certain characters are translated between their TeX equivalents and the Unicode characters. Those character mappings are contained in the `bibtex-translation.xml` file, located in the installation data directory. The mappings can be modified, as desired. The key element contains the Unicode character, and the string elements within contain the TeX equivalents, which may be a one-to-many mapping. The first one is the one used when exporting to bibtex.

      <key char="À">
        <string>{\`A}</string>
        <string>\`{A}</string>
      </key>

Chapter 8. Questions and Answers
Questions and Answers

# Chapter 8. Questions and Answers

8.1. How do I enter multiple authors?
8.2. How do I group by a property other than the ones listed in the toolbar?
8.3. How do I change which columns are shown?
8.4. How do I export additional bibtex fields?
8.5. What does the name Tellico have to do with anything?
8.6. What do you include those links to Amazon.com in the search results?
8.7. Why don't you use a real database?

8.1. | How do I enter multiple authors?

Author names should be separated by a semi-colon, like so: `Brian W. Kernighan; Dennis M. Ritchie`. Don't include the word "and" or anything similar, even if you have 20 authors. If you have the auto-format option checked, then the last name will automatically be shown first for each author.

Other properties which allow multiple values, like "genre" and "keywords", are entered in the same way, with a semi-colon (;) separating each value.

8.2. | How do I group by a property other than the ones listed in the toolbar?
| To allow grouping by a field which doesn't allow grouping by default, check the "Allow Grouping" box for that particular field in the "Collection Fields" dialog.
8.3. | How do I change which columns are shown?
| Right-click on the header bar. You can also drag the headers to re-order the columns, and click on them to sort by that field.
8.4. | How do I export additional bibtex fields?
| Tellico uses the bibtex property to know how to export bibtex fields. If you want to add additional fields to export, such as an abstract, open up the Collection Fields Dialog, and click the Set Properties button. Add a bibtex property with value abstract. Then, when you export to bibtex or bibtexml, that property will be used for the bibtex field name.
8.5. | What does the name Tellico have to do with anything?
| I thought about several other names, a few of which were connected with book collections. However, Tellico can handle more than just books, and besides, this is a hobby, so I chose a neat-sounding (to me) name, one taken from a town close to where I grew up.
8.6. | What do you include those links to Amazon.com in the search results?
| The terms of agreement for accessing the Amazon.com Web Services require all images pulled from the service to be linked back to Amazon.com, as well as an additional link. The Amazon.com associate's ID is necessarily included, so any referral payments are duly collected.
8.7. | Why don't you use a real database?

Part of the reason I started Tellico was to learn C++. I didn't know SQL at the time, and at the moment, I only have a faint knowledge of how to use it. Simply put, Tellico didn't start out as a relational database, and that won't change until sometime in the future when I get around to learning SQL and have the time and motivation to change the data model.

Of course, anyone is welcome to make any changes they want to with the source code.

Chapter 9. Command Reference
Command Reference

# Chapter 9. Command Reference

## The Main Tellico Window

Each menu item is discussed below. When there is a keyboard shortcut that performs a menu item function, the default shortcut is listed with the menu item.

### The File Menu

File → New

  This command creates a new collection. Tellico supports 12 default collection types along with an empty user-defined custom collection. Any custom-saved collection templates will also be available.

File → Open... (Ctrl+O)

  This command opens a Tellico file.

File → Open Recent

  This command opens a file from a submenu that contains a list of recently opened files.

File → Save... (Ctrl+S)

  This command saves the collection. If the file is Untitled then Save... is equivalent to Save As. It is only enabled when the collection has been modified.

File → Save As... (Ctrl+Shift+S)

  This command saves the collection to a new file.

File → Save As Template...

  This command saves the collection as a new template. Only the fields are saved, and the custom collection type can be created via the New Collection command.

File → Print... (Ctrl+P)

  This command prints the collection. Printing options may be set in the Configuration Dialog.

File → Print Preview

  This command shows a preview of the printed collection.

File → Import

  This command imports data from another file. Tellico can import data from a number of other formats.

File → Export

  This command exports the collection to another format. Tellico can export data to a number of other formats.

File → Quit (Ctrl+Q)

  This command closes the Tellico window. If the collection has unsaved changes, you will be prompted to save them before continuing.

### The Edit Menu

Edit → Undo (Ctrl+Z)

  This command undoes the previous action. Not all actions are supported by Undo.

Edit → Redo (Ctrl+Shift+Z)

  This command reverts a previous Undo.

Edit → Cut (Ctrl+X)

  This command removes the selected text, if any, and places a copy of the removed text in the clipboard.

Edit → Copy (Ctrl+C)

  This command copies the selected text, if any, to the clipboard.

Edit → Paste (Ctrl+V)

  This command pastes the text in the clipboard, if any, into the editor at the cursor position.

Edit → Select All (Ctrl+A)

  This command selects all the entries in the collection, in the Column View.

Edit → Deselect (Ctrl+Shift+A)

  This command deselects all the entries in the collection.

Edit → Internet Search... (Ctrl+I)

  This command opens the Internet Search Dialog to search for and import entries from various Internet sites, including Amazon.com.

Edit → Advanced Filter... (Ctrl+J)

  This command opens the Advanced Filter Dialog.

### The Collection Menu

Collection → New Entry (Ctrl+N)

  This command opens the Entry Editor to edit a new entry.

Collection → Edit Entry (Ctrl+E)

  This command opens the Entry Editor to edit the selected entries.

Collection → Duplicate Entry (Ctrl+Y)

  This command copies, or duplicates, the selected entries as new entries in the collection.

Collection → Delete Entry (Ctrl+D)

  This command deletes the selected entries.

Collection → Merge Entries

  This command merges the selected entries.

Collection → Update Entry

  This menu contains a list of all available data sources, and can be used to automatically query the source and update the selected entries.

Collection → Check-out

  This command opens a dialog box for loaning the selected entries..

Collection → Check-in

  This command checks-in any of the selected entries which are currently on-loan.

Collection → Rename Collection (Ctrl+R)

  This command opens a dialog box for renaming the collection.

Collection → Collection Fields... (Ctrl+U)

  This command opens the Collection Fields Dialog.

Collection → Generate Reports...

  This command opens the Report Dialog for generating reports about the collection.

Collection → Bibliography → Convert to Bibliography

  This command converts a book collection to a bibliography by adding certain fields necessary for Bibtex export, and it is only enabled when a book collection is open.

Collection → Bibliography → String Macros...

  This command opens a dialog box for editing the Bibtex string macros in the collection. It is only enabled when editing a bibliography.

Collection → Bibliography → Check for Duplicate Keys

  This command checks for duplicate Bibtex keys and can filter the collection to show the entries with duplicated keys.

Collection → Bibliography → Copy Bibtex to Clipboard

  This command copies a Bibtex citation to the clipboard so that it can pasted in a LaTeX document.

Collection → Bibliography → Cite Entry in Lyx

  This command sends a citation for the selected entries to the so-called lyxpipe for use in LyX, Kile, or other LaTeX applications. It is only enabled when editing a bibliography.

### The Settings and Help Menu

Apart from the common KDE Settings and Help menus described in the Menu chapter of the KDE Fundamentals documentation Tellico has these application specific menu entries:

Settings → Show Group View

  This command toggles the display of the Group View.

Settings → Show Entry Editor

  This command toggles the display of the Entry Editor.

Settings → Group Selection

  This command changes the field used to group the entries in the collection.

Settings → Lock Layout

  This command locks the layout such that the various collection views cannot be moved. Unlocking the layout allows the user to rearrange them.

Settings → Reset Layout

  This command resets the layout to the default view, which may be helpful if the various views become hidden or collapsed.

Help → Show Log

  When the `tellico --log` option is used, this command shows the diagnostic log.

Chapter 10. Credits and License
Credits and License

# Chapter 10. Credits and License

Tellico

Program copyright 2001 Robby Stephenson `(robby AT periapsis.org)`

Documentation copyright 2001 Robby Stephenson `(robby AT periapsis.org)`

This program is licensed under the terms of the GNU General Public License.

This documentation is licensed under the terms of the GNU Free Documentation License.

The author of this documentation has also granted you permission to use the content under the terms of the FreeBSD Documentation License, if you so choose. If you wish to allow use of your version of this content only under the terms of the FreeBSD Documentation License, and not to allow others to use your version of this file under the terms of the GFDL, indicate your decision by deleting the GFDL notice and replacing it with the notice and other provisions required by the FreeBSD Documentation License. If you do not delete the GFDL notice above, a recipient may use your version of this file under the terms of either the GFDL or the FreeBSD Documentation License.