Home |Back to catalogues page |

aesop carrying pile of books
We are Founder Members of SABDA


Africana & collectable rare books
119 High Street, Grahamstown, 6139, South Africa.
Telephone / Facsimile: +27-(0)46-636-1525 (shop hours)

Notes on Catalogs and Databases for book dealers


The purpose of this series of notes is to pass my hard-won experience on to other book dealers. If you are unhappy with current solutions to cataloguing, uploading to online sites, making a web site, then you may find information here that will be of some assistance.

I am a book dealer and have run Fables Bookshop for 25 years now. Before that I was an engineer, hence my interest in matters computer. Custom solutions are expensive and, for a small business in a 3rd world economy, unaffordably so. Hence mine is a do-it-yourself apprpach.

We use open source software, essentially running Linux machines. We will cover this in a later note

Homebase on your one desktop machine is not enough?


If you use the free Homebase software from abebooks.com or similar you will know that you can only use this on the one computer upon which it is installed. It has no networking capability, you do your cataloguing and related work on the one same computer always. For a small or home business this is a good solution. Homebase is a predesigned database application for a book dealer.

Problems with Homebase

This may not always be convenient for larger bookstores. You will maybe want further functions, a different layout, different information displayed. You cannot do this, the design of Homebase is cast in stone and only the original developers can modify it in any way.
Further, you may want an assistant to catalogue standard items, you may want the book keeper to do the invoicing and mark items as 'sold', and you may yourself want to catalogue some collectables. But with one computer you three cannot work on these different tasks at the same time.


Thus you need a solution that provides for different users to work on the database at the same time. Enter the client-server solution. Simply put, one computer (the server) stores all the data, and client applications on other computers access this information. Email is a client-server application. Gmail handles the storage remotely, and you access this via a client, the browser on your computer. If you use Outlook Express, then that is the client accessing email from the company or ISP's server.
Our server stands in a corner, has no screen or keyboard (but can be accessed remotely) and handles sundry tasks like our mailing list in addition to the database. We use Postgresql for the database. (SQL denotes Structured Query Language).


Postgresql, similar to the more well-known MySQL, is an open-source relational database that will cope with anything up to the level of the US Census. We have rather less information to store and handle, but it is good to know that it's capabilities will always remain ahead of our needs.


The client end of our setup is Kexi. This is the database client from the Calligra Office Suite, which in turn is the office suite application for the KDE desktop on a Linux machine. If you use Windows, then Microsoft Access would provide similar functionality.
The purpose of Kexi, the client, is to provide a friendly face, rather like your email client, that will allow you to design and use your database. Apart from the initial design this includes functions associated with entering, updating, deleting, and displaying data.
Kexi is a cross-platform application (meaning it is intended to run on Linux, Windows, and Macintosh computers) but at the time of writing the Windows build is not yet available. Soon, they say.

Databases for dummies

Databases in general use four constructs to present the data to the user. Firstly, 'tables', are used to store the data and display it onscreen rather like a spreadsheet in columns and rows. A column is otherwise known as a 'field' and a row as a 'record'. You can have a table for the books, another for customers, and so on. Secondly, 'Queries' enable you to ask the database to display selected records matching given criteria. Thus you can display all the books by a given author, or on a given subject, typically in a tabular format. Thirdly, a 'Form' is an on-screen display with boxes to allow you to enter your data into individual fields. Fourthly, a 'Report' is a formatted output of data suited for easy reading and printing. A report is usually based upon a query, you might have a report showing just essential details of last month's sales, or another showing books taken into consignment from a client.


Homebase uses the same methods, but Kexi (or Access) gives you the capability to design your own database tables and layouts. Kexi will also allow you to make a setup similar to Homebase using its native database client (SQLite) for working on one computer as well as networked applications using MySQL or Postgresql servers.

A note

To complete the picture, the server runs BSD and all clients run on Mint Linux. All is open source, the software is free as in 'free beer'. To design your own database is not for the technically challenged. While not rocket science it demands a competency above that of the struggling Word and email user.

Data conversion: from delimited output to text, html, & pdf


You may need to get information out of your database for use in another application. Three simple ideas are commonplace.

1. Plain text to send off in an email catalogue posting
2. html to use in creating a web page of your catalogue
3. tex format, or other, to create a formatted pdf file of your catalogue

Database output

The records in your database can be selected to match certain criteria and output in what is called 'delimited' format. The format in the database itself is too complex to get involved so this is used. This means usually that one record (book) takes one line, and each field (author, title, etc) is separated from the next by some specified character. Commonly a '|' is used (pipe-delimited) or a comma or a 'tab' (comma or tab delimited).
Homebase, Kexi, Access, all provide inbuilt commands for outputting data in a delimited format.
Having got the information out in delimited format it can be converted into another format as mentioned above.

How to convert

There is no simple universal solution to this at present. If you are on our catalogue mailing list, then you will know that we send this out firstly as a plain-text email. Then the same data shows up on our web site. which you can easily find and see. Lastly we offer a formatted pdf catalogue to print out nicely, these can be downloaded from our same web site. All of these are generated from the same delimited output file
We have developed programming scripts (in the Perl programming language) which take a delimited file as input and then create an output file in the desired format. Unless you intend to invest serious quality time in learning a programming language, you are not going to be able to do this.
The scripts follow a pattern, and can be modified to suit a different set of delimited data other than my own. Thus, Fables Bookshop can assist you with conversions. Call or email us.

5 good reasons why not to send catalogues as Word file attachments

The correct format, if you want to send something pretty, is a pdf file. This is the internet default document exchange format. Every one can read this in their browser, and if they can't for some reason they can save it and read it in their free Adobe. If you think it necessary, you can rather send a plain-text emails and offer a pdf or html version as I do.
Word is a proprietary format, however ubiquitous. Do not assume that every one out their likes it or uses it. And if you are using a bootleg copy, why not just support high-quality open source software, like Open Office (now Libre Office)? In any case, using Word you should be able to 'save as' to a pdf format - there is a drop-down box that allows you to choose.

A growing mailing list can create problems

Did you know that your ISP provider may truncate the list of addressees that you carefully put onto the 'To' line'? He will have a limit designed to limit his usefulness as a spam transit connection. The limit from my ISP is 25, so if I sent to 50 addresses, then the second 25 would fall into the bit-bucket, file no.13, whatever, and you will never know! Not to mention hourly or daily limits on total emails sent.
If you have several hundred addresses on your list, which you carefully split up into little groups of 50 or 100 apportioning each to a separate email, then you could be losing many of them. That's a lot of hardwork actually preparing those emails, and even more work, effort, and time getting the addresses in the first place. They are way too precious to lose this way.

Check with your ISP. Ring the support number. Ask what is the maximum number of addresses on an email that they allow.

If your mailing list and ISP's allowance are, respectively, distressingly large and small, what can you do? Plenty!

  1. There is emailing software that will send the emails out at preset rates that you can set to match your ISP's limits. I know one upmarket dealer with a list in the thousands who does this. Usually you have to pay for this (Windows) software, but not so expensive if you are not after too many automated features.Google for something like 'bulk emailer' or check out the software download sites.
  2. If you run a server and are technically proficient you can run a Mailman mailing list right through your adsl connection. That's what we do. Mailman handles bounces automatically, sending reminders, and finally unsubscribing addresses that have gone awol. It sports a handy web-based subscription interface as well. Fables mailing list subscription page
  3. There are a large number of mailing list providers on the internet. If your list is not too large, if the lists are not too frequent, it may even come to you for free! They come in all shapes and sizes to suit varying needs. Even gmail might provide something.
  4. Your ISP may maintain a Mailman server that he can give you an account on. That is where I first encountered Mailman, but when they discontinued the service we set up our own. Not so common now, mailing lists for many purposes have been superceded by online forums and ISP's are wary of letting Joe Soap have access to software designed to send out tens of thousands of unsolicited emails (spam!) per minute.

Produced by Ian Balchin, Fables Bookshop, Grahamstown, South Africa.
Copyright 2014
You may link to this page.