Bug (or configuration error?) in bib and RIS

I recently got published in a journal that’s using OJS 3.1.1.4. While adding the publication details to my university’s publication platform and orcid, I noticed some problems with the bib and RIS files. I contacted the journal editor and was given the advice to pursue the potential bugs myself. I’m not sure if these are actual bugs or problems caused by configuration. So I though I would check here before posting bugs on GitHub.

The main issue is to do with the identifier in the bib file. As is common, the identifier is generated based on the authors’ last names and the year of publication. This article is by Van de Poel and Speelman and was published in December 2020. The resulting bib file therefore has the following identifier for the entry: Van de Poel_Speelman_2020. Of course, that identifier can’t be correctly parsed by LaTeX or other tools, since an identifier shouldn’t contain any spaces (they could be replaced by underscores for example). It seems that either the software or the configuration isn’t keeping last names in mind of more than one word. Such last names are quite common for Dutch and Belgian authors, which this specific journal focuses on, but I’m also aware of last names containing spaces in German and French. I’m therefore surprised no one ever came across this, and thus wonder if it’s perhaps more an issue of configuration than specifically a software bug.

Another, less important, thing I noticed, is that while the web pages of de journal’s OJS, as well as the metadata, correctly contain the journal’s ISSN, the number is completely missing from both the bib and the RIS file. Is this a missing feature I should file a feature request for, or something that can simply be configured?

I hope someone here on the forums can help me clear up these things. Thank you in advance!

I’m wondering if my message perhaps got lost during the winter break, so I’m quickly posting this reply hoping to gain some attention from those who are only checking up on the forums after the new year.

Hi @bertvandepoel,

Sorry for the late reply.

Checked this issue, it’s not related to the plugin or OJS and it comes from bibtex.csl. Unfortunately, it’s not going to be fixed by maintainers for now. See: `bibtex.csl` breaks with space in author last name · Issue #4753 · citation-style-language/styles · GitHub.

I’ve noticed that in CSL v.1.0.2 new variable is introduce: citation-key. I don’t know if it’s something that can help to solve this issue, anyway, first, the bibtex template and citeproc-php should be updated accordingly to support this.

Meanwhile, there is a workaround, e.g., by creating a plugin that substitutes original bibtex template with a custom one. Let me know if you need guidance on this.

Sorry for the late reply in my end this time, @Vitaliy . The beginning of the new year proved much busier than the first few months of my PhD.

Thank you for all the information. I wasn’t really aware of how OJS actually generates the bib. Too bad that it’s an external library issue, since that complicates things quite a lot. The situation also seems quite complicated since on the one hand one of the maintainers says CSL is not fit for bib generation, but on the other hand is now introducing a string/variable that may solve this issue. Based on the reality of how many tools use CSL, I think they can’t really decide not to support bib anymore though.

While it seems CSL 1.0.2 fixes some or all of the problem, that doesn’t seem to be the smoothest path to solve this problem. I agree that writing a separate plugin to solve this issue until a solution is reached upstream and permeates through to many OJS installation. Now, I’m not too sure what exactly you mean with substituting the bibtex template. Do you mean replacing the bibtex.csl? Or do you mean intercepting the output from the CSL plugin and then parsing it to fix problems? Or something else completely.

I’m quite willing to look into writing such a plugin, if you can give me a little more guidance both in what the plugin would essentially do to fix the bib files, as well as some more information about plugin creation. I’m also curious if PKP maintains some kind of list on its website or inside OJS of the available plugins, or how exactly maintainers of OJS installations would come to know about my plugin (and that it can be trusted).

Thanks again for the guidance you already gave, and I look forward to your next reply!

Hi @bertvandepoel and @Vitaliy,

is there any news on this topic? We have the same issue now.

Regards,
Carola

I’m afraid my last post was left unanswered, so I’ve just been stranded since. You are free to try and pick it up if you’d like.

It should be a generic plugin, e.g.: https://docs.pkp.sfu.ca/dev/plugin-guide/en/categories#generic
that uses this hook https://github.com/pkp/citationStyleLanguage/blob/8f756b3eee1bb449afc65cd79f53147bf15f142e/CitationStyleLanguagePlugin.inc.php#L491 to change $citationData->{'citation-key'} before it’s passed to the CSL
Or use this hook to substitute RIS or BIB templates: https://github.com/pkp/citationStyleLanguage/blob/8f756b3eee1bb449afc65cd79f53147bf15f142e/CitationStyleLanguagePlugin.inc.php#L233

The former will work only from CSL 1.0.2