This TYPO3-Extension allows researchers to integrate their publications from ORCID into a TYPO3 website. The extensions takes an ORCID ID, queries the ORCID API for publications and displays the publications in the frontend. Citation style and grouping options can be selected in the backend. The extension updates the list of publications on save and once a day via cronjob.
Oricd Ext | TYPO3 | PHP |
---|---|---|
1.x | 9.0 - 10.x | 7.0 - 7.x |
Personal publication lists from ORCID can be displayed in TYPO3.
Classes
Helper (Help functions and error codes)
Hooks (Hook for saving the orcid data and Hook for new content element)
Services (Implementation of database access and Orcid API access)
Task (Automated tasks for updating and deleting existing ORCiD data)
ViewHelpers (ViewHelper for displaying the data in the frontend. First preprocessing of the data)
Configuration
extResources(Copy of CSL files for citation styles and languages -> see remarks.)
Resources
Private
Language (Language files for front and back end)
Templates (HTML template for frontend)
Public
Css
Icons
Javascript (Javascript library (https://github.com/Juris-M/citeproc-js) for rendering the publications and some helper functions for using the library)
curl php-curl
- Copy project to
<typo3 path>/typo3conf/ext/orcid
. - Delete backend and frontend caches.
- Activate extension under Extensions.
- Add ORCID Data (orcid) Template under Template > Page-Template > Edit the whole template record > Includes.
- Set API URL and (if necessary) Proxy under Settings > Extension Configuration > orcid (ORCID API Url: https://pub.orcid.org/v3.0)
- Activate Tasks and CronJob (see below)
There are two tasks to keep the Orcid data up to date:
- Update Orcid Data: Updates all Orcid profiles contained on a TYPO3 site that have a recent last-modified-date.
- Important fields
- Frequency (seconds or cron command): e.g. * 3 * * * (3 o'clock at night)
- Update all data (timestamp is ignored): if checked, all publication data will be updated. Timestamps are ignored. This function can be used if the code for preparing the data has changed.
- Important fields
- Delete Orcid Data: Deletes all Orcid profiles (and their publications) that are not included on any page.
- Important fields
- Frequency (seconds or cron command): e.g. * 3 * * * (3 o'clock at night)
- Important fields
To execute the scheduler tasks automatically, a cron job must be set in the system (see https://docs.typo3.org/c/typo3/cms-scheduler/main/en-us/Installation/CronJob/Index.html).
The class OrcidAPIService uses a logger. The log file can be found here [typo3-path]/log/orcid_error.log
.
The configuration (e.g. path) of the logger can be changed in ext_localconf.php.
The publication types are translated in the language files for the frontend (see Resources/Private/Language/(de.)locallang.xlf
). Because the translations are done server-side, the publication types are translated with the help of the ViewHelpers/OrciddataViewHelper.php
.
Some publication types have the same translation. In this case they are combined (see Resources/Public/JavaScript/orcid.js
).
The CSL files (see section Citation Style Language - styles and locales) are stored unchanged as a copy under extRessources
. The integration via Composer to ensure automatic updates did not work, because the dependencies of the plugins are not resolved when updating TYPO3 for performance reasons.
Currently only a selection of citation styles is offered. It can be extended in Configuration/TCA/Overrides/tt_content.php
.
Currently the ORCiD API version 3 is used: https://pub.orcid.org/v3.0 Used Functions:
https://pub.orcid.org/v3.0/[orcid-id]
Summary of the data of a person for the specified ORCiD IDhttps://pub.orcid.org/v3.0/[orcid-id]/work/[work-put-code]
Data of a concrete research work The header is set to'Accept: application/vnd.citationstyles.csl+json'
, to get the data in the citeproc-json format needed for the csl renderer (citeproc-js)
For more information about the API, see https://info.orcid.org/documentation/api-tutorials/api-tutorial-read-data-on-a-record/
The used CSL-files (styles and locales) were developed and released by the CSL project and licensed under CC BY-SA
URL: https://citationstyles.org/
In this project the CSL files are used unchanged.
citeproc-js implements the Citation Style Language. It is developed by © Frank Bennett.
URL: https://citationstyles.org/
A bug in the filter function was fixed. The bug fix has been reported, but as far as we know it has not been adopted yet.
For more information about citeproc-js, see citeproc-js manual
Some functions to prepare the data for the csl-renderer (citeproc-js) were copied from https://github.com/ORCID/orcid-js and adapted. The relevant functions are marked in the code (see Resources/Public/JavaScript/orcid.js
).
ORCID-TYPO3 displays scientific publications in TYPO3. It was developed by the University of Potsdam.
URL: https://github.com/University-of-Potsdam-MM/orcid
This project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.