Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
dev:client_coding:extension_files [2017/12/18 09:05] – old revision restored (2017/12/18 08:59) bwiernik | dev:client_coding:extension_files [2019/10/01 09:16] (current) – This page is highly outdated and essentially redundant with the line notes in the GitHub source files. bwiernik | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | ||
- | in the process of updating the documentation for | ||
- | <a href=" | ||
- | may be outdated in the meantime. Thanks for your understanding.</ | ||
- | |||
- | **This page describes the situation for Zotero 1.0, and is heavily outdated.** | ||
- | |||
- | Most of the files listed below are contained within the zotero.jar archive in the chrome directory. For more information on extracting and modifying such files, see [[Modifying Zotero Files]]. | ||
- | |||
- | ====== Extension root ====== | ||
- | |||
- | * chrome.manifest | ||
- | * Registers chrome files | ||
- | * install.rdf | ||
- | * Used by the Firefox add-on system | ||
- | * license.txt | ||
- | * Educational Community License | ||
- | * scrapers.sql | ||
- | * SQL to initialize site translator and CSL style tables --- bundled translators and styles may be overwritten during extension upgrades or updates from central repository, but the table definitions are stored within userdata.sql, | ||
- | * system.sql | ||
- | * SQL to initialize system tables --- data in these tables may be overwritten during upgrades. Modifying these tables to add new item types, etc., may seem like a good idea, but it quite likely is not. | ||
- | * userdata.sql | ||
- | * SQL to initialize user data tables --- data in these tables is preserved during upgrades, and any schema changes require migration steps in schema.js. | ||
- | |||
- | ====== chrome/ | ||
- | |||
- | ** Main overlay, windows and dialogs ** | ||
- | |||
- | * about.xul | ||
- | * The About Zotero dialog | ||
- | * bibliography.js | ||
- | * bibliography.xul | ||
- | * Bibliography output options dialog | ||
- | * exportOptions.js | ||
- | * exportOptions.xul | ||
- | * Export options dialog | ||
- | * fileInterface.js | ||
- | * File import/ | ||
- | * fileProgress.xul | ||
- | * Progress window for import/ | ||
- | * include.js | ||
- | * Calls '' | ||
- | * itemPane.js | ||
- | * Display and editing logic for the metadata pane | ||
- | * itemPane.xul | ||
- | * Included from overlay.xul — creates the metadata pane on the right | ||
- | * note.js | ||
- | * Logic for standalone note window | ||
- | * note.xul | ||
- | * Standalone note window — note itself is created in the noteeditor.xml binding | ||
- | * overlay.js | ||
- | * Logic for the main Zotero overlay, including actions for many of the primary UI elements | ||
- | * overlay.xul | ||
- | * The main Zotero overlay on the browser window — this creates the Zotero pane and specifies actions for most of its UI elements. | ||
- | * preferences.js | ||
- | * Logic for the preferences window | ||
- | * preferences.xul | ||
- | * The preferences window | ||
- | * progressWindow.xul | ||
- | * searchDialog.js | ||
- | * Passes data to the search dialog | ||
- | * searchDialog.xul | ||
- | * The window containing the search dialog --- the search interface itself is created in the zoterosearch.xml binding. | ||
- | * selectItemsDialog.js | ||
- | * selectItemsDialog.xul | ||
- | * Used by the See Also box | ||
- | |||
- | ====== chrome/ | ||
- | |||
- | ** XBL bindings for reusable UI elements (contains both structure and logic) ** | ||
- | |||
- | * noteeditor.xml | ||
- | * Note editor | ||
- | * relatedbox.xml | ||
- | * See Also tab | ||
- | * searchtextbox.xml | ||
- | * Textbox in search dialog | ||
- | * tagsbox.xml | ||
- | * Tag entry pane | ||
- | * timedtextarea.xml | ||
- | * Used by note editor to trigger auto-save | ||
- | * zoterosearch.xml | ||
- | * Search dialog | ||
- | |||
- | ====== chrome/ | ||
- | |||
- | ** UI elements for site scraping ** | ||
- | |||
- | * browser.js | ||
- | * browser.xul | ||
- | * URL bar icon | ||
- | * progress.xul | ||
- | * Scraping progress popup | ||
- | * selectitems.js | ||
- | * selectitems.xul | ||
- | * Selection dialog for saving multiple items from a site | ||
- | |||
- | ====== chrome/ | ||
- | |||
- | ** Persistent objects stored within the core JS object --- loaded in components/ | ||
- | |||
- | * attachments.js | ||
- | * Methods for attaching files, snapshots and links | ||
- | * cite.js | ||
- | * CSL engine | ||
- | * collectionTreeView.js | ||
- | * Implements nsITreeView for the collections pane | ||
- | * data_access.js | ||
- | * Core data layer objects (e.g. '' | ||
- | * db.js | ||
- | * DB abstraction layer (e.g. '' | ||
- | * file.js | ||
- | * Helper functions for file operations | ||
- | * fulltext.js | ||
- | * Full-text indexer | ||
- | * ingester.js | ||
- | * Proxy detection, OpenURL functionality, | ||
- | * itemTreeView.js | ||
- | * Implements nsITreeView for the items pane | ||
- | * mime.js | ||
- | * MIME type detection and handling methods | ||
- | * notifier.js | ||
- | * The Zotero Notifier --- used by the UI to receive notification of changes to the data layer (and can also be used by other extensions). | ||
- | * progressWindow.js | ||
- | * schema.js | ||
- | * Database initialization and upgrade logic (including repository updates) | ||
- | * search.js | ||
- | * Search engine logic (including saved searches) | ||
- | * translate.js | ||
- | * Data translation engine for import, export and scraping | ||
- | * utilities.js | ||
- | * Assorted functions, some local to the translator sandbox | ||
- | * zotero.js | ||
- | * Creates the core JS object and several other key function groups (e.g. Zotero.Date) | ||
- | |||
- | ====== chrome/ | ||
- | |||
- | ** Localized strings ** | ||
- | |||
- | * about.dtd | ||
- | * locales.xml | ||
- | * Localizations for CSL | ||
- | * preferences.dtd | ||
- | * searchbox.dtd | ||
- | * zotero.dtd | ||
- | * Main entities file (for XUL labels) | ||
- | * zotero.properties | ||
- | * Main properties file (for JS strings) | ||
- | |||
- | ====== chrome/ | ||
- | |||
- | ** Image and style files for the default skin ** | ||
- | |||
- | * about.css | ||
- | * Styles for About Zotero dialog | ||
- | * addCitationDialog.css | ||
- | * overlay.css | ||
- | * Styles for elements in the main browser overlay | ||
- | * zotero.css | ||
- | * Main style file --- the distinction between this and overlay.css has become rather poorly defined, and the two files will likely be merged at some point (and/or separated into disparate files for the various UI sections). | ||
- | * *.png | ||
- | * Image files for UI elements | ||
- | | ||
- | ====== chrome/ | ||
- | |||
- | ** CSS for XBL bindings ** | ||
- | |||
- | * tagselector.css | ||
- | |||
- | |||
- | ====== components/ ====== | ||
- | |||
- | * zotero-autocomplete.js | ||
- | * Implements the Zotero autocomplete service, which can be enabled on an autocomplete textbox with '' | ||
- | * zotero-service.js | ||
- | * The base XPCOM component, which provides access to the core JS object from privileged code in Firefox --- mostly boilerplate, | ||
- | | ||
- | |||
- | ====== defaults/ | ||
- | |||
- | * zotero.js | ||
- | * Sets defaults for Zotero preferences --- changes to existing defaults only take effect on new installs (though new defaults can be added at any time). |