Translations of this page:

Developer Documentation

Zotero is an open source tool, and we welcome anyone who would like to contribute. Programming experience is not always required! Below are the different parts of the Zotero ecosystem, as well as the estimated technical difficulty and the required skills for contributing. Each area has its own starting page with further details.

If you have questions about development not answered here, or would like to discuss development with Zotero developers, you can consult and post to the zotero-dev mailing list. (Please do not use the mailing list for user support questions. Questions regarding the Zotero API, however, should always go to zotero-dev.)


Client Coding
Learn how to program for the Zotero client (the Firefox add-on and Standalone version). This section also covers the Zotero code repositories and issue tracker, as well as information for developing Zotero plugins.
Difficulty moderate to high
Skills JavaScript, CSS, Mozilla technologies (XPCOM, XULRunner, XUL, etc.), Git
Server API
Learn how to access online Zotero libraries using Zotero's Server Application Programming Interface (API). Use the Read API to generate Atom feeds or formatted bibliographies, or the Write API to create, modify, delete and organize library items.
Difficulty low to high
Skills CSS/HTML, XML, JSON, Atom
Translators
Learn how to develop Zotero translators. These JavaScript files allow Zotero to save items from webpages, import and export items in various file formats (e.g. BibTeX, RIS, etc.), and look up items when given identifiers (e.g. DOIs or PubMed IDs). Because translators are sandboxed, share a similar structure, and are relatively short pieces of code, they are very suitable for beginning JavaScript coders.
Difficulty low to moderate
Skills JavaScript, HTML/XML, DOM, regular expressions, XPath
Citation Styles
Learn how to create or modify the Citation Style Language (CSL) citation styles that Zotero uses to format citations and bibliographies. In this section we'll also discuss the citeproc-js CSL processor that Zotero uses to process the CSL styles, and citeproc-node, a wrapper for server-side deployment of citeproc-js.
Difficulty low to moderate
Skills XML, JavaScript
Documentation
Learn how you can contribute to Zotero's wiki documentation to make sure it's complete, up-to-date and of high quality. Make it easier for users to learn how to use Zotero, discover new features, and find solutions to problems, and for developers to get the info they need.
Difficulty low
Skills writing & editing, wiki editing
Localization
Learn how you can help translating the various parts of the Zotero ecosystem (the Zotero client, wiki documentation, and CSL citation styles) into other languages.
Difficulty low
Skills knowledge of English and at least one other language
Have Your Website Support Zotero
You can make your website accessible to Zotero by using open standards. Learn how to:
Expose Your Metadata
Create an OpenSearch Lookup Engine

Additional Resources

Developer Workshops
Use this section of the wiki to look up or add information about one of the Zotero developer workshops.
Project Ideas
While the Zotero development team is constantly busy adding new features to Zotero, their resources are limited. As a result, some project ideas, while good, don't get the attention they deserve. If you're looking for an interesting Zotero project to work on, look here for ideas. In this section we also keep track of project progress.
dev/start.txt · Last modified: 2014/04/04 14:47 by dstillman