Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
dev:client_coding [2019/02/08 06:20] – [Plugin Development] adomasven | dev:client_coding [2023/05/21 20:32] – 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/ | + | * Client APIs and technical details |
- | | + | * [[dev/ |
- | | + | * The Zotero client's internal |
- | * The Connector HTTP Server in the Zotero | + | * [[dev/ |
- | * [[dev/ | + | * The Zotero client stores most of its data in a SQLite database. Here you will find some details on accessing this database. |
- | + | * [[dev/ | |
- | ===== Changes Affecting Third-Party Developers ===== | + | * The Zotero Connector for Chrome, Firefox, and Safari talk to the HTTP server in the Zotero client. |
- | + | | |
- | * [[dev/ | + | * Zotero word processor plugins are components implementing a small set of interfaces. Development guidelines for these interfaces are described for [[https:// |
- | * [[dev/ | + | * [[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 for document processors. | |
- | ====== Plugin Development ====== | + | * [[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. | |
- | 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. | + | |
- | + | * Learn how to extend the Zotero client with a plugin. | |
- | [[: | + | |
- | + | ||
- | * [[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 for document processors. | + | |
- | * [[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. | + | |
- | | + |