This is an old revision of the document!


We’re in the process of updating the documentation for Zotero 5.0. Some documentation may be outdated in the meantime. Thanks for your understanding.

Zotero Client Coding

    • Learn where you find the Zotero source code, how to use the issue tracker and how to contribute code.
    • When you write code for the Zotero project, there are some naming and formatting preferences we ask you to follow.
    • Most developers will want to work from a local copy of the Zotero codebase. However, it is also possible to make (small) code changes to your existing Zotero installation. This section will show you how.
    • The Connector HTTP Server in the Zotero clients talks to the Chrome, Firefox, and Safari Connector extensions.

Changes Affecting Third-Party Developers

Plugin Development

Plugins can be divided in two groups. XUL plugins for Firefox or Zotero Standalone that closely integrate with the Zotero client, and external plugins, which are more likely to rely on the Server API to access Zotero libraries.

Existing (open source) plugins can be very helpful in helping you develop you own plugins (see the list of Zotero plugins). If you plan to write a XUL plugin, you can start by taking a look at the Hello World Zotero plugin.

    • Whereas the Server API allows access to online Zotero libraries, the JavaScript API allows you to connect to the local Zotero client.
    • The Zotero client stores most of its data in a SQLite database. Here you will find some details on accessing this database.
    • Zotero word processor plugins are XPCOM components implementing a small set of interfaces. These interfaces are described in detail here.
    • The LibreOffice plugin implements the word processor integration API by acting as a server for a simple TCP/IP protocol. If out-of-process communication mechanisms such as COM and AppleScript are unavailable, new word processor plugins can implement this protocol instead.

- Outdated/Incomplete -

dev/client_coding.1511777745.txt.gz · Last modified: 2017/11/27 05:15 by bwiernik