Tellico

From KDE Wiki Sandbox
Revision as of 08:12, 17 June 2015 by ZeroHeure (talk | contribs) (note on libxslt)
Tellico is a catalogue application, making it easy to track your books, videos, music, even your wine and anything else. A simple and intuitive interface shows cover images, groupings, and any detail you want. Grab information from many popular Internet sites, including IMDB.com, Amazon.com, and many libraries.

Tellico is a part of KDE Extragear, in the Office module

At A Glance

The main window for Tellico looks something like:

Tellico can use a variety of templates for changing the formatting of the collection information.

Obtaining Tellico

Tellico is available for most Linux distributions, as well as the ports repository for the BSD variants. Please check your package manager to see if a package is available there.

Links to many of the packages are listed on the Tellico download page.

Compiling Tellico from the source code requires installing several development packages.

For Ubuntu/Kubuntu there are unofficial packages available in a PPA.

More Information

Bugs

Bug reports for Tellico use KDE's bugzilla.

Show all Tellico bugs.


XSLT processing

Tellico use XSL files for templates, reports, import, processing data source and export. XSL files apply on XML data. The Tellico's DTD will give you the exact name of fields (because Tellico displays translated titles instead of names). Common places for this file are /usr/share/tellico/tellico.dtd or /usr/share/kde4/apps/tellico/tellico.dtd Beware that Tellico use libxslt1.1 which implement XPath 1.0 functions only. Fortunately, you can use EXSLT extensions.

Basical XSLT for transforming export

First, do an XML export. The file will serve as a reference for testing. It will help if you install an XSLT processor (xsltproc is available on every distribution). Then write an xsl stylesheet. Here's a basic one :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:tc="http://periapsis.org/tellico/"
                version="1.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">
  <xsl:apply-templates select="tc:tellico"/>
</xsl:template>

<xsl:template match="tc:tellico">
  <xsl:apply-templates select="tc:collection"/>
</xsl:template>

<!-- about your collection -->
<xsl:template match="tc:collection">
<books><!-- sample xml  output -->
<xsl:apply-templates select="tc:entry"/>
<books>
</xsl:template>

<!-- transform each entry -->
<xsl:template match="tc:entry">
<book><!-- sample xml  output -->
<title><xsl:value-of select="title"/></title>
<!-- other fields -->
</book>
</xsl:template>

</xsl:stylesheet>

Default fields in use for import

If you want to extend Tellico, you will certainly modify its XSLT processing files. To do this you will need the name of fields from the DTD, but current xsl files use several other names specific of collections and data sources. Using these default names for fields will makes your XSLT more compatible with others (for example "dewey" and "loc" are used for several data sources).

The list is built at Tellico/DefaultFields