Portico plugin not working

I created an issue on GitHub here months ago: Export failed · Issue #7 · jmacgreg/portico · GitHub. I’m duplicating it here for visibility and in case others are encountering the same thing.


I’m on OJS 3.0.0.0 and using this plugin as available at Release Portico Plugin v. 3.0 · jmacgreg/portico · GitHub.

The plugin was installed successfully.

Whenever I try to send an issue to the FTP server, I get an “Export Failed” message. When I try to download an issue, the zip file is empty.

When I look at the server logs, I see the following errors:

PHP Warning:  Missing argument 4 for XMLCustomWriter::createChildWithText(), called in [truncated]/PorticoExportDom.inc.php on line 149 and defined in [truncated]/XMLCustomWriter.inc.php on line 192
PHP Notice:  Undefined variable: value in [truncated]/XMLCustomWriter.inc.php on line 196
PHP Notice:  Undefined variable: galleys in [truncated]/PorticoExportDom.inc.php on line 157
PHP Warning:  Invalid argument supplied for foreach() in [truncated]/PorticoExportDom.inc.php on line 157

Any thoughts? Thanks!

Hi Kardeiz,

Can you confirm that you have zip functionality available as part of your PHP configuration?

Cheers
James

Yes: Zip => enabled

@jmacgreg, any other thoughts? Where are those two undefined variables ($value and $galleys) supposed to be defined?

Is anyone on OJS 3.x successfully running the Portico plugin? Did you have to make any changes to the source code? Or is there an alternate Portico plugin?

1 Like

Hi @kardeiz, a quick note to inform you that the Portico plugin has recently received a fair bit of re-engineering, and should now be working just fine on OJS 3.1+. You can find the latest release here.

Cheers,
James

@jmacgreg, thanks, I appreciate the note! However, this won’t help us—we’re still on OJS 3.0.x and PHP 5.

I just checked and this release uses PHP 7 specific operators like ?? and OJS 3.1 specific functions like getTemplateResource.

Hi @kardeiz, yep, that’s right. OJS 3.1+ requires PHP 7 as well, not just this plugin, so in order to use 3.1+ and/or the plugin, you’ll have to upgrade PHP as well.

Cheers,
James