Hi @Dulip_Withanage ,
Once again I am facing an issue with the ORCID plugin after I upgrade to 3.2.1.3. When author tries to authenticate the orcid following the link they receive in email, It throws the following fatal error:
[26-Jan-2021 04:27:55 America/New_York] PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php:304
Stack trace:
#0 /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php(343): OrcidProfilePlugin->buildOAuthUrl('orcidAuthorize', Array)
#1 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_filterhandler.php(63): OrcidProfilePlugin->registrationFilter('\t<!DOCTYPE html...', Object(Smarty_Internal_Template))
#2 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(231): Smarty_Internal_Runtime_FilterHandler->runFilter('output', '\t<!DOCTYPE html...', Object(Smarty_Internal_Template))
#3 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(false, 1)
#4 /home/seisense/journal.seisense.com/lib/pkp/lib/ven in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 304
And author receives the following error in the browser " The current role does not have access to this operation"
did you change your email template, the variable orcidAuthURL under /management/settings/workflow should not include settings. This was earlier a problem in ojs, but shoud have been fixed in OJS. Can you confirm after checking it?
There should not be any settings before the varialbe name.
Hi @Dulip_Withanage,
I did not make any changes to orcidAuthURL. There are two email templates for ORCID. Find below the screenshot of both the email templates for your review
I have this exact issue at the moment. If you donât have âhttps://â in the URL you are editing, OJS automatically appends the current settings page URL to the beginning of the link.
I was having this issue with 3.2.1.1 and thought upgrading might fix it, but it didnât. the only difference is that in 3.2.1.1 if I changed the URL to âhttps://{$authorOrcidUrl}â and clicked Save, the URL would be changed to âhttps://authororcidurlâ. Now after upgrading to 3.2.1.3, âhttps://{$authorOrcidUrl}â will be reverted to âhttps://journal.nzpps.org/index.php/nzpp/management/settings/{$authorOrcidUrl}â.
These emails are giving the same errors for our authors, or sometimes simply a â404 Page Not Foundâ. The proper ORCiD URL is in there though, as I noticed that if I removed âhttps://journal.nzpps.org/index.php/nzpp/management/settings/{$href=â from the beginning of the link, the rest of the link worked as it should and took you to the ORCiD authentication page.
Hereâs an example of a full URL that gets inserted into the emails sent to the author:
We are still experiencing the same problem after an upgrade to OJS 3.2.1-4. I have asked our systems administrator to check the ui-library files. This is very frustrating for our authors!
We are still experiencing the same problem and our system admin has checked the ui-library files and they are correct. They have said that they have identified the problem but donât know why it is happening (screengrab). Would you be able to offer some advice?
âThe highlighted code returns ânullâ value from the database.â
Hi Jacqueline,
this error shows that the token is not set in the settings. Did you also check that you have the newset plugin version and in the settings token and client-id are correctly configured?
Thanks for your reply. I have re-checked the plugin and it is up-to-date and the settings token and client-id are correctly configured. Any further thoughts?
Hi Jacqueline,
Your report suggests to me that the token is not coming to ojs side.
is there a orcid.log created in your ojs files folder to check, if there is any communication error. If that does not indicate anything, please let me know.
Best,
Dulip
Unfortunately I canât check this as the systems admin have advised it is outside their expertise and they can no longer help. They say they have followed PKPâs advice and upgraded the OJS, that the plugin is up to date and have identified that the issue is in the code highlighted in the screen grab I uploaded previously. So I am stuck.
Best
Jacqueline
I noticed the OJS plugin gallery was showing the update of ORCID plugin version 1.1.2.14.
After updating to the current version, it is still throwing fatal error at site wide registration:
[08-Mar-2021 12:18:50 America/New_York] PHP Warning: assert(): assert($context != null) failed in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 303
[08-Mar-2021 12:18:50 America/New_York] PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php:304
Stack trace:
#0 /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php(343): OrcidProfilePlugin->buildOAuthUrl('orcidAuthorize', Array)
#1 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_filterhandler.php(63): OrcidProfilePlugin->registrationFilter('<!DOCTYPE html>...', Object(Smarty_Internal_Template))
#2 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(231): Smarty_Internal_Runtime_FilterHandler->runFilter('output', '<!DOCTYPE html>...', Object(Smarty_Internal_Template))
#3 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(false, 1)
#4 /home/seisense/journal.seisense.com/lib/pkp/lib/vendo in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 304
Hi @Dulip_Withanage ,
Please visit the link (SEISENSE) to my journal website. When you click on the âRegisterâ in top menu, it shows php error 500 error. And in php error log it throws the following:
[09-Mar-2021 01:51:22 America/New_York] PHP Warning: assert(): assert($context != null) failed in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 303
[09-Mar-2021 01:51:22 America/New_York] PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php:304
Stack trace:
#0 /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php(343): OrcidProfilePlugin->buildOAuthUrl('orcidAuthorize', Array)
#1 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_filterhandler.php(63): OrcidProfilePlugin->registrationFilter('<!DOCTYPE html>...', Object(Smarty_Internal_Template))
#2 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(231): Smarty_Internal_Runtime_FilterHandler->runFilter('output', '<!DOCTYPE html>...', Object(Smarty_Internal_Template))
#3 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(false, 1)
#4 /home/seisense/journal.seisense.com/lib/pkp/lib/vendo in /home/seisense/journal.seisense.com/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 304