-
Notifications
You must be signed in to change notification settings - Fork 2
Citation Cover Page
We have added support for on-the-fly generation of a citation cover page to be pre-pended to PDF's within our DSpace instance. Our use-case was that we have digitized 100 years of the "Ohio Journal of Science", and by breaking individual articles out of the context of which volume they were contained within, someone who receives an individual article PDF has no context of where this came from.
Browse a community that it is enabled on: Ohio Journal of Science, in OSU Knowledge Bank
Or, direct link: PDF bitstream with Citation Cover Page enabled
Our solution is to add a cover page to the PDF at the beginning of the PDF, which has some of the descriptive metadata Title, Author, Issue Date, Citation, as well as context of our repository, including the parent Community and Collection, a link to the persistant identifier Handle, and the copyright/license. One of the consideration that went into the design of the cover-page was to ensure we were compliant with the Google Scholar indexing guidelines. Their robots will grab the largest font-size text, and assume that that is the title. Another institution had build a citation cover page system, and put their repository name as the largest text, and Google's Index of their content changed every Google Search Result to say something like: "My Institution Repository".
To enable it, set the configs in: dspace/config/modules/disseminate-citation.cfg
#Boolean to determine is citation-functionality is enabled globally for entire site.
#default => false
enable_globally=${disseminate-citation.enable-globally}
#List of collection handles to enable, to apply to nested bitstreams within
#default => empty. This is to be collection handles, separated by commas. ex: 1811/123, 1811/234
enabled_collections=${disseminate-citation.enabled_collections}
#List of community handles to enable, to apply to nested bitstreams within
#default => empty. This is to be community handles, separated by commas. ex: 1811/222, 1811/333
enabled_communities=${disseminate-citation.enabled_communities}
#Should the citation page be the first page of the document, or the last page?
#default => true. true => first page, false => last page
citation_as_first_page=${disseminate-citation.citation_as_first_page}
At one point we had been using a Curation Task to do this, manually. But we have since created a new CitationDocument, that generates this on demand.
It is wired up in BitstreamReader.java
// What will trigger a redirect/intercept?
// 1) Intercepting Enabled
// 2) This User is not an admin
// 3) This object is citation-able
if (CitationDocument.isCitationEnabledForBitstream(bitstream, context)) {
// on-the-fly citation generator
...
Some future work to this will be to move the text of the Cover Page pulled from the i18n language file. Its currently hard coded. Also, it assumes you have dc.identifier.citation metadata filled in.
