1 of 30

Publish or Perish: Bibliographic Reference Lists in Drupal

Michael Muzzie • DrupalCamp NJ 2024

2 of 30

Materials

View this Google Slides presentation:

bit.ly/publish-perish-dcnj

3 of 30

Michael Muzzie

Manager, Web Development��Web Development Services�Office of Information Technology�Princeton University

mdmuzzie@princeton.edu

drupal.org/u/notmike

muzzie.com

4 of 30

Agenda

  • Intro
  • Copy and Paste
  • Citation Style Language
  • BibCite module
    • References
    • Contributors
  • BibCite Views support
  • Questions

5 of 30

Copy and paste

  • Keep It Simple, Silly
  • With a short list of publications, a dynamic list with structured content may be overkill.
  • Paste your list into a Page content item.
  • You don’t get filtering, import/export, linked authors, pagination, sorting.
  • You should at least use an ordered or unordered list to improve the user experience for screen readers.

6 of 30

Bibliographic citation management software

  • Zotero, Endnote, Mendeley
  • Transfer citations between all three
  • Princeton University has an institutional license for Zotero.libguides.princeton.edu/zotero

7 of 30

Zotero Copy and Paste

  • Create Bibliography from Collection
  • Copy to Clipboard

8 of 30

Citation Style Language

  • Open XML file format, describes schema for formatting citations and bibliographies
  • Documentation and specifications at citationstyles.org
  • Github repository of over 10,000 CSL citation styles
  • CSL styles - redundant acronym phrase (ATM machine, UPC code)

9 of 30

Common Citation Styles

  • American Medical Association
  • American Psychological Association, 7th edition
  • Bluebook Law Review
  • Chicago Manual of Style, 17th edition (author-date)
  • Council of Science Editors, Name-Year (author-date)
  • IEEE
  • Modern Language Association, 8th edition
  • National Library of Medicine (with PMCID/PMID)
  • Vancouver
  • Plus 57 variations of Harvard author-date style

10 of 30

CSL: Types

  • article
  • article-journal
  • article-magazine
  • article-newspaper
  • bill
  • book
  • broadcast
  • chapter
  • classic
  • collection
  • dataset
  • document
  • entry
  • entry-dictionary
  • entry-encyclopedia
  • event
  • figure
  • graphic
  • hearing
  • interview
  • legal_case
  • legislation
  • manuscript
  • map
  • motion_picture
  • musical_score
  • pamphlet
  • paper-conference
  • patent
  • performance
  • periodical
  • personal_communication
  • post
  • post-weblog
  • regulation
  • report
  • review
  • review-book
  • software
  • song
  • speech
  • standard
  • thesis
  • treaty
  • webpage

11 of 30

BibTeX: Types

  • article
  • book
  • booklet
  • conference
  • inbook
  • incollection
  • inproceedings
  • manual
  • masterthesis
  • misc
  • phdthesis
  • proceedings
  • techreport
  • unpublished

12 of 30

Example �CSL Type: Article

Article

  • A self-contained work made widely available but not published in a journal or other publication;
  • Use for preprints, working papers, and similar works posted on a platform where some level of persistence or stewardship is expected (e.g. arXiv or other preprint repositories, working paper series);
  • For unpublished works not made widely available or only hosted on personal websites, use manuscript

13 of 30

Bibliography & Citation (BibCite) Module

  • Successor to the Bibliography (Biblio) Module, aka Drupal Scholar
  • Biblio was a key feature of Harvard’s OpenScholar Drupal distribution.
  • BibCite, out of the box, has 3 entity types, an import feature, view modes for individual entities, and Views integration, but no default display of reference lists.

14 of 30

BibCite Submodules

  • Bibliography & Citation
  • Bibliography & Citation - Entity
  • Bibliography & Citation - Export
  • Bibliography & Citation - Import

  • Bibliography & Citation - Formats
    • BibTeX, Endnote, Marc (MARC), RIS

  • Additional import modules:
    • Crossref (DOI), PubMed�
  • Bibliography & Citation - Migrate

15 of 30

BibCite Entities

  • Three entity types
    • References
      • 36 Reference Types
    • Contributors
    • Keywords
  • Not standard node entities; however, some modules that enhance entities (for example, the Replicate and Pathauto modules) work with BibCite entities
  • Separate content admin tab and submenu

16 of 30

BibCite: Types

  • Artwork
  • Audiovisual
  • Bill
  • Book
  • Book Chapter
  • Broadcast
  • Case
  • Chart
  • Classical
  • Conference Paper
  • Conference Proceedings
  • Database
  • Film
  • Government Report
  • Hearing
  • Journal
  • Journal Article
  • Legal Ruling
  • Magazine Article
  • Manuscript
  • Map
  • Miscellaneous
  • Miscellaneous Section
  • Newspaper Article
  • Patent
  • Personal
  • Presentation
  • Report
  • Software
  • Statute
  • Thesis
  • Unpublished
  • Web Article
  • Web project page
  • Web service
  • Website

17 of 30

Zotero: Types

  • Artwork
  • Audio Recording
  • Bill
  • Blog Post
  • Book
  • Book Section
  • Case
  • Conference Paper
  • Dataset
  • Dictionary Entry
  • Document
  • E-mail
  • Encyclopedia Article
  • Film
  • Forum Post
  • Hearing
  • Instant Message
  • Interview
  • Journal Article
  • Letter
  • Magazine Article
  • Manuscript
  • Map
  • Newspaper Article
  • Patent
  • Podcast
  • Preprint
  • Presentation
  • Radio Broadcast
  • Report
  • Software
  • Standard
  • Statute
  • Thesis
  • TV Broadcast
  • Video Recording

18 of 30

BibCite

Config

  • Structure » Bibliography » References
  • Change view mode from Table to Default. Then use CSS to style.
  • Turn off “Override entity forms” to ungroup content fields.

19 of 30

Reference page: Default view mode

  • Create custom view mode or use twig template to add heading structure.
  • Remove redundant or non-working export links: Structure » Bibliography » References » Links

20 of 30

Create: Vertical

Tabs

21 of 30

Create: All Fields

22 of 30

Populate Reference

You can quickly populate all values in a reference by pasting in an exported reference.

23 of 30

BibCite: Contributors

  • When importing a large number of references, you may need to clean up (Merge) contributors because the source data may not retain the original name.
    • Alfred Newman
    • A. Newman
    • A. E. Newman
  • If you delete a Contributor, BibCite will not give you the opportunity to Merge. It will just remove that author from the reference.

24 of 30

BibCite: Contributors: Categories and Roles

  • For a Reference author, Bibcite can assign a Category (Primary, Secondary, Tertiary, etc.) and a Role (Author, Editor, Secondary Author), but Bibcite lacks consistency with how it handles these values. YMMV.
  • The Editor role does remove the author from the author list and adds it to the “Edited by” list (Chicago Manual of Style CSL).
  • Confusingly redundant Role names could conflict with Categories (Primary Tertiary Author)

🤬

25 of 30

BibCite Views Integration

  • Add View
  • Show “Reference” of type “All”
  • Create a page
  • Format » Show » “Fields” (not Show » “Reference”)
  • Add Citation field (CSL formatted citation)
  • Add additional fields like Publication Year for Grouping and Sort options
  • Add Contributor as Relationship to be able to sort by Last Name
  • Link each citation to reference detail page
  • Better Exposed Filters module is essential if you want to add filter options.

26 of 30

Views

Config

27 of 30

Views

Page

28 of 30

Princeton

Site�Builder�

29 of 30

BibCite Gotchas

  • Deprecated CiteProc engine
    • The beta3 versions of BibCite 2x and 3.x use a deprecated CiteProc library. Use the dev versions or the patch for issue #2992234.
  • The “Year of Publication” (yyyy) field corresponds to “issued date” in the CSL. The “Date Published” field (mm/yyyy) corresponds to the “original date” date of publication. The Biblio module in Drupal 7 had more granular date options for issued date (yyyy, mm/yyyy, mm/dd/yyyy).
    • One workaround is to use the entity creation date as a sort value.

🤬

30 of 30

Questions?

View this Google Slides presentation:

bit.ly/publish-perish-dcnj