Un foro de discusión para nuestra comunidad de hispano hablante
#795301
ERROR: doesn't exists. It should be saved by a plugin to a different place. Please review the configuration

Hi community,

Please help me. the moment that upload files in processmaker show error message with this message : "ERROR: doesn't exists. It should be saved by a plugin to a different place. Please review the configuration" . then reload the form and dont upload. please help me help me. attach the error.

Que tal comunidad por favor me puede ayudar, tengo el siguiente error "ERROR: doesn't exists. It should be saved by a plugin to a different place. Please review the configuration" al momento de cargar un archivo en processmaker, he revisado el tamaño y todo esta ok en permisos. pero al cargar regresa al mismo formulario y no permite cargar mostrando el error que les indique anteriormente. porf avor ayudenme estoy proximo a salir a produccion con este sistema y se me presenta este error. Adjunto imagen

Muchas Gracias Amigos.

PD: si alguien me puede ayudar y podemos negociar soporte se puede conversar.

GRacias,
#795303
First, edit your env.ini file and add the line:
Code: Select all
disable_download_documents_session_validation = 1
See: http://wiki.processmaker.com/3.1/faq#al ... t_download

If that setting doesn't solve the problem, then your URL probably isn't passing the right GET variables.
You can check by editing your workflow/engine/methods/cases/cases_ShowOutputDocument.php file and changing line 54 from:
Code: Select all
$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], (isset( $_GET['v'] )) ? $_GET['v'] : null );
To:
Code: Select all
$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], (isset( $_GET['v'] )) ? $_GET['v'] : null );
print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); die;
Then, when you try to download an output document, you should see information on your screen. Copy that info and paste it here in a post.

If working correctly, you should see something like this:
Code: Select all
array(5) {
  ["a"]=>
  string(32) "93906633859af53730fb4e8028528880"
  ["v"]=>
  string(1) "1"
  ["ext"]=>
  string(3) "doc"
  ["random"]=>
  string(9) "759385724"
  ["PHPSESSID"]=>
  string(26) "u8e585827pi9omr3pjhnsq41e5"
}
array(21) {
  ["APP_DOC_UID"]=>
  string(32) "93906633859af53730fb4e8028528880"
  ["APP_DOC_FILENAME"]=>
  string(7) "denmark"
  ["APP_DOC_TITLE"]=>
  NULL
  ["APP_DOC_COMMENT"]=>
  NULL
  ["DOC_VERSION"]=>
  int(1)
  ["APP_UID"]=>
  string(32) "67524868259af536d2c0f26031185713"
  ["DEL_INDEX"]=>
  int(1)
  ["DOC_UID"]=>
  string(32) "25311673459af528e3d36c8065461263"
  ["USR_UID"]=>
  string(32) "00000000000000000000000000000001"
  ["APP_DOC_TYPE"]=>
  string(6) "OUTPUT"
  ["APP_DOC_CREATE_DATE"]=>
  string(19) "2017-09-05 21:46:27"
  ["APP_DOC_INDEX"]=>
  int(1)
  ["FOLDER_UID"]=>
  string(0) ""
  ["APP_DOC_PLUGIN"]=>
  string(0) ""
  ["APP_DOC_TAGS"]=>
  string(0) ""
  ["APP_DOC_STATUS"]=>
  string(6) "ACTIVE"
  ["APP_DOC_STATUS_DATE"]=>
  NULL
  ["APP_DOC_FIELDNAME"]=>
  NULL
  ["APP_DOC_DRIVE_DOWNLOAD"]=>
  NULL
  ["SYNC_WITH_DRIVE"]=>
  string(14) "UNSYNCHRONIZED"
  ["SYNC_PERMISSIONS"]=>
  NULL
}
#795345
amosbatto wrote:¿Puedes publicar el texto que aparece en tu pantalla cuando tratas de descargar un Output Document? Hay que depurarlo para encontrar el problema.

este es el mensaje de error:

ERROR: doesn't exist. It should be saved by a plugin to a different place. Please review the configuration
#795346
Tal vez, estás ejecutandolo en otro lugar. En workflow/engine/methods/cases/cases_ShowDocument.php, cambia linea 74 de:
Code: Select all
$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], $docVersion );

A:
Code: Select all
$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], $docVersion );
print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); die;


Ahora debes ver información en tu pantalla para depurarlo.
#795368
amosbatto wrote:Tal vez, estás ejecutandolo en otro lugar. En workflow/engine/methods/cases/cases_ShowDocument.php, cambia linea 74 de:
Code: Select all
$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], $docVersion );

A:
Code: Select all
$oAppDocument->Fields = $oAppDocument->load( $_GET['a'], $docVersion );
print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); die;


Ahora debes ver información en tu pantalla para depurarlo.

Listo compañero. esto me devuelve
array(5) {
["a"]=>
string(32) "45401000959b16c72ca2063039726654"
["v"]=>
string(0) ""
["ext"]=>
string(3) "pdf"
["random"]=>
string(5) "23321"
["PHPSESSID"]=>
string(26) "b39go0rhjkk8r1ocacu7hrh801"
}
array(21) {
["APP_DOC_UID"]=>
string(32) "45401000959b16c72ca2063039726654"
["DOC_VERSION"]=>
int(1)
["APP_UID"]=>
string(32) "69540405259a8131714a4a7018539218"
["DEL_INDEX"]=>
int(1)
["DOC_UID"]=>
string(32) "51846313458865e1183d232078106302"
["USR_UID"]=>
string(32) "15319824258ece1a46e3051065267378"
["APP_DOC_TYPE"]=>
string(6) "OUTPUT"
["APP_DOC_CREATE_DATE"]=>
string(19) "2017-09-07 10:57:38"
["APP_DOC_INDEX"]=>
int(34)
["FOLDER_UID"]=>
string(32) "24023437559b16c06bdc535029891506"
["APP_DOC_PLUGIN"]=>
string(0) ""
["APP_DOC_TAGS"]=>
string(32) ""3","AVILES TAPIA ELOY BENJAMIN""
["APP_DOC_STATUS"]=>
string(6) "ACTIVE"
["APP_DOC_STATUS_DATE"]=>
NULL
["APP_DOC_FIELDNAME"]=>
NULL
["APP_DOC_DRIVE_DOWNLOAD"]=>
NULL
["SYNC_WITH_DRIVE"]=>
string(14) "UNSYNCHRONIZED"
["SYNC_PERMISSIONS"]=>
NULL
["APP_DOC_TITLE"]=>
string(0) ""
["APP_DOC_COMMENT"]=>
string(0) ""
["APP_DOC_FILENAME"]=>
string(55) "Propuesta de Credito N° 3 - AVILES TAPIA ELOY BENJAMIN"


pero esto sucede cuando GENERO un documento, y el problema me da cuando realizo la carga a un INPUT DOCUMENT e intento luego de cargar realizar la descarga

GRacias por tu aydua
#795405
Acabo de buscar ID_ERROR_STREAMING_FILE (que es el mensaje "doesn't exist. It should be saved by a plugin to a different place. Please review the configuration") y sólo existe en estos dos lugares en el código. Si aparece el mensaje, estas tratando de descargar un Input Document or un Output Document.

Según el mensaje, ProcessMaker no tiene el nombre del archivo. Tal vez el nombre del archivo contiene un caracter que PM no puede leer. ¿Siempre ocurre este error con nombres de archivo que contiene caracters que no son ASCII como "°" ?

Para investigar mejor, debes mover la línea de debug a este lugar en cases_ShowOutputDocument.php:
Code: Select all
    } else {
        $error_message = "'" . $info['basename'] . $ver . '.' . $ext . "' " . G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
        print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); var_dump($error_message); die;
    }
Y a este lugar en cases_ShowDocument.php:
Code: Select all
if (! $sw_file_exists) {
    $error_message = G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
    print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); var_dump($error_message); die;
    if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) {
Ahora solo aparecerá la información de debug si hay un problema. Si el error ocurre otra vez, debes chequear si el archivo existe en tu servidor de PM. Ver la documentación de Input/Output Document para encontrar la ruta del archivo.
#795453
Muchas Gracias por tu ayuda compañero AMosBbato, revisando y debugeando como me indicaste llegue a la variable donde me indicaba que coloque post_max_size = 0 en el archivo php.ini, realicé el insert y reinicie el servicio de Apache y que crees ? Cargó el archivo perfectamente. Funcionó mi estimado amigo.

Muchas gracias por tu ayuda, fue esencial.
#795874
Buenas tardes,

A mi me sucede lo mismo, intento descargar un archivo y me sale el siguiente mensaje de error:

ERROR: doesn't exist. It should be saved by a plugin to a different place. Please review the configuration

Ya hice todo lo indicado en los mensaje pero sigue sin funcionar, busqué el archivo php.ini y encontré lo que indicas: post_max_size = 1000M, adicional tu indicas que hiciste un insert me gustaría saber que agregaste o como hiciste porque yo necesito descargar archivos de tickets con estado COMPLETE.

Quedo a la espera de tus comentarios.

Muchas gracias!!!
#795877
Buenas tardes @vcaceres,

Estoy teniendo el mismo problema: "ERROR: doesn't exists. It should be saved by a plugin to a different place. Please review the configuration".
Hice todo lo que indicas en los comentarios, busque el archivo php.ini y me muestra lo siguiente: post_max_size = 1000M, tu indicaste que hiciste un insert, quisiera saber cual fue y a que tabla apuntaste o como hiciste el debug, porque necesito descargar archivos de ticket con estado COMPLETE o de años anteriores. Adicional a esto, quisiera saber si los cambios en cases_ShowOutputDocument.php y cases_ShowDocument.php se quedarán con las modificaciones o no.

A la espera de sus comentarios, espero me puedan ayudar por favor.

Saludos!! :)
#795879
Hola milagrosmaria16 y janiszapata,
Para depurar este problema, hay que cambiar el código en cases_ShowOutputDocument.php de:
Code: Select all
    } else {
        $error_message = "'" . $info['basename'] . $ver . '.' . $ext . "' " . G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
    }
 
a:
Code: Select all
    } else {
        $error_message = "'" . $info['basename'] . $ver . '.' . $ext . "' " . G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
        print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); var_dump($error_message); die;
    }
 
Y hay que cambiar este código en cases_ShowDocument.php de:
Code: Select all
if (! $sw_file_exists) {
    $error_message = G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
    if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) {
 
a:
Code: Select all
if (! $sw_file_exists) {
    $error_message = G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
    print "<pre>"; var_dump($_GET); var_dump($oAppDocument->Fields); var_dump($error_message); die;
    if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) {
 
Con esta información, podemos encontrar el archivo. Por favor, publiquen sus achivos config/env.ini and php.ini.
#795890
En tu php.ini debes cambiar esta línea:
memory_limit = 128M
a:
memory_limit = 512M
Y reiniciar Apache o rebootear.

Tu archivo env.ini indica que estas usando un proxy. Tal vez no puedes descargar el archivo por el proxy.

¿Has hecho los cambios en el código para mostrar los datos acerca del archivo? Debes publicarlos aca. ¿Tienes algun error en tu archivo C:\WINDOWS\temp\php-errors.log ?
#795908
amosbatto wrote:En tu php.ini debes cambiar esta línea:
memory_limit = 128M
a:
memory_limit = 512M
Y reiniciar Apache o rebootear.
1. Esto ya lo hice, gracias!!!
amosbatto wrote:Tu archivo env.ini indica que estas usando un proxy. Tal vez no puedes descargar el archivo por el proxy.
2. Lo que hice fue comentar el proxy en el archivo env.ini agregando un ";" al inicio de la siguiente manera:

;Setting proxy_user - Created by System on Fri 02 Sep, 2016 12:34:57
;proxy_user = "admin"

;Setting proxy_pass - Created by System on Fri 02 Sep, 2016 12:34:57
;proxy_pass = "1NTf2OY"

- No se si es lo correcto, desactive el proxy y sigue sin funcionar igual. :(
amosbatto wrote:¿Has hecho los cambios en el código para mostrar los datos acerca del archivo? Debes publicarlos acá. ¿Tienes algún error en tu archivo C:\WINDOWS\temp\php-errors.log ?
3. Si, hice todos los cambios como indicas en los comentarios anteriores, los datos que me muestran son los siguientes:

array(2) {
["a"]=>
string(32) "200744628567c15b5e1df60091475943"
["v"]=>
string(1) "1"
}
array(19) {
["APP_DOC_UID"]=>
string(32) "200744628567c15b5e1df60091475943"
["DOC_VERSION"]=>
int(1)
["APP_UID"]=>
string(32) "127471923567c14c42b8c05021791337"
["DEL_INDEX"]=>
int(1)
["DOC_UID"]=>
string(32) "422271728520eab125dfda5036270022"
["USR_UID"]=>
string(32) "26373291050ff1337614653047301213"
["APP_DOC_TYPE"]=>
string(5) "INPUT"
["APP_DOC_CREATE_DATE"]=>
string(19) "2015-12-24 10:56:37"
["APP_DOC_INDEX"]=>
int(1)
["FOLDER_UID"]=>
string(32) "56283569352659f52a26273016160743"
["APP_DOC_PLUGIN"]=>
string(0) ""
["APP_DOC_TAGS"]=>
string(4) "INRC"
["APP_DOC_STATUS"]=>
string(6) "ACTIVE"
["APP_DOC_STATUS_DATE"]=>
NULL
["APP_DOC_FIELDNAME"]=>
NULL
["APP_DOC_DRIVE_DOWNLOAD"]=>
string(6) "a:0:{}"
["APP_DOC_TITLE"]=>
string(0) ""
["APP_DOC_COMMENT"]=>
string(0) ""
["APP_DOC_FILENAME"]=>
string(13) "updatebin.txt"
}

Por último, en el archivo php-errors.log me muestra lo siguiente:

[17-Oct-2017 10:12:07 America/Lima] PHP Notice: Undefined variable: step in D:\ProcessMaker\processmaker\workflow\engine\methods\cases\cases_OpenToRevise.php on line 125

[17-Oct-2017 10:12:20 America/Lima] PHP Notice: Undefined variable: step in D:\ProcessMaker\processmaker\workflow\engine\methods\cases\cases_OpenToRevise.php on line 125

[17-Oct-2017 10:12:36 America/Lima] PHP Notice: Undefined variable: step in D:\ProcessMaker\processmaker\workflow\engine\methods\cases\cases_OpenToRevise.php on line 125

[17-Oct-2017 10:14:14 America/Lima] PHP Notice: Undefined variable: step in D:\ProcessMaker\processmaker\workflow\engine\methods\cases\cases_OpenToRevise.php on line 125


Espero me puedas ayudar, muchas gracias por tu atención!!!
#795926
La salida indica que tienes todos los datos necesarios de tu archivo.

Veo un problema en el código si estas usando un sistema de Windows, porque el código utiliza el separador de directorios /, en lugar de \.

En el archivo workflow\engine\methods\cases\cases_ShowDocument.php, cambia lineas 94-95 de:
Code: Select all
$realPath = PATH_DOCUMENT .  $app_uid . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
$realPath1 = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '.' . $ext; 
a:
Code: Select all
$realPath = PATH_DOCUMENT .  $app_uid . PATH_SEP . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
$realPath1 = PATH_DOCUMENT . $app_uid . PATH_SEP . $file[0] . $file[1] . '.' . $ext; 
¿Funciona ahora?

Si todavía no funciona, debes cambiar estas líneas en el mismos archivo, de:
Code: Select all
if (! $sw_file_exists) {
    $error_message = G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
    if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) { 
a:
Code: Select all
if (! $sw_file_exists) {
    $error_message = G::LoadTranslation( 'ID_ERROR_STREAMING_FILE' );
    die("<pre>$erro_message\n\nRuta1: $realPath\nRuta2: $realPath1"); 
    if ((isset( $_POST['request'] )) && ($_POST['request'] == true)) { 
Va a mostrar dos rutas. En una de estas rutas debe ser ubicado el archivo de Input Document en tu servidor. Puedes chequear si el archivo existe. Si el archivo existe en otra ruta, probablemente la ruta en PATH_DOCUMENT no esta correcta para Bitnami en Windows.
#813000
Buenas tardes,

Tengo problemas nuevamente con la descarga de archivos, esta vez no me muestra ningún error, solo no descarga, no se ha hecho ninguna migración ni nada parecido.

Lo que sucede es lo siguiente: Le doy DOWNLOAD al archivo, este se oculta y vuelve a aparecer sin haber descargado nada, he revisado los archivos que mencionan lineas abajo y todos ya estaban modificados como indican pero sigue sin funcionar.

Espero me puedan ayudar con esto porque necesito los archivos.

Muchas gracias por su atención!!!
#813002
Tienes que borrar todos los cambios en el codigo para depurarlo. Si todavia tienes un die() en algun lugar, vas a tener problemas.

¿Qué tamaño es el archivo? Tal vez tienes que aumentar el tamaño maximo en tu archivo php.ini de:
max_execution_time
memory_limit

Ver: http://wiki.processmaker.com/3.0/Changi ... aded_files

En Bitnami, esta configuración puede ser seteado en 3 lugares:
apps/processmaker/conf/php-fpm/php-settings.conf
apps/processmaker/conf/httpd-app.conf
php/etc/php.ini

Tienes que chequear en todos los lugares.

Si el problema no es la configuración de PHP, debes setear en tu archivo env.ini:
debug = 1

A 1xbet clone script is a pre-designed software so[…]

4rabet clone script is enabling entrepreneurs to e[…]

Parimatch clone script is enabling entrepreneurs t[…]

In the world of cryptocurrency, a wallet is an app[…]