Bibliography & Citation

A comprehensive bibliography and citation management system for Drupal that provides API for working with bibliographic data, entity storage for references, contributors and keywords, import/export functionality in multiple formats, and citation rendering using CSL (Citation Style Language) with over 8000 styles.

bibcite
2,286 sites
63
drupal.org

Install

Drupal 11, 10 v3.0.0
composer require 'drupal/bibcite:^3.0'

Overview

Bibliography & Citation (BibCite) is an enterprise-grade bibliographic data management system for Drupal. It provides a complete solution for storing, managing, importing, exporting, and rendering bibliographic references.

The core module provides the citation rendering API using the Citation Style Language (CSL) processor, supporting over 8000 citation styles from the official CSL style repository. References can be rendered as properly formatted citations in styles like APA, MLA, Chicago, and many more.

The entity submodule implements full Drupal entity support for References, Contributors (authors), and Keywords. References support revision tracking, configurable reference types, and comprehensive field mapping. Contributors support intelligent name parsing with prefix, first name, middle name, last name, suffix, and nickname components.

The import/export functionality supports multiple bibliographic formats including BibTeX, RIS, MARC, and EndNote (XML and Tagged formats). Import processes are handled via batch operations for large datasets, with configurable deduplication for contributors and keywords.

The module includes extensive Views integration with custom fields for citations and lookup links, as well as bulk actions for export, delete, and merge operations. Lookup link plugins provide quick access to DOI resolution, Google Scholar search, and PubMed.

Features

  • Citation rendering using CSL processor with 8000+ styles from the official CSL repository
  • Entity-based storage for References with revision support, configurable types, and extensive field definitions
  • Entity storage for Contributors with intelligent human name parsing (prefix, first, middle, last, suffix, nickname)
  • Entity storage for Keywords with auto-create support from reference forms
  • Import functionality from files with batch processing and configurable contributor/keyword deduplication
  • Export functionality to multiple formats with bulk export actions
  • BibTeX format support for import and export
  • RIS format support for import and export
  • MARC format support for import and export
  • EndNote format support (XML and Tagged formats) for import and export
  • Configurable format mapping between external formats and reference entity fields
  • Lookup link plugins for DOI resolution, Google Scholar search, and PubMed
  • Full Views integration with citation field, links field, and custom filters
  • Merge functionality for deduplicating Contributors and Keywords
  • Preview functionality for references before saving
  • Automatic citation key generation using token patterns
  • Reference type management with per-type field visibility and citation key patterns

Use Cases

Academic Research Publication Management

Universities and research institutions can use BibCite to manage their publication databases. Faculty can import their publications from BibTeX files exported from Google Scholar or reference managers, maintain a centralized bibliography, and export formatted reference lists for grant applications and CVs.

Digital Library Bibliography

Libraries can use BibCite to create and maintain bibliographies for digital collections. References can be imported from library catalog exports in MARC format, linked to digital objects, and displayed with proper citations in multiple styles based on patron needs.

Journal or Conference Website

Academic journals and conference organizers can manage submitted paper references, ensure proper citation formatting for publications, and provide export functionality for authors to download references in their preferred format (BibTeX for LaTeX users, RIS for EndNote users).

Research Group Collaboration

Research groups can collaboratively manage shared bibliographies. Team members can add references, merge duplicates using the built-in merge functionality, and generate properly formatted reference lists for collaborative papers and reports.

Course Reading Lists

Educational institutions can maintain course reading lists with full bibliographic information. Instructors can import references, categorize them by topic or week using keywords, and provide students with export options for their reference managers.

Tips

  • Install multiple CSL styles to give users flexibility in citation formatting. The official CSL repository at https://github.com/citation-style-language/styles contains over 8000 styles.
  • Use the automatic citation key generation feature with tokens like [bibcite_reference:author:0:entity:last_name]-[bibcite_reference:bibcite_year] for human-readable keys.
  • Enable deduplication in import settings to prevent duplicate contributors and keywords when importing from multiple sources.
  • Configure format mappings before importing data to ensure fields are properly matched to reference entity fields.
  • Use the Table view mode for reference entity display to show all fields in a structured format, or Citation view mode for formatted citation display.
  • The merge functionality is useful for cleaning up duplicates after bulk imports - merge similar contributors and keywords to maintain data integrity.
  • Configure per-reference-type permissions for granular access control in multi-author environments.

Technical Details

Admin Pages 18
Processing /admin/config/bibcite

Configure the citation processor and default citation style. Select from available CSL processors and set the default style to use when rendering citations.

CSL styles /admin/config/bibcite/settings/csl_style

Manage Citation Style Language (CSL) styles. Add, edit, or delete citation styles. Install styles from the official CSL repository or upload custom CSL files.

Add CSL style /admin/config/bibcite/settings/csl_style/add

Add a new CSL citation style by entering its details and CSL XML content.

References /admin/structure/bibcite/reference/settings

Configure global settings for reference entities including view mode, form override options, and citation key patterns.

Links /admin/structure/bibcite/reference/settings/links

Configure external lookup links displayed on reference entities. Enable/disable and reorder links like DOI, Google Scholar, and PubMed.

Types /admin/structure/bibcite/reference/settings/types

Manage reference types (bundles) such as Journal Article, Book, Conference Paper, etc. Each type can have custom field visibility and citation key patterns.

Contributors /admin/structure/bibcite/contributor/settings

Configure contributor entity settings including the full name display pattern.

Contributor categories /admin/structure/bibcite/contributor/settings/category

Manage contributor categories which group contributors by their relationship to the work.

Contributor roles /admin/structure/bibcite/contributor/settings/role

Manage contributor roles such as Author, Editor, Translator, etc.

Mapping for CSL format /admin/config/bibcite/settings/mapping/csl

Configure field mapping between reference entity fields and CSL (Citation Style Language) data format.

Mapping for [format] format /admin/config/bibcite/settings/mapping/{bibcite_format}

Configure field and type mappings between external format (BibTeX, RIS, MARC, EndNote) and reference entity fields.

Import /admin/config/bibcite/settings/import

Configure import settings including deduplication options for contributors and keywords.

References /admin/content/bibcite/reference

View and manage all bibliographic reference entities. Provides bulk operations for delete, export, and merge.

Import /admin/content/bibcite/reference/import

Import bibliographic references from files. Select format and upload file for batch import processing.

Populate reference values /admin/content/bibcite/reference/populate

Create a new reference by pasting bibliographic data in a supported format. The data will be parsed and used to pre-populate a new reference form.

Export all references /admin/content/bibcite/reference/export

Export all reference entities to a file in selected format. Previously generated export files are listed for download.

Contributors /admin/content/bibcite/contributor

View and manage all contributor entities. Provides bulk operations for delete, merge, and save.

Keywords /admin/content/bibcite/keyword

View and manage all keyword entities. Provides bulk operations for delete, merge, and save.

Permissions 25
Administer Bibliography & Citation

Full access to all bibcite functionality including configuration settings

Administer Reference entities

Allow to access the administration form to configure Reference entities

Create new Reference entity of any type

Permission to create reference entities of any type

Delete own Reference entity of any type

Permission to delete own reference entities

Delete any Reference entity of any type

Permission to delete any reference entities regardless of ownership

Edit own Reference entity of any type

Permission to edit own reference entities

Edit any Reference entity of any type

Permission to edit any reference entities regardless of ownership

View Reference entities

Permission to view reference entities

View own unpublished References

Permission to view own unpublished reference entities

View all Reference revisions

Permission to view revision history of references

Revert all Reference revisions

Permission to revert references to previous revisions

Delete all Reference revisions

Permission to delete reference revisions

Administer Contributor entities

Allow to access the administration form to configure Contributor entities

Create new Contributor entities

Permission to create contributor entities

Delete Contributor entities

Permission to delete contributor entities

Edit Contributor entities

Permission to edit contributor entities

View Contributor entities

Permission to view contributor entities

Administer Keyword entities

Allow to access the administration form to configure Keyword entities

Create new Keyword entities

Permission to create keyword entities

Delete Keyword entities

Permission to delete keyword entities

Edit Keyword entities

Permission to edit keyword entities

View Keyword entities

Permission to view keyword entities

Access to import form

Permission to access the bibliographic data import form

Access to populate form

Permission to access the reference populate form

Access Reference Export

Permission to export reference data

Hooks 2
hook_bibcite_reference_type_info_alter

Alter reference type definitions

hook_entity_type_alter

Standard Drupal hook to alter entity type definitions for bibcite entities

Troubleshooting 5
CSL styles not rendering correctly

Ensure the citeproc-php library is properly installed via Composer. Check that the selected CSL style XML is valid. Parent styles must be installed before dependent styles.

Import fails with format errors

Verify the import file format matches the selected format type. Check for encoding issues (UTF-8 recommended). Review the error message for specific parsing failures.

Contributor names not parsing correctly

The name parser uses heuristics and may not handle all name formats. Consider manually entering name parts or adjusting the full name pattern in contributor settings.

References not displaying in Views

Ensure view permission is granted for references. Check that the correct entity type (bibcite_reference) is selected as the base table. Verify field formatters are properly configured.

Export links not appearing on references

Navigate to /admin/structure/bibcite/reference/settings/links and ensure the desired link plugins are enabled. Verify the reference has the required field values (e.g., DOI for DOI links).

Security Notes 4
  • The 'administer bibcite' permission should be restricted to trusted administrators as it provides full access to all module configuration.
  • Import functionality can create many entities quickly - restrict import permissions to prevent potential DoS scenarios.
  • File uploads for import are validated but should be monitored on public-facing sites.
  • The module properly escapes output in templates and uses Drupal's security APIs for database operations.