Citrus
Citrus is a modern WordPress plugin that displays research publications beautifully on your website. Choose between automatic synchronization from the Pure API or manual entry of BibTeX data (paste or upload). Ideal for universities, research institutions, and academic departments.
Key features:
- Flexible Data Sources: Use Pure API automatic sync OR manually provide BibTeX data (paste or upload)
- Automatic synchronization from Pure API (schedule hourly, twice daily, or daily)
- Manual BibTeX entry: Paste content directly or upload .txt files
- Smart caching with WordPress transients to reduce API calls
- Beautiful, responsive publication listings with search and filters
- Multiple integration options: shortcode, Gutenberg block, and REST API
- Optional AI-powered summaries (OpenAI-compatible) with 24-hour caching and rate limiting
- 6 color schemes + custom CSS support
- Accessible, responsive design with dark mode
- Secure options handling and nonce-protected REST endpoints
Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher
- For Pure API mode: Pure API version 5.24 (legacy versioned Web Service) access credentials (API key and organization ID)
- For Manual Entry mode: BibTeX data from your reference manager (can be pasted or uploaded as .txt file)
- (Optional) OpenAI-compatible API key for AI features
Note: Pure API mode is designed and tested with Pure API version 5.24, the final version of the legacy versioned Web Service. It may not be compatible with the new Pure API.
External Services
This plugin connects to external third-party services to provide its functionality. Below is detailed information about each service:
Pure API
What it is: Pure is a research information management system (RIMS) used by universities and research institutions to manage publication data. This plugin connects to your institution’s Pure API to retrieve publication metadata.
What it’s used for: Fetching and synchronizing research publication data (titles, authors, abstracts, publication years, etc.) from your institution’s Pure system to display on your WordPress site.
What data is sent: Your Pure API key and Organization ID are sent with each request to authenticate and specify which organizational unit’s publications to retrieve. No user data or visitor information is transmitted to Pure.
When data is sent: Data is sent when: – You test the API connection in the plugin settings – You manually trigger a sync via the admin dashboard or REST API – An automatic scheduled sync runs (hourly, twice daily, or daily, based on your settings)
Service provider: Your own institution’s Pure installation (self-hosted or managed by Elsevier)
Privacy and Terms: Please consult your institution’s Pure system administrator for information about data handling, privacy policies, and terms of use specific to your Pure installation.
OpenAI API (Optional)
What it is: OpenAI provides artificial intelligence models that can analyze and summarize text. This plugin optionally uses OpenAI-compatible APIs to generate summaries of research publications.
What it’s used for: Generating AI-powered summaries of selected publications when users click the “Generate AI Summary” button on the frontend.
What data is sent: Publication metadata (titles, abstracts, and years) of the selected publications is sent to the configured AI API endpoint (defaults to https://api.openai.com/v1/chat/completions). For 10 or fewer publications, full abstracts are sent. For more than 10 publications, only titles and years are sent. No visitor information or personal data is transmitted.
When data is sent: Data is only sent when: – A user explicitly clicks the “Generate AI Summary” button in the frontend – AI features are enabled in the plugin settings – The request hasn’t been cached (summaries are cached for 24 hours)
Service provider: OpenAI (default) or any OpenAI-compatible API service you configure
Terms and Privacy: – OpenAI Terms of Use: https://openai.com/policies/terms-of-use – OpenAI Privacy Policy: https://openai.com/policies/privacy-policy – If using an alternative OpenAI-compatible service, please consult that provider’s terms and privacy policy
Note: AI features are completely optional and disabled by default. The plugin works fully without AI integration.
Usage
Shortcode
Place on any page or post:
[citrus_publications]
With filters:
[citrus_publications author=”Smith” year=”2024″ limit=”10″]
Enable AI summary button:
[citrus_publications enable_ai_summary=”true”]
Gutenberg Block
Add the “Pure Publications” block and configure filters in the block settings.
REST API
- Get publications (BibTeX): /wp-json/citrus/v1/publications
- Get publications (JSON): /wp-json/citrus/v1/publications/json
- Trigger sync (POST): /wp-json/citrus/v1/sync (requires authentication)
