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
Next revisionBoth sides next revision
dev:zotero_2.1_and_zotero_standalone_for_developers [2011/02/02 23:29] simondev:zotero_2.1_and_zotero_standalone_for_developers [2011/02/08 23:48] simon
Line 12: Line 12:
 <code>overlay chrome://zotero/content/zoteroPane.xul chrome://zotero-addon/content/overlay.xul</code> <code>overlay chrome://zotero/content/zoteroPane.xul chrome://zotero-addon/content/overlay.xul</code>
  
-==== Changes to translators ====+===== Changes to translators =====
  
   * Several functions in Zotero.Utilities have been eliminated, as they were essential duplications of built-in JavaScript methods.   * Several functions in Zotero.Utilities have been eliminated, as they were essential duplications of built-in JavaScript methods.
Line 25: Line 25:
  
   * It is no longer necessary to specify "dataMode":"block" or "dataMode":"line". If Zotero.read() is passed a numeric value, it reads a specified number of bytes; otherwise, it reads a full line.   * It is no longer necessary to specify "dataMode":"block" or "dataMode":"line". If Zotero.read() is passed a numeric value, it reads a specified number of bytes; otherwise, it reads a full line.
 +
 +  * Import and export translators now show determinate progress bars. By default, Zotero computes progress by the percentage of the file read for import, or the percentage of items retrieved using Zotero.nextItem() for export. Translators can override this by calling Zotero.setProgress(percentage) to set the percentage the progress bar displays, or Zotero.setProgress(null) to show an indeterminate indicator.
  
 ===== Changes to translate interface ===== ===== Changes to translate interface =====
Line 31: Line 33:
  
 <code>new Zotero.Translate.Web();</code> <code>new Zotero.Translate.Web();</code>
-====== Changes in Zotero Standalone (not yet implemented) ====== + 
-===== Changes to translation =====+===== Locate Engines ===== 
 + 
 +Zotero 2.1b6 and later support extensible locate engines. For further details, see [[Creating Locate Engines using OpenSearch]]. 
 + 
 +====== Changes for Zotero Connectors (not yet implemented) ====== 
 + 
 +===== Changes to translators =====
 Zotero Everywhere will soon allow translators to operate outside of Firefox/XULRunner. Legacy translators can still run inside Zotero Standalone, but will require that Zotero Standalone is running to operate. This will require the following code changes: Zotero Everywhere will soon allow translators to operate outside of Firefox/XULRunner. Legacy translators can still run inside Zotero Standalone, but will require that Zotero Standalone is running to operate. This will require the following code changes:
  
-  * Firefox-specific JavaScript must be avoided. This includes "for each" loopsarray comprehension, E4X, and several other structures.+  * Firefox-specific JavaScript must be avoided. This includes 
 +    * "for each" loops 
 +    * array comprehensions 
 +    * destructuring assignment 
 +    * several other features
  
-  * Zotero.Utilities.retrieveDocument() and Zotero.Utilities.retrieveSource() should be avoided if possible. The former is unlikely to work outside of Firefox, while the latter may freeze the browser interface during operation. Zotero.Utilities.processDocuments() and Zotero.Utilities.HTTP.doGet() will continue to be available.+  * Some E4X functionality may not be available, although as much as possible will be preserved. As of Zotero 2.1b6, Zotero also offers DOM XML interfaces to translators. 
 +   
 +  * Zotero.Utilities.retrieveDocument() and Zotero.Utilities.retrieveSource() should be avoided if possible. There may be workarounds that allow these to operate outside of Firefox, but they will be extremely inefficient. Zotero.Utilities.processDocuments()Zotero.Utilities.HTTP.doGet(), and Zotero.Utilities.HTTP.doPost() will continue to be available as alternatives.
  
-  * Translate.getTranslatorObject() should now be called with a callback function as an argument, which will receive the translator object when it is available.+  * Translate.getTranslatorObject() should now be called with a callback function as an argument, which will receive the translator object when it is available. This is backwards compatible with Zotero 2.1b6 and later.
  
-  * Zotero.selectItems() should now be called with a callback function as an argument, which will receive the list of selected items when it is available. Translators may still use Zotero.selectItems() synchronously, but this will require that the first part of the translator be executed twice.+  * Zotero.selectItems() should now be called with a callback function as an argument, which will receive the list of selected items when it is available. Translators may still use Zotero.selectItems() synchronously, but this will require that the first part of the translator be executed twice. This is backwards compatible with Zotero 2.1b6 and later.
dev/zotero_2.1_and_zotero_standalone_for_developers.txt · Last modified: 2017/11/12 19:53 by 127.0.0.1