library(biblioview)
# Example: Launching the app locally with demo parameters
if (interactive()) {
launch_dashboard(
group = "0000000",
key = "INVALID_DEMO_KEY",
folder = "DEMO123",
title = "Demo Literature View"
)
}This guide introduces the interactive biblioview Shiny dashboard to share, explore and enrich literature collections from a Zotero Group Library.
The biblioview package provides a lightweight Shiny interface to display Zotero bibliographies in real time. Designed for embedding inside Learning Management Systems (LMS) like OPAL, project websites, or intranets, it allows research projects and course instructors to maintain a single source of truth in Zotero without requiring every student or collaborator to hold a Zotero account.
To stream literature live into biblioview, you need a shared Zotero Group Library and a read-only API Key.
zotero.org/groups/<group_id>).biblioview-course).Security Note: Treat your API key like a password. Avoid hardcoding active API keys into publicly accessible repositories. In production, pass credentials using environment variables or application configuration files.
biblioview supports URL parameters (query strings) to control which literature subset is fetched and how the header is rendered. This allows a single Shiny app deployment to serve multiple courses, project modules, or web pages dynamically.
| Parameter | Type | Required? | Description | Example Value |
|---|---|---|---|---|
group |
String / Numeric | Yes | The Zotero Group ID containing your library. | 1234567 |
key |
String | Yes | Your Zotero read-only API key. | a1b2c3d4e5f6... |
folder |
String | Optional | The Zotero Collection ID (subfolder) to scope references to a specific module/course. | A1B2C3D4 |
title |
String | Optional | Custom header title displayed above the bibliography table. | Reading%20List |
[https://your-shiny-server.org/biblioview/?group=1234567&key=YOUR_API_KEY&folder=A1B2C3D4&title=Course%20Bibliography](https://your-shiny-server.org/biblioview/?group=1234567&key=YOUR_API_KEY&folder=A1B2C3D4&title=Course%20Bibliography)
If folder is omitted, biblioview defaults to fetching the entire top-level group library. If title is omitted, it defaults to a standard application header.
biblioview provides two distinct app interfaces depending on your deployment target.
Designed for research projects, complex students courses and administrators who need full exploration capabilities.
Note:-field in extras.Designed specifically for <iframe> embedding in web pages or learning management (LMS) platforms like OPAL or Moodle.
<!-- Example HTML Module Embed -->
<iframe
src="[https://your-shiny-server.org/biblioview-embed/?group=1234567&key=YOUR_KEY&folder=A1B2C3D4&title=Required%20Readings](https://your-shiny-server.org/bibliotable/?group=1234567&key=YOUR_KEY&folder=A1B2C3D4&title=Required%20Readings)"
width="100%"
height="600px"
frameborder="0">
</iframe>For local development or package testing (R CMD check), mock credentials can be used in combination with offline fallback datasets to ensure vignette compilation without live network calls:
library(biblioview)
# Example: Launching the app locally with demo parameters
if (interactive()) {
launch_dashboard(
group = "0000000",
key = "INVALID_DEMO_KEY",
folder = "DEMO123",
title = "Demo Literature View"
)
}