Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:client_coding [2019/06/19 19:33] – bwiernik | dev:client_coding [2020/09/27 05:19] – [Plugin Development] dstillman | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | ||
- | in the process of updating the documentation for | ||
- | <a href=" | ||
- | may be outdated in the meantime. Thanks for your understanding.</ | ||
- | |||
- | |||
====== Zotero Client Coding ====== | ====== Zotero Client Coding ====== | ||
* [[dev/ | * [[dev/ | ||
- | * Learn where you find the Zotero source code, how to use the issue tracker and how to contribute code. | + | * Learn where you find the Zotero source code, how to use the issue tracker, and how to contribute code. |
+ | * [[dev/ | ||
+ | * Learn how to build the Zotero client from scratch. | ||
* [[dev/ | * [[dev/ | ||
* When you write code for the Zotero project, there are some naming and formatting preferences we ask you to follow. | * When you write code for the Zotero project, there are some naming and formatting preferences we ask you to follow. | ||
- | * [[dev/ | + | |
- | * The Connector HTTP Server | + | |
- | * [[dev/ | + | * The Zotero client' |
+ | | ||
+ | | ||
+ | * [[dev/ | ||
+ | * The Zotero | ||
+ | * Word Processor Integration API | ||
+ | * Zotero word processor plugins are [[https:// | ||
+ | | ||
+ | * The Google Docs plugin implements | ||
+ | * [[dev/ | ||
+ | * 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 as well as HTTP messaging protocol is not available, the TCP/IP protocol can be used instead. | ||
- | ===== Changes Affecting Third-Party Developers ===== | ||
- | |||
- | * [[dev/ | ||
- | * [[dev/ | ||
====== Plugin Development ====== | ====== Plugin Development ====== | ||
- | Plugins can be divided in two groups: XUL plugins, which closely integrate with the Zotero client and external plugins, which are more likely to rely on the [[Web API]] to access Zotero libraries. XUL plugins are built on the same technologies as legacy (pre-WebExtension) Firefox extensions. | + | See [[:dev:client_coding: |
- | + | ||
- | [[:plugins|Existing plugins]] can be very helpful in helping you develop your own plugins. If you plan to write a XUL plugin, you can start by taking a look at the [[dev/ | + | |
- | + | ||
- | * [[dev/client_coding/JavaScript API]] | + | |
- | * Whereas the [[Web API]] allows access to online Zotero libraries, the JavaScript API allows you to connect to the local Zotero client. | + | |
- | * [[dev/ | + | |
- | * The Zotero client stores most of its data in a SQLite database. Here you will find some details on accessing this database. | + | |
- | * Word Processor Integration API | + | |
- | * Zotero word processor plugins are [[https:// | + | |
- | * [[dev/ | + | |
- | * The Google Docs plugin implements the HTTP citing protocol, by performing a sequence of HTTP requests in a transaction. This is the preferred way to provide citing integration with Zotero | + | |
- | * [[dev/ | + | |
- | * 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 as well as HTTP messaging protocol is not available, the TCP/IP protocol can be used instead. | + | |
- | | + |