Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:client_coding [2019/02/08 06:20] – [Plugin Development] adomasvendev:client_coding [2023/05/22 04:00] (current) dstillman
Line 1: Line 1:
-<html><p id="zotero-5-update-warning" style="color: red; font-weight: bold">We’re 
-in the process of updating the documentation for 
-<a href="https://www.zotero.org/blog/zotero-5-0">Zotero 5.0</a>. Some documentation 
-may be outdated in the meantime. Thanks for your understanding.</p></html> 
- 
- 
 ====== Zotero Client Coding ====== ====== Zotero Client Coding ======
  
   * [[dev/Source Code]]   * [[dev/Source Code]]
-    * 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 trackerand how to contribute code
 +  * [[dev/client_coding/building_the_desktop_app|Building Zotero]] 
 +    * Learn how to build the Zotero client from scratch.
   * [[dev/client_coding/Coding Guidelines]]   * [[dev/client_coding/Coding Guidelines]]
     * 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/Modifying Zotero Files]] +  * Client APIs and technical details 
-    * 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. +    * [[dev/client_coding/JavaScript API]] 
-  * [[dev/client_coding/Connector HTTP Server]] +      * The Zotero client's internal API 
-    * The Connector HTTP Server in the Zotero clients talks to the Chrome, Firefox, and Safari Connector extensions. +    * [[dev/client_coding/Direct SQLite Database Access]] 
-  * [[dev/client_coding/Building the Standalone Client|Building the Zotero Standalone client]] +      * The Zotero client stores most of its data in a SQLite database. Here you will find some details on accessing this database. 
- +    * [[dev/client_coding/Connector HTTP Server]] 
-===== Changes Affecting Third-Party Developers ===== +      * The Zotero Connector for Chrome, Firefox, and Safari talk to the HTTP server in the Zotero client. 
- +    * Word Processor Integration API 
-  * [[dev/client_coding/Changes in Zotero 3.0]] +      * Zotero word processor plugins are components implementing a small set of interfaces. Development guidelines for these interfaces are described for [[https://github.com/zotero/zotero-libreoffice-integration/|LibreOffice]], [[https://github.com/zotero/zotero-word-for-windows-integration|Word for Windows]], and [[https://github.com/zotero/zotero-word-for-mac-integration|Word for Mac]]. 
-  * [[dev/client_coding/Changes in Zotero 2.1]] +    * [[dev/client_coding/http_integration_protocol|HTTP Citing Protocol]] 
- +      * 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/client_coding/LibreOffice Plugin Wire Protocol]] 
- +      * 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. +  * [[:dev:client_coding:plugin development|Zotero Plugin Development]] 
- +    * Learn how to extend the Zotero client with a plugin.
-[[: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/sample_plugin|Hello World Zotero plugin]]. +
- +
-  * [[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/client_coding/Direct SQLite Database Access]] +
-    * 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://developer.mozilla.org/en/XPCOM|XPCOM]] components implementing a small set of interfaces. Development guidelines for these interfaces are described for [[https://github.com/zotero/zotero-libreoffice-integration/|LibreOffice]], [[https://github.com/zotero/zotero-word-for-windows-integration|Word for Windows]], and [[https://github.com/zotero/zotero-word-for-mac-integration|Word for Mac]]. +
-  * [[dev/client_coding/http_integration_protocol|HTTP Citing Protocol]] +
-    * 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/client_coding/LibreOffice Plugin Wire Protocol]] +
-    * 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/client_coding.1549624835.txt.gz · Last modified: 2019/02/08 06:20 by adomasven