Changes

1,749 bytes added ,  13:52, 21 March 2022
no edit summary
Line 1: Line 1: −
Benvenuti nella pagina Wiki di Simone Giustetti.
+
{{header_it|title=Errori di VtigerCRM e relative soluzioni| keyword={{Template:keyword_it_vtigercrm}}| description=Un elenco di errori e problemi che affliggono VtigerCRM e le relative soluzioni | link_page=vtigercrm_errors}}
      −
Lingue: [http://www.giustetti.net/wiki/index.php?title=vtigercrm_errors English] - '''Italiano'''
+
Nella pagina che segue sono elencati alcuni errori in cui mi sono imbattuto sviluppando estensioni per '''VtigerCRM'''. Per ogni errore verrà riportato il relativo messaggio, se disponibile, una breve descrizione e la soluzione adottata comprensiva dei riferimenti alla documentazione consultata. Come linea guida generale alla risoluzione dei problemi consiglio di impostare il parametro '''error_reporting''' di '''Php''' al valore '''E_ALL''' per testare in maniera puntuale il codice prodotto. Le impostazioni richieste dal programma di installazione di '''VtigerCRM''' sono adeguate per un sito di produzione, ma '''nascondono messaggi di errore che possono risultare fondamentali in fase di sviluppo'''.
 
  −
----
  −
 
  −
Nella pagina che segue sono elencati alcuni errori in cui mi sono imbattuto sviluppando estensioni per '''VtigerCrm'''. Per ogni errore verrà riportato il relativo messaggio, se disponibile, una breve descrizione e la soluzione adottata comprensiva dei riferimenti alla documentazione consultata. Come linea guida generale alla risoluzione dei problemi consiglio di impostare il parametro '''error_reporting''' di '''Php''' al valore '''E_ALL''' per testare in maniera puntuale il codice prodotto. Le impostazioni richieste dal programma di installazione di '''VtigerCrm''' sono adeguate per un sito di produzione, ma '''nascondono messaggi di errore che possono risultare fondamentali in fase di sviluppo'''.
         
== Errore "ListView rende schermata bianca" ==
 
== Errore "ListView rende schermata bianca" ==
Il problema si presenta a seguito della creazione di un nuovo modulo tramite codice '''Vtlib''', al momento di inserire nuovi dati nelle maschere preposte. I Dati vengono salvati correttamente, ma '''VtigerCrm rende una schermata bianca anzichè l'usuale vista di dettaglio'''. La problematica interessa esclusivamente il modulo personalizzato e non intacca il funzionamento generale del programma.
+
Il problema si presenta a seguito della creazione di un nuovo modulo tramite codice '''Vtlib''', al momento di inserire nuovi dati nelle maschere preposte. I Dati vengono salvati correttamente, ma '''VtigerCRM rende una schermata bianca anzichè l'usuale vista di dettaglio'''. La problematica interessa esclusivamente il modulo personalizzato e non intacca il funzionamento generale del programma.
    
: ''Causa potenziale:'' Un qualsiasi file '''*.php''' facente parte del modulo, inclusi i file contenenti le traduzioni e le localizzazioni, termina con una riga vuota anzichè con il corretto '''tag di chiusura "?>"'''.
 
: ''Causa potenziale:'' Un qualsiasi file '''*.php''' facente parte del modulo, inclusi i file contenenti le traduzioni e le localizzazioni, termina con una riga vuota anzichè con il corretto '''tag di chiusura "?>"'''.
Line 19: Line 15:  
::: L'istruzione INSERT dovrebbe comprendere i dati che seguono: (1° identificatore libero, '<nome_modulo>', 'include/Webservices/VtigerModuleOperation.php', 'VtigerModuleOperation', 1) .
 
::: L'istruzione INSERT dovrebbe comprendere i dati che seguono: (1° identificatore libero, '<nome_modulo>', 'include/Webservices/VtigerModuleOperation.php', 'VtigerModuleOperation', 1) .
 
:: '''Soluzione alternativa:''' Modificare il codice di creazione del modulo perch&egrave; esegua una chiamata alla funzione '''$'''<module>'''->initWebservice();''' immediatamente dopo aver eseguito l'istruzione '''$'''<module>'''->save();'''. La funzione popoler&agrave; la tabella '''vtiger_ws_entity''' con i dati corretti.
 
:: '''Soluzione alternativa:''' Modificare il codice di creazione del modulo perch&egrave; esegua una chiamata alla funzione '''$'''<module>'''->initWebservice();''' immediatamente dopo aver eseguito l'istruzione '''$'''<module>'''->save();'''. La funzione popoler&agrave; la tabella '''vtiger_ws_entity''' con i dati corretti.
----
  −
  −
  −
== Errore "You are not permitted to execute this Operation" ==
  −
Qualsiasi operazione eseguita sul modulo personalizzato fallisce rendendo l'errore "You are not permitted to execute this Operation" a video. Il problema &egrave; circoscritto al modulo personalizzato e non intacca il funzionamento generale del programma.
  −
  −
: ''Causa potenziale:'' Un problema di permessi inerente gli script Php.
  −
:: '''Soluzione:''' Verificare che l'utente ed il gruppo cui appartengono gli script siano '''i medesimi con cui viene eseguito il Web Server''' e riassegnare le utenze in caso contrario. Se una prima verifica non producesse esiti soddisfacenti, &egrave; possibile assegnare temporaneamente permessi '''757''' agli script per eseguire ulteriori controlli. I permessi originali dovrebbero essere ripristinati a controlli ultimati. L'assegnazione di permessi eccessivi &egrave; comunque sconsigliata in ambienti di produzione, che verrebbero esposti a rischi di sicurezza, e dovrebbe essere impiegata solo su installazioni di sviluppo e test.
  −
  −
: ''Causa potenziale:'' L'identificatore univoco per l'entit&agrave; su cui si sta operando &egrave; costituito da pi&ugrave; campi e non tutti sono classificati obbligatori.
  −
:: '''Soluzione:''' Modificare il file <entit&agrave;>.php impostando il valore del parametro '''$required_fields''' uguale a quello passato alla funzione '''setEntityIdentifier''' della '''Vtlib''' in fase di creazione del modulo.
   
----
 
----
   Line 40: Line 25:  
:::* Una '''versione corretta''' dello script e' reperibile all'indirizzo: [http://www.giustetti.net/resource/script/vtiger521/ResetPassword.phpfile.gz Updated ResetPassword.phpfile.gz]
 
:::* Una '''versione corretta''' dello script e' reperibile all'indirizzo: [http://www.giustetti.net/resource/script/vtiger521/ResetPassword.phpfile.gz Updated ResetPassword.phpfile.gz]
 
:::* Decomprimere lo script: '''gunzip''' ResetPassword.phpfile.gz
 
:::* Decomprimere lo script: '''gunzip''' ResetPassword.phpfile.gz
:::* Copiare il file ottenuto nella directory di installazione di VtigerCrm.
+
:::* Copiare il file ottenuto nella directory di installazione di VtigerCRM.
 
:::* Rinominare il file in '''ResetPassword.php'''
 
:::* Rinominare il file in '''ResetPassword.php'''
 
:::* Aprire il file '''ResetPassword.php''' con un editor di testo e modificare il valore del parametro '''$configuredAppKey'''. Imporlo uguale al valore del parametro '''$application_unique_key''' reperibile nel file di configurazione principale: '''config.inc.php'''.
 
:::* Aprire il file '''ResetPassword.php''' con un editor di testo e modificare il valore del parametro '''$configuredAppKey'''. Imporlo uguale al valore del parametro '''$application_unique_key''' reperibile nel file di configurazione principale: '''config.inc.php'''.
Line 49: Line 34:       −
Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''.
+
== Errore "Not unique table/alias" ==
 +
L'errore compare qualora si cerchi di '''creare un report che leghi moduli predefiniti con moduli personalizzati'''. Supponendo di voler legare il modulo standard "Contatti" con il modulo personalizzato "Polizze" l'errore reso sar&agrave;:
 +
  Generazione Report fallita!
 +
  Not unique table/alias: 'vtiger_accountRelPolicy'
 +
ove Policy fa appunto riferimento al modulo "Polizze".
 +
: ''Causa potenziale:'' Si tratta di un problema nel codice di VtigerCRM che genera alias non univoci per i nomi delle tabelle. La risultante stringa in codice SQL che interroga le relative tabelle non &egrave; perci&ograve; in grado di reperire alcuna informazione.
 +
:: '''Soluzione:''' Esiste una discussione circa il problema nel [https://forums.vtiger.com/viewtopic.php?t=26517 forum di VtigerCRM] ove &egrave; disponibile una [https://forums.vtiger.com/download/file.php?id=3397&sid=c23b4e86e5afee8fd29e995ca9402084 patch].
 +
:::* Scaricare la patch.
 +
:::* Copiatela nella sottodirectory '''data''' della vostra installazione di VtigerCRM ove dovrebbe essere presente il file '''CRMEntity.php'''.
 +
:::* Per chiarezza ho rinominato il paatch file in CRMEntity.patch, ma si tratta di un passo opzionale.
 +
:::* Applicate la patch mediante il comando '''patch'''
 +
            root@vms140v32:/var/www/htdocs/vtigercrm521_pro/data# '''patch''' ''-p0 -i'' CRMEntity.patch
 +
            patching file CRMEntity.php
 +
            Hunk #1 succeeded at 1890 (offset 18 lines).
 +
            patching file CRMEntity.php
 +
            Hunk #1 succeeded at 1953 (offset 18 lines).
 +
:::* Il comando generer&agrave; in automatico una copia del file prima di modificarlo: '''CRMEntity.php.orig'''
 +
:: Il problema dovrebbe ora essere risolto.
 +
----
 +
 
 +
 
 +
== Errore "You are not permitted to execute this Operation" ==
 +
Qualsiasi operazione eseguita sul modulo personalizzato fallisce rendendo l'errore "You are not permitted to execute this Operation" a video. Il problema &egrave; circoscritto al modulo personalizzato e non intacca il funzionamento generale del programma.
    +
: ''Causa potenziale:'' Un problema di permessi inerente gli script Php.
 +
:: '''Soluzione:''' Verificare che l'utente ed il gruppo cui appartengono gli script siano '''i medesimi con cui viene eseguito il Web Server''' e riassegnare le utenze in caso contrario. Se una prima verifica non producesse esiti soddisfacenti, &egrave; possibile assegnare temporaneamente permessi '''757''' agli script per eseguire ulteriori controlli. I permessi originali dovrebbero essere ripristinati a controlli ultimati. L'assegnazione di permessi eccessivi &egrave; comunque sconsigliata in ambienti di produzione, che verrebbero esposti a rischi di sicurezza, e dovrebbe essere impiegata solo su installazioni di sviluppo e test.
    +
: ''Causa potenziale:'' L'identificatore univoco per l'entit&agrave; su cui si sta operando &egrave; costituito da pi&ugrave; campi e non tutti sono classificati obbligatori.
 +
:: '''Soluzione:''' Modificare il file <entit&agrave;>.php impostando il valore del parametro '''$required_fields''' uguale a quello passato alla funzione '''setEntityIdentifier''' della '''Vtlib''' in fase di creazione del modulo.
 
----
 
----
   −
Lingue: [http://www.giustetti.net/wiki/index.php?title=vtigercrm_errors English] - '''Italiano'''
+
 
 +
Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''.
 +
 
 +
 
 +
{{footer_it | link_page=vtigercrm_errors}}