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.
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::%';
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.
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:
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.