Workflow Settings, Submission


#1

I am working with PKP/OJS 3.1.1. When I try to make changes to the “Author Guidelines” using the option Workflow Settings, Submission, when I press “Save” there is a rotating icon on the right and then nothing happens. The “Save” button works well if I have just a simple sentence. If I add a new line or if I put something in bold then it stops working.

What could be blocking the Save button ?


#2

Hi @lfmpc,

Which of our applications are you using, and what version? (Please include this with your posts.)

Check your PHP error log to see if something relevant appears there.

Regards,
Alec Smecher
Public Knowledge Project Team


#3

This is being tested on a remote server and so I had to activate “error logging” in Cpanel | phpversion | change settings.

How can I check the log file?
(it says that the file is created in the same location of the file that is executed) In my case:

website/index.php/journal/admin/contexts?openWizard=1


#4

Hi @lfmpc,

See How do I find my PHP error log? for some general instructions. Each server may be different, but given what you quote above, I’d suggest looking in the OJS installation area (where your config.inc.php lives). Unfortunately I can’t be more specific than that – it depends on your server.

Regards,
Alec Smecher
Public Knowledge Project Team


#5

Some errors are now showing:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Smarty has a deprecated constructor in /home/jmbesx10/public_html/lib/pkp/lib/vendor/smarty/smarty/libs/Smarty.class.php on line 64

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 /home/jmbesx10/public_html/lib/pkp/lib/adodb/adodb.inc.php on line 263

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 /home/jmbesx10/public_html/lib/pkp/lib/adodb/adodb.inc.php on line 359

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 /home/jmbesx10/public_html/lib/pkp/lib/adodb/adodb.inc.php on line 2921

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 /home/jmbesx10/public_html/lib/pkp/lib/adodb/adodb.inc.php on line 3939

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/jmbesx10/public_html/lib/pkp/lib/adodb/adodb.inc.php on line 1003

Warning: Declaration of PKPUsageEventPlugin::getEnabled() should be compatible with LazyLoadPlugin::getEnabled($contextId = NULL) in /home/jmbesx10/public_html/lib/pkp/plugins/generic/usageEvent/PKPUsageEventPlugin.inc.php on line 24

(using PHP 7.2)


#6

Some more errors at the log:

PHP Warning: Declaration of LensGalleyPlugin::register($category, $path) should be compatible with LazyLoadPlugin::register($category, $path, $mainContextId = NULL) in /home/jmbesx10/public_html/plugins/generic/lensGalley/LensGalleyPlugin.inc.php on line 323
[31-May-2018 14:45:21 America/New_York] PHP Warning: Declaration of SubmissionChecklistGridHandler::initialize($request) should be compatible with SetupGridHandler::initialize($request, $args = NULL) in /home/jmbes/public_html/lib/pkp/controllers/grid/settings/submissionChecklist/SubmissionChecklistGridHandler.inc.php on line 19


#7

Hi @lfmpc,

Those appear to be warning messages, not errors, and they won’t cause problems (as long as you have them configured to go to the log file and not the web browser). However, they might have buried an error message further up in the log. Check the log for something containing the word “error”. (We’ll be working to resolve these warnings over the next few releases, particularly OJS 3.2, to be released late this year. Meanwhile they can be ignored.)

Regards,
Alec Smecher
Public Knowledge Project Team


#8

Where is the “submissions” text saved? Since this doesn’t require frequent changes I was thinking about changing it by hand directly on the database? or a file?


#9

Hi @lfmpc,

I’d recommend finding the error message and fixing the problem. A little bit of time in maintenance will save a lot of trouble down the line.

Regards,
Alec Smecher
Public Knowledge Project Team


#10

ok :slight_smile: I understand and agree.
I have discovered that the problem appears in other text boxes in “website.com/index.php/journal/management/settings/publication
In brief: “If the text contains a line change or some formatting then the app freezes after pressing the save button.”

So far without success:

  • changed PHP version (which I already changed to 7.0, 7.1 and 7.2)
  • changed “charset_normalization = utf-8” in localization settings
  • changed everything to utf-8 in the settings file since some stuff was marked as utf8 and other utf-8
    (I made a backup of the file just in case :slight_smile: )

No errors on log, just warnings.

On the app sometimes an error dialog appears: “##api.submissions.unknownError##”

I have inspected code on the browser (Firefox | Inspect element) and it looks quite similar in the places where it works (“Journal Settings” for example) and the places where it blocks (“Author Guidelines” for example).


#11

Hi @lfmpc,

Any current version of PHP should work.

Beware of changing those settings – the inconsistency between utf8 and utf-8 is intentional. The ideal settings should be…

client_charset = utf-8
connection_charset = utf8
database_charset = utf-8
charset_normalization = Off

However, if your database content is encoded in a different way than what’s specified above, then you may need to transcode it (using ftfy or iconv or something similar) before it’ll be stored correctly.

Long story short, I don’t suggest fiddling with all of these details as you risk introducing other problems.

In your inspector tool, what response does the server give when you try to save unsuccessfully? I wonder whether your server is intervening before OJS gets to save the content because of a module like mod_security thinking it might be an injection attempt.

Regards,
Alec Smecher
Public Knowledge Project Team


#12

I could not find the problem and decided to test a different hosting service. Now everything is working well.


#13

Thanks, Alec. I had the same issue and tried different possibilities but did not work. I disabled mod_security and it worked. After updating the content, I just enabled back the mod_security.