I am using the Crossref plugin for DOI. I have installed and enabled the Crossrefreferencelinking plugin from the OJS plugin gallery to retrieve the DOIs for the references. But the plugin is not retrieving and showing DOIs along with the references.
I have done the following:
1- Crossref DOIs are assigned to the articles.
2- Article references are separately entered and extracted.
3- Article DOIs are deposited to Crossref from within OJS.
I installed this plugin yesterday and waited for the scheduled task (Acron plugin) to run. Now scheduled tasks have updated all the counters yet DOIs are not assigned to the references.
Today, I noticed the following in my PHP error log:
[20-Mar-2021 08:01:39 Asia/Riyadh] PHP Warning: Declaration of CrossrefReferenceLinkingSettingsForm::fetch($request) should be compatible with Form::fetch($request, $template = NULL, $display = false) in /home/seisense/journal.seisense.com/plugins/generic/crossrefReferenceLinking/CrossrefReferenceLinkingSettingsForm.inc.php on line 92
[20-Mar-2021 08:01:39 Asia/Riyadh] PHP Warning: Declaration of CrossrefReferenceLinkingSettingsForm::execute($object = NULL) should be compatible with Form::execute(...$functionArgs) in /home/seisense/journal.seisense.com/plugins/generic/crossrefReferenceLinking/CrossrefReferenceLinkingSettingsForm.inc.php on line 135
[20-Mar-2021 08:04:50 Asia/Riyadh] PHP Warning: Declaration of WebFeedSettingsForm::fetch($request) should be compatible with Form::fetch($request, $template = NULL, $display = false) in /home/seisense/journal.seisense.com/plugins/generic/webFeed/WebFeedSettingsForm.inc.php on line 72
Please advise if this is relevant to the issue which I highlighted in my previous post.
Looking forward to the solution.
Hi @rcgillis and @bozana ,
As soon as I click on settings of the CrossrefReferenceLinking Plugin under the OJS installed plugins, It throws the following two warnings in PHP error log:
[26-Mar-2021 07:54:11 Asia/Riyadh] PHP Warning: Declaration of CrossrefReferenceLinkingSettingsForm::fetch($request) should be compatible with Form::fetch($request, $template = NULL, $display = false) in /home/seisense/journal.seisense.com/plugins/generic/crossrefReferenceLinking/CrossrefReferenceLinkingSettingsForm.inc.php on line 92
[26-Mar-2021 07:54:11 Asia/Riyadh] PHP Warning: Declaration of CrossrefReferenceLinkingSettingsForm::execute($object = NULL) should be compatible with Form::execute(...$functionArgs) in /home/seisense/journal.seisense.com/plugins/generic/crossrefReferenceLinking/CrossrefReferenceLinkingSettingsForm.inc.php on line 135
Those warnings are not making problems – they are just warnings. But, good spotting, we will correct that! Thanks!
I think that the Acron plugin does not know yet about the new installed CrossrefReferenceLinkin plugin. I.e. I think that you will probably need to use the function “Reload Scheduled Tasks” of the Acron plugin (available for the admin user on the plugins listing page, after clicking on the arrow associated with the Acron plugin), so that the Acron plugin knows that there is a new scheduled task (of the CrossrefReferenceLinking plugin) that should be considered.
Once you have done this, and call an article page to trigger the Acron plugin, see in your DB table scheduled_tasks, if there is class_neme = plugins.generic.crossrefReferenceLinking.CrossrefReferenceLinkingInfoSender.
After that I believe it should work.
Else, the steps you described are all correct
I have noticed that in my files directory, there is no “scheduledTaskLogs” folder. Can this be the reason that reloading scheduled tasks in Acron is not running. I read your other post
I don’t know if it is necessary and if I must have it. Following your post, I tried to create a folder in my files directory " scheduledTaskLogs". But as soon as I visit my journal website, the newly created " scheduledTaskLogs" folder is disappearing from the files directory.
Just to highlight here, I have another subdomain where I am running my test journal (OJS 126.96.36.199). There I can see this folder does exist in the files directory.
Can my test subdomain be conflicting with my journal website and causing this issue?
The Crossref Reference Linking plugin had a bug – it did not recognize that the references were enabled if the option “ask the author…” or “require the author…” was selected (s. crossrefReferenceLinking plugin: consider all references settings · Issue #6886 · pkp/pkp-lib · GitHub). Not this is fixed and you can update the plugin via plugin gallery. This might cause the problem, but I am not sure.
Once you updated the plugin, please reload the scheduled tasks of the Acron plugin again. Could you then please look at the DB table plugin_settings – see if there is “plugins.generic.crossrefReferenceLinking.CrossrefReferenceLinkingInfoSender” in the column setting_value where the plugin_name = “acronplugin” and setting_name = “crontab”?
I don’t know why is your scheduledTask folder missing… – very strange… – I’ll take a look… if I can figure out something… and what that could mean…
Hi @bozana ,
Thanks for the fix. I confirm that now in the settings of " CrossrefReferenceLinking Plugin", It is showing " You’re all set up!" and
at the DB table plugin_settings – there is “plugins.generic.crossrefReferenceLinking.CrossrefReferenceLinkingInfoSender” in the column setting_value where the plugin_name = “acronplugin” and setting_name = “crontab”.
It is also showing in DB table: Scheduled_tasks with the updated timestamp
Thanks for the update and I ll waiting to listen from you on the ScheduledTask folder.
Hi @bozana ,
Now it’s more than 24 hours, yet DOIs are not showing up in the article details page along with the references.
Here is what has happened so far:
1- Yesterday, I redeposited four of the articles in the crossref using the crossref import-export plugin.
2- Then, I received the Crossref confirmation email that references processed successfully as below:
@seisense, hmmm… I cannot figure out why your scheduled task folder is disappearing… :-\
Your domain and subdomain use different files/ folder and are configured so/correctly (in config.inc.php), right? – they should not then be conflicting…
When you create the folder manually, are the access rights correct set? – the folder should be writable.
This is the part of the code that is responsible for creating that directory: pkp-lib/ScheduledTask.inc.php at stable-3_3_0 · pkp/pkp-lib · GitHub. That code is run when a scheduled task is created/executed. Actually, if an error occurs there should be an entry in the php error log file (s. L57), so maybe you find something there? Else, maybe you could try to debug that part somehow – e.g. to write something into a file and see then what is happening when the scheduled tasks are run…
Hi @bozana ,
Interestingly, now I can see the " ScheduledTaskLogs" in the files directory. I don’t know why but on that day it was not there.
Thanks for your support. Yet I need your help to resolve the issue of the CrossrefeReference linking plugin.
That means the DOIs were found and everything worked well, they are just not being displayed. It could be that your child theme is not having the hook that is used for the DOI display. The hook used is “Templates::Article::Details::Reference”, s. ojs/article_details.tpl at stable-3_3_0 · pkp/ojs · GitHub. If your child theme is overriding that article_details.tpl, it should contain the same hook, I think – I am not 100% sure. So please check that i.e. add that hook in your child theme in the same way, at the same place, and see if that helps.
Thanks for your support. I confirm now the problem is resolved. It was only a matter of frontend and references were not being displayed.
But here is a catch - References started displaying only after I updated the " Manuscript (Default child theme)" from the ojs plugin. Although I was not using the manuscript child theme. My child theme is based on " Default" theme.
Good thing is, it is resolved now.
There is one suggestion
if it is possible that Crossref Reference Linking plugin should show the word " Crossref DOI" or any label instead of displaying the DOI.
Why I am suggesting this?
If DOIs are already there with the references then it will just duplicate the DOIs at the front end (see the example