OJS plugin installation problems

Dear,

I am using OJS 2.4.4-1. On my development system running windows I have installed a plugin without any problems. Then I have tried on a production system, running Linux, and first got info that the plugin is installed successfully, but now the plugin is not listed in the list of installed plugins. I have checked and the plugin files are correctly in the directory structure.

Any idea how to proceed?

Regards, Primož

Hi @primozs,

What plugin are you working with?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

I am workign with the Galley Icons plugin (https://pkp.sfu.ca/wiki/index.php/Ojs_plugins#Galley_Icons).

Regars, Primož

Hi @primozs,

That’s a 3rd-party plugin written for OJS 2.1 – it’s entirely likely that it’s not compatible with recent releases of OJS 2.x. I’d suggest contacting the author.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

You are right it is a 3rd party plugin. The point is I have tested it on the same version and it worked, so the OJS version should not be the problem.

Regards, Primož

Hi @primozs,

I’m not sure that’s the case. For example, I note that the plugin is missing a version.xml descriptor, which helps OJS to register the plugin within the system. That should be part of any OJS 2.4.x-compatible plugin.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

I have added the file version.xml and that helped to get it properly installed on the test system.
I don’t know, I guess something went wrong during the “registration” of the plugin. Is there a way to start registration again in verbose mode (or with errors on in PHP)?
Another idea I have is to remove the plugin and install it in verbose mode. But I am not sure how to do that?
Do you have any other idea?

Regards, Primož

Hi @primozs,

To register plugins, you can either upload them to the plugins area of the journal manager’s interface, or run the upgrade script, or manually create an entry in the versions table of the database. The version.xml descriptor for the plugin is required in all 3 cases.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

After getting access to the log it turned out that the problem was with the class Locale that no longer exists. After changing it to AppLocale the plugin works!
But it is interesting that on the test system it worked even before. Hm, maybe becasue it is Windows?

Thank you for help, Primož

Hi @primozs,

We had to rename the Locale class to AppLocale a few releases ago because PHP added its own conflicting Locale class. If I recall correctly, on systems without a PHP Locale class, there’s a bit of code to treat OJS’s old references to Locale as AppLocale. So I suspect your “broken” environment has the PHP-based Locale class and your other “working” one did not (permitting OJS to use both names).

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like