Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:client_coding [2020/09/27 05:04] – [Changes Affecting Third-Party Developers] dstillman | dev:client_coding [2023/05/22 04:00] (current) – dstillman | ||
---|---|---|---|
Line 3: | Line 3: | ||
* [[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/ | + | * [[dev/ |
* Learn how to build the Zotero client from scratch. | * 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. | ||
- | * Client APIs | + | * Client APIs and technical details |
* [[dev/ | * [[dev/ | ||
* The Zotero client' | * The 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. | ||
* [[dev/ | * [[dev/ | ||
* The Zotero Connector for Chrome, Firefox, and Safari talk to the HTTP server in the Zotero client. | * The Zotero Connector for Chrome, Firefox, and Safari talk to the HTTP server in the Zotero client. | ||
* Word Processor Integration API | * Word Processor Integration API | ||
- | * Zotero word processor plugins are [[https:// | + | * 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. | * 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/ | * [[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. | * 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. | ||
- | + | * [[:dev: | |
- | + | * Learn how to extend | |
- | ====== 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. | + | |
- | + | ||
- | [[: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/ | + | |
- | * Whereas the [[Web API]] allows access | + | |
- | * [[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 | + | |
- | * [[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. | + | |
- | | + |