This plugin allows you to search various library catalogs and repositories directly from Zotero using standard protocols like SRU, OAI-PMH, and IxTheo, and import the results directly into your library. It is self-contained and does not require any external script or Python installation. (See other github branch for leveraging the CrispLib python script.)
- Search multiple library catalogs using SRU, OAI-PMH, or IxTheo protocols.
- Choose from various endpoints including national libraries and specialized repositories.
- Import search results directly into your Zotero library.
- Support for Zotero's dark and light themes.
- Self-contained: No Python or external dependencies required.
- Download the latest release
.xpifile from the Releases page. - In Zotero, go to
Tools→Plugins. - Click the gear icon and select "Install Plugin From File...".
- Select the downloaded
.xpifile and click "Install". - Restart Zotero if prompted.
Basic configuration options can be found in Zotero's preferences:
- Go to
Edit→Preferences(orZotero→Settingson macOS). - Select the
Advancedtab. - Click the
Config Editorbutton under "General". - Search for
extensions.zotero.librarysearch. - You can enable/disable the plugin (
extensions.zotero.librarysearch.enable) or toggle debug mode (extensions.zotero.librarysearch.debugMode).
Note: Unlike previous versions, there is no need to configure Python or script paths.
- Click the "Search Libraries" button in the Zotero toolbar (icon looks like a magnifying glass over books) or go to
Tools→Library Search. - In the "Library Search" dialog:
- Select the
Protocol(SRU, OAI-PMH, or IxTheo). - Select the
Endpoint(e.g., dnb, loc, crossref). - For SRU, you can optionally select a specific
Schema Formator leave it as "Endpoint Default". - Enter your search terms (Title, Author, ISBN/ISSN).
- Set the
Max Resultsyou want to retrieve per page.
- Select the
- Click "Search".
- A "Search Results" dialog will appear.
- Use the checkboxes to select items.
- Use the
< PreviousandNext >buttons to navigate through results if more than one page was found. - Click "Import Selected" to import only the checked items.
- Click "Import All" to import all items currently displayed on the page.
- Click "Cancel" to close the dialog without importing.
(This list remains the same as the protocols/endpoints themselves haven't changed, only the implementation method)
- dnb: German National Library
- bnf: French National Library
- zdb: Journal Database (Zeitschriftendatenbank)
- loc: Library of Congress
- trove: National Library of Australia
- kb: National Library of the Netherlands
- bibsys: Norwegian University Library (BIBSYS)
- crossref: CrossRef scholarly publishing
- dnb: German National Library OAI
- dnb_digital: German National Library Digital Collections
- loc: Library of Congress OAI
- europeana: European Digital Library
- ddb: German Digital Library
- harvard: Harvard Library
- mit: MIT DSpace
- kitopen: Karlsruhe Institute of Technology
- arxiv: ArXiv open access repository
- doaj: Directory of Open Access Journals
(Searches IxTheo via HTML scraping and fetches details in the chosen format)
- ris: RIS format export
- marc: MARC format export
- html: HTML detail page parsing
- If searches fail, double-check that the selected
Endpointis appropriate for the chosenProtocol. - Ensure your search terms are correctly formatted for the specific endpoint (some use specific prefixes like
TIT=, others use quotation marks). Refer to the endpoint's documentation if unsure. - Check Zotero's debug output for more detailed error messages (
Help→Debug Output Logging→Enable). - Ensure you have a stable internet connection.
- Clone the repository:
git clone https://github.com/CrispStrobe/CrispZotLib.git - Navigate into the directory:
cd CrispZotLib - Install dependencies:
npm install - Build the plugin:
npm run build - The built
.xpifile will be in thebuild/directory.
- Still work in progress; not all endpoints may work perfectly with all query types or schemas.
- IxTheo search relies on HTML scraping and specific export URLs, which might break if the IxTheo website changes significantly.
- Very large result sets (especially with OAI-PMH over wide date ranges) might be slow or incomplete due to repository limitations.
- Error handling for specific endpoint issues could be improved.
This project is licensed under the MIT License - see the LICENSE file for details.