If you use Tellico's code from SVN, you'll need to update your checkout. Tellico has moved into KDE's extragear module at http://websvn.kde.org/trunk/extragear/office/tellico/. Read techbase for info on using KDE's subversion.
Now that Tellico has moved into its new home, I hope to be able to get a beta release of Tellico 2 out in a month or so, the first version for KDE4. We'll see how well that goes!Tellico gets a brief mention on a page listing free software:
This program is a bibliography/collection manager. You can use it to manage your bibliography for school. Using this program, you can easily archive all the bibliography information for all your books so that it is all at your fingertips…even after you return a book to the library. You can also use this software to manage your reading list. I have spent a long time trying to find a free program that would manage my reading list. After a lot of online searching, I gave up and decided that such a thing did not exist. However, while researching for this article, I found Tellico. This program is perfect for managing reading lists. In fact, you can even rate your favorite books using a star system! This program also has an information packet on what Tellico is and how to use it.
Although, I have to wonder. All the rest of the software on the page are Windows-based, or cross-platform. Anyone who tries to run Tellico on Windows right now will be rather disappointed...that doesn't really get mentioned anywhere.
I just copied Tellico trunk into trunk/playground/office/tellico on the KDE SVN server. You can check out the sources from anonymous SVN by using:
svn co svn://anonsvn.kde.org/home/kde/trunk/playground/office/tellico
I'll be working on checking out the build system, the i18n generation, etc. and then full-speed ahead with Tellico 2.0!
Tellico 1.3.5, a.k.a. "Valentine's Reward" dedicated to my wife (!), is available. The md5 sum is ca5d9db11fa1dd33dfe317ffe095435c if you care. This is expected to be the last release of Tellico for the KDE3 desktop, unless some unforeseen bug shows up.
Changelog:
That last bullet may be of interest to you if you have very large collections. The performance is drastically better for loading Tellico data files. The SAX loader will likely be the default for the next major release of Tellico.
This is the first time I built and ran the KDE3 version of Tellico on my shiny new KDE 4.2. desktop, so I hope I got the package built correctly. Let me know if something seems to be amiss.
Big plans for Tellico are coming up. I hope to get version 1.3.5 released this weekend, with a slew of mostly minor bug-fixes that have been made since 1.3.4 came out last September. That will probably be the last release in the 1.3 branch as well as the last release for the KDE3 platform.
I'm taking the opportunity now, with the jump to KDE4, to do something I'd considered for a while. I requested and received a KDE SVN account, and I plan to eventually move Tellico into the KDE Extragear module. There's a whole process for moving into KDE SVN, so first Tellico will be in playground, then in kdereview, then, I hope, eventually in the office category for Extragear.
I won't be importing all of Tellico's history. It will just be a snapshot upload and moving on from there. The advantages that I hope for in moving onto the KDE server are:
Novell Forge has been very dependable in the last year or so after a bit of a rocky start. I really appreciate their generosity in offering project hosting. I've not yet decided what I'll do with the mailing list.
I'd also like to say that I really appreciate the help of everyone who has contributed patches, bug reports, translations, artwork, donations, and even the occasional encouraging email. This is fun stuff! In particular, with the recent work to port to KDE4, Regis Boudin and Petri Damstén have been contributing a lot of code and expertise.
After 1.3.5 gets released, I'll import a copy of Tellico's trunk into KDE playground, and we'll go from there. Happy collecting!
Tellico was chosen as the Debian Package of the Day for January 4. The review has a lot of screenshots, and I must say, I've never heard of hyperplane arrangements before!
There are many special-purpose collection managers (most of which are listed on the tellico homepage), but tellico is one of the earlier general purpose managers. Some applications (such as GCstar) are becoming more general-purpose as they mature. Others (such as Stuffkeeper) are simply younger applications and are not yet stable. Tellico is a well-designed application and therefore can give even the special-purpose collection managers a run for their money.
Tellico gets mentioned as one of the 45 or so software titles on the whole openSUSE 11.1 feature list. Maybe they have some sort of user tracking that tells them Tellico is popular?
The feature list seems to come from a wiki feature list for 11.1 so maybe someone just added Tellico there. In any case, that makes me pretty excited!
I downloaded openSUSE 11.1 but haven't installed it yet. With the end of year Christmas activities, upcoming nuptials, and family travel, I have far more important things to focus on. :P
I just came across a (somewhat old) review of Tellico that focuses on importing and working with music collections.
Then I discovered Tellico. It was designed for the KDE desktop environment, but so far I have not encountered any problems while using it in Gnome (Linux Mint 5.0, Elyssa). I was finally able to import my windows based data into a new program with relative ease. All I had to do was export the Windows data as a text file and then import it into Tellico. To be fair, there are quite a few other Linux programs that offer the ability to import text files, but their interfaces were not nearly as easy to use or as straightforward.
It's a very step-by-step review of importing a file into Tellico.
From reading a review of Tellico (in German), I came across a link to Bauble, a botanical specimen database. That's pretty cool.
![]()
Evidently, there's a lot of website searches for Tellico and KDE4. Well, not a lot, but a decent number really. So here's a quick update. Everything compiles and runs. Visually, there's nothing out of place, as far as I can see. There is something wrong with the image loader, so don't overwrite your files with the trunk version just yet.
I've been wonderfully busy with wedding preparations lately, so my priorities don't include Tellico right now. Occasionally, I have a chance to sit down and do a little coding. I have not tried all the functionality in the KDE4 port just yet, so I'm not sure what's actually broken. In the screenshot above, there are some theme issues, I think, which is why some of the buttons are squished and the menu bar color looks a little off.
Previous versions of Tellico also have pretty high memory usage, especially for large files. I believe the issue is just that the Qt DOM classes for loading XML take up multiples of memory. I've been experimenting with using the SAX loader instead, which may makes things more efficient.
That's a pretty big change to an integral part of the application, so it won't be on by default if I have another release in the 1.3.x series. But maybe it's something to explore more in a new release. Also, from my quick estimates, running with KDE4 decreases the total memory used by Tellico by about 25-30%. That's pretty nice.
There was a recent request on the Tellico mailing list about exporting to the UIEE format. Based on the information at uiee.com, I put together a stylesheet for exporting Tellico XML format to UIEE.
It's rudimentary, since I'm not really familiar with the UIEE usage patterns. But it should be readily apparent how to improve and update it to include the information needed. Let me know if you have any questions.
Thomson Reuters is suing George Masons University, sponsors of the Zotero bibliographic software. The Disruptive Library technology blog has details and extracts from the suit.
I’d note that it doesn’t look like the Thomson legal team actually had anyone look at the Zotero code. The complaint alleges that “users of Zotero [are freely converting] the EndNote Software’s proprietary .ens style files into open source Zotero .csl style files and further distributing such converted files to others.”
It's hard to figure out what Thomson Reuters thinks they're gaining with the lawsuit, aside from the eternal ire of technically-savvy people all over the world.
According to a story from Courthouse News Service, Reuters is claiming that George Mason is violating the terms of its license agreement by including a function in Zotero that will convert citation styles from the proprietary EndNote format to a format that can be used by Zotero. Reuters also asking for $10 million in damages for destroying the EndNote customer base. Since George Mason is a state institution, the Commonwealth of Virginia is also named in the suit.
Heh, to each his own. I've always held that the Java widgets are some of the ugliest I've seen since Motif, but Claudio compares them favorably against Qt.
...tellico is QT and thus ugly as hell (not as important, but not pleasant to work with).
By contrast, JabRef has a very clean interface and the search is fine for my needs (regular expressions). You can even change the look and make it look it like a GTk+ application.
I didn't know about the Gtk+ theme. I'll have to figure out if I have that available somewhere on my system.
I have another minor release of Tellico, 1.3.4, available.The changes include:
Raphaël Pinson recently blogged about using Tellico for his collection of board games. He'd emailed me to ask about searching Amazon, so I expanding the Tellico search to include Toys. That'll be in the next version release, 1.3.4 I guess.
The catch is that Amazon just lumps a lot of the information as BrowseNodes, including the number of players, game genre, age group, and others. And, as my fiancee would say, the vocabulary is not controlled at all. The format is free-form, for the most part. I can't really blame Amazon for that, but it does make it impossible to sort through meaningfully.
And unfortunately, Tellico and GCstar don't import and export board game collections from each other yet, so I my suggestion to Raphaël to use the GCstar plugin didn't work.
I'll have to take a shot at getting that import working in Tellico, at least. My list of things to work on grows!
This is pretty awesome news. LibraryThing is offering a webservice to download book covers, over a million user-contributed images. LibraryThing also just announced they have 30 million books in their user libraries. Pretty amazing.
Eventually, maybe I can add an interface for Tellico so that users can add a LibraryThing Developer Key and grab covers directly.
Just a quick note, if you're using openSUSE 11.0, then be aware that it ships libxslt 1.1.23 which has a fairly significant bug. Most importantly for me, it keeps Tellico from working.
I hope that Novell will offer an update for the libxstl1 package, maybe a bump to libxslt 1.1.24.
Besides the big stuff of adjusting to Qt4 and a slightly difference KDE4 API for the port of Tellico to the KDE platform, I've hit a few gotchas that took me some time to figure out. These happen after everything compiles, but when something doesn't seem to work quite right. They're mentioned on the KDE4 Porting guidelines, but are easy to miss.
I'll add to this list as I come across new ones.
I think this is a first for Tellico. LinuxUser mentioned it on the cover of the May 2008 issue! It's all in German, so I'm a little lost, but I used Google Translate to order the issue and got it today.

The article is also available onlinet. And it's 4 pages long! I think that may take the record for the longest review, in print, too. Wow! I'm rather excited!
Tellico 1.3.3, the "Angels Gate Proposal" release, is available from the download list. Just a few changes since the last release.
Last night, I finally got the KDE4 port of Tellico to compile and run. There are a few things that have been disabled until I figure out the KDE4 equivalents, but the last couple of months work has paid off. Like most everyone else who ported their application, the first run basically shows misplaced menus, icons, overlapping text, etc. But here it is...

It runs very slowly so I suspect I have a bad loop somewhere, or a hung job, or something. But at least, it's a start. I can actually test-run it and figure out what's going on.
Developing on it has been different since I can't figure out how to get KDevelop3 to do what I want in the KDE4 build approach (separate build-dir, using cmake, etc.). Mostly, it's been kate.
The work is going on in the Tellico SVN trunk.
Tellico 1.3.2 (the "Fayetteville Approaches" release) is available. It's been a few months since the last release, and some updates have accumulated.
UPDATE: The en_GB translation was broken, so I fixed it, and made a 1.3.2.1 release.
As noticed on iLibrarian, Tellico was listed by Job Profiles (whatever that is) as an awesome open source resource for online writers
Tellico is a program that works to help you manage a collection, whether it's of your short stories or of your favorite novels. It can help you keep track of anything writing related that requires database maintenance.
If you've run into a Tellico problem lately where most of the entry data doesn't show up in the view, it's due to the fact that you upgraded to libxslt 1.1.23. I was able to figure out that the issue is in the XSL templates but I can't figure out if it's a Tellico bug or an libxslt regression.
I can certainly work around the issue, and in fact, it's probably best if I do. I'll have updated templates in the next Tellico release. But I haven't actually filed a bug report yet, since I'm trying to find other examples of this usage pattern.
UPDATE: looks like it's RedHat bug 442097, and the libxslt code change has been reverted in Fedora RPMs.
UPDATE2: I filed GNOME bug 531873
UPDATE3: It's been fixed in libxslt SVN and 1.1.24 will be out soon.
Wow, Tellico got mentioned in the Manila Standard Today, in the Philippines. Chin Wong wrote the article.
Remarkably, I stumbled upon Tellico, a program that met all these requirements and then some, after six months of on-and-off searching.
Developed by Robby Stephenson as a hobby, Tellico is described as a collection manager for KDE, a common desktop environment for Linux. Ubuntu Linux uses the Gnome desktop, but can install and run KDE applications with no problem. To install Tellico, simply choose it in the Synaptic Package Manager.
I don't think Tellico has ever been mentioned in a newspaper before. This is a milestone!
The May 2008 issue of Linux User has a review of Tellico (in German). From the google translation, everything appears to be pretty positive. They've run reviews twice before, once in 2006 and once in 2005.
Die Datenbankverwaltung Tellico präsentiert sich als solider Archivar für alle denkbaren Zwecke. Die durchdacht aufgebauten Vorlagen erleichtern den schnellen Einstieg in die Software erheblich. Das Erstellen eigener Datenmasken erweist sich als unkompliziert und darf sich zurecht äußerst benutzerfreundlich nennen.
Peter Fink let me know about a Tellico review in the German magazine, c't and was even kind enough to send me a PDF scan.
Für alle, die eine Sammlung unter Linux katalogisieren und verwalten wollen, ist Tellico das Werkzeug der Wahl. Das KDE-Programm bringt diverse Vorlagen, unter anderem für Bücher, Münzen, Briefmarken, CDs und Wein mit, die man nur noch mit den Daten seiner Sammlung füllen muss. Darüber hinaus lassen sich eigene Vorlagen mit beliebig vielen Feldern definieren.
Thomas Klausner let me know that Tellico has been added to the NetBSD pkgsrc repository. He's provided me with some feedback on a couple of bugs I need to fix, too. I appreciate that.
The tellico-users mailing list seems to be down again. This is possibly related to Novell bug 89, which I closed last week because I could again successfully moderate the mailman queue, but now, none of my test emails are going through at all and I've had a few direct emails from people asking what the problem is.
The weird thing is that I still see moderated messages in the queue. But no messages from list members are getting through apparently.
Sadly, there's not a lot of support on Novell Forge these days.
Update: it's been transferred into Novell Bug 378724, and it turns out to be a mailman bug. Looks like we might get a fix in the next day or so.
Just came across StuffKeeper.
Stuffkeeper is a generic catalog program. It is not focused on a particular type, like incollector focuses on notes,logs, chat's etc, or cdcollector on cd's, it can hold any type of data.There are programs that can do this, like tellico, but it opens new db for every type. StuffKeeper tries to provide one program, with one view that can show any type of data, in a easy to use and good looking interface.
Linux.com reviews Referencer
Despite its simplicity, Referencer is a useful application that can help you to kill two birds with one stone. You can use the application to organize your documents into easy-to-manage searchable libraries. And the ability to retrieve and manage metadata combined with the ability to handle bibliography files makes Referencer a great tool for researchers and writers alike.
My Ubuntu Blog reviews video collection managers, including Tellico.
Definitely Tellico wins with a clear margin for its intutive approach to manage, display, import, export, search, retrieve and manipulate data.
Tellico can import metadata about a CD by generating a disc profile and querying a CDDB server. To do this, it uses KDE's KCDDB library. Unfortunately, using this library appears to be a rare thing. In fact, Tellico is the only app in Fedora to link against libkcddb.so.
OpenSUSE thinks you shouldn't be able to edit or even see your CDDB settings. Check out the ping-pong in bug 254175. Simply insane. When NoDisplay=true is set, then you can't even run
kcmshell libkcddb
So since I'll probably forget this in the future, and SuSE will push an update that overwrites my setting, I'm bloggin about it. First, edit /opt/kde3/share/applications/kde/libkcddb.desktop to fix the NoDisplay setting. Then rerun kbuildsycoca.
Amazon.com is shutting down their E-Commerce Web Service 3.0 webservice, as of March 31. ECS3 has been deprecated in favor of Amazon Associates Web Service 4.0. Yeah, there's some marketing speak in there, but basically, they had an older version of their webservice still available, and it's going away now.
How is Tellico affected? I made the switch to what was then called ECS4 in November 2005 and have continued to update the API as additional features have been added. The first released version of Tellico with that access was version 1.1, in February 2006.
Amazon has been sending me emails about Tellico's token still being used with the ECS3 service, so I know there are people out there with versions prior to 1.1 who are using Amazon's search. After March 31, those data sources won't work. Just so you know. (The app will work, you just won't be able to search Amazon.) Upgrade!
Tellico 1.3.1 (the "More Orange on my Calendar" release) is available. Grab it from the download page.
The list of updates, bug-fixes, and additions includes:
I came across gPapers this weekend, which is a relatively new application that bills itself as "iTunes for PDFs". It looks pretty good, with lots of features.
![[gPapers]](http://gpapers.googlecode.com/svn/trunk/website/Screenshot-gPapers_reflect.png)
It uses pyGtk, so it's another scripted app, no compilation needed. It has separate lists for authors, organization, etc. as iTunes does for artists and albums. It does a pretty good job of searching online databases, and reading PDF files.
Being a new app, and having a few unusual library dependencies, you probably won't find it in your distribution's repository. So if you want to give gPapers a shot, you'll have to download and run it using the source.
CrossRef.org recently improved their OpenURL metadata search to return additional data in their Unified CrossRef XML format. Tellico uses CrossRef for DOI lookup, so I wrote up the new XSL stylesheet this afternoon to take advantage of the additional data.
Chuck Koscher mentioned it on the CrossRef blog and Alf Eaton picked it up on HubLog.
Casey Durfee, who works over at LibraryThing, posted about the Library of Congress' new agreement with Microsoft. He makes several good points about vendor lock-in, and the availability of publicly-funded data.
Most disturbingly, users are locked in, too: anybody using an iPhone, an old version of Windows, any version of Linux, or any other operating system or device not supported by Silverlight will be unable to use the Library of Congress' new website. How is that compatible with the principles of democracy or librarianship? It's taxation without web presentation. And how exactly is that a quantum leap forward? (If the LOC really wanted to make a quantum leap, it would open up its data.)
No kidding! There are plenty of ways to add whiz-bang to websites, without sacrificing accessibility (in both the OS and the disabilities sense). Silverlight won't run on Linux, simple as that, no matter how much Microsoft touts it as a "cross-platform" plug-in. Shame on the LIbrary of Congress.
Aleksandar Urosevic emailed me to let me know that he has a review of Tellico published in a popular Serbian IT magazine, Svet kompjutera. It's also just been published online. Thought I can't read more than two words of it, it looks pretty great!
Najbolje od svega je to što ćete imati brzo dostupne sve potrebne informacije o svojoj kolekciji u trenutku kada vam zatrebaju. Tellico nudi još neke korisne opcije, ali ćemo se na ovome zaustaviti i pustiti vas da ga isprobate i sami otkrijete sve čari koje ovaj sjajni program pruža.
LifeHacker picked up the Linux.com story and added their own recommendation.
Tellico, a free, open source collection manager available in many Linux repositories, isn't the only database-style organization tool on the block—especially with the recent explosion of web apps. What makes Tellico totally recommendable is its portability and complete . Sure, there are presets for a wealth of collections—books, DVDs, wine, coins, and the like—but you can put in and take out the labels you really care about. And unlike most programs of its kind, Tellico stores its collection files in XML format instead of SQL databases, making it easy to export your data and visualize it, amongst other perks.
Zotero is cool software, if only for the fact that it gives people a reason to post photos like this on their blogs...
GTD Kitteh! by Karin Dalziel. License:
Yes, I’m a research dork. So sue me. And in the meantime, if you’re doing serious research, go forth and play with Zotero.
Linux.com has a nice review of Tellico that just got posted. Shashank Sharma writes
Most of the collection managers I've come across are highly specialized for one particular collection. Tellico stand out because it can be used to record various types of collections. With the varied collection fields for each of the collections it supports, it ensures each item is carefully cataloged. To top it all of, its Internet search feature makes adding new entries a breeze and gives Tellico a distinct edge over other similar tools.
Tellico was also mentioned in another Linux.com article about Alexandria. Alexandria just had a recent release of version 0.6.2. The new development activity is great to see. Tellico was briefly mentioned, as well, in another review for Alexandria written by Jonathan DePrizio.
Patrick Guignot wrote up a very comprehensive announcement of the 1.3 release. He pulled information from my blog posts, the documentation, and the Tellico email list to mention just about everything currently relevant about SQL, KDE4, GCstar, etc. It's in French, so enjoy!
Il [Tellico] permet de gérer facilement toutes sortes de collections et d'importer des informations depuis divers sites Internet afin de remplir automatiquement les champs de ces collections. Du fait de ses très nombreuses fonctions, de la réactivité de son développeur et de son manuel d'utilisation complet, Tellico est devenu une sorte de référence dans son genre au sein du monde du logiciel libre et même au-delà.
Regis had also written an update about the 1.3 pre-releases.
Tellico 1.3 is already in Debian unstable, Ubuntu Hardy, and Fedora Rawhide.
Tellico 1.3 (the "Jane Austen" edition) is available. Grab it from the download page.
At one point, I thought that the next major release I made would be version 2.0, with a SQL backend or something. But that turned out to be hard, so this has some incremental stuff. I might end up porting to KDE4 before going to a different backend, too, just depends on how I feel about things. Thus is open source! :)
Updates include:
Please send all bug reports, comments, etc. to the Tellico mailing list.
It appears that someone added Tellico to the KDE TechBase KDE4 Porting Status page, linking to an email I wrote about not starting the port yet.
Tellico 1.3 will be available shortly, and everything in the 1.3 branch will stay with KDE 3.x, obviously. Regis has been working on some initial porting in another branch and he's made some real progress. With the current excitement about KDE4, it'd be fun to move over to porting and working with KDE4, I think. So maybe Tellico 2.0 will be the port. Qt4 has some better SQL integration, so maybe changing the backend will be easier.
I've also been thinking about requesting that Tellico move into the KDE SVN repo. It would go into one of the extragear modules, I think. Doing that would gain exposure, translation, and coding help (presumably). I'd be giving up lots of control, obviously, but that doesn't really bother me as much anymore. Stay tuned...
Apparently, the UTF-8 support in libyaz and Tellico is not only good for Hebrew, it works for Korean, too!

KDE의 컬렉션 관리 도구. 책과 참고문헌 목록을 관리할 수 있다. BibTeX 또는 BibTeXml 형식을 읽을 수 있고 내보낼 수도 있다. z39.50 프로토콜을 통해 국립중앙도서관, 국회도서관 자료를 프로그램 내에서 검색하고 결과를 목록에 추가할 수있다. 책과 참고문헌 외에 비디오, 음악, 게임, 동전, 우표, 등의 수집 관리를 기본으로 제공하고 자유롭게 새로운 데이터베이스도 만들 수있다.
The page has information for a Korean z39.50 source at korcis-net.nl.kr.
I just want to say that I really appreciate the work that folks contribute in package and translating Tellico. Tellico is part of several distributions at this point, and seems to have gained some small following, and it would not be out there and available were it not due to it being packaged and translated. And there are many folks who have put some real effort into that.
Regis, in particular, is a big help. I know I made it bumpy when I had 3 pre-releases of Tellico 1.3 so far, but he kept up with the Debian and Ubuntu packages and even updated the French translation!I came across a mention of Tellico in an Ulteo review. Ulteo is a new type of Linux distribution from Gaël Duval, originally from Madrake/Mandriva. From the website, it appears that it's still in beta, so I couldn't try it out yet. We'll see.
Having Tellico included makes me proud!
Update2: There was a bug that would edit multiple entries at once, when only one was selected. Fixed in pre3
Update: I messed up the packaging, so there's a 1.3pre2 tarball available now that should have all the files in it.
I've got a new version of Tellico available, the first pre-release version of 1.3. Download it from here.
At one point, I thought that the next major release I made would be version 2.0, with a SQL backend or something. But that turned out to be hard, so this has some incremental stuff. I might end up porting to KDE4 (out today!) before going to a different backend, too, just depends on how I feel about things. Thus is open source! :)
I still need to update the documentation and clean up a few things. There shouldn't be any new strings after this, so if you want to update translations and send them to me, that'd be great!
Updates include:
Please, backup your data files. Export to Zip and archive them or something. I use Tellico myself, almost daily, and everything seems ok, but you never can tell.
The Bibsonomy folks threw up a quick note about character encoding with respect to Bibtex files. There's some good basic information there, and I'm going to bookmark it so I can point people to it later. I get frequenct emails about importing Bibtex files into Tellico.
Alf Eaton just posted a cool article about screen-scraping with Javascript that puts together some building blocks from Zotero, amazon, and others to completely parse and output some bibliographic data.
The point of this is to try and make Javascript scrapers that will run in Firefox (for Zotero), WebKit (for BibDesk and Papers) and Rhino (server-side, for Connotea, CiteULike, Bibsonomy, etc).
Sounds pretty cool. Of course, WebKit is a fork of KHTML, which is what Tellico uses for a HTML viewer. I've not doubt I could cobble up something using Alf's work, similar to the new browser in BibDesk, that might let me browse and pull bibliographic data right into Tellico...
Somewhere along the line a while ago, the Yahoo! Audio Search stopped working. The API examples wouldn't return anything. There were several emails to the mailing list about it, but nothing seemed to happen, so I gave up.
That's probably why using Tellico to search for "The Beatles" didn't work for Richard Crawley.
Well, I was trying to figure out if I wanted to remove that data source from Tellico, or at least, add a warning about it not working. But, it appears to be working again! Except, there's way too much junk for a search on "The Beatles" to actually be of very much use. :P
![[yahoo screenshot]](/img/tellico-yahoo-search-beatles.png)
I've added drag & drop support for Tellico in the current 1.3 branch and SVN trunk. What that means is that you should be able to drag a bibtex file, or any other type of file that Tellico supports, into the main Tellico window, and have that file imported. There are still a few rough edges, notably what to do when multiple files are dropped, but the framework is there.
Also, I've implemented an importer for PDF files. If available at compilation time, Tellico will link to the Exempi and Poppler libraries for reading PDF metadata (XMP, if you will). If your PDF file has metadate such as title and author, then Tellico should read it. So now you can drag a PDF file into Tellico, and have it be imported as a new Bibliography entry.
Exempi and Poppler are optional build dependencies, by the way. They are not required.
There will probably be a version 1.3 release, which does not use a SQL backend. I just haven't gotten SQL working yet, it's as simple as that. And there are some itches I'd like to scratch now instead of waiting. Some of them are involved with better bibliographic support, and reading PDF files is one item on that list. Another is supporting DOI identifiers. I hope to have time to work on that this coming weekend.
I just updated my workstation to openSuse 10.3. I also check around at some of the announcements, and a few of them even mention Tellico!
Office Software
- OpenOffice.org 2.3
- Desktop search Beagle 0.2.17
- Catalogue database: Tellico 1.2.13
- Personal information manager: Evolution 2.11.5, Kontact 3.92
- wine 0.9.42
I just registered Tellicoon CIA.vc, with statistics available at http://cia.vc/stats/project/tellico. I think I got the SVN info submitted correctly, so we'll see if the repository information starts showing up.
Tellico 1.2.14 is available. I've accumulated several miscellaneous patches over the last two months, so there's quite a bit in the change log.
I wrote a quick python script to export a Griffith database to Tellico format. It builds off of Mathias Monnerville's basic framework and grabs most of the Griffith fields that have comparable items in Tellico's movie collection template.
Download the script. Make sure it is executable. If you have python installed in a weird place, or if Griffith is storing its database file in a weird place, you may need to edit the first few lines in the script. Then run:
% ./griffith2tellico.py > griffith.tc
Load or import the griffith.tc file.
The export of the actors and actresses may not work depending on how you have them formatted. Griffith doesn't enforce any sort of format - it's a free-form field as far as I can tell.
My python expertise is still at a novice level, so don't pick at it too much. The script is rather fragile, I'm sure. It requires pysqlite3, but I don't know if that's part of a standard python installation or not.
Sebastian Held emailed the tellico-users group about some code he wrote to use his webcam to scan barcodes and feed them into Tellico. It looks very impressive.
Basically, he has a script that captures frame from the webcam using mplayer, sends them to BaToo, a barcode recognition package, then passes the resulting ISBN value to Tellico using DCOP. He uses DCOP in ways I didn't even know was possible, showing a dialog, editing a specific widget, clicking a button.
Webcam integration is one of the most-heralded features of Delicious Library, and several other collection management software package provide it as well. BaToo is written in Java, and Sebastian has some helper classes around that. Getting it integrated into Tellico would be a big job, but wow, what a cool thing to have! I may start playing with it some, though I don't have a webcam.
I created a test partition on my home machine and installed Fedora 7, which, by the way, is pretty slick, though for some it won't boot directly into X, it goes to runlevel 3. I don't know what I did to make that the default, but I must have done something since I can't imagine Fedora not behaving sanely. Anyways, the problem that Tellico is having with the setting being overwritten turns out to be an issue with the way I'm (ab)using some config settings that come out of the Kiosk framework. It appears that if you set them in the local config file, then it gets ignored and overwritten with the software defaults. I don't know why it does that, I couldn't find the KDE code that did it, and I don't know why it only showed up on Fedora.
The easy work-around is just to not use those settings. I'm probably being too paranoid about them anyway. But, the better fix is to install a global config file for Tellico with them, and don't set them in the application constructor. I checked in that fix and it'll be in the next release.
Fedora Tellico users all over the world rejoice! :P
For whatever reason, it appears that Tellico is unable to store configuration settings when running on Fedora 7. The tellicorc file is overwritten every time the application is run. Several users have reported the problem. However, I don't use Fedora and don't have access to a Fedora installation to figure out why Tellico is misbehaving.
I've been unable to find a bug report about any similar issue for other KDE apps. That suggests that the problem is due to something in the way that Tellico uses KConfig. But I can't figure out what in the world that might be.
This is just a post to raise awareness, in a sense, and perhaps someone will see it and have a suggestion. The only workaround was suggested by Vitor Pereira and involves explicitly setting the location of the tellicorc file.
The European Library has an SRU interface, it's just a bit hard to find. Tellico can use it, though the data is a bit sparse.
It doesn't seem to support ISBN searches. And the default Tellico search must be interacting strangely with their collection index. Test searches such as "Harry Potter" don't return anything like I would expect.
I came across a blog post today about a new release of tablesorter, a plugin written for jQuery. tablesorter uses JavaScript to dynamically sort tables in HTML.
Since Tellico's HTML uses JS for table sorting as well, I figured I'd try this new code out. And it's pretty fast. Granted, the jQuery code allows you to do all sorts of things, and sorting tables is just the tip of the iceberg. But it was interesting and fun to play with it. In the process, I decided to update some of the code used for table sorting.
If you want to check it out, here are three examples:
Now, I used one of Christian Bach's CSS themes for the jQuery page, so it has a different font, color, etc. But you can click the header in any of those three files to sort the table. I haven't actually done any benchmarking, though. That would be an obvious thing to do. It was a fun little activity for the evening and helped me relieve some stress...
I came across another book/DVD collection manager for Windows, called Libra. I haven't actually run it, since I don't have Windows at home, but I did notice that they're using the Tellico icon! Prominently, too, on both the website and in the application itself.
Virginie Quesnay created the icon back in 2004. It's licensed under the LGPL.
The review of Tellico that got published in Dragonia magazine has been translated to English and republished on polishlinux.org.
My favorite quote from the review is Definitely the strong side of Tellico is understanding the needs of its users
. That makes me happy. I try.
Tellico 1.2.13 is available. The changelog is as follows:
The namespace bug doesn't seem to have bitten anyone yet that I've heard of. I discovered it when writing the gcstar2tellico.xsl file. The data loader was using QDom's namespace methods in some places and not in others, so it was inconsistent.
The GCstar importer is basically an update to the old GCfilms updater. It will still handle the older files, if anyone needs that. The importer currently handles books, movies, music, wines, coins, and video games. It does not handle GCstar's custom collections yet.
So The Open Library is up and going, and they have a demo site available to try out. This is pretty cool stuff.
But most importantly, such a library must be fully open. Not simply "free to the people," as the grand banner across the Carnegie Library of Pittsburgh proclaims, but a product of the people: letting them create and curate its catalog, contribute to its content, participate in its governance, and have full, free access to its data. In an era where library data and Internet databases are being run by money-seeking companies behind closed doors, it's more important than ever to be open.
How about their Open Library Number concept! Something akin to an ISBN, but not just for recently published books, every single book ever written! That's pretty cool.
Obviously, at some point, I'd love to figure out a way to have Tellico interface to the database, either merely by pulling data, or actually submitting or modifying it as well. But that's certainly way in the future. I'm just pretty astonished at what the people involved with the Open Library have been able to do so far.
I've been looking at designing a database schema for Tellico v2 and have had a couple of different approaches so far. The ThingDB schema used by the Open Library seems rather interesting. I wonder how well it will mesh with the FRBR approach.
It's worth saying that Time Spalding at Library Thing is excited. He's been a big proponent of book cataloging as a social activity for a while now. I suppose it's also much like WorldCat, but is obviously designed to be much more free and open with its data and API.
Here's hoping they really get this off the ground. You should help!

I meant to blog about this earlier. The Copac database, the UK & Irish National Union Catalogue, has recently updated their database to offer results in the MODS format. As a result, you can now use it as a z39.50 resource in Tellico. I'll probably add it to the list of presets, as well.
Jérôme Rapinat recently contacted me about using GRAMPS with Tellico. GRAMPS is a genealogy program, and a very capable one at that. Tellico's XSL import and export is capable of working with GRAMPS XML files directly.
I'm not quite sure what Jérôme may be doing with the capability, but perhaps Tellico offers a different way of looking at the data that is interesting.
Tellico 1.2.12 is available, with a slew of bug fixes. Plus, a new translation, Turkish, has been added, bringing the total of languages with 70% translation to 15.
Changelog:
Issue #12 of Dragonia Magazine contains a review of Tellico, albeit in what I take to be Polish. Here's the intro:
Nie znam osoby, która na którymś etapie swego życia (zwykl w dzieciństie) nie kolekcjonowałaby czegoś. Niektórzy nie wyrośliz t zego, a ich kolekcje książek, płyt czy monet urosły do wielkości przekraczających możlości zarządzania, jakie daje kartka i długopis.
And finally,
Zdecydowanie mocną stoną program u jest zrozumienie potrzeb potencjalnego użytkownika; pola opisujące każdy typ kolekcji są już bez dodatkowej konfiguracji dobrze dobrane , a szczególnie atrakcyjne jest wyszukiwanie informacji o alumbach czy książkach w Internecie z poziomu programu. O szczędza to masę czasu który potrzebny byłby do opisania pozycji.
Sounds positive, I guess...
UPDATE: Piotr Krakowiak was very kind and sent me some translation, Thanks!
Definitely the strongest feature of the program is an understanding of the potential user's needs; the text fields, describing each type of collection are - even without additional tweaking - well chosen and are sufficiently meaningful. What's also attractive is the ability to search for albums or books on the Internet without leaving the program window. This saves a lot of time that would be necessary to describe each item in our catalogue.
Eric Fleming at AssociatedContent has published a short review of Tellico.
In conclusion, if you are looking for this type of software, whether it be to keep track of your collection of priceless stamps for insurance purposes, or to be able to see which of your movies is missing, then Tellico is an excellent choice. It's fast, easy to use, provides attractive output options, and is - as a bonus to all of that - completely free!
Thanks!
Gerhard Czech recently wrote a nice overview of using Tellico, Tellico Bedienungsanleitung. Yup, it's in German. Here's a quote:
Tellico ist ein Programm mit dem es auf einfache Art und Weise möglich ist kleine Datenbanken zu erstellen. Dabei benutzt Tellico für die Datenbanken die Bezeichnung Sammlungen.
Jede Sammlung kann beliebig viele Datensätze (Tellico benutzt hierfür die Bezeichnung Einträge) enthalten, jeder Eintrag wiederum beliebig viele Felder. Tellico speichert diese Sammlungen in einer einzigen Datei (Dateiendung .tc).
It's always neat whenever Tellico gets mentioned in a distribution review, implying that Tellico's inclusion was notable. In this case, linux.com mentions it in their review of Vector Linux SOHO 5.8.
Thanks to the work of Doruk Fişek, Tellico is now in the Pardus Linux package tree. Thanks to the work of Ali Isingor and Kunter Kutlu, it is completely translated in Turkish, bringing to 15 the number of languages into which Tellico has been translated with 70% or better coverage. Pretty cool!
I'm going to go ahead and push a new version of Tellico, even with the mailing list issues. Tellico 1.2.11 is available. The changelog includes:
There seems to be a problem with Tellico's mailing list. I've sent several emails to it in the last few days, and none have showed up in the archives. I've had direct contact with a few users who say they haven't received anything either. So I wrote the forge-dev mailing list and filed a bug.
I don't know if the problem is spam blocking or an actual issue with the mailing list software. I'm beginning to look at hosting the mailing list and maybe the SVN and website elsewhere. Stay tuned...
Here are the number of downloads of Tellico by month:

So far, the average for all versions is well over 700 per month. Lately, I've had about one release per month.
Marc Espie let me know that he'd imported Tellico into OpenBSD ports. He also provided a patch for supporting CD info from FreeDB on OpenBSD. I really appreciate that.
I've had quite a few bug fixes for Tellico lately, so I've got another version released, Tellico 1.2.10.
Tellico 1.2.9 is available. Changelog is:
Plenty of thanks go to Jens Seidel for several patches that he sent dealing with the translation issues.
On the Tellico email list, Tobias Gruetzmacher pointed out that you can subscribe without going through the Novell Forge account creation process. I've been asked a couple of times about that. It's also come up on the forge-dev mail list.
I added a short page about it to the Tellico website.
Doruk Fişek has a patch against Tellico 1.2.8 for importing bitrate during the audio file import. You just have to be able to read Turkish! Or just read his email to the tellico-users email list about it.
Since I'm not adding new strings to the Tellico-1.2 branch, I'll probably just check this into SVN trunk, or the (never-to-be-released) tellico-1.3 branch. I know better than to ever really be surprised at what data or how someone uses Tellico. It's always fun to come across new stuff like this.
Tellico 1.2.8 is available, with some assorted bug fixes.
One thing that I repeatedly get requests for in Tellico is to support multiple collections in one database. Most other collection managers do have some facility for that, so for Tellico 2, I'm going to try to oblige. And this is built on a SQL backend at the moment, too. Here's a screen grab of my current development tree:

There's nothing really happening there, just creating some default fields in the database for each collection type and setting up the widgets in the GUI. Still, it's a start.
The January/February 2007 issue of Linux Pratique, a french-language Linux magazine, featured a review of Tellico. Since French is the only other language I can pretend to read, I asked if someone on the email list could send me a copy. Patrick Guignot was kind enough to do so. Gérez vos collections les plus diverses avec Tellico 1.2 is a pretty nice run-through of what Tellico can do. It mentions data entry and custom collections, searching Internet sources (even how to remove the Amazon link field), importing and exporting, and generating reports.
These kind of reviews are always so cool to read. I show them to my friends, even though most of them have no idea what Linux is, much less KDE. And since they know I'm a geek and "play" on computers as a hobby, they just sorta nod their heads and humor me. But they enjoy seeing my enjoyment, to be sure.
Update: this note is not meant to be critical of these users in any way. Sorry if it came across as insulting, I really didn't mean it to be. On the contrary, it was more of an apology on my part for not designing Tellico better, so that its capabilities were presented better.
I'm not real good with user interface design. There are some features in Tellico that people just never come across, and if they care enough, they might email me to ask. But there are probably plenty of folks who just give up and decide Tellico can't do what they need it to. For software features, that's generally called discoverability, I think. That would also cover features that people know exist, but can't find.
For example, the fact that getting information about an audio CD is done through the File->Import->Import Audio CD menu isn't clear to Sean. It's certainly reasonable to suppose that CDDB lookup should be defined as a data source in the configuration, as he does, but that's not the way I was thinking when I put that feature in. So Tellico (and I) failed Sean, so to speak. And I wouldn't blame him if he's rather frustrated about that. The same thing happened to another user when he wanted to try to catalog the files on a CD, which Tellico can do. But that capability wasn't evident enough.
Similarly, when Christ Mostek wanted to add a new book to his collection by getting data from Amazon, he expected that function to be available when he clicked New Entry rather than from a completely different dialog, accessed from Edit->Internet Search. The perceived inability to create a book directly from Amazon was enough for Chris to use a different application altogether for the initial data entry. Sorry, Chris!
Entering multiple values, such as authors or keywords, is probably one of the most non-intuitive and hard to discover features. I coded the data entry as a single line edit, and expect users to separate values with a semi-colon. There's really no way for anyone to know that without reading the docs or looking at some other entry. And people sometimes miss that. I can hardly blame them.
I want Tellico to be easy and simple to use, truly. :-) So I look at other similar applications, to see if I can mimic expected behavior or terminology. Sometimes, I'll move menu items around or re-phrase them. The data entry dialog does need a good bit of work. Once I get the v2 SQL backend put in, then I hope to give it some loving. Certainly, I'll try to make entering multiple values more intuitive and obvious.
Aside from that, I do take suggestions! The mailing list is the place to send them. Tellico does suffer a bit trying to be a general collection manager, rather than specifically for books or movies. But I'm always looking to improve it.
Congratulations go to Tian, with his work on GCstar, which hit version 1.0.0 this past weekend. He's added music collection management, to go along with books, movies, and video games.
I'll admit, I get a few crashes when I try it. Mostly associated with errors like
Magic number checking on storable file failed at lib/Storable.pm (autosplit into lib/auto/Storable/fd_retrieve.al) line 349, <RCOMMAND> line 1, at /usr/local/bin/../lib/gcstar/GCPlugins.pm line 88
but it's a very capable application, with many more search sources than Tellico. Heck, you can even use all of GCstar's data sources in Tellico.
So while changing the sort order to take into account title articles, in Tellico 1.2.7, I broke the secondary and tertiary sorting, which is useful for series and series number. I don't expect to make a 1.2.8 release quite yet, so here's a patch.
Or grab the SVN revision.
You could also just define another field that combines the series name and series number. The field type is Dependent and you put %{series} %{series_num} in the field description. That combines the two values and lets you sort quickly.

Tellico 1.2.7 is available. One critical fix is a possibility of losing cover images if you save them in the data file itself, rather than the app directory, and you have a image field shown in the column view. Basically, there were competing calls to the image cache which messed things up. I'm pretty sure that's the only case that could result in image loss, so if you don't save images in the data file (and if you have more than 100 or so, you shouldn't be) you should be ok.
Changelog:
While I was waiting for a friend in Vienna, I was perusing the magazines in a bookstore. While browsing through the December issue of Linux Format, I noticed happily that Tellico was listed as a Hot Pick! So I flipped over to page 71 to see the review. Somebody's wires got crossed.
The review reads ok, but the version is listed as 0.9.10, and the website as http://rschultz.ath.cx/code.php. Maybe somebody had a copy/paste error? Version 0.10 of bookcase was released back in August 2004, and there never was a version 0.9.10, so I have no idea where the version number came from. And the linked web page obviously has nothing to do with Tellico.
The blurb for the screenshot says
Tellico's ability to import data from Amazon makes documenting your book collection easy, but isn't the Buy From Amazon link superfluous?
Sure it is. But you may be creating a wishlist. More importantly, the terms and conditions for accessing data from Amazon.com require a link either to the items page or to the top Amazon.com site. I suppose I could call the link, "See page at Amazon.com", or something similar. Furthermore, if you export your collection and put it online, then other people may use your link to buy the book or DVD at Amazon. My affiliate code is included in the link, so I do occasionally get referral fees. Something less than $50 in a couple years so far.
I'm going on vacation for several weeks, through the end of the month, so I decided to go ahead and tag another release for Tellico with some bug fixes. Download tellico 1.2.6.tar.gz and give it a shot.
Changelog:
Roma, here I come! And Wien and Venezia and Napoli...
Here's another Tellico point release: tellico-1.2.5.tar.gz. The changelog includes:
UPDATE: oops, fixed the download link.
UPDATE 2: if it fails to build for you, try downloading tellico-1.2.5a.tar.gz which is the same source code, with some of the build system regenerated. That will probably fix your problem.
I had an email question last week about how to enter an author's name, when the author uses a surname with multiple words. Not hyphenated words, mind you, but multiple words. And it's not using a suffix like Jr. either. Patrick Guignot is publishing a list of science fiction books and Thierry Di Rollo is the author of several of them.
Tellico has a simplistic algorithm for splitting personal names. After splitting the name by white-space, the last word is the surname, unless it's in the list of suffixes, in which case, the next to last word is the suffix. But Di Rollo is evidently the complete surname. Putting Rollo in the list of suffixes won't do since Tellico adds a comma there.
So the solution is to enter his name as Di Rollo, Thierry. That lets Tellico know that the name is already formatted, and no further processing is done. Admittedly, that's a bit of a hack, but hey. Seems to work ok.
Just so you know...
When I copied the allocine.fr script that's included with Tellico 1.2.4, I messed up the encoding. In short, the script won't work. So if you need to download movie info from allocine, replace the script included in the release with the fixed version.
Tellico 1.2.4 is available, with a few bug-fixes and performance improvements.
OK, not really, just my code. I couldn't resist a catchy title, though. But I am going to consider this a badge of honor. A Suse user reported an off-by-one bug in Tellico, and Will Stephenson sent me an email about it, with the short patch. Yes, that Will Stephenson, he of Kopete fame.
Coincidently, Google Code Search was announce today, so I immediately looked up the code for grabbing the volume name from a device node. The name is 32 bytes from a 32808 offset, I think, for both udf and iso9660 filesystems, which is what Tellico reads.
Admittedly, looping 32808 times around getch() was stupid. QFile can't seek on the device node, for some reason. And now that I've come to my senses, using fseek(...) is the easy thing to do.
KDE 4 will let me remove my crazy and insane code and use Solid instead, which will make the world a much better place, to be sure.
Tellico 1.2.3 is available. The major fix is for HTML exporting.
I caught a trackback a couple days ago from a rare book dealer who reviewed Tellico and Readerware. It's a rather thorough review. I can tell he actually used Tellico and tried it out. I appreciate the nice things he had to say about it, too.
Let’s start out with Tellico. The first thing to keep in mind about this application is that it is really a labour of love, and as such is non-commercial. That said, Linux as a whole is quite similar, so this does not mean that you’re getting a second rate program just because it doesn’t cost you anything. Tellico is not just a book cataloguing application, it is useful for organising any particular collection that you might want to catalogue.
One thing he does focus on is the CSV export
Another top feature worth mentioning about Tellico is that it supports a huge range of import and export options. That said, the CSV export does not allow you to custom tailor which fields are exported and in which order.
So perhaps the CSV exporter should offer an option to limit the exported fields to those currently visible, and in the order currently shown. That wouldn't take too much effort.
Another big downside to it is that ultimately as an application it is of little use to booksellers. While fantastic for the average collector, it is non-relational in the sense that ultimately it is a really fancy frontend to a single flat database table. You can’t store related information like supplier information, or invoicing data etc. Unless for each book you create a massive set of fields and accept that your application is a bit of a hack from a sales point of view.
He hits the nail on the head there. It's nothing that I try to deny, Tellico started out as an experiment for me, and I don't claim any level of complexity for it. But perhaps, someday, I can get to Tellico 2 and include some SQL and make the world a better place...
A Tellico user has blogged about ways of getting cross-references in Tellico. The data model is really flat and simple, so they're not supported directly. Instead, Marcus uses grouping to have suggested related items connected. It does require a bit of work, to set everything up and maintain it, but it's something I hadn't really thought about.
I'm hoping to move Tellico to a SQL backend for version 2.0, possibly along with a switch to KDE 4. Then, I can add relationships and everything!
For Tellico 1.2, I switched the HTML exporter to use libxml2 instead of using KHTML to walk the DOM tree. All the image links have to be parsed so the exporter knows which images to copy. I must have misread the libxml2 documentation cause I used the wrong variable in the xmlAttribute struct. The short of it is, the HTML export doesn't copy any images or the JavaScript file used for searching. Which basically means it's useless.
That's been fixed in SVN, and it'll be in 1.2.3. I guess I'll wait to see what other bugs pop up, and push that out next week sometime.
*sigh* So Tellico 1.2.1 went out the door with a bug that would cause it to use the wrong temporary directory for writing images. So if you were opening data files that included the images in there with them, Tellico would write those images out to /tmp/kde-*******/tellico****** and then forget where it put them, essentially. (KDE uses unique directory names for tmp files)
It will likely cause data loss if you save the file, and certain options are turned on. If that happens to you, please accept my apologies. Tellico does save backup files with the ~ extension, so look for one of those and open it.
Tellico 1.2.2 is available with a fix. I know it's just one day after 1.2.1 was released, and I certainly hope I don't keep introducing bugs like this every day. But this is an important bug fix. Version 1.2 did not have the bug.
Tellico 1.2.1 is available now, which fixes a few problems with the 1.2 release. Thanks to everyone who emailed me or the mailing list and reported issues, I do appreciate that.
Ok, so what's a release without a few embarassing bugs? No reason to break the habit now. Tellico 1.2 came out with a debug turned on in the CDDB importer that will always return Pink Floyd. Yeah, I know. Pink Floyd? I just got the track offset list from somewhere, that's all.
Anyways, to fix that, change line 108 in src/translators/freedbimporter.cpp from
#if 1
to
#if 0
and recompile. If you're using a precompiled package, you'll just have to be patient. I've fired so many of my QA people at this point...
There's something else going wrong with the image cache again, too. RAM usage is bad after the cache gets full. I need to track that down, and maybe I'll get 1.2.1 out the door tomorrow or Monday.
I'm a bit surprised at how fast folks are jumping on Tellico 1.2. Regis had his Debian and Ubuntu packages ready to go, and told me today that he'd had over 150 MB of traffic. The Gentoo ebuild was quickly updated, as well as the openSUSE Backport. The source package was downloaded over 160 times already.
The only issues so far are some rendering bugs with the template gradients, reported by Patrick Guignot, and the filter dialog not doing auto-completion correctly for some fields. Both are fixed in SVN.
Just for a quick glance, here are the downloads by version and by month, since the first of the year.
![[By Version]](/tellico/img/by_version.png)
![[By Month]](/tellico/img/by_month.png)
I think the 1700 downloads of version 1.1 is an anomaly. Someone had a download script that went awry or something because the bandwidth suggests the downloads were mostly truncated. In any case, there were 2400 downloads of version 1.1.6 in four months. I'm rather astonished.
Tellico 1.2 is available. There have been a few changes since -pre3, including a fix for a crash when right-clicking in the list view and documentation updates.
Here's the full change log:
New features:
Significant bug fixes:
Minimum KDE version is now KDE 3.4. Minimum Qt version is 3.3. Minimum libxml2 version is 2.6.
Also, if you attemp to download any new data sources, the download will get verified using gpg against my public key. That's a security layer to guard against downloading new scripts from unknown sources that could harm your computer. But it's not perfect, and you'll need to download my public key to verify the download.
You have no 100% certainty with this download, since you don't know me, so you'll have an identified download from what is technically a untrusted source. Make your own choices about installing the scripts.
If you download my public key, you can use kgpg to import it into your key ring. Or do it from the commandline instead, using the command:
gpg --import < robby.asc
After a couple of folks have asked, I did add some information on the Tellico homepage for sending me items from an Amazon.com wishlist or Paypal donations. Actually, two people have taken the initiative and sent me donations via Paypal already, and they were very much appreciated! Those gifts went towards my small hosting fees for the website.
Developing Tellico is a fun hobby for me, and I don't expect anything at all for it. But heck, if people want to show appreciate, I won't turn them down! Tellico will always be free, as in speech and beer, so no one should feel obligated.
The books in the wishlist are mostly technical ones, mostly relevant to SQL or C++, which would help with Tellico development. I can always learn more! And I added a few DVDs that came to mind that I would enjoy.
I improved the IMDb importer a bit, and cleaned up some warnings, so I rolled another pre-release of Tellico. Grab 1.2pre3 if you're willing to give it a shot. Please backup your data files.
Also, if you attemp to download any new data sources, the download will get verified using gpg against my public key. That's a security layer to guard against downloading new scripts from unknown sources that could harm your computer. But it's not perfect, and you'll need to download my public key to verify the download.
You have no 100% certainty with this download, since you don't know me, so you'll have an identified download from what is technically a untrusted source. Make your own choices about installing the scripts.
If you download my public key, you can use kgpg to import it into your key ring. Or do it from the commandline instead, using the command:
gpg --import < robby.asc
I've got a pre-release version of Tellico 1.2 available from the download page. If you're willing to try it out, please let me know of any issues or bugs you come across. As always, please back up the data files you care about.
I'd especially appreciate feedback on the HTML export and memory usage since those have been the hot topics of late. I don't expect to be changing any of the strings now, so translators are welcome to send me updates, too.
New features:
Significant bug fixes:
Minimum KDE version is now KDE 3.4. Minimum Qt version is 3.3. Minimum libxml2 version is 2.6.
This is a pre-release. I haven't updated any of the documentation. It doesn't have any show-stopper bugs that I know of, but there's still a bit of polishing to do before 1.2 is completely ready. Please let me know of any problems.
Tian, the author of GCfilms, has turned his hand to building a more generic collection manager, and thus GCstar has been born. He put out version 0.2 over the weekend that manages collections of movies and video games, with full support for importing and exporting to Tellico.
The message on the GCfilms website says that only bug fixes will be added. All new features will be going into GCstar.
This is great stuff. I'm sure he'll come up with better or more clever ideas for things, and I look forward to seeing that. Plus, folks might be able to adapt search plugins/scripts between GCstar and Tellico, which always rocks.
GCstar requires perl-Gtk+.
I came across another bibtex editor for KDE at kde-apps.org yesterday. KBib is a port of gBib to the KDE platform, written by Thach Nguyen.
Frank Karlitschek was kind enough to add an additional section on kde-files.org for Tellico Entry Templates. I've uploaded three right now, one that modifies the default Fancy template to show two columns of fields, one based on Amarok's reinhardt theme, and one that uses a CSS template from Roger Johansson.
The templates go in $HOME/.kde/share/apps/tellico/entry-templates/ which you may have to create. Don't forget to uncompress the tarballs.
The next version of Tellico will include KNewStuff support for downloading and installing these templates directly.
It appears that mCatalog has a new maintainer and home page. I'll update the link on the Tellico web page.
I'm having trouble finding a version of libgtkmozembed.so for SUSE, so I can't run mCatalog at the moment.
Hey, I just noticed that Tellico got mentioned in Dr. Dobbs Journal a couple of months ago, in an article about building a home-brew ISBN scanner. That's kinda cool.
The Tellico collection manager, found at http://www.periapsis.org/tellico/, or included with your Linux distro, fetches book information by ISBN/author/title and handles database functions. It can export its database in Palm-DB format for my PDA, so we know what we don't need when we're deep in the used-book stacks.
Mathias Monnerville posted a script today for using Tellico to search the Spanish Ministry of Culture's bibliographic database. It's available from KDE-files.org.
Incidently, if you're wondering what template he's using in the screenshot for the book details, it's called reinhardt, which is modified from the amaroK theme by the same name.
Tellico gets reviewed in the June 2006 issue of LinuxUser, a German magazine. LinuxUser was one of the first magazines to actually notice Tellico, back when it was called Bookcase.
The review is actually one of their articles that's available in full, so if you're German-speaking, check it out. It seems to be mostly positive, from what I can tell from Google translator. The article also includes a mention of the Tellico scripts available at KDE-files.org.
David Lurie reviews some book collection software and webapps and finds them lacking. He's got some good points about user workflow, data availability and social networking. Tellico comes up lacking a bit, though I did point out a couple of things that he missed about some of Tellico's capabilities.
I suppose I really need to buckle down and bolt Tellico onto a SQL database, using SQLite or KexiDB or QSql or something. Once the backend can support more, then the nitty-gritty details of figuring out how to build an iTunes for books can be confronted.
There's a bug in previous versions of Tellico in that it would sometimes not save images in the data directory. So here's an updated version that should fix that: tellico-1.1.6.tar.gz
Changelog:
Here's a rare mid-week update for Tellico, version 1.1.5. I had some time tonight, and I wanted to make some of the latest bug-fixes availables, so here you go.
Carsten Niehaus posted an article on the Dot about some updated applications for KDE, in the interim between KDE 3.5 and KDE 4.0. He does mention Tellico, as well.
He'd emailed me last week to ask if I would update the Tellico screenshots to show version 1.1. I meant to get to it this weekend, but I ended up driving to Las Vegas instead, to meet a friend of mine. Needless to say, that left with neither the time nor the energy to do much hacking this weekend. But I did just update the main window screenshot, and add the shot of the Berean Curves template.
The article is nice, though the comments are, so far, much about amaroK's icon theme. Tellico's homepage got a lot of hits today so far, but not much of a blip on the download counter. Tellico 1.1.4 has been downloaded about 450 times so far, in the week since I released it.
Tellico 1.1.4 is available.
Petri Damsten has a tellico-svn ebuild setup for Gentoo, which you can find at his "portage overlay" (not sure exactly what that means...) at http://susku.pyhaselka.fi/svn/portage/kde-misc/tellico-svn/. With it, installing the current SVN trunk for Tellico is as simple as: emerge tellico-svn. I would caution you that the trunk code can be a bit a bumpy. Things get broken, and partially implemented, so be careful and always backup your data files.
I came across a tutorial on custom borders with advanced CSS which explains how to add nice curved borders around HTML elements and such. The example that the author, Roger Johansson, uses, is very pretty, so I turned it into a template for Tellico.

Download Berean_Curves.tgz, and unpack it in your
.kde/share/apps/tellico/entry-templates/
directory. You may have to create the tellico/ and entry-templates/ directories. Then select Berean Curves in the template configuration. Voila!
It uses some CSS3 techniques, which only work in KDE 3.5, I think. Or at least, work less well in KDE 3.4 and earlier.
One of the folks on the Tellico mailing list is writing a script to download information from the Dark Horse Comic website, and he discovered that I had a typo which was preventing the comic book template from showing up in certain parts of the UI. So I need to have a release where his script will be able to work!
Changelog:
Nick Bradbury puts it well:
Learning XSLT wasn't a whole lot of fun, either. It's an odd language with unexpected omissions, bizarre rules and a learning curve that's made steeper by unexpected "gotchas" - in other words, it's just like every other language out there.
It was much the same for me with Tellico. I decided on XML as the underlying data type before I really thought about representing it in the UI. Then I read about XSLT, which could magically turn XML into HTML. At this point, I can't say that I've completely gotten my head around XSLT, it still surprises me occasionally, but when I need to debug, I can generally pinpoint the problem area fairly quickly. And libxslt has pretty good error messages.
Having said that, XSLT 2.0 scares me. There's still no open source, non-Java implementation, as far as I know. And after looking at parts of the spec, gee-whiz...
OK, there's a bug in Tellico 1.1.2 that causes a crash when you export to HTML and overwrite an existing file. Just so it's public and maybe I'll get fewer emails about it. :P
Another two weeks, 'bout time for a Tellico release! So Tellico 1.1.2 is available. Changes since 1.1.1 include:
Frank Karlitschek was kind enough to add a category to kde-files.org for Tellico scripts. I just moved the amarok-search script over from kde-apps.org, and added a script for searching GCfilms from within Tellico.
I just added a script to kde-apps.org for searching your amaroK music collection from within Tellico. tellico-search-amarok is a python script and requires amaroK to be running. Directions for setting it up as an external data source in Tellico are given at the kde-apps.org page.
I've also added a limited capability to Get Hot New Stuff into Tellico SVN right now, and this is my first test. The data source dialog has a New Stuff button that will grab info from the Tellico website.
I'm dreaming about having a Tellico Scripts section on kde-apps.org! Along with associated download counts and ratings. I'm not sure who to ask about that. I sent a contact message via the website, but haven't gotten a response yet. amaroK uses kde-apps.org for its script installation and tracking, and as is readily apparent, I walk in their footsteps whenever possible.
Tellico 1.1.1 is available from http://periapsis.org/tellico/download/tellico-1.1.1.tar.gz. Changes since 1.1:
Kurt Pfeifle has updated the klik://tellico-latest recipe for Tellico 1.1. Klik provides an easy way to download and use software for most major distributions. It works pretty well for me with Mandriva 2006. They have a lot of documentation about how it works. If you can't find a package for your distribution, this is a great way to try out new software without hassle.
It looks like I'll be the "recipe maintainer" for Tellico now, too. You can find more information about the Tellico bundle on the tellico-latest recipe page.
I'm sure every programmer has those moments where you stress-test your code in some new way, and when it works right the first-time, there's a certain feeling of satisfaction. I came across a mention of a z39.50 server that included Hebrew-language records, and so I thought I'd give it whirl in Tellico.
Now, the Qt library has excellent Unicode support, as does KDE. The yaz library supports utf-8, and the Israel Union List returns results in utf-8. So theoretically, the whole tool-chain should spit out the proper result.
![[Tellico Hebrew]](/img/tellico-hebrew.png)
I don't know exactly what I'm looking at there, but as you can see, it appears that the Hebrew words came through correctly. Granted, my XSL stylesheet left-aligns everything, so that looks a bit weird, but it gives me a nice sense of satisfaction that it worked as intended.
Tellico 1.1 is available. After several pre-releases, I'm confident most of the major bugs were fixed. Heh. As always, I make no guarantees with this software. Use at your own risk, backup your data, and don't mix ketchup and mayonnaise. Changes since 1.0.3 include:
Changes since 1.1pre3 include:
Do you want to see which of your books or DVDs have no cover image? Create a filter, and set it to match your cover field like so:
Then you can select that filter and see at glance, which books you might need to go find covers for. Save the filter so you can keep checking. Happy hunting!
Petri Damsten sent me a cool python script for creating a Scribus document from a Tellico data file, with better formatting etc. than my HTML export for printing. Give it a shot! Use it from within Scribus, Script->Execute Script.
It requires the image files to be in the application directory, meaning a pre-release version of Tellico, or SVN.
Mathias Monnerville contributed a great python script for searching allocine.fr from Tellico. Download fr.allocine.py, and follow the directions to set it up. UPDATE: Get it from kde-files.org.
I'm in a self-imposed string freeze for Tellico 1.1, so I hesitate to add these great scripts directly to Tellico yet. What I'd like to do for the next version after 1.1 is setup a KNewStuff mechanism for downloading scripts, similar (yet again :P) to what amaroK does.
Hot on the heels of 1.1pre2 comes Tellico 1.1pre3. You really don't want to be running 1.1pre2 since there's a potential data loss, so go ahead and update from SVN or grab the -pre3 tarball. The only real update is the bug fix.
MD5: 3d47989d83f50a8a355e06279120260c
There's a potential data loss in Tellico 1.1pre2. If the config option for saving images in the file vs. the app directory gets flipped, and then the file is saved, the zip file gets overwritten before the images in the cache are updated, resulting in a loss of those images.
My poor programming skills, and too hasty code changes are the blame, of course. I'll have another pre-release here shortly, and I hope everyone is making backups. But I know there are plenty of folks who aren't, and I'm terribly sorry.
Current SVN should have the hole fixed, and I believe I've tested all the corner cases. But as always, make backups!
Tellico version 1.1 pre-release2 is available.
MD5: e97847d387120058dcb44f378e82b82c
Change since Tellico 1.1pre1:
There's some discussion on the Tellico mailing list about the change from saving images inside the Tellico data file to a data directory inside the application's .kde/ hierarchy. I probably shouldn't have changed the default behavior, since that violated the principle of least surprise. It's easy enough to switch back, fortunately.
Going forward, I think the best thing to do is to add a config option, defaulting to the old way. Then when folks ask about performance, I can point out that setting. Tellico's sluggishness in loading and saving data files when many images are included is the #1 issue that people email me about, believe me.
I just hope that's discoverable. I've thought about showing a message box, just once, asking the user which behavior they prefer. That would make the feature at least a bit more visible...
Petri Damsten has contributed a python script for searching the Helsinki library and the Bookplus store from within Tellico. Download it and make sure it's executable as a script. Then add a data source in Tellico for an external application that looks like this:
where you obviously use the correct path to the script. Then you'll be able to search for Finnish books by ISBN!
I've got the first pre-release of the next version of Tellico put together, tellico-1.1pre1.tar.gz. This new version should offer some nice improvements over previous version, and if anyone is willing to test it out, I would appreciate hearing any feedback or issues you run into.
MD5 sum: b764b8768a5e755f56ef5d212439ba2a
Important behavior changes include:
New features include:
I've been doing a bit of development work with Tellico and OpenOffice.org in the branches/tellico-ooo tree in SVN. It seems to work well enough now that I just merged it into trunk. Tellico can now insert bibliographic citations into OpenOffice.org Writer. However, this is far less than the capability offered by Bibus. Tellico can't do formatting, the only thing this offers is easy insertion into an existing bibliography.
That said, if anyone wants to try it out, download SVN trunk from Novell Forge. Download and extract the OpenOffice.org Software Development Kit. I used v680 for OOo2, but I think it should work for v1.1, too.
As is true for OpenOffice.org currently, the bibiographic data is inserted directly into the document, and is not tied to Tellico in anyway. For more details, see the Bibliographic project page.
I'm not sure how well this will work, so please pass along any comments or problems you have.
Standard caveats apply to the SVN version: this is a development tree, expect some instability. Always back up your data. And these data files will not work with previous versions of Tellico.
UPDATE: it's implemented as a plugin, of sorts, a run-time check, so Tellico will not directly depend on OOo. That allows packagers to create a separate package with the tellico-ooo.la file, and make it depend on OOo.

I just noticed that Tellico is part of the default installation for PCLinuxOs 0.92.
For some reason, Tellico seems to have moved up a bit in the KDE buzz ratings. I have no idea how that's calculated. Tellico is the highest external app on the list.
I just read that a new version of KBibtex has been released. It looks like the parser is much improved, and it is now available as KPart for embedding in Kile or Konqueror.
The new version of GCfilms can import and export Tellico data files.
I just updated Tellico to use the latest version of the Amazon E-Commerce Service, version 4. The added capabilities of version 4 allow Tellico to do a proper UPC search now, and some additional item attributes are now exposed by Amazon.
What that really means is that UPC lookup by barcode is fully functional. I bought one of the modified Cue-Cat barcode readers, and I've been using it to test Tellico's search functions. If the UPC starts with "978" or "979", it gets converted to an ISBN and the proper book search is done. Otherwise, the UPC is used as the search item on Amazon. I've been able to scan DVDs and CDs successfully. Sweet!
I think I've got all the bugs ironed out, so if anyone wants to give it a spin, download the SVN trunk code from Novell Forge.
The trunk code is still a bit unstable, so back up your data first! You won't be able to open new data files with older versions of Tellico.
Based on a request from a user for Tellico to support reading CD-Text, I made an attempt to add that capability last night. I did get it working, based on my testing. I borrowed some code from Kover, which itself uses some modified code from k3b, I think. Isn't the GPL lovely?
But all the internals for accessing CD-ROM data is something of a black art to me. Tellico's current implementation of a CDDB query uses code from cd-discid, which has a lot of compilation conditionals, depending on the platform. The new CD-Text code has not been tested on anything except 32-bit Linux kernel 2.6.12 yet, so I added a flag to configure to disable compilation of the feature, in case it doesn't work on FreeBSD, for example.
If anyone is curious, download the SVN trunk code from http://forge.novell.com/modules/xfmod/svn/svnpage.php/tellico/. The CD title and artist are read, as well as the artist and title for each track.
The trunk code is still a bit unstable, so back up your data first! You won't be able to open new data files with older versions of Tellico.
Another minor point-release of Tellico is available, 1.0.3. It fixes a few small bugs, such as:
In addition, the Italian translation was updated, thanks to Lorenzo Novaro.
Tellico is featured in the October 2005 issue of Linux For You, billed as India's First Linux Magazine. Unfortunately, I can't seem to figure out how to order a single copy, so I won't be reading the article. But the tag line is:
Are you tired of managing books, cassettes and software? Try Tellico—the collection management software.
I had accumulated a few more bug fixes for Tellico, so I decided to put out version 1.0.2. Bug fixes include:
As always, I don't really plan to put out steady updates every week or two, as I have been. It's just that a couple of these bugs could really hamper usage, so a release is called for.
Het Computerwinkeltje seems to consider Tellico to be a major component of SuSE 10.0. The store lists important updates as:
Tellico 1.0.1 is available. It has a week and half's worth of minor bug-fixes. The crashing when selecting certain groups or modifying filters is fixed. Audio file metadata for compilation albums is now properly added. Icon sizing is correct in the config dialog, and bibtex files encoded in utf-8 are loaded correctly. In addition, Karl Ove Hufthammer. contributed a Norwegian Nynorsk translation.
The September issue of Linux+ Magazine has a two-page review of Tellico, and I just received the copy I ordered. The included DVDs also contain the Tellico source code. This is the first time Tellico has gotten mentioned on a CD or DVD itself!
My French isn't perfect, but I was able to read the complete article. The reviewer focused on a music collection, but paid fair attention to the other types of collections that Tellico supports. Like every other article, the first third is taken up with downloading and installing the program. He goes on to mention downloading data from Amazon and IMDb, along with grabbing cover images. The two import/export formats that get mentioned are Alexandria and Bibtex. The review closes with:
Le concepteur a vraiment tout fait pour que les utilisateurs du programme travaillent le moins possible tout en offrant le plus de bénéfices possible. Et c'est cela, le but.
If I have my French right, that means The programmer really did everything to allow the users to work as little as possible while providing as many benefits as possible. And that's the real goal.
Finally, I'm ready to tag and bag Tellico 1.0! Download it now! Some updates since 1.0pre2 include:
Tellico is a general collection for the K Desktop Environment. For a full list of changes since the last major release, 0.13.8, see the changelog.
After seeing my post about importing or searching GCFilms data from within Tellico, the lead developer, Tian, emailed me to say that he'd just recently added plugins for GCFilms to import and export Tellico data. That's great! Interoperability is always a good thing.
To test the GCFilms capability, you'll need to download the current CVS version, but I figure it'll be in the next release. As for Tellico, since I'm about to release 1.0, I'm in a self-imposed string freeze. As soon as that's done, I'll add the GCFilms import and export inside the app itself.
Someone on the Tellico mailing list recently asked about importing data from GCFilms. I got curious tonight, so I hacked together a combination of GCFilm's data reader and Heikki Lehväslaiho's imdbfetch.pl to write a perl script that reads the gcfilms database and outputs a Tellico data file. My perl skills are extremely limited, and it's a very ugly script, but it seems to work on the small GCFilms file I just made. You can download gcfilms_convert yourself and give it a shot if you're curious. Make it executable, run it, and redirect the output to a file, then load that file in Tellico.
Also to demonstrate Tellico's new ability to import results from an external script, you could also download a slightly modified gcfilms_fetch, and then create a new external application data source in Tellico 1.0pre2, using that file as the application, and just putting %1 as the arguments. The collection type would be video.
Then you can actually search your GCFilms database as a data source! One caveat, I just fixed a bug in Tellico 1.0pre2 that prevents the script from running if it's in your $HOME directory. Dumb, I know, but I just figured that out. So either put it somewhere else, or grab the source from SVN.
There is one more pre-release for Tellico before the big 1.0. Download Tellico 1.0pre2 and let me know about any nagging irritations or bugs that you have!
Some changes since 1.0pre1 include:
I'll be on vacation for about the next two weeks, and I'll be out of email touch. I'll catch up on everything when I get back, and then put out Tellico 1.0 with great fanfare. Or at least, I'll have a nice glass of wine when I do.
Tellico is reviewed in the August issue of Linux Magazine, the UK Linux Magazine, not the US one. I ordered a copy, and from the reading, it appears to be a translation of a review that appeared in the July issue of the German-language LinuxUser. I can tell that because the menu items seem to have been translated and re-translated.
The review is nicely in-depth, with several screenshots. The article header is superposed over a photo of a pile of stamps, which looks very cool. The reviewer focused on general usage, such as data entry, searching, importing and exporting, whereas other reviews have focused on downloading data from the Internet, which only gets a cursory mention in the Linux Magazine article. The HTML export gets high marks, and Tellico's configurability is mentioned repeatedly.
The review concludes with:
Tellico is a stable program that is easy to use. It is suitable for any kind of data collection that does not need to support simultaneous access by multiple users and does not have a particularly complex structure. Our test, which imported a literature database with over 3,000 records from a CSV file, also demonstrates that the program can handle larger files without any trouble. Running on a 1 GHz machine, Tellico imported the data in less than ten seconds.
Thanks to Frank Wieduwilt for the nice review!
Tellico 1.0 will have a Report Dialog, which generates different collection reports for the current data file, using XSL templates. I'm still tweaking them a bit, but here are some samples:
They are generated within Tellico, but can be printed or exported.
For all those people who email me and ask why Tellico doesn't open and save bibtex files directly, instead of having to import and export them, you now have another alternative for KDE. KBibTeX was released last week, and it looks like it fills the niche that Tellico doesn't, in the KDE arsenal.
I've just put together a pre-release of Tellico, 1.0pre1. I guess it's a beta, really, but I'm just calling it a pre-release. I would appreciate any feedback that folks are willing to give after trying it out. Also, if anyone is willing to provide updated translations, I consider this a string-freeze, too. Feel free to grab the tellico.pot file and email me updated po files.
ec4e71a4bb3db08a4b777410d25659c8 tellico-1.0pre1.tar.gz
First, the document schema has changed, so please backup your data files. Previous versions of Tellico will refuse to load data files that have been saved with this version. Some of the new features are:
I'll probably give this a couple of weeks to gel, then see about releasing version 1.0. I need to update the docs further, and do some refining on some of the stylesheets, too.
Tellico 0.13.8 is available and includes a few more bug-fixes. In addition, explicit permission to link to the OpenSSL library was added. This is the last release in the 0.13.x branch.
Congratulations to Michael McCracken and the rest of the BibDesk team for reaching the version 1.0 milestone.
I used some of the TeX character tables from BibDesk in Tellico's bibtex export. If I used MacOS X, I'd probably be using BibDesk for my bibliographies. I know a couple of people at work who use BibDesk, too. From what I've seen, it's great tool, full of clever features to make working with references simpler and quicker. And the screenshots are rather nice...
Another minor release is available for Tellico. Version 0.13.7 has an updated Dutch translation, thanks to Fred Marchee, an updated French translation, thanks to Regis Boudin, and fixes the following bugs:
Regis Boudin has kindly contributed Tellico packages for the Debian sarge (3.1) and Ubuntu hoary (5.04) distributions. Sarge was frozen with version 0.13.3 and hoary was released with version 0.13.1 in its universe repository.
You can add
deb http://www.periapsis.org/tellico/download/deb sarge main
to your sources.list file for sarge binary packages and
deb-src http://www.periapsis.org/tellico/download/deb sarge main
for source packages. Hoary users should replace sarge with hoary.
I decided to use Novell Forge to host a mailing list for Tellico. I may end up using it for bug tracking, SVN, or file hosting as well, but that's yet in the future.
For more information, visit the tellico-users info page or peruse the tellico-users list archives.
For now, any topic is fair game, including bug reports, patches, requests for enhancements, usage, etc. If the list volume ever merits it, I'll create a -devel or -i18n list, but for now, the -users list is the only one. Also, if the list volume picks up to something more than a few messages a week, I'll add an -announce list just for release announcements, etc.
Marcel Gagné has posted his review of Tellico: The Cook's Collection from the April 2005 issue of Linux Journal.
Robby Stephenson's Tellico is billed as a collection manager though I like to think of it as a very versatile personal library system. It's a great tool for keeping track of your many cookbooks as well as Linux books, science fiction books, mysteries, and so on.
Thanks for the kind review, Marcel!
Tellico 0.13.6 may not show the proper cover images in the icon view. Instead, it will show just the default program icon, with the three stacked books. I changed some of the layout code to try to fix a crashing bug, but which now seems to be prematurely deciding that the collection has no image fields. I'll have it fixed for the next release, which may be a 0.13.7, since I have a couple of other small fixes to include, as well.
Rosetta is an online translation tool, set up by the same folks that created the Ubuntu Linux distribution. I just discovered that someone registered Tellico on the site. That's neat. I just need to figure out what that means.
I registered myself, and it looks like several of the existing translations for Tellico have been imported. I need to figure out how to export the new translations as po-file updates, so I can get them into Tellico.
If you are using Rosetta for Tellico translations, would you drop me an email and let me know how you plan to let me know about translations? It looks like a super tool for people, and I want to make sure I keep up with it.
I had a few minor bug fixes, plus a new translation, so I decided to throw together version 0.13.6 of Tellico. Ligia Moreira contributed a Portuguese translation. Hidden items are no longer selectable, and importing multiple entries using the internet search now properly adds images.
I've had a couple users email me about being unable to start Tellico on RedHat 9, which uses KDE 3.1.
Looks like it's a problem with KAcceleratorManager, and I can't reproduce it on my local install of KDE 3.1. The quick way to fix the issue is to remove lines 211-215 in src/entryeditdialog.cpp, which start with
#if KDE_IS_VERSION(3,2,90)
and remove the lines up to and including the next
#endif
The only loss is not having keyboard shortcuts to the different tabs in the Entry Editor.
I hope to release the next version of Tellico as version 1.0. The added capabilities in the next major version will include:
That will complete my desired feature set for version 1.0. oF course, I'll have several pre-releases, I imagine. For later version, perhaps I'll get around to learning SQL and move to SQLite or something similar and make Tellico use a real relational database. For now, it's getting close to what I started out to create: a simple-to-use, personal library and collection manager application.
Tellico is reviewed in the April issue of Linux Journal. Because of that exposure, and also due to imminent releases from Mandrake, Debian (maybe?), and some other distributions, I decided to go ahead and put out Tellico 0.13.5 with the fix for the bad crashing bug when searching Amazon.com.
Additionally, a character encoding issue with Japanese searches in Amazon was fixed (I think, tough to test), and the German translation was updated, thanks to Gerrit Albrecht.
Once again, by attempting a fix, I have made things worse. In trying to get Tellico to properly read non-latin1 characters when searching Amazon.com, I introduced a likely segfault in version 0.13.4, since strlen() gets called on a non-nul-terminated character array.
--- src/fetch/amazonfetcher.cpp (revision 1125)
+++ src/fetch/amazonfetcher.cpp (working copy)
@@ -370,7 +370,7 @@
}
// assume amazon is always utf-8
- QString str = s_xsltHandler->applyStylesheet(QString::fromUtf8(m_data));
+ QString str = s_xsltHandler->applyStylesheet(QString::fromUtf8(m_data, m_data.size()));
Import::TellicoImporter imp(str);
Data::Collection* coll = imp.collection();
for(Data::EntryListIterator it(coll->entryList()); it.current(); ++it) {
I also have a fix for searching with Japanese characters, that I think may work, but of course, I don't run my computer in a Japanese locale. I guess I'll put out a version 0.13.5 sometime soon, since I hate the idea of a user trying to search Amazon and having Tellico crash. Thanks to Aglef Kaiser for the bug report and fix.
After fixing a couple more bugs in Tellico, I figured I could go ahead and release another version. Tellico 0.13.4, a.k.a. Jeff Gordon on skis is available. The changes include:
In my haste to fix a minor bug with the RIS importer for slightly mal-formed RIS files, I broke importing for normal ones. My QA people have just been sacked. You can either go back to Tellico 0.13.1 or apply this patch if you need proper RIS importing.
--- tellico-0.13.3.orig/src/translators/risimporter.cpp 2005-02-01 18:40:00
+++ tellico-0.13.3/src/translators/risimporter.cpp 2005-02-14 18:09:08
@@ -153,7 +153,7 @@
nextLine = t.readLine();
rx.search(currLine);
QString tag = rx.cap(1);
- QString value = rx.cap(2);
+ QString value = rx.cap(2).stripWhiteSpace();
if(tag.isEmpty()) {
continue;
}
I don't want to be putting out a new release whenever I discover any little bug, but since the configure bug might mess up a significant capability for Tellico, I decided to go ahead and put out Tellico 0.13.3.
A couple of minor tweaks were made in the audio file metadata importer, too.
Markus Brueffer let me know about a bug in Tellico's configure script that might effectively disable the Amazon.com importing. I say might because I'm not sure why no one noticed before now, which makes me think it might depend on what shell is executing the script. Markus uses FreeBSD, I believe.
--- ../tellico-0.13.2.orig/configure 2005-02-05 15:57:12.000000000 -0800 +++ configure 2005-02-08 18:44:40.102862416 -0800 @@ -27409,7 +27409,7 @@ fi; -if test x$enable_amazon == xyes; then +if test x$enable_amazon = xyes; then cat >>confdefs.h <<\_ACEOF #define AMAZON_SUPPORT 1
If the config.h file doesn't have #define AMAZON_SUPPORT 1, then you may have problems. Then again, maybe I didn't properly code the Amazon.com import anyways, and the flag isn't being properly verified. In any event, I'll likely throw out a version 0.13.3 shortly.
I just came across a new program for keeping track of one's movie collection - GCfilms, which uses gtk2-perl. It uses allocine.fr for internet searches, I believe. The documentation has some screenshots.
As always, I'll borrow any cool functionality for Tellico. :P
Tellico 0.13.2, a.k.a. Patriots Rock My World, is available. This releases fixes some accumulated bugs, and adds support for amazon.com import from the France and Canada localized sites.
Here's the full release changelog:
Since the Amazon Web Services now support amazon.fr and amazon.ca, I'll look at adding them to Tellico straight-away.
Tellico got its first, albeit in a brief comment, mention on Slashdot over the weekend, which caused a modest spike in downloads.
I suppose that's not wholly remarkable, but I took it to mean that Tellico has attained some level of notoriety, at least.
A new version of Tellico is available. Here's what's in there:
Tellico only imports a subset of all the information contained in the records returned from a z39.50 search. Internally, since I was lazy, Tellico uses the yaz library to convert USMarc and Marc21 records into the MODS format, then uses the mods2tellico.xsl stylesheet to convert the MODS data into a Tellico collection.
Someone emailed me about including the Library of Congress Call Number in the imported data. It's easy enough to add, if you don't mind editing the mods2tellico.xsl file. Here's a patch:
Index: mods2tellico.xsl
===================================================================
--- mods2tellico.xsl (revision 964)
+++ mods2tellico.xsl (working copy)
@@ -79,6 +79,10 @@
<prop name="bibtex">address</prop>
<prop name="bibtex">address</prop>
</field>
</xsl:if>
+ <!-- add LoC call number, can't call it lccn though -->
+ <field flags="0" title="Call Number" category="Publishing" format="4" type="1"
+ name="lcc" description="Library of Congress Call Number" />
+
</fields>
<!-- for now, go the route of bibliox, and assume only text records
with an originInfo/publisher element are actually books -->
@@ -184,6 +188,11 @@
<xsl:value-of select="mods:identifier[@type='lccn']"/>
</lccn>
+ <!-- add call number -->
+ <lcc>
+ <xsl:value-of select="mods:classification[@authority='lcc']"/>
+ </lcc>
+
<comments>
<xsl:for-each select="mods:note">
<xsl:value-of select="."/>
Basically, if you're not familiar with the diff format, just add the lines with a plus sign in front of them to the mods2tellico.xsl file, in the indicated position.
I get a bit nervous when I announce a release. I've had problems before with forgetting to remove some ugly debugging code or failing to properly package some files, and that's a pain. But, anyways, Tellico 0.13 is available.
Changes since version 0.12 include:
As always, there's no guarantee for anything with Tellico. I like it, I use it, I code it and it seems to work well enough, but who knows, I'm no programmer. You're welcome to use it as well, but please backup any data you care about and keep your dogs away from licorice.
Tellico is an KDE application for organizing your collections. It provides default templates for books, bibliographies, videos, music, coins, stamps, trading cards, comic books, and wines.
I think I've reached the end of my pre-release cycle for Tellico. Tellico 0.13pre3 is available for download, and I expect to finish polishing the rough edges within a week and have 0.13 ready by Thanksgiving.
New features or changes in -pre3 are
I'm going to finish updating the documentation before putting out version 0.13. There are a couple other bugs that I want to nail down, too. The PIlotDB export acts funky, and I can't track down a cause.
I'll probably put an announcement on Freshmeat or kde-apps tomorrow.
I've fixed a few bugs in Tellico 0.13pre1, and so Tellico 0.13pre2 is available for testing. As before, it's still a bit rough, but it's close to release-shape. I improved the printing efficiency quite a bit, and added z39.50 user/password authentication to pre1. If anyone is interested in trying it out, I'd appreciate any comments about the new features, and any bugs or problems that crop up.
I don't have the release notes written up yet, but here's a short list of new features.
I've upgraded automake and autoconf on my box, and while I don't think that's supposed to impact the configure file, it probably will. The auto* tools are all black magic to me. Please let me know of any problems.
Pyblink is a utility for using pybliographer together with OpenOffice.org. It helps with pasting citations in an OpenOffice document and keeping track of the reference list. After someone asked me if Tellico could be made to work with pyblink as well, I took a look at the code. The fix turns out to be simple enough.
In the pyblink.py file, it looks for the LYXPIPE command coming from pybliographer in line 57, which has
m = re.search('LYXCMD:pyblio:citation-insert:(.*)$', buf)
Replace that with
m = re.search('LYXCMD:.*:citation-insert:(.*)$', buf)
That should do the trick and allow any app that uses the citation-insert function with lyxpipe to communicate with pyblink, as well. I emailed the pyblink author in case he wants to include the fix for his next version.
Alexandria 0.4.0, just released this weekend, supports importing and exporting Tellico data files. I gave a little help (although I don't know Ruby at all), but much of the work was done by Laurent Sansonetti. Great job, Laurent! It's a neat thing to work with folks like that.
The next release of Tellico will remove the dependency on cdparanoia's libcdda for the CD information lookup by using an internal copy of some code from cd-discid. I didn't want to introduce too many external dependencies. But this moves me really into the land of black magic, since I have no idea how to access CD-ROM drives.
Evidently, there's a problem with some versions of the linux kernal or glibc header files when including linux/cdrom.h. I found more information from KDE bug #86188 and I added the same workaround to Tellico. I hope that fixes the problem in the pre-release from yesterday.
I've managed to get everything working for a pre-release of Tellico 0.13, pre-release 1. It's still a bit rough around the edges, the docs are not updated, and it may cause your dog to die, but if you're willing to try bleeding-edge stuff, go ahead. When you find problems, please let me know.
Here's a short list of additions and updates:
Since the file format changed in this version, older versions of Tellico will not open files saved by this version! You should backup your data files often! As always, there is no guarantee - this is a hobby of mine, and a hobby only.
When I added images to the collections in Tellico, portability of the data file was important to me, so I made the decision to change the file format to zip and to include the images in the file itself. Tellico doesn't generate thumbnails ro reduce the images at all. They're saved as is.
Recently, I've gotten some emails from users who have hundreds of images in their collections, and as a result, Tellico is really slowing down. Chalk it up to my lack of forethought, I suppose.So for those people who have huge databases, I apologize. You'll just have to limit the number of images in your collection, or just use smaller ones.
There are a couple quick solutions. One is to use a URL field with a link to the image, preferably on the local disk, and change the XSL templates to show that image. Then, the image would no longer be part of the data file, and Tellico could zip right along. Or, I could change the image loader to load-on-demand, so that while the data file remains large, Tellico would only read the image from the file when it is needed, instead of the current way of loading everything on file-open. (Chalk that one up to my implementing something that just works and not being a real computer hacker.)
In the long term, I suppose I might end up going to a SQLite data file. That would allow me to use the power of a real relational database, and would make queries a bit simpler. The XML export would still be there, of course, and I could even turn that into a DCOP call, I suppose. mCatalog uses SQLite, as do many database programs.
I plan to finish up my polishing and put out a pre-release of Tellico 0.13 this weekend, with z39.50 import. After the release is out for a bit, and I satisfy myself, that will become Tellico 1.0. Then, I can possibly look at reworking the internal data model.
Since I renamed Bookcase to Tellico, the change has gradually filtered out to the packages that other folks and distributions put together. The Gentoo ebuild was just updated as was the Mandrake rpm and the FreeBSD Port.
Cool, Tellico, a.k.a. Bookcase, is part of the just-released SuSE Professional 9.2 on DVD1.
I was having problems running mCatalog, but I figured out what my problem was. I just upgraded glade to version 2.6, provided with Mandrake 10.1, and mCatalog will actually start now without crashing.
So if you're suffering from bug #1047712, try upgrading your version of glade.
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object in <0x000bc> BorrowerList:.ctor (Catalog,Database) in <0x0006c> GladeApp:PopulateBorrowers () in <0x00de8> GladeApp:.ctor (string[]) in <0x0003c> GladeApp:Main (string[])
Someone posted a question to the Alexandria mailing list about library size limits. Since the collection was generated from a Tellico export, I hope the problem doesn't lie in that pipeline.
I did run across a few snags when I was writing the exporter since Tellico doesn't use a true YAML exporter and the YAML format wasn't at all apparent to me, but I thought I got the export right. But sometimes, you never can tell. Maybe Ian or Laurent can figure something out.
I ran across another app for managing book collections: mCatalog, which also happens to handle movies. As yet, I've been unsuccessful in running it, after I installed the buttload of libraries that mono requires. I'm running into Bug #1047712.
When I started Tellico, there were no really effective book catalog programs for Linux. Now, there are more than 4 good ones, conceding that I'm the author of one of them. That's rather cool.
mCatalog borrows the interface from a MacosX application called Delicious Library, with permission. The "shelf view" looks rather snazzy, though you can't fit that many book covers in that space. And at one time, I did consider making Tellico include more than one type of collection in a file, so that movies, music, and books could all be accessed at once. I discarded that once I realize my framework wouldn't easily support it, and besides, I wanted the more generalized approach.
Tellico is a collection manager, providing default templates for books, bibliographies, videos, music, coins, stamps, trading cards, comic books, and wines, along with support for custom collections. Using the KDE libraries, Tellico organizes your collection in various ways to help you keep track of your collectibles.
Tellico 0.12 is functionally equivalent to Bookcase 0.11. The only changes were in the application name. Old versions of Bookcase should be uninstalled, since Tellico uses a different location for storing application-specific data and configuration files.
I was recently contacted by Epigroove, makers of an application called BookCaseTM. They have a trademark on the term, BookCase, and asked me to change the name of my software. I certainly don't want any confusion, and they do have a trademark, so I agreed to rename my Bookcase.
I've been tossing around names for the past week or so. A few generic names did suggest themselves:
I also considered names with more of an exotic-feel to them:
But, I think I have settled on Tellico, which is the name of a town close to where I grew up. Sure, the name has nothing to do with the software's function. Sure, that probably means that some users may not discover it as easily. But, I like the sound, and naming my software after my home-town is appealing. Plus, most users either click an icon or find the menu item anyway, so the name doesn't really matter. KDE is nice enough to add Collection Manager to the menu item, as well. And I'm fairly certain that I won't have to go through another name change in the future, either, since I can't find any other software named Tellico nor does it seem to be trademarked.
I'm going to ruminate on the name change a little longer before deciding. The name-change will be the whole hog, though; all of the documentation, etc. I'll change the URL of the app, but use an HTTP redirect so I don't break things. I'll probably leave the default file extension as .bc. I'm not sure what the name change will do to the application records at Freshmeat or kde-apps.org, but maybe they can cope.
Comments are welcome...
If you have an older version of kdemultimedia-dev on Debian, then you might have problems compiling Bookcase, because of Bug #258649. You should update your version of kdemultimedia-dev.
Virginie Quesnay sent me some new icons for Bookcase. I like them so much, I'm going to incorporate them as the default icons for the next release. Since Bookcase will have a new name, the new icons will be appropriate. Although more than just book collections are supported, I like the idea of tying the icon to the original function of the software - namely, tracking a book collection.
Now I just need to make sure I'm installing the mimetype icon properly.
Oh, and Virginie's icons fit into the Nuvola icon theme rather nicely.
After a couple of suggestions from Bookcase users, I added a couple more importers to Bookcase for version 0.11, code-named tempus omnia revelat. First, if you have taglib installed, Bookcase can scan a directory of audio files, and create a collection from the metadata for all the albums represented by those files. In addition, if libcdda from the cdparanoia package and libkcddb from kdemultimedia are installed, Bookcase can query the FreeDB website for CDDB information about an audio CD.
FInally, I added experimental import and export for Alexandria libraries. Alexandria is a Gnome book collection manager, so maybe this can facilitate users moving between the two applications. Obviously, quite a bit of information is lost when exporting to Alexandria since Bookcase can contain many more fields, but the major ones should stay intact.
Minor additions include an updated Norwegian translation, some fixes for crashing in the find and CSV import dialogs, and support for gcc 2.95..
The Mandrake RPM files I built now require libkdemultimedia-kscd and libcdda0. Using urpmi is the smart way to install the RPM files on Mandrake.
The new configure checks for the additional libraries may have some bugs, so if you get compilation errors, please let me know. And the CDDB lookup seems to fail more often than it should, I'm still investigating that.
Bookcase 0.10, a.k.a. Missing Norway is available. Bookcase is a general collection manager, useful for keeping track of your book, music, or DVD collections, or any other collectible for that matter.
Version 0.10 adds a new Date type field for showing dates in the ISO 8601 format, along with a new icon view for your collection or entry group. And for the first time, Bookcase is able to search and import data directly from Amazon.com! Paragraph type fields may now include HTML formatting, and all line-breaks are automatically converted and retained. An option for limiting an export to the selected entries only was also added.
As always, there are no guarantees. You should always have proper backups of all your data. If you have any problems, do let me know.
Let's try this again, shall we? Thanks to astute and diligent Bookcase users, I was emailed within hours of posting version 0.10pre1 that once again I had messed up the UI file location. Not only that, but I also failed to include the all-important XSL file for importing Amazon.com data. So I got those two items fixed, and bookcase-0.10pre2 .tar.gz, a.k.a. "broken sunglasses", is now available. I'm pretty sure it won't cause your computer to blow up and smoke like something hideous, but hey, no guarantees.
UPDATE: Bookcase 0.10 is available, so I removed the 0.10pre2 version.
Update: I made some packaging errors, so I took the link down. My apologies. The UI file wasn't properly referenced, and the package was missing a neccessary file for the amazon import. I'll have an updated package sometime later today.
After a bit of a delay, I'm ready to push out the next version of Bookcase. Version 0.10pre1, a.k.a "pink sunglasses", is available for a test shot. Please note that this is a test release, and as always, you should backup your data files. I make no guarantees about my coding ability.
The three new primary capabilities are:
I did not get around to adding z39.50 capability in this version. That will be for version 0.11, I expect. I also hope to add a separate search mode for the Library of Congress, shortly.
If you're brave and willing, give it a shot and let me know about any new or old bugs! Thanks!
I've just exchanged some emails with Laurent Sansonetti about Alexandria and Bookcase. He's planning to include XML export functionality in Alexandria, and perhaps import capability for Bookcase XML files. Once his XML schema is finalized, I'm going to have an XSL transform ready so Bookcase can import Alexandria files. Improved interoperability between KDE and Gnome apps is always good!
He's also looking into z39.50 for Alexandria, so I pointed him to the Yaz library. My KIO slave has really languished, so he's likely to get to it before I will. I'm curious to see what his interface ends up looking like.
Linux Format has a review of Bookcase in its May 2004 issue, #53. They don't post their reviews online, so you can't really go look at it, but Bungalow News in Pasadena finally had a copy a couple weeks ago, and I snagged it. The review is in their Hot Picks section, and it's rather lauditory.
Despite the odd glitch here and there, Bookcase is maturing well and is a first-rate method for organising collections of any kind. It has all the hallmarks of a great app: simple, flexible, fast, and pleasant to work with. If - like us - you're having a nightmare keeping track of books, DVDs, and CDs, it's a godsend!
Thanks! The review is for version 0.8, and the latest at the moment is 0.9.3, so maybe some of the odd glitches have been ironed out. As always, if you find something that doesn't work, or is non-obvious, please let me know, and maybe the Bookcase Handbook can be updated or the app can be fixed.
Bookcase has a compilation problem with gcc 3.4. I believe that commenting line 121 in src/translators/btparse/err.h should fix it. That's the line that has
int k;Change that to
/* int k; */
At least, I think that fixes the problem. I'm still on Mandrake 10.0, that has gcc 3.3.
Chris Karr has a beautiful MacOS X app for personal library management called Books. He just implemented an import filter for Bookcase data files. That's pretty darn cool.
Bookcase 0.9.3 is available. Thanks to some refactoring from Regis Boudin, a bit of old ISBN code with hazy copyright restrictions was removed. It really shouldn't have been there in the first place, I guess. Regis also added hyphenation rules for French publishers. The Italian translation was updated, thanks to FaUsT. Some other minor bugs were fixed, as well.
Bookcase 0.9.2, code-named "Crumbled Peanut Shells", is available. The only new addition is an XSL template for importing MODS collections. It works for books, but nothing else. The bug fixes include:
That first item is a bit untested. My Linux distribution uses a version of libxml2 > 2.6, so I can't verify the bug fix. But I do think it fixes the problem, which was showing up for several SuSE users with printing errors.
Heikki Lehväslaiho just let me know that he's written a script for downloading information about bookcase, dvds, etc. using the Amazon.com Web Services and importing them into a Bookcase collection. You can download the script at his Programs Page. So you can run Heikki's script, search for certain books and download the data, then import and append the collection to your current collection. Excellent!
Astronomers speak of First Light, the moment when the telescope receives the first photons for an image. Well, Bookcase had her first light last night, so to speak. I've got a working import from Amazon.com, and I was able to search for a book, and add it to my collection, complete with cover image!
Just like with First Light, there's still quite a bit of tweaking to do. I'm not completely happy with my interface to the Internet Search. Right now it looks like this:

And it's not efficient at downloading stuff. And there's no error handling. And no configuration. But, it works!
I've had a couple of people email me about printing problems. Bookcase uses the bookcase-printing.xsl file to export HTML for printing. That file gets installed in $prefix/share/apps/bookcase/ along with bookcase-common.xsl, which it imports. For some reason, that second file is not being found. So far, it's only been SuSE users, so it could possibly be a distribution issue, but I can't figure out why.
If you're running into this problem, edit the bookcase-printing.xsl file to reference the bookcase-common.xsl file by its complete path. For SuSE, that's likely to mean changing the <xsl:import> element to be:
<xsl:import href="/opt/kde3/share/apps/bookcase/bookcase-common.xsl"/>
It appears that GCC 3.4 may be a bit more strict about compiling old C code. The btparse library that Bookcase uses internally for Bibtex export is a bit crufty, and compilation is failing. I'm not sure yet if it's due to a bug in how I included the library or in btparse itself, but I'll try to track it down and get it fixed. Right now, I'm afraid you'r eout of luck with GCC 3.4 and Bookcase.
I just released version 0.9.1 of Bookcase, code-named "Thin Mints and Sweet Tea", a KDE application for managing your collectibles, like books, DVDs, etc. I updated a good bit of the Bookcase Handbook. The rest of the ChangeLog looks like this:
Bookcase has some issues with its translation file. First, the couple of menu items that are defined in the bookcaseui.rc file aren't getting translated because I didn't have the extractrc script from the kdesdk module in my $PATH. Second, the couple of places that I use the multi-argument form of i18n() in the source aren't getting picked up by gettext. Turns out, I need a patched version to generate the bookcase.pot file properly. The patched version isn't need to run Bookcase with the translations, just to write the indices correctly. I'll make sure to get these issues fixed and I'll post an updated bookcase.pot file.
There's a new GNOME application for managing your book collection. It's called Alexandria and looks promising. It already has Amazon import, based on a ruby module. Its data format is YAML, something I'm unfamiliar with, so writing an import or export function would not be easy for me at the moment.
Now maybe everyone who complains that they have to have the KDE librairies installed to run Bookcase can give Alexandria a shot. :-)
Since I've actually started writing the help documentation for Bookcase, I figured I could put it online, too. So the Bookcase Handbook is now available. It's still rather incomplete in several areas, but finishing it up is my primary focus for version 1.0.
I'll go through the emails I've received from Bookcase users to see what type of problems popup a lot, and I hope to make Bookcase the exception to the usual rule of minimal user documentation in most free software applications.
I've made version 0.9 of Bookcase available, code-named "Chasing Frogs". There are a few fixes since version 0.9-pre1. The Pilot-DB export is more robust. The HTML export now uses filenames based on the entry titles rather than bookcase-entry-*. The Italian and Finnish translations were updated, thanks for FaUsT and Teuvo.
Improvements since version 0.8.5 include:
I plan to update the documentation, along with the bug fixes through the 0.9.x series, then release a version 1.0.
Heikki Lehväslaiho has updated his imdbfetch Bookcase script to be more robust when dealing with incomplete records at IMDB. Check out v1.0.4.
I just pushed out Bookcase 0.9pre1, code-named "Walking to San Marino," which has some new functionality, as well as lots of bug fixes. Improvements include:
The documentation is still incomplete. Parts are done, some parts don't exist. This is a pre-release version of a beta product, please backup any data you care about before trying it. I'm only a hobbyist programmer, after all.
Bug fixes include:
If you want to update any of the translations, do send me updated .po files. I hope to release 0.9 sometime next week.
In an email, a Bookcase user asked me about translated field titles and mentioned that they didn't change when Bookcase was run with a different language. The reason for that is just that the field titles are directly saved in the data file. Once a new collection is created, then there's no easy way to know which fields should continue to be translated without explicitly asking the user, and I considered that to be too intrusive. So if you have your collection saved with field titles in French, and send it to your German friend, he'll see French.
WIth that said, there is a way to revert to default field titles in the current language. Just create a new empty collection, and import your data file, choosing to append it to the current collection. That will revert all the default field titles to the current language without changing anything else, I think.
Heh, as always, if you care about your data at all, back it up.
Heikki Lehvaslaiho has created a script for interactively querying the Internet Movie Database (IMDB) for movies and then creating a Bookcase data file. It's great, I've already been playing with it quite a bit. It even supports downloading the movie images, along with alternative titles, global certifications, etc.
Heikki did a great job commenting the code, too. You might need a couple more perl modules, but that's straightforward enough. urpmi to the rescue, for me.
All of you who have been emailing me about this functionality, well, go grab imdbfetch.pl and go at it. You can append the resulting data file to your current collection so you don't lose any of the data you've already entered.
Thanks, Heikki!
Crashing bug are always the worst because they make the user feel like they can't trust the program. And crashing bugs that prevent you from even opening your data file are the worst of the worst. A helpful user just reported one to me, and sent a test case, which is always good.
If you put nothing but white space in a field, and then save the file. Bookcase will crash whenever you open the file again. That seems like a weird bug, and it is. For some reason, Qt returns a DomNode that is not a textNode when the node has nothing but spaces. Don't ask me why, probably some weird reasoning in the XML spec.
So I fixed the bug, and the next version won't have this problem. Until then, don't put empty space in your Paragraph fields!
I've got a new entry template for Bookcase 0.9, which I hope to release in a couple of weeks. For lack of a better title, I borrowed a phrase from KMail and call it the Fancy template. It's got a lot of conditional XSLT stuff and I believe it looks pretty good, no matter what data is in the entry. For entries with images, those go down the right column, and all the rest of the data are in tables on the left side like so: 
For entries with no images, the data is split into two equal column, grouped by the field categories, like so: 
The colors follow the KDE system colors, so for different color schemes, the Entry View will look different. I'm pretty happy with how it turned out.
Collections with images don't like to get exported to PilotDB format in Bookcase. And they display their unhappiness by crashing the application. So be nice to your collections and don't export them with they have images. I'll have more well-behaved collections in the next version.
UPDATE: Actually all my collections are extremely bitter over a political dispute and they refuse to work. I'll just have to hire scab collections next time. So consider PIlotDB exporting totally broken at the moment.
Bookcase freezes when the "Other" delimiter button is clicked in the CSV importer, a really stupid error on my part from when I changed the way I was parsing the CSV files. Easy to fix, and it will be in the next version, which will probably be 0.9. If you really need the patch now, email me.
Bookcase has a compilation error under gcc 2.95 in the DB.cpp file because the libstdc++ support is incomplete with no definition for vector::at(...). The PalmDB tools did have a configure check for gcc version 2.95, but I overlooked it when I added the library. So it will be in the next version.
Until then, you can run make CXXFLAGS="-D__LIBSTDCPP_PARTIAL_SUPPORT__" and that should allow the compilation to complete.
I just put out a quick bug-fix release of Bookcase. The primary fixes were for corrupt data files when an image was used more than once, and for properly escaping the collection title in the XSLT export. There were a couple layout fixes, as well as one for some random crashing.
Bookcase has a bug that when the same image appears in multiple entries and the collection is saved, Bookcase won't re-open the file. The bug is that I wrote the same image to the zip file twice, but KZip has problems with that. Neither ark nor file-roller care, though; they'll open the bookcase data file anyways. I filed KDE bug 76791 about KZip's robustness and I fixed the Bookcase bug as well. I'll try to get out an updated version this weekend, perhaps.
If you have data and Bookcase won't open it, try using file-roller to open it and then resave the file. (Yes, I know it's a GNOME app...) That fixes the problem, at least until you save it again from within Bookcase. That won't work with ark, unfortunately, for some reason.
As always, this is mostly a guess on my part. Who knows, maybe I'm just using KZip all wrong.
I just discovered that there is another book collection program called BookCase, available in Macintosh and Windows versions from Epigroove. That's a shame, I thought I had done a thorough search before I decided on Bookcase in the first place, the capitalization difference notwithstanding.
So I'm considering a name change. Nothing familiar or obvious springs to mind. Bookcase is not limited to books, so perhaps something hinting at media collections would be good. For kicks, I looked up the Latin word for bookcase: scrinium. One of the definitions I found was:
A receptacle in the shape of a cylinder with a removable lid, and used in ancient Rome as a container for scrolls.
There's a great list of Latin words for books and libraries at http://www.nathanielturner.com/writingbookslibraries.htm. Pegma and pluteus suggest themselves, or something iinvolving codex or colophon. Corpora? Maybe theca. These are all unfamiliar words, though, which is perhaps a drawback.
Staying with english, maybe bookchest, mediachest, or bibliophile.
The collection title is not properly escaped in Bookcase XSLT export, so printing and any other XSLT export that uses the title will not print if you have an apostrophe in the title, for example. I'll have a fix in the next version.
I just put out Bookcase 0.8.4. It has fixes for a Keramik layout bug, default entry template layout bug, a crashing problem when renaming certain fields, and proper character encoding when exporting HTML. It includes compilation fixes for gcc 2.95 and *BSD. A new Czech translation was added, thanks to Robert Kratky, and the Spanish and Estonian translations were updated.
I don't plan to be in the habit of having a new release of Bookcase every day. But the last couple of bugs were bad enough for me to be ashamed to have people using Bookcase at all. Folks have been helpful in pointing out the bugs, and I feel that I can respond by having a new version without them.
The new libxml API in versions > 2.6.0 uses a different mechanism for passing options to the XML parser than previous versions did, and as a result, Bookcase was grabbing the DTD from my website every time it loaded a document or changed the view. So I changed that so that no net access is allowed.
While I was at it, I fixed a bug with remembering the visible columns (though there are probably 17 more), a crashing bug when deleting paragraph fields, and a compilation bug for certain versions of libxml and libxslt.
So, grab Bookcase 0.8.3 and be happy. At least for a couple hours... :)
It seems that I've run into the same problem that Juri Pakaste did with Straw. Now that Bookcase uses a proper DTD at a canonical location, libxml seems to be grabbing it all the time from the server. And that takes too long.
One way around it is to properly register the DTD in the installed location using --with-xml-catalog option in the configure script, which doesn't happen by default. If Bookcase is compiled with that option, then libxml doesn't go online to find the DTD, it just looks at the installed version.
But I want to find out how to disable this in libxml. I don't need DTD parsing.
I committed one of the cardinal sins of programming, it seems. The file truncation bug was due to an implicit assumption on my part that the number of characters in an XML stream was equal to the number of characters in the character array. For Unicode characters, of course this is not true, and so the xml stream was getting truncated. I don't even remember thinking about it when I added the call to the KZip api. Alas.
I had some help from Michal Rudolf in tracking down the problem, and I appreciate that. It was exacerbated by the fact that there is no error recovery in XML and Qt's DOM reader properly returns a NULL document when an error is encountered.
Bookcase 0.8.2 fixes the bug.
And as punishment, I promise to read The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) 20 times.
A couple of users have emailed me about truncated Bookcase data files. I've not run into that problem myself, but I'm going to check through the zip code again. I'd hate to have a bug of this magnitude, but just a reminder, it's probably a good idea to back up your data file repeatedly, since I'm only a hobbyist programmer.
Bookcase 0.8.1 is available. New features include specialized entry templates for music and video collections, EAN to ISBN conversion, a versioned DTD, support for xmlcatalog in the configure script, and a Finnish translation. The French translation was updated, and the compilation and linking problems were fixed.
If you're trying to compile Bookcase and getting a lot of errors like this:
/usr/lib/libexslt.so: undefined reference to `xsltInitElemPreComp'
then change line 7 in src/Makefile.am to have LIBXSLT_LIBS instead of XSLT_LIBS. For some reason, and I can't remember why, that got changed between version 0.7.2 and 0.8. My commit logs are useless. :-) Automake will have to regenerate the configure file, too, so you'll need it to be installed. Or wait for 0.8.1, which I plan to put out tomorrow or Monday.
What confuses me is why my compilations never had problems. Why would Mandrake not need the -lxml2 but SuSE would?
I threw together another entry template for Bookcase that's specifically for videos. It's really ugly code, a mismatch of bad table layouts and CSS like the default one, but it looks decent, I think. If you want to give it a shot, download Video.xsl and follow these directions. Here's a screenshot:
![[New Video Template Screenshot]](/img/bookcase0.8-video.png)
I ran across the results of the Debian Popularity Contest today. It doesn't claim to be anything of a scientific survey , just the results from people who voluntarily run a script on their own machine. As of today, Bookcase is tied for 4484th place by the number of people who use it regularly and tied for 6544th place among those who just have it installed.
And those stats are for version 0.6.6. I hope they can get it updated to 0.8 soon.
I just noticed today that Bookcase is part of the Lindows Software Warehouse, and renamed to My Personal Library. I think they just rebranded Regis Boudin's Debian package, since they're still at version 0.6.6. What's most amusing to me is that the book in the screenshot is Lies and the Lying Liars Who Tell Them by Al Franken.
I had upgraded my versions of libxml2 and libxslt1 to take advantage of some speed improvements and forgot to downgrade them before I built the Mandrake 9.2 RPM for Bookcase. I fixed that and put up a second version, available on the Bookcase home page. So if you used that RPM and got an error about xmlReader, try the -2 RPM.
I put together Bookcase 0.8 last night, and submitted it to Freshmeat and KDE Apps. New features include:
Because the collection may contain images, the file format is now zipped XML. So if you run any scripts on your XML, you'll need to extract the bookcase.xml file from the zip archive. KDE 3.1 or higher is now required as well, since Bookcase uses the KZip class.
UPDATE1: It looks like Qt 3.1 has a build error that I didn't catch. If you have a problem compiling, try adding the line
#include <kcombobox.h>
to the src/configdialog.h file.
UPDATE2: Whoops, another potential build error with include files is in src/filehandler.cpp. You might need to add to the top of the file:
#include <kdebug.h>
The first pre-release of Bookcase 0.8 is available. Significant additions include four new collection types, a new image field, a new entry view, an experimental PilotDB exporter, and additional menu commands for creating and modifying entries. The file format is now a zip file, but the data is still contained in the archive in XML format, much like KOffice. Because the KZip class is used, the minimum KDE version is now 3.1, instead of 3.0. I'm going to try to figrue out a way to conditionally compile a local version of kzip.cpp, but I'm not sure I'm smart enough to figure it out.
I'd appreciate any feedback on the new functionality, but do backup your data before trying this pre-release version. Obviously, with the zip file, older versions of Bookcase will not be able to open any 0.8.x files. I still have some cleanup to do before putting out version 0.8, along with any bugs I discover, but this is pretty close.
I'm just about ready to put out a beta for Bookcase 0.8. The main improvements are the addition of images in the collection and an entry view that uses an XSL transform to show the info via HTML. The images pushed me to move to a Zip file format, with the XML file inside, and the new entry view pushed the enty editor out to a dialog box. Here's a preview of a sports card collection.

I've added several new collection types in the upcoming Bookcase 0.8. Along with the collections of books, bibliographic entries, music, and videos, there will be default collections of comic books, coins, stamps, trading cards, and wines. I chose those because I want them. :-) There's also a custom collection where the user can add whatever fields they want, there just won't be specific icons or functionality for that collection type.
Right now, I'm going through and setting up the default fields for each new collection type. Anyone who is translating Bookcase will have a bit more work, but these should be the last that I add.
I've pretty much finished the UI for the new Image type fields in Bookcase. You can see the finished widget below.
![[Image Field UI]](/img/bookcase-image_field.png)
I've broken out the edit widget into a dialog box. I added a HTML widget for viewing the field values for an entry, which took the place of the editor in the main window. XSLT templates will be used for the view widget, which looks pretty cool. I've been playing with the dialog box, and it occasionally annoys me, since at the moment, I can't figure out how to tell KDE not to have an extra taskbar item for it, and it's always a top-level widget, but I'm hoping to iron that out shortly.
I've also been rethinking my plan for saving images. A Zip file might be a better way to go, especially if folks have lots of images in a data file. My goals are to keep the Bookcase data easily accessible for scripting, such as Joseph Reagle's Amazon script, but to keep file sizes small and efficient, making IO operations smoother. So, to those ends, I've decided that a Bookcase data file will be self-contained, i.e. it won't be referencing images elsewhere. Then, if the collection does have images, it will be saved in a zip format with a top-level bookcase.xml file, and an images/ directory. That way, scripts will be easy to write, since unzip can take file names within a zip archive as arguments.
My only remaining dilemma is what to do when a collection doesn't have any images. Should I save by default into a text XML file, or retain the zip format? And should I install .desktop files for the .bc and .bcz extensions, or just use .bc for both? Still thinking about this...
I haven't played with my KIO slave for z39.50 access in several months. Apparently, it's broken for the most recent versions of yaz and yaz++. That doesn't really surprise me, it wasn't well coded in the first place. It was more of a proof of concept that I wanted to check. Before I stopped working on it, I'd removed the dependency on yaz++ in favor of direct use of yaz itself.
My plan is to get the final functionality in Bookcase that I want for a 1.0 release, and then to turn my attention to searching and data collection from the internet. That may take the form of z39.50 for books, along with Amazon.com and other book-sellers, IMDB for videos, FreeDB for CDs, and anything else I can grab. I've not put a lot of thought yet into how it all will work. Screen-scraping is a time-honored Internet tradition, but careful reading of some of the usage policies seems to indicate that it is "not allowed." IMDB seems to be real strict about that, for example. Of course, z3950 is the most versatile, for books.
Sweet, I've got images working in Bookcase. I decided to base64 encode them and stick them in the XML stream itself. That blows up the file size by 33%, I think (or is it 25%? I can never remember.) But I hope folks won't be saving 200 MB tiff images inside a Bookcase file! I'm using the md5 hash of the image data as the ID, I hope that's unique enough. I'm fairly confident that it is. Using an ID field in the entry allows me to only save an image once, even if more than one entry references it.
I got a great suggestion from a Bookcase user by email. Since KDE uses a separate class for auto-completion, I can subclass it and allow completion for fields with multiple values. Right now, it just completes to the whole string, so it depends on the order of the values. I can fix this fairly easily, I think.
There were a few minor bugs in Bookcase 0.7.1 that kind folks have pointed out to me. I think I got them all fixed for now, so I pushed out 0.7.2. The fixes include ISBN formatting for non-english publishers, auto-capitalization, remembering visible columns, and updated status lines. The German translation was updated, and a Swedish translation was added.
There were two reasons I initially starting playing with my book collection manager: having a usable piece of software, and teaching myself C++. On that second front, I've started playing more with namespaces, moving some classes to a Bookcase namespace. I'm a little worried about earlier versions of gcc, like 2.95 and 2.96, but if they can compile KDE, I guess they can handle namespaces ok. One side effect is that the class view in KDevelop becomes a lot less useful. I guess I'll end up moving to KDevelop3 before I thought I would.
Right now, I have a usable pilot-db exporter, though if I export too many books, jpilot-db won't recognize the pdb file. Since I don't have a PDA myself, this will just be experimental functionality when I end up releasing Bookcase 0.8.
I've also written a few emails to the developer's email list forOpenOffice.org's bibliographic tool. Using Bookcase to interoperate with OpenOffice is an intriguing idea, and one I'll certainly keep rattling around in the back of my head.
With my fingers crossed, I'm putting out Bookcase 0.7.1. The encoding issue was that opened files were being read as being in the user's locale, rather than UTF-8. Note to self: QDomDocument::setContent(QString, ...) is not the ticket, QDomDocument::setContents(QIODevice*, ...) works much better. And if you overwrote a document file with the double encoding, you can fix it by using the iconv command:
iconv -f utf-8 oldfile > newfilefor each time the document was saved.
Along with the encoding fix, there were a couple other bugs to fix. Bookcase now compiles with GCC 2.96. The fields editor now truly sets the field title, and bibtex and CSV export will always be in the user's locale, rather than UTF-8.
As always, who knows what stupid error snuck in. Backing up your data before using a new version is probably a good idea. And remember, no guarantees! :-)
Yep, Bookcase 0.7 has a big problem with translations for some reasons, again. It's rather frustrating, I thought I had the encoding problems straightened out. So anyways, if you have collections or translations in codings other than latin1, you probably want to stay away from version 0.7 until I figure out what's going on. I think I'm going to just take it down until I do.
OK, Bookcase 0.7 is ready. I think everything is mostly polished, but inevitably I find something dumb in the packaging 10 seconds after I put up the tarball.
First, the XML format changed significantly so any XSL stylesheets or XML importers will have to be changed. And that means that versions of Bookcase earlier than 0.7 won't be able to open 0.7 data files.
Bookcase 0.7 adds default collections for bibliographies, video collections, and music collections. It's not meant to be a music manager, more of an inventory program for your discs or videos. The bibliography is closely coupled with the bibtex format right now. It's the only collection that can be exported to bibtex, so existing book collections will have to be convert to a bibliography via the menu item if you want to export to bibtex or bibtexml.
Two new field types were added: single and double-column tables. They're good for music tracks or video cast lists.
The printing was significantly reworked. There are no longer separate config options for the printed fields. Only the fields in the list view are printed, and all entries are sorted as they are in the view. Furthermore, if there's currently a filter showing a subset of the collection, only those entries will be printed. So if you modified the default bookcase-printing.xsl stylesheet, you'll have to move it.
The import and export routines were reworked. Export formats now include CSV and HTML, along with any generic XSL transform. Bookcase can now import both bibtex and CSV now. The bibtex import is via an internal copy of the btparse library from Greg Ward.
Minor improvements include numerical sorting, a Tip of the Day dialog, and config dialogs for the toolbars and shortcut keys. Fields can also be re-ordered so their layout in the editor may be modified. Finally, if more than one field is formatted as a name, a pseudo-group is created for all those fields together, meaning fields such as Author and Editor can be grouped together.
Do let me know of any problems or bugs that you find.
I got the translation mistake fixed. Now the tarball is up to 1.2+ MB, wow! Adding the btparse library to the source tree is a big part of the increase over the 0.6.x releases, but I've refactored a bunch of stuff. There's still a bunch of weird spaghetti code, but it does seem to work the right way at the moment.
So, Bookcase 0.7pre2 is there for the taking. Since the btparse library is included, there's no need to install it separately.
I'll probably wait a couple days for any translators to get a whack at the thing, and for me to polish a bit more, then put out the real release 0.7.
Update: I should have checked more closely. The tarball included a stale libbtparse.a file of about 200k. I fixed and reuploaded the package. My apologies to anyone who happened to be downloading it at the time.
I broke translations in the pre-release version of Bookcase when I tried to get the tips file translated. I'll get that fixed stat! Something wrong in the top-level Makefile.am file. It overwrote the pot file instead of appending to it.
I think I've gotten most of the blatant new wrinkles in Bookcase worked out, and so I'm putting out a pre-release version in case anyone would like to try the new features out or update the translations. I've got a few more things to polish up before I consider it Bookcase 0.7.
Among the new features are three new collection types: videos, music, and bibliographies. Improved import and export capabilities include Bibtex import, using Greg Ward's great btparse library, CSV import and export, and HTML export. Printing has been improved so that only the visible entries and columns are printed, rather than having a preferences option for that. Finally, if more than one field contains personal names, a pseudo-group for all the people is available for sorting and printing, meaning you can group by both author and editor, for example. There are other small things, and when I do version 0.7 for real, I'll try to list those as well.
One big question for anyone who tries this out is whether the btparse library compiles ok for you. I stripped it down to include it internally as a static library, but I probably made a mistake somewhere.
UPDATE: The XML DTD changed, so Bookcase 0.6.x won't be able to open files saved with version 0.7. Bear that in mind.
Linux Magazine offers some back issues in PDF. Their review article on Bookcase from May 2003 is now available. Granted, the review is of version 0.4, and Bookcase has a few more features since then, but it's still a pretty good article.
I'm going to change the file format and break the DTD for Bookcase 0.7. Since I'm expanding Bookcase to cover DVD or CD collections, I don't want to write them into <book> elements in the XML data file. Rather than using a different element name for each collection type, every book, DVD, CD, or whatever will be in an <entry> element. Then, the collection type will be an attribute in the <collection> element containing all the <entry>s.
And since I'm making that tweak, I'm going to go the full hog and change <attribute> to <field>. I don't remember why I called them attributes in the first place, and I was even confusing myself in the code, since I had <attribute> elements which had attributes themselves, in the XML sense.
Finally, based on a suggestion from Joseph Reagle, and explained in his paper Eskimo Snow and Scottish Rain*: Legal Considerations of Schema Design, I'm changing the Boolean fields so that they don't have a default implicit semantic for an absent element
. That means that rather than having <read/>, I'll have <read>true</read>.
I also thought about using <value name="author"> rather than <author> which would allow me to write a definitive DTD, which would apply even if the user added a custom field, but I decided not to. Following the DTD is not that big of a deal, it would unneccesarily increase the file size, and just plain looks ugly to me.
These changes mean that anyone with custom XSL stylesheets or exporters, like Joseph's jpilot converter, will break on files saved by Bookcase 0.7 and newer. I don't think that's a big deal - Joseph is a very clever fellow and these are relatively minor changes - and besides, It's only version 0.7, not even 1.0 yet! Bookcase is hobby software, after all... :)
Thanks to the work of Regis Boudin, Bookcase is now part of the Debian GNU/Linux distribution. Some library symbol bugs were fixed, and a wishlist item has already popped up for spreadsheet import. I hope to have CSV import done for version 0.7.
UPDATE: Regis asked me to mention the help of Antonin Kral, who helped with the packaging and sponsored Bookcase into Debian. Very edifying to me to see Bookcase in there with such great software!
I'm trying to settle on the default fields for the video collection. I figure it will be mostly used for DVDs and maybe videocassettes, but I don't want to limit it too much. Right now, my default fields are:
Of course, the user is free to add, modify or delete fields however they want. The default fields will be the ones that get translated, though, so I want to have a good set. I've looked at several other DVD Collection applications and these seem to be the common set of fields.
Bookcase 0.6.6 was imported into Gentoo's CVS, and should show up in the app-misc category, at some point. At least, I think it is 0.6.6. The bug was originally for 0.6.4, and it's listed as 0.6.4 in some places.
Someone emailed me about doing additional sorting of the printed output for Bookcase. The printed output is formatted according to an XSLT document, so modifying that file will change the printout.
If you want to do a secondary sort, you can add 2 lines to the bookcase-printing.xsl file which is probably installed under /usr/local/share/apps/bookcase/ or somewhere similar. You can copy the installed file to $KDEHOME/share/apps/bookcase and then add something like
<xsl:sort select="bc:title"/>after the <xsl:sort at line 235 and again at line 245. That should do secondary sorting by title. I'll see about adding a UI preference for this for the next big version.
I pushed out version 0.6.6. I did get the bug fixed in Bookcase which messed up the visible columns when using custom field titles or translations. It's a bit of an ugly hack in my code, but 0.7 is going to be cleaner anyways, and I wanted folks to have a working version right now. That bug, along with the fix for the crash in the "Edit Fields" dialog, are gone now. Plus, Bookcase now has a French translation thanks to RMB.
KDE makes development so easy. I added menu items for configuring the toolbars and the key bindings to Bookcase with the addition of about 10 lines of code. It's amazing.
With KStdAction::configureToolbars() and KEditToolbar, I automatically get a mechanism for moving icons around and saving their positions, without having to do anything else.
With KStdAction::keyBindings() and KKeyDialog, I automatically get a mechanism for adding shortcut keys to any action in my menus.
Very cool. As you can tell, Bookcase 0.7 will have some nice improvements. The export wizard is coming along nicely at the moment.
I'm moving along with some development of the next version of Bookcase, 0.7. I added a new field type, Table, intended primarily for things like a list of the songs on an album. The Paragraph type could be used, but I think it's cleaner to use a table. And it does look ok.
I had been planning to allow a file to have multiple collections, and I got so far as implementing it, along with a nice icon tool bar and everything, but I ended up deciding that I wanted my UI to remain simple. So, only one collection per file. But I've got skeletons for music and video collections, and thoughts about coins, stamps, trading cards, etc.
Thus, the Table type...I need it so I can have a list of songs on an album, or chapters on a DVD.
I also changed the Year type to Number, which is more generic, and lets me do numerical sorting more easily in the column view.
A helpful Bookcase user pointed out two bugs in version 0.6.5 to me in an email. In the Field Editor, if you change a title, click 'Apply', change another title, then click 'Apply, Bookcase crashes. That's an easy fix, and already in my development version of 0.6.6. For now, just don't click 'Apply' until after you make all the changes you want.
The second bug is a little more complex. If a field title is changed, then saving the currently visible columns in the view doesn't work right. That's a problem mostly, again, for translated versions of Bookcase, but also for anyone that renames some field. I'm currently refactoring some of the code I use for saving settings and using them when a file is opened, so I think I'll have this fixed, but not until the next big version, 0.7.
I just pushed out Bookcase 0.6.5. The only changes from 0.6.4 are for translations, so if you're using the English version, there's no need to upgrade. The translation bug with the category names was fixed. Bulgarian and Estonian translations were added, and the German one was updated.
Ulf-Diether Ehlert pointed out to me in an email that a translation problem exists in Bookcase for the category titles for the default book collection. Rather than repeating all the i18n calls in constructing the default fields, I stuck them in a static const QString, but I failed to use I18N_NOOP. As I don't use a translated version (maybe I should include that as a check when I put a release together), I never noticed the problem. It's been there since Bookcase 0.6.1. Here's a patch.
I just put out version 0.6.4 of Bookcase. Two new translations were added: Japanese from Linux Magazine in Japan, and Dutch from Liese De Vos. Some minor sorting bugs were fixed. The filter dialog no longer crashes Bookcase on KDE 3.0. The surname matching problem, when periods are in the middle initial, is also fixed, though only for Qt 3.1 or higher, since it uses QRegExp::escape which is new in Qt 3.1.
I'm working on verion 0.7, which will have support for multiple collections, as well as for collections of thing other than books, such as DVDs, coins, stamps, etc. The hard part is figuring out what the best default fields are.
Bookcase 0.6.3 has a formatting bug for auto-formatting and surname prefixes. I neglected to escape periods when using a regexp to match surnames, so if a middle initial, for example, starts with the same letter as a surname prefix, that initial is considered part of the surname. Thus, John D. Doe is auto-formatted as D. Doe, John instead of Doe, John D. I've got it fixed, so I'll probably release a version 0.6.4 here shortly, along with new Japanese and Dutch translations.
Bookcase is featured in the July issue of the Japanese Linux Magazine, which includes a Japanese translation. They were kind enough to send me a copy of the issue, and it's rather odd but neat to flip through and not understand anything, but recognize the screenshots of Bookcase and see my name.
Trying to open the "Advanced Filter" dialog within Bookcase 0.6.3 from KDE 3.0.x crashes the app. It's a simple enough fix. Line 46 in src/bcfilterdialog.cpp should read
: QHBox(parent_, name_), m_editRegExp(0), m_editRegExpDialog(0) {A patch file is available if anyone wants it. This will be included in the next released version, of course.