{"id":349494,"date":"2026-08-07T08:30:18","date_gmt":"2026-08-07T08:30:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/serapeum-multi-catalog-bibliographic-search\/"},"modified":"2026-08-07T08:29:59","modified_gmt":"2026-08-07T08:29:59","slug":"serapeum-multi-catalog-bibliographic-search","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/serapeum-multi-catalog-bibliographic-search\/","author":17674170,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Serapeum Multi-Catalog Bibliographic Search","header_author":"masino1967","header_description":"Multi-server bibliographic search via SRU with advanced filters, export (BibTeX\/CSV) and import into WordPress.","assets_banners_color":"","last_updated":"2026-08-07 08:29:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/masino1967","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"masino1967","date":"2026-08-07 08:29:59"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The Serapeum search page","2":"Serapeum\\'s search page with export buttons","3":"Records found with the import button"}},"plugin_section":[],"plugin_tags":[274774,11745,274775,15476],"plugin_category":[],"plugin_contributors":[269002],"plugin_business_model":[],"class_list":["post-349494","plugin","type-plugin","status-publish","hentry","plugin_tags-bibliographic","plugin_tags-catalogue","plugin_tags-public-library","plugin_tags-university","plugin_contributors-masino1967","plugin_committers-masino1967"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/serapeum-multi-catalog-bibliographic-search.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Serapeum Multi-Catalog Bibliographic Search allows WordPress administrators and editors to consult national and international library catalogues in real time via the SRU (Search\/Retrieve via URL) protocol.<\/p>\n\n<p>Features include:\n* Search supported library catalogs using Title, Author\/Creator, and Year filters.\n* Import records directly into WordPress as Draft Posts using native 2-column Gutenberg block layouts.\n* Export search results to CSV or BibTeX (.bib) formats for integration with reference managers (Zotero, Mendeley, EndNote).\n* Clean, single-file lightweight architecture with zero external PHP dependencies.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Supported Catalogs:\n* BnF - Biblioth\u00e8que nationale de France (France)\n  base_url: https:\/\/catalogue.bnf.fr\/api\/SRU\n  Documentation: https:\/\/api.bnf.fr\/fr\/api-sru-catalogue-general\n  Conditions &amp; Lienses: https:\/\/www.bnf.fr\/fr\/conditions-de-reutilisations-des-donnees-de-la-bnf<\/p>\n\n<ul>\n<li><p>Hispana - Ministerio de Cultura y Deporte (Spain)\nbase_url: https:\/\/hispana.mcu.es\/es\/sru\/sru.do\nDocumentation: https:\/\/hispana.mcu.es\/en\/estaticos\/contenido.do?pagina=estaticos%2Fsru\nConditions: https:\/\/hispana.mcu.es\/es\/contenido\/aviso-legal.do<\/p><\/li>\n<li><p>DNB - Deutsche Nationalbibliothek (Germany)\nbase_url: https:\/\/services.dnb.de\/sru\/dnb\nDocumentation &amp; licenses: https:\/\/www.dnb.de\/EN\/Professionell\/Metadatendienste\/metadatendienste_node.html<\/p><\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Method 1: Upload via WordPress Dashboard<\/h4>\n\n<ol>\n<li>Compress your plugin file into a .zip archive (e.g., serapeum-multi-catalog-bibliographic-search.zip).<\/li>\n<li>Log in to your WordPress Admin panel.<\/li>\n<li>Go to Plugins &gt; Add New Plugin.<\/li>\n<li>Click Upload Plugin at the top of the page.<\/li>\n<li>Select your .zip file and click Install Now.<\/li>\n<li>Click Activate Plugin.<\/li>\n<\/ol>\n\n<h4>Method 2: Manual Installation via FTP<\/h4>\n\n<ol>\n<li>Connect to your web server using FTP or your hosting cPanel File Manager.<\/li>\n<li>Navigate to the \/wp-content\/plugins\/ directory.<\/li>\n<li>Create a folder named serapeum-multi-catalog-bibliographic-search.<\/li>\n<li>Upload your plugin PHP file inside that folder.<\/li>\n<li>In your WordPress Dashboard, go to Plugins &gt; Installed Plugins and click Activate under Serapeum Multi-Catalog Bibliographic Search.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20sru%20and%20how%20does%20this%20plugin%20use%20it%3F\"><h3>What is SRU and how does this plugin use it?<\/h3><\/dt>\n<dd><p>SRU (Search\/Retrieve via URL) is a standard protocol for internet search queries using CQL (Contextual Query Language). The plugin communicates directly with official national and university library APIs to pull real-time bibliographic data without storing external databases on your server.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20require%20any%20external%20libraries%20or%20dependencies%3F\"><h3>Does this plugin require any external libraries or dependencies?<\/h3><\/dt>\n<dd><p>No. It is completely standalone and built as a lightweight, single-file PHP solution utilizing native WordPress functions (wp_remote_get, wp_insert_post, etc.).<\/p><\/dd>\n<dt id=\"which%20national%20and%20university%20libraries%20are%20currently%20supported%3F\"><h3>Which national and university libraries are currently supported?<\/h3><\/dt>\n<dd><p>The plugin includes built-in endpoint configurations for BnF (France), Hispana (Spain), DNB (Germany), Nasjonalbiblioteket (Norway), The British Library (UK), University of Oxford (UK), and University of Cambridge (UK).<\/p><\/dd>\n<dt id=\"what%20search%20filters%20can%20i%20use%3F\"><h3>What search filters can I use?<\/h3><\/dt>\n<dd><p>You can perform targeted queries using Book Title, Author \/ Creator, and Year of Publication. You can search using any single field or combine multiple fields for precise CQL query results.<\/p><\/dd>\n<dt id=\"why%20do%20search%20results%20vary%20between%20different%20library%20catalogs%3F\"><h3>Why do search results vary between different library catalogs?<\/h3><\/dt>\n<dd><p>Each institution uses specific indexes and operators (e.g., bib.title, dc.title, or alma.title). The plugin automatically maps your search fields to the correct CQL schema and operator (= or all) required by the selected library.<\/p><\/dd>\n<dt id=\"how%20does%20the%20%5C%22import%20as%20wp%20draft%5C%22%20feature%20work%3F\"><h3>How does the \\\"Import as WP Draft\\\" feature work?<\/h3><\/dt>\n<dd><p>Next to each record in the search results, click the \\\"Import as WP Draft\\\" button. The plugin automatically generates a new WordPress Draft Post pre-filled with the title and structured metadata.<\/p><\/dd>\n<dt id=\"how%20is%20the%20imported%20data%20formatted%20inside%20the%20post%3F\"><h3>How is the imported data formatted inside the post?<\/h3><\/dt>\n<dd><p>Records are formatted natively using Gutenberg Block Columns (30% width for metadata keys and 70% width for values). This ensures a clean, modern layout that fits seamlessly with your theme without requiring shortcodes or custom stylesheets.<\/p><\/dd>\n<dt id=\"can%20i%20edit%20imported%20bibliographic%20cards%20before%20publishing%3F\"><h3>Can I edit imported bibliographic cards before publishing?<\/h3><\/dt>\n<dd><p>Yes. Upon importing, a direct link (\\\"Edit post #ID\\\") will appear at the top of the page. Clicking it opens the standard WordPress Block Editor, allowing you to add featured images, tags, categories, or custom text before publishing.<\/p><\/dd>\n<dt id=\"can%20i%20export%20bibliographic%20results%20for%20citation%20managers%3F\"><h3>Can I export bibliographic results for citation managers?<\/h3><\/dt>\n<dd><p>Yes! You can export your search results in BibTeX (.bib) format, which is fully compatible with reference management software like Zotero, Mendeley, and EndNote.<\/p><\/dd>\n<dt id=\"what%20data%20is%20included%20in%20the%20csv%20export%3F\"><h3>What data is included in the CSV export?<\/h3><\/dt>\n<dd><p>The CSV file includes key metadata fields: ID, Title, Creator\/Author, Identifier\/ISBN, Publisher, Date, Type, and Language.<\/p><\/dd>\n<dt id=\"does%20exporting%20cost%20extra%20server%20memory%20or%20database%20space%3F\"><h3>Does exporting cost extra server memory or database space?<\/h3><\/dt>\n<dd><p>No. Export files are generated on-the-fly directly from the active search session memory and downloaded straight through your browser.<\/p><\/dd>\n<dt id=\"who%20can%20access%20the%20bibliographic%20search%20tool%20in%20wordpress%3F\"><h3>Who can access the bibliographic search tool in WordPress?<\/h3><\/dt>\n<dd><p>Access is restricted to users with editors and administrators privileges (manage_options capability) to ensure security and prevent unauthorized draft generation.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20the%20plugin%20page%20in%20wp-admin%3F\"><h3>Where can I find the plugin page in WP-Admin?<\/h3><\/dt>\n<dd><p>Once activated, a menu item labeled \\\"Serapeum\\\" (with a book icon) will appear in your left-hand WordPress admin menu.<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20how%20many%20records%20can%20be%20retrieved%20per%20search%3F\"><h3>Is there a limit on how many records can be retrieved per search?<\/h3><\/dt>\n<dd><p>Yes. To ensure fast response times and prevent HTTP timeouts, the plugin fetches up to 100 records per query and displays them paginated at 20 records per page.<\/p><\/dd>\n<dt id=\"can%20i%20display%20search%20results%20on%20the%20public%20frontend%20of%20my%20website%3F\"><h3>Can I display search results on the public frontend of my website?<\/h3><\/dt>\n<dd><p>This plugin is designed as a backend management tool for editors and administrators. However, once you import records as draft posts and publish them, they become visible to your site visitors as standard WordPress posts.<\/p><\/dd>\n<dt id=\"why%20am%20i%20getting%20an%20http%20connection%20error%20or%20timeout%3F\"><h3>Why am I getting an HTTP connection error or timeout?<\/h3><\/dt>\n<dd><p>Remote library servers (like DNB) may occasionally experience temporary downtime or rate-limiting. If a query times out, wait a few moments and try refining your search with specific terms.<\/p><\/dd>\n<dt id=\"i%20received%20an%20error%20saying%20%5C%22the%20response%20received%20from%20the%20server%20was%20empty%5C%22%20or%20%5C%22unable%20to%20parse%20xml%5C%22.\"><h3>I received an error saying \\\"The response received from the server was empty\\\" or \\\"Unable to parse XML\\\".<\/h3><\/dt>\n<dd><p>This happens if the remote library returns invalid formatting or blocks the request. Ensure your server firewall allows outgoing HTTP requests (wp_remote_get) and that the PHP SimpleXML extension is active.<\/p><\/dd>\n<dt id=\"why%20does%20a%20search%20return%20no%20results%20when%20i%20know%20the%20book%20exists%3F\"><h3>Why does a search return no results when I know the book exists?<\/h3><\/dt>\n<dd><p>Search terms must match the specific catalog\\'s index rules. Try searching with broader terms (e.g., entering only the author\\'s surname or a key word from the title).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>= 1.0.1.=\n* Added information to readme.txt and removed servers with insufficient information.<\/p>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Multi-server bibliographic search via SRU with advanced filters, export (BibTeX\/CSV) and import into WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=349494"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/masino1967"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349494"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349494"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349494"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349494"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349494"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}