Delay on PKP PLN sync

Estimado @mjoyce, muchas gracias por la respuesta. Consulte al administrador del servidor y me dice que posiblemente este intentando escribir en / www / docs / fundacionmenteclara.org.ar/tmp.
Cuando instale el OJS la carpeta de archivos donde esta scheduledTaskLogs la había colocado en fundacionmenteclara.org.ar/public_html/revista/carpeta de archivos

Ahora lo moví a / www / docs / fundacionmenteclara.org.ar/carpeta de archivos tal como se recomienda en la instalación. Veré que pasa

Ahora el error que me da es
[11-Oct-2018 20:02:43] El UUID solicitado no es válido o no está formateado correctamente.
[11-Oct-2018 20:02:43] ojs2: 404 Not Found

parece un avance :slight_smile:

@Oscarrgomez are those logs from the PLN Depositor or the PHP error log?
You can always go through the above mentioned list, so that we can have a solid grasp of the current situation.

Another thing to check could be the check of the webServer’s access log when the [11-Oct-2018 20:02:43] ojs2: 404 Not Found is triggered, to see what resource was requested and not found.

More over, @mjoyce correct me if I am wrong, maybe you could reset the problematic deposits, so that they get repackaged, because of your previous system configuration.

Hi @Oscarrgomez. I think you may have misunderstood. BagIt uses the system temporary directory /tmp to do some of its work creating the deposit packages. Your PHP is configured to not allow writing to /tmp, so the BagIt process fails. I don’t think there’s a way to change where BagIt does it’s temporary processing, unfortunately.

And @Dimitris_Efstathiou is correct. Once the problem is corrected you will need to reset all the deposits so that they are reprocessed and sent to the server again.

As a follow up, I believe your server is slightly misconfigured. The BagIt library is attempting to use the PHP-configured temporary directory (/tmp) to do its work. But PHP is also configured to prevent writing to that temporary directory.

You can see how BagIt tries to access a temporary directory here:

In more recent versions of PHP (starting from PHP 5.5) you can configure the temporary directory. But your PHP is too old for that.

2 Likes

Estimados @Dimitris_Efstathiou y @mjoyce son errores de PHP
Luego de cambiar la carpeta a files_dir = “/www/docs/fundacionmenteclara.org.ar/archivosrevista/”
algunos errores dejaron de aparecer y apareció " El UUID solicitado no es válido "
por eso me alegré de que con su ayuda había avanzado :slight_smile:

actualicé los depósitos y ahora solo aparece los siguientes errores en log.php

[12-Oct-2018 14:26:58] ojs2 has produced an error
Message: WARNING: file_exists() [function.file-exists]: open_basedir restriction in effect. File(plugins/oaiMetadataFormats/README/READMEOaiMetadataFormatsPlugin.inc.php) is not within the allowed path(s): (/www/docs/fundacionmenteclara.org.ar/:/usr/local/php5.3.8/lib/php/)
In file: /www/docs/fundacionmenteclara.org.ar/public_html/revista/lib/pkp/classes/plugins/PluginRegistry.inc.php
At line: 221
At line: 230

[12-Oct-2018 14:26:58] ojs2 has produced an error
Message: WARNING: Invalid argument supplied for foreach()
In file: /www/docs/fundacionmenteclara.org.ar/public_html/revista/plugins/reports/counter/CounterReportPlugin.inc.php
At line: 44

tratare de hablar con el administrador del sitio (tengo hosting compartido) para ver si solucionan el tema de escribir en /tmp

Saludos cordiales

I think your system administrator can probably add /tmp to the open_basedir allowed paths to solve the problem. We don’t really support that or have any other journals with a similar setup so I can’t test that. Here’s an English description of the open_basedir setting:

http://php.net/manual/en/ini.core.php#ini.open-basedir

1 Like

estimado @mjoyce l administrador del sistema me responde que por seguridad no permiten escribir en /tmp
:frowning:

Pedi que me cambien a php 5.6.21 espero que como me sugeriste ahi si pueda escribir en /tmp

Estimados amigos @mjoyce y @Dimitris_Efstathiou con php5.6 no me anduvo el sitio, no se veían los artículos ni podía acceder a admin.
Cambié nuevamente a php5.3.8
Ya no se como seguir

I believe that your installation not cooperating with the php5.6 configuration that you used, is another topic’s issue, not related to PLN Plugin.
I suggest you have a search for an issue like that on the forum, and if nothing helpfull comes up, maybe create a new topic on this.

Hola amigos @mjoyce y @Dimitris_Efstathiou este error de no poder escribir en /tmp ya lo solucioné de la siguiente manera:

cree directotio temporal en raiz pln_tmp y

CAMBIÉ en DepositPackage.inc.php linea 281 y 282:

$exportFile = tempnam(sys_get_temp_dir(), ‘ojs-pln-export-’);
$termsFile = tempnam(sys_get_temp_dir(), ‘ojs-pln-terms-’);

POR
$exportFile = tempnam(‘/www/docs/MI SITIO/pln_tmp’, ‘ojs-pln-export-’);
$termsFile = tempnam(‘/www/docs/MI SITIO/pln_tmp’, ‘ojs-pln-terms-’);

y en bagit_utils.php

linea 141 $dir = tempnam(sys_get_temp_dir(), $prefix);
por $dir = tempnam(‘/www/docs/MI SITIO/pln_tmp’, $prefix);

desapareció el error en log.php y en la carpeta temporal nueva se estan guardando los archivos de pln

Espera que ahora si funcione
Gracias a los dos

Hi @Oscarrgomez.

I’m glad that this works, but it isn’t a good solution.

Every time you update OJS you will need to make the same set of changes or the PLN plugin will break. And running the software like this is entirely untested and unsupported. You should really fix your server configuration: writing to /tmp is a standard thing for Linux systems. Your fix will make that temporary directory readable to the entire internet. That’s worse than allowing a plugin to write to /tmp.

Now that it “works”, you will need to reset all of your deposits and wait for a few days to see if they get to the server.

Estimado @mjoyce, estoy de acuerdo con usted.
Lamentablemente la revista está alojada en un servidor compartido y los administradores no me permiten hacer el cambio que propones.

Ya restablecí los depósitos. Espero que funcione

Saludos cordiales y gracias nuevamente por su apoyo.

SOLVED
Ya están los depósitos en onix!!! :slight_smile:

Quiero agradecer a @astevens, @dagosalas, @Dimitris_Efstathiou y especialmente a @mjoyce quién me indicó cual es el archivo que intentaba escribir en el /tmp del linux.

Al cambiar en DepositPackage.inc.php y bagit_utils.php
$exportFile = tempnam(sys_get_temp_dir(),
por: $exportFile = tempnam(‘/www/docs/My Site/my_tmp’,

quedó solucionado

Nuevamente, gracias a todos por su apoyo.

2 Likes

This topic was automatically closed after 21 hours. New replies are no longer allowed.