Problems with the DOI-CrossRef automatic registration

Ah, I structured that slightly wrong. It should be:

SELECT	pa.*,
				a.*,
				COALESCE(stl.setting_value, stpl.setting_value) AS section_title,
				COALESCE(sal.setting_value, sapl.setting_value) AS section_abbrev
			FROM	published_articles pa
				INNER JOIN articles a ON pa.article_id = a.article_id
				LEFT JOIN sections s ON s.section_id = a.section_id
				LEFT JOIN section_settings stpl ON (s.section_id = stpl.section_id AND stpl.setting_name = 'title' AND stpl.locale = 'en_US')
				LEFT JOIN section_settings stl ON (s.section_id = stl.section_id AND stl.setting_name = 'title' AND stl.locale = 'en_US')
				LEFT JOIN section_settings sapl ON (s.section_id = sapl.section_id AND sapl.setting_name = 'abbrev' AND sapl.locale = 'en_US')
				LEFT JOIN section_settings sal ON (s.section_id = sal.section_id AND sal.setting_name = 'abbrev' AND sal.locale = 'en_US')
LEFT JOIN article_settings ast ON a.article_id = ast.article_id AND ast.setting_name = 'crossref::registeredDoi'
				WHERE	(ast.setting_value IS NULL OR ast.setting_value = '')
				AND a.journal_id = 1
			ORDER BY pa.issue_id, a.article_id

I’ve filled in the ? with ‘en_US’ and with 1. Replace these if appropriate.

Screenshot_2019-04-09%20www%20ierek%20com%20localhost%20ikcomp_ojs%20pa%20phpMyAdmin%204%208%203

I got this from the query
The last one at the end is one that i just posted as a try to see if the crossref would auto register it … i went into editors and assigned it to an issue and then record, then chose the date and then record

Status in Manage Article DOIs is not deposited…now if i check it and click on register it would go to crossref and be registered successfully… i’ve done it many times this past month so i know it’s working

After fetching the list of articles, the code checks each article for the associated issue, and verifies that the issue is published. From there, the code then checks to ensure that the article has a DOI assigned.

What do you get from the queries:

select * from issues where issue_id = 19;

select * from article_settings where article_id = 419 and setting_name like 'pub-id::%';

?

1 2

Here are the two queries

And on a side note, i thought of upgrading to the last OJS 3.1.2 (i thought maybe it would resolve this issue) and after doing all the steps and click on upgrade, i get a white screen do you have any ideas on this?

An upgrade from 2.4.x to 3.1.x probably also involves a change in PHP version (from 5.x to 7.x). This PHP version change also involves a change in the mysql driver. See:

If you are committed to the upgrade, you might want to follow up in that thread (or open a new one) with the errors you find in your php error log.

I’ll try that for the upgrade, do you have any comments on the queries you asked me?

No, the data from the queries looks as I would expect.

So, what should i do now? does that mean that everything should be working but it is not ?!
Sorry, that i’m bothering you with this stupid issue :fearful:

Yes, the bits that we’ve looked at appear to suggest that the automatic registration is running, and that the queries would pull objects to be registered, but something is preventing the actual registration (but only via the automatic process). My next step would be step-through debugging of the code, which is likely a bit beyond what you would want to do, especially if you are also considering the upgrade to 3.1.2.

I don’t know what happened but the automatic registration is now working, i left one article uploaded and enabled the acron plugin and it registered after i left it for a day, i tried it again, and it registered around the same time of the day i don’t know what happened, maybe it was a permission issue, because as we were trying we started giving everything 777 permissions, but i don’t know why that certain hour of the day and how to change it and which folder that we gave a permission to got it to work

The limitation to a certain hour of the day will be part of the scheduled task process. A specific scheduled task is associated with a frequency within which it can run. The automatic registration for Crossref can only run once every 24 hours.

The permissions might be a consideration, but I would have expected to see errors in your PHP error log if permissions were preventing the run. Note that permissions of 777 are not secure. See this FAQ for details:

Do you know if i can change the time of the acron plugin or the scheduled tasks?
and i just wanna say thanx for sticking around with me in this issue

i still have the issue of the white screen upgrade i’m trying to solve and i’ll reply on the other post so that other’s can see maybe it will help

thanx again

The last runtime of the scheduled task is stored in the database’s scheduled_tasks table.

To re-run the Crossref Export on demand, clear or edit the last_run from the row keyed on class_name = “plugins.importexport.crossref.CrossrefInfoSender”. The scheduled task frequency is determined by the “scheduledTasks.xml” file in the plugin:

The Crossref plugin appears to be able to run the CrossrefInfoSender task on minute “0”, which I think means eligibility is hourly.