[OJS 3.1.2.0] View Report Plugin Not Working

@asmecher When trying to get a View Report, I get a blank page after a little while of waiting. Seems to me like a timeout. Any hints, how I’ll get a View Report out of OJS?

Thanks, Tobias

1 Like

Hi @twa,

Is there anything incriminating in your PHP or web server error log? (These may be separate, and a timeout should be logged in one of the two.)

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

this is quite interesting: two days ago there was no error in php log, but now:

[21-Sep-2019 07:49:18 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; CounterReport has a deprecated constructor in OJS/plugins/reports/counter/classes/CounterReport.inc.php on line 33
[21-Sep-2019 07:49:19 Country/City] PHP Fatal error:  Uncaught Error: Class 'Services' not found in OJS/plugins/reports/views/ViewReportPlugin.inc.php:70
Stack trace:
#0 OJS/lib/pkp/pages/management/PKPToolsHandler.inc.php(149): ViewReportPlugin->display(Array, Object(Request))
#1 OJS/lib/pkp/pages/management/PKPToolsHandler.inc.php(58): PKPToolsHandler->report(Array, Object(Request))
#2 OJS/lib/pkp/classes/core/PKPRouter.inc.php(390): PKPToolsHandler->tools(Array, Object(Request))
#3 OJS/lib/pkp/classes/core/PKPPageRouter.inc.php(231): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false)
#4 OJS/lib/pkp/classes/core/Dispatcher.inc.php(134): PKPPageRouter->route(Object(Request))
#5 OJS/lib/pkp/classes/core/PKPApplication.inc.php(252): Dispatcher->dispatch(Object(Request))
#6 /[...]/[...] in OJS/plugins/reports/views/ViewReportPlugin.inc.php on line 70

Thanks, Tobias

Hi @twa,

I suspect you’ve installed an incompatible version of the views report plugin over top of the version that came with OJS 3.1.2.

Regards,
Alec Smecher
Public Knowledge Project Team

Yes, @asmecher, you’re right, I forgot to revert to 3.1.2 plugin. In my desperation I tried to update only the plugin with lated github code of the plugin, and look what happens.
After reverting this is the php error log:

[22-Sep-2019 13:08:37 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADODB_Cache_File has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 263
[22-Sep-2019 13:08:37 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADOConnection has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 359
[22-Sep-2019 13:08:37 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 2921
[22-Sep-2019 13:08:37 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet_array has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 3939
[22-Sep-2019 13:08:37 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; CounterReport has a deprecated constructor in /OJS/plugins/reports/counter/classes/CounterReport.inc.php on line 33
[22-Sep-2019 13:09:30 Country/City] PHP Fatal error:  Allowed memory size of 104857600 bytes exhausted (tried to allocate 4096 bytes) in /OJS/cache/fc-locale-8ec22e84e39c69f82b073a359230398a.php on line 8
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADODB_Cache_File has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 263
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADOConnection has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 359
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 2921
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet_array has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 3939
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Non-static method PKPApplication::getCCLicenseBadge() should not be called statically in /OJS/pages/article/ArticleHandler.inc.php on line 162
[22-Sep-2019 13:10:12 Country/City] PHP Warning:  Declaration of SubmissionKeywordEntryDAO::getByControlledVocabId($controlledVocabId, $rangeInfo = NULL) should be compatible with ControlledVocabEntryDAO::getByControlledVocabId($controlledVocabId, $rangeInfo = NULL, $filter = NULL) in /OJS/lib/pkp/classes/submission/SubmissionKeywordEntryDAO.inc.php on line 20
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Non-static method PKPRequest::getBaseUrl() should not be called statically in /OJS/plugins/generic/shariff/ShariffPlugin.inc.php on line 130
[22-Sep-2019 13:10:12 Country/City] PHP Deprecated:  Non-static method PKPRequest::_checkThis() should not be called statically in /OJS/lib/pkp/classes/core/PKPRequest.inc.php on line 158
[22-Sep-2019 13:10:13 Country/City] PHP Deprecated:  Non-static method PKPRequest::getCompleteUrl() should not be called statically in /OJS/plugins/blocks/sideAnnouncements/sideAnnouncementsBlockPlugin.inc.php on line 151
[22-Sep-2019 13:10:13 Country/City] PHP Deprecated:  Non-static method PKPRequest::_checkThis() should not be called statically in /OJS/lib/pkp/classes/core/PKPRequest.inc.php on line 247
[22-Sep-2019 13:10:20 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADODB_Cache_File has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 263
[22-Sep-2019 13:10:20 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADOConnection has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 359
[22-Sep-2019 13:10:20 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 2921
[22-Sep-2019 13:10:20 Country/City] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet_array has a deprecated constructor in /OJS/lib/pkp/lib/adodb/adodb.inc.php on line 3939
[22-Sep-2019 13:10:20 Country/City] PHP Deprecated:  Non-static method PKPApplication::getCCLicenseBadge() should not be called statically in /OJS/pages/article/ArticleHandler.inc.php on line 162
[22-Sep-2019 13:10:20 Country/City] PHP Warning:  Declaration of SubmissionKeywordEntryDAO::getByControlledVocabId($controlledVocabId, $rangeInfo = NULL) should be compatible with ControlledVocabEntryDAO::getByControlledVocabId($controlledVocabId, $rangeInfo = NULL, $filter = NULL) in /OJS/lib/pkp/classes/submission/SubmissionKeywordEntryDAO.inc.php on line 20

The php Fatal error is this cache file:

<?php return array (
  'plugins.reports.reviews.displayName' => 'Review Report',
  'plugins.reports.reviews.description' => 'This plugin implements a CSV report containing a list of review assignments for a journal.',
  'plugins.reports.reviews.round' => 'Round',
  'plugins.reports.reviews.submissionTitle' => 'Submission Title',
  'plugins.reports.reviews.submissionId' => 'Submission ID',
  'plugins.reports.reviews.reviewer' => 'Reviewer',
  'plugins.reports.reviews.dateAssigned' => 'Date Assigned',
  'plugins.reports.reviews.dateNotified' => 'Date Notified',
  'plugins.reports.reviews.dateConfirmed' => 'Date Confirmed',
  'plugins.reports.reviews.dateAcknowledged' => 'Date Acknowledged',
  'plugins.reports.reviews.unconsidered' => 'Unconsidered',
  'plugins.reports.reviews.dateCompleted' => 'Date Completed',
  'plugins.reports.reviews.dateReminded' => 'Date Reminded',
  'plugins.reports.reviews.reviewOverdue' => 'Review Overdue Days',
  'plugins.reports.reviews.responseOverdue' => 'Response Overdue Days',
  'plugins.reports.reviews.recommendation' => 'Recommendation',
  'plugins.reports.reviews.comments' => 'Comments On Submission',
); ?>

Thanks!

Hi @twa,

PHP is running out of memory creating the report. Try increasing your memory limit in your PHP configuration.

Regards,
Alec Smecher
Public Knowledge Project Team

Thanks @asmecher, that’s done it. The report is exported.

The memory_limit was set to 100M, which is quite much in my eyes. After increasing I got an views export.

How much memory would you allocate for OJS?

Thanks, Tobias

Hi @twa,

Generally OJS won’t use anything like 100M, but the view report obviously is coded in such a way that it can be quite memory-intensive. I don’t think there is any risk leaving it at a high level (at least for OJS; I’m not sure what other PHP apps you may be running).

Regards,
Alec Smecher
Public Knowledge Project Team

Hej @asmecher,

so maybe this would be a good point for improving the views plugin code: Make it less memory hungry.

We’re only running OJS on this php installation.

Thank you very much for your help!

Regards, Tobias
Tobias

Found this post today, the issues still happens on OJS 3.3.0.3 and I can’t access most of the reports, they all timeout or run out of memory.

I managed to generate the PKP Usage Statistics report once by turning up all memory and timeout for processes and it generated a 2+ gb file.

The view report does work and it is good (takes some time to generate) but the review report is very confusing, never really needed it so I just ignored, articles report always timeout or run out of memory.

The reports I actually can use are the COUNTER Reports (VERY SLOW to just load the page and then it is even slower generate it) or using Custom Report Generator.