Table of Contents

Chapter 1: Introduction

Zotero

The citation management program Zotero is a wonderful tool for researchers everywhere. Citations from the web may be “grabbed” simply by clicking on an icon in your web browser address bar. The citation information displayed on the screen is then saved to your Zotero collection with little or no additional effort. However, for this to work, each and every website must either follow standardized metadata guidelines, or must have its own personal “translator” that tells Zotero which words on the screen correspond with which bibliographic fields. Computers are stupid; translators make them smart.

Most users who know about the citation capture feature are enthralled by it and want more. The Zotero forums receive requests daily from users hoping their favorite site will be given this capability. Unfortunately, there just aren't enough Zotero programmers around to keep up with the demand for translators, and more intensive coding-projects take priority.

Luckily, Zotero translators are fairly easy to create (as far as computer programming goes). This guide seeks to help take some of that load away from the Zotero staff by teaching the community of Zotero users how to create their own translators and to share them with others.

Who is this guide for?

Anyone! No previous experience required!

In fact, the guide will assume that you have no programming experience whatsoever. You just need to have spent some time using Zotero and grabbing citations. (Check out the demo video if you are not familiar with this feature).

This guide uses plain language throughout and is written for people who are not programmers. You just need to be comfortable with computers, able to think logically, and not afraid to do some Google searching when you find a word or come across an error message you don't recognize.

Everything will be explained with a new user in mind. Therefore, you might find that you do not need to read all sections. If you are unsure whether or not you should read a section or skip it, it is probably a good idea to jump ahead to the end of the chapter and read the “What you should understand before moving on.” If in doubt, it is probably best to read the chapter and refresh your knowledge. Skipping too much background will just leave you frustrated when you start coding.

If you fit into one of the following categories, chances are you are a great candidate for writing a translator:

What you will learn

When you are finished with this guide, you should not only know enough to create your own working Zotero translator, but you should understand the following concepts and computer languages:

Translators are written in a computer language called “JavaScript” so your work will involve learning to do some basic JavaScript programming.

You will also learn how to use a number of programs (all free and reputable). Among these are Firefox, Zotero, Scaffold, Komodo Edit and Solvent.

You will not learn how to embed JavaScript into HTML documents or to do DOM scripting; however, after learning how to write a Zotero translator you will be well on your way to understanding these concepts.

Benefits of Writing a Translator

If you are a web administrator or work for a company that maintains a searchable database, having a Zotero translator will increase your site's usability. Zotero has over a million users, many of whom judge a website's usability in part by whether or not they can automatically download citations. Adding this capability sends a message to your users that you believe their experience while using your site is important.

Writing your own translator is a much more proactive way to get your site included in Zotero than submitting a request in the "Site Translators" section of the Zotero forums.

If you are an end user rather than an administrator, writing your own translator allows you to customize it to your exact needs. If you only want Zotero to save the title and a copy of a pdf from a website, you can set your translator to do this. If you want all possible information from a site, you can arrange this as well.

If the website in question is a rather obscure database that may be password protected, you will have to submit your own translator. This is because, even if a Zotero programmer has time to work on your request, without access to the database he or she is powerless to write the translator.

Finally, Zotero is an open source, freeware project, and adding to the software is in the spirit of its creation. Once you've finished a new translator you can submit it to the Zotero team so that everyone can benefit from the fruits of your labor.

Next: Chapter 1: Translators and Metadata