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 [2017/11/12 19:53] – external edit 127.0.0.1dev: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 Google Chrome and Safari 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 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 availablethe TCP/IP protocol can be used instead. 
-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+  * [[:dev:client_coding:plugin development|Zotero Plugin Development]] 
- +    Learn how to extend the Zotero client with a plugin.
-Existing (open source) plugins can be very helpful in helping you develop you own plugins (see the list of [[:plugins|Zotero 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 [[Server 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. +
-  * [[https://github.com/zotero/zotero-libreoffice-integration/blob/master/build/zoteroIntegration.idl|Word Processor Integration API]] +
-    * Zotero word processor plugins are [[https://developer.mozilla.org/en/XPCOM|XPCOM]] components implementing small set of interfaces. These interfaces are described in detail here+
-  * [[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 are unavailablenew word processor plugins can implement this protocol instead. +
-====== - Outdated/Incomplete - ====== +
- +
-  * [[dev/client_coding/Extension Files]] (very outdated, written for Zotero 1.0) +
-  [[dev/data_model|Zotero Data Model]] (can this be merged with Direct SQLite Database Access?) +
-  * [[dev/Getting Started]]+
dev/client_coding.1510534411.txt.gz · Last modified: 2017/11/27 05:15 (external edit)