Error - Update OJS 2.4.8.3 to 3.1.2.0

Hi @asmecher,

But all the modification of the encoding and the characters of the database, tables and columns to utf8 and utf8_general_ci, I did it in the DB version 2.4.8.3 and check the platform and all the characters were fine.

Or what happens if I leave the file config.inc.php of version 3.1.2.0 the same as that of version 2.4.8.3 and update, and after updating, I modify the characters. Or does not update?

Hi @diegomejia07,

If the accented characters appear to be OK in the OJS web site, but your connection_charset and database_charset options are not configured to utf8 (as you’ve shown in the screenshot), then the contents in the database are probably double-encoded and it only works because of the misconfiguration. You could try to use the same configuration in OJS 3.x, and I believe that would work, but longer term I would recommend fixing the data so that it’s properly encoded.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

I would like to try to update like this with that encoding that OJS 2.4.8.3 has, and then in version 3.1.2.0, if correcting the characters in the database. Is it okay to proceed like this?

I will still try to update, and if it fails or works, I will be letting you know.

Thanks.

Hi @diegomejia07,

That should be possible, but make sure you’re using the same configuration in config.inc.php for both OJS 2.x or 3.x. Watch out for a change to configuration that results in a mix of two types of encoding, one for older content, another for newer content. Disentangling mixed character encodings will be very difficult.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

Run the update again as I told you and it failed, due to some recurring messages:

Unable to move "C:/wamp64/Archivos_ojs/journals/2//articles/1161//supp/1161-4030-1-SP.docx" to "C:/wamp64/Archivos_ojs/journals/2//articles/1161//attachment/1161-13-4030-1-13-20190614.docx.
PHP Warning:  rename(C:/wamp64/Archivos_ojs/journals/2//articles/1161//supp/1161-4031-1-SP.docx,C:/wamp64/Archivos_ojs/journals/2//articles/1161//attachment/1161-13-4031-1-13-20190614.docx): Access is denied. (code: 5) in C:\wamp64\www\revistasiue\classes\install\Upgrade.inc.php on line 965
WARNING: Unable to find a match for "83-234-1-SM.pdf" in "C:/wamp64/Archivos_ojs/journals/1//articles/83/". Skipping this file.
Unable to move "C:/wamp64/Archivos_ojs/journals/1//articles/1345//submission/original/1345-4383-1-SM.docx" to "C:/wamp64/Archivos_ojs/journals/1//articles/1345//submission/1345-1-4383-1-2-20200728.docx".
WARNING: Unable to find a match for "227-780-1-SM.pdf" in "C:/wamp64/Archivos_ojs/journals/3//articles/227/". Skipping this file.
WARNING: Unable to find a match for "228-782-1-SM.pdf" in "C:/wamp64/Archivos_ojs/journals/3//articles/228/". Skipping this file.
PHP Warning:  copy(C:/wamp64/Archivos_ojs/journals/1//articles/1297/attachment/1297-1-4277-1-13-20200327.pdf): failed to open stream: No such file or directory in C:\wamp64\www\revistasiue\lib\pkp\classes\file\FileManager.inc.php on line 162
PHP Warning:  assert(): assert(is_readable($targetFilePath)) failed in C:\wamp64\www\revistasiue\lib\pkp\classes\submission\SubmissionFileDAODelegate.inc.php on line 123

And this was the error fatla with which the update failed

PHP Fatal error:  Uncaught Error: Call to a member function getFileId() on null in C:\wamp64\www\revistasiue\lib\pkp\classes\file\SubmissionFileManager.inc.php:184
Stack trace:
#0 C:\wamp64\www\revistasiue\classes\install\Upgrade.inc.php(1476): SubmissionFileManager->copyFileToFileStage('4106', 1, 4, NULL, true)
#1 C:\wamp64\www\revistasiue\lib\pkp\classes\install\Installer.inc.php(421): Upgrade->provideSupplementaryFilesForReview(Object(Upgrade), Array)
#2 C:\wamp64\www\revistasiue\lib\pkp\classes\install\Installer.inc.php(265): Installer->executeAction(Array)
#3 C:\wamp64\www\revistasiue\lib\pkp\classes\install\Installer.inc.php(186): Installer->executeInstaller()
#4 C:\wamp64\www\revistasiue\lib\pkp\classes\cliTool\UpgradeTool.inc.php(88): Installer->execute()
#5 C:\wamp64\www\revistasiue\lib\pkp\classes\cliTool\UpgradeTool.inc.php(64): UpgradeTool->upgrade()
#6 C:\wamp64\www\revistasiue\tools\upgrade.php(34): UpgradeTool->execute()
#7 {main}
thrown in C:\wamp64\www\revistasiue\lib\pkp\classes\file\SubmissionFileManager.inc.php on line 184

I would like to know what I can do to organize these messages and the fatal error before updating again

Thanks.

Hi @diegomejia07,

The OJS 2.x to 3.x upgrade process also rearranges the files_dir (in config.inc.php) so if you want to re-run the upgrade you should also restore that from backup (along with your database). There was a quirk in the OJS upgrade process in older releases (including 3.1.2-0) that led to missing files causing errors like you see; this has been resolved in OJS 3.2.1-x so that they just result in warnings. So another way to work around this would be to upgrade to a newer release (which I’d recommend anyway).

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

If I know that every time an update is going to be done, and it fails, everything must be restored again. The missing files do not know why they are missing, but every time I update I do so by restoring the backup copy of my installation, data and BD. Then you would better advise me to upgrade to version 3.2.1, instead of 3.1.2.0.

Hi @diegomejia07,

Yes, I’d recommend upgrading to the latest release rather than 3.1.2. (We’re planning to release a new build – OJS 3.2.1-2 – perhaps late this week.) In the meantime, one option would be to put placeholder documents where the upgrade process warns about missing files; you may be able to bypass this error that way.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

I already update to version 3.2.1.0, and it seems to me that so far it is working fine. I have a few things I want to ask:

  1. How do I translate the texts from English to Spanish, which come in some themes and plugins and are not translated, since in this version, the translation module, I cannot find it.

  2. I enter one of the journals, and I enter the users section, and it does not load the list of users, and it stays loading. It may be that many users are associated with this journal. How can you list them faster.

  3. And another is that the tar module of the path that I have on my Windows Server, does not decompress the modules.

Thanks…

Hi @diegomejia07,

How do I translate the texts from English to Spanish, which come in some themes and plugins and are not translated, since in this version, the translation module, I cannot find it.

See: https://docs.pkp.sfu.ca/translating-guide/en/

I enter one of the journals, and I enter the users section, and it does not load the list of users, and it stays loading. It may be that many users are associated with this journal. How can you list them faster.

It might be a slow load, or it might be a PHP error. Check your PHP error log for details.

And another is that the tar module of the path that I have on my Windows Server, does not decompress the modules.

I don’t have a Windows installation to test with, but other users have found solutions, e.g. this one: The tar command is not available. Please correctly configure it in your "config.inc.php"

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

It is very strange because I have several journals and only one does not load the list of users and I already checked the lists and the numbers to show these, and they are fine. After a while loading, it showed me the following error 500 and jquery.min, or I don’t know if there are many users associated with this journal:

$$$call$$$/grid/settings/user/user-grid/fetch-grid?oldUserId=&

I have the path to the tar configured correctly, in the config.inc.php file, but when trying to load, install or update any module, it shows me the following:

Files of this type cannot be uploaded.

Hi @asmecher,

The list of users, I could organize it.

Regarding the installation of the plugins, I have a problem in which it shows me and does not install, and in the php errors, I get the following message, but I don’t know what it can be, and as the OJS is installed in Windows, I don’t know what the error could be:

C:\Windows\System32\tar.exe: Missing file name after -C

Could you help me with this error, since I don’t know how to solve it.

Hi @diegomejia07,

What is your tar setting in config.inc.php?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

The tar configuration in the archive config.inc.php es:

tar = C:\Windows\System32\tar.exe

Hi @diegomejia07,

Check your PHP error log for details; I suspect you’ll see a warning mentioning mkdir and stating that PHP doesn’t have permission to create directories.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

If they were permission problems indeed.

But I have another problem, when trying to upload a .css file to the platform, it shows me the following error:

POST /api/v1/temporaryFiles 403 (Forbidden) at build.js?v=3.2.1.0:8

Hi @diegomejia07,

I’d suggest checking if you have a server-side security tool like mod_security that’s blocking the request from going through.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

Thanks for your answer, indeed that was the problem and some permissions on some folders.

Hi @asmecher,

I have another problem, when trying to open the PDF, it shows me the following:

PDF.js v2.0.943 (build: dc98bf76) Mensaje: PDFDocument: stream must have data 

What could this error be or how could I solve it, without suddenly having to update again.

Hi @diegomejia07,

I see someone has responded to your other post; please follow up there. (It’s best not to post the same content in several places, as it clutters the forum.)

Regards,
Alec Smecher
Public Knowledge Project Team