Release Note vtenext 26.07

Per installare vtenext alla versione 26.* è necessario utilizzare php >= 8.3. Vedi i requisiti necessari nell'apposita sezione.
L'adeguamento a php 8 ha comportato una revisione di gran parte del codice quindi rimandiamo gli sviluppatori a prendere visione delle nuove sezioni introdotte nella pagina a loro dedicata.

Guida di aggiornamento versione

Come effettuare l'aggiornamento alla versione 26.* partendo da versioni precedenti (≤ 25.02.2)

Guida di aggiornamento versione

Aggiornamento tramite interfaccia Web

Prerequisiti

Prima di avviare la procedura di aggiornamento, verificare che siano soddisfatti i seguenti requisiti:

  1. vtenext deve essere aggiornato almeno alla versione 25.02.2. Solo a partire da questa versione è possibile procedere con l'aggiornamento alla release 26.*.
  2. Deve essere presente una licenza valida e attiva.
  3. Deve essere disponibile un utente amministratore attivo con autenticazione locale (autenticazione tramite password locale senza autenticazione a due fattori).
Procedura di aggiornamento

Nella versione 25.02.2, se è abilitato il controllo automatico degli aggiornamenti, l'utente amministratore riceverà una notifica della disponibilità della nuova versione, che segnalerà la necessità di aggiornare la versione di PHP.

image.png

image.png

A questo punto sono disponibili due possibili modalità per proseguire con l'aggiornamento.

Una volta completata la migrazione o l'aggiornamento del server, vtenext entrerà automaticamente in modalità "Update Only".
In questa modalità l'applicazione consentirà esclusivamente il completamento della procedura di aggiornamento e non sarà possibile utilizzare normalmente il CRM fino al termine dell'upgrade.

image.png



Dopo aver effettuato l'accesso con un utente amministratore, il sistema mostrerà una pagina semplificata dedicata esclusivamente all'aggiornamento.

image.png

Se i cron job di vtenext non sono attivi o non sono stati eseguiti di recente, la pagina di aggiornamento potrebbe non mostrare la disponibilità della nuova versione. In questo caso fare clic sul pulsante "Check now" e attendere alcuni minuti. Se l'aggiornamento continua a non essere disponibile, eseguire manualmente il cron dalla directory di installazione di vtenext:
./cron/RunCron.sh  In alcuni casi potrebbe essere necessario eseguire il comando due volte, fino a quando l'output non mostrerà un messaggio simile a "[INFO] Found new version available (...), checking for compatibility...", a conferma che il sistema ha rilevato la nuova versione e ne sta verificando la compatibilità prima di consentire l'aggiornamento.


Dopo aver fatto clic sul pulsante "Inizia aggiornamento", il sistema mostrerà un'ultima schermata di conferma.

image.pngUna volta confermato, l'aggiornamento verrà eseguito in background. Se i cron job sono attivi, la procedura proseguirà automaticamente. In caso contrario, sarà necessario eseguire manualmente il comando ./cron/RunCron.sh dalla directory di installazione di vtenext fino al completamento dell'intero processo di aggiornamento.

image.png

image.png

Quando inizia l'aggiornamento l'utente vedrà questa schermata:

image.png

Durante l'aggiornamento è consigliabile aggiornare la pagina del browser ogni 5-10 minuti per verificare l'eventuale presenza di errori o anomalie. Al termine della procedura, il sistema reindirizzerà automaticamente alla pagina di login. A questo punto sarà possibile autenticarsi e iniziare a utilizzare la nuova versione di vtenext.


 

Guida di aggiornamento versione

Aggiornamento dal terminale

Prerequisiti

Prima di procedere con l'aggiornamento, assicurarsi che siano soddisfatte le seguenti condizioni:

  1. vtenext deve essere aggiornato alla versione 25.02.2. Solo a partire da questa versione è possibile procedere con il passaggio successivo dell'aggiornamento.
  2. Deve essere presente una licenza valida e attiva.

La seguente procedura è dis

Aggiornamento con vteUpdater

Poiché questa versione di vtenext supporta esclusivamente PHP 8.3 o superiore, sono disponibili due modalità di aggiornamento:

Dopo questo, è possibile avviare la procedura di aggiornamento:

  1. Accedere tramite SSH al server che ospita vtenext e posizionarsi nella relativa directory.
  2. Se vengono rilevati errori, verrà mostrato un log che consentirà di valutarli e scegliere se ripristinare il sistema utilizzando i backup creati in precedenza oppure proseguire e completare l'aggiornamento.
    Proseguendo l'aggiornamento in presenza di errori, la fase di post-update verrà saltata e dovrà essere eseguita manualmente con il comando:
    ./vteUpdater.sh --only-delete
    Questa fase viene eseguita automaticamente se non vengono rilevati errori.
    Questa fase elimina i file obsoleti e applica gli script al termine dell'aggiornamento.
  3. Eseguire ./vteUpdater.sh (rendendolo eseguibile, se necessario) e seguire le istruzioni.
    L'output dovrebbe essere simile al seguente:
    root@testhost:/var/www/html/vte3001upd# ./vteUpdater.sh
    
    VTE Automatic Updater -- version 1.72
    [INFO] Checking for upgrades of this script...
    [INFO] Found VTE at revision 3001
    [INFO] Checking for latest available version...
    
    You can update to revision ????, . Do you want to proceed? (Y/N) : y
    
    Please type your username : **********
    Password: *****************
    [INFO] Validating credentials...
    [INFO] Downloading package...
    [INFO] Packages downloaded succesfully
    [INFO] Updating VTE to revision ????
    mysql: [Warning] Using a password on the command line interface can be insecure.
    mysql: [Warning] Using a password on the command line interface can be insecure.
    [INFO] Database size is 140 MB, (biggest table is sdk_language, 15 MB)
    
    The user and group for the web server have been detected as www-data:www-data. Is this correct? (Y/N) : y
    [INFO] Starting file comparison...
    File comparison: [########################################] 100%
    [INFO] No differences found
    [INFO] Waiting 2 minutes for cron processes to finish...
    [INFO] Creating backup of VTE files...
    Do you want to backup the database? (Y/N) : y
    [INFO] Creating backup of database...
    [INFO] Starting update...
    [INFO] Files copied. Executing schema update...
    [INFO] Removing obsolete files...
    [WARNING] The file ./config.template.php might have some custom code, left untouched
    [INFO] Removed 6289 files and 1126 directories
    [INFO] Executing post-delete scripts...
    [INFO] Update notes:
    [INFO] The obsolete module Dashboard has been eliminated, as well as the method SDK::setDashboard
    [INFO] If you were still using Dashboards, please migrate them to Charts or custom Iframe
    [INFO] 
    [INFO] Classes Vtiger_Net_Client and Vtiger_Feed_Parser have been eliminated.
    [INFO] Please review the custom code if they were still used
    [INFO] 
    [... redacted ...]
    [INFO] 
    [INFO] Update successful!

    Se si verificano errori, è possibile consultare il log per valutarne la gravità e scegliere se ripristinare il sistema utilizzando i backup creati in precedenza oppure proseguire e completare l'aggiornamento.

    Se vengono rilevati errori e si decide di proseguire, la fase di post-update verrà saltata e dovrà essere eseguita manualmente con il comando:

    ./vteUpdater.sh --only-delete

    Questa fase viene eseguita automaticamente se non vengono rilevati errori.

    Questa fase elimina i file obsoleti e applica gli script una volta completato con successo l'aggiornamento.


  4. Nel caso siano presenti modifiche personalizzate al codice, queste dovranno essere riportate manualmente nella nuova versione e verificate per assicurarsi che siano compatibili con PHP 8.3. Fare riferimento al manuale per gli sviluppatori per conoscere le modifiche introdotte.

    È inoltre disponibile una review skill utilizzabile con gli agenti AI all'interno del proprio IDE, che aiuta ad adattare il codice alla nuova versione.

    Maggiori dettagli sono disponibili nella documentazione.

Realease Note vtenext 26.07

Realease Note vtenext 26.07

Processi

Azione cicla record

Nuova funzione "Cicla record" consente di ciclare su tutti i record di un determinato modulo. E' possibile definire criteri di filtro e di ordinamento, così da limitare l'operazione ai soli record di interesse ed elaborarli nell'ordine desiderato.

image.png

Modalità di esecuzione

Per tutte le azioni del processo, è possibile specificare la Modalità di Esecuzione:
- Standard: il processo di esecuzione attende che l’azione venga completata prima di procedere con quella successiva.
- Background: il processo si interrompe e l’azione viene eseguita in background tramite worker o cron.

Nuove opzioni nelle condizioni

Sono state aggiunte le opzioni "in" e "not in" nelle condizioni sui campi picklist per verificare più valori contemporaneamente.
Nell'opzione "è cambiato in" è stata aggiunta la voce "Valore qualsiasi" per verificare se un campo picklist è stato modificato assumendo un qualsiasi valore.

image.png

Nuovo pannello per i log del grafico del processo

Migliorata l’interfaccia utente del grafico del processo nella visualizzazione del dettaglio del record.

image.png

Processi di tipo Tool

È possibile creare nuovi processi di tipo Tool che possono essere richiamati più volte all’interno dello stesso processo oppure da processi differenti, comportandosi come delle vere e proprie funzioni.

Possono inoltre essere pubblicati come strumenti (Tool) su un server MCP.

image.png

Realease Note vtenext 26.07

Strumenti AI

Documentazione OpenAPI

Le API REST sono ora compatibili con il formato OpenAPI 3.0.

È stato inoltre aggiunto un pulsante nella sezione Impostazioni > REST Webservices che permette di visualizzare la documentazione Swagger e testare direttamente le API all’interno del CRM, con la possibilità di scegliere l’utente con cui eseguire le chiamate.

Documentazione tecnica disponibile qui.

image.png


Strumenti AI

LLM

E' possibile configurare un modello LLM in accordo con il formato OpenAI.

image.png

MCP Server

È possibile configurare i server MCP esposti da VTENEXT.
Per ciascun server è possibile selezionare quali tool pubblicare, scegliendo tra:

Documentazione tecnica disponibile qui.

image.png

MCP Client

È possibile configurare i server MCP di cui si desidera utilizzare i tool.
Sono supportati esclusivamente i server esposti tramite HTTP.
Di default sono disponibili:

Agent

È possibile configurare gli agenti AI da utilizzare all’interno del proprio assistente e nei processi.
Un agente può utilizzare:

per completare automaticamente le attività assegnate.

image.png

Assistant

Il nuovo assistente si chiama Kitt, ma è possibile modificarne il nome e la foto dalle preferenze utente.

L’assistente può interrogare:

image.png

È possibile porre domande all’assistente tramite conversazioni oppure utilizzando il nuovo pannello laterale.

image.png

È inoltre possibile utilizzare azioni rapide preconfigurate per:

Queste azioni rapide possono inoltre essere pubblicate come tool MCP.

image.png

Agent Logs

È stata aggiunta una voce in Impostazioni > Log di sistema per gestire i log degli agenti.


Azioni AI in ProcessMaker

È possibile configurare le azioni dei processi ed eseguire:

Chiama LLM

Effettuare una richiesta a un LLM e utilizzare la risposta all'interno del processo.

Chiama MCP tool

Eseguire un tool MCP.

Chiama Agente

Effettuare una richiesta a un Agent per completare automaticamente le attività e utilizzare la risposta all’interno del processo.

Chiama Process Tool

Eseguire un Processo di tipo Tool.

Realease Note vtenext 26.07

Ulteriori Miglioramenti

Worker

Il worker è il nuovo servizio che consente di eseguire immediatamente operazioni in background (senza bloccare l’interfaccia utente) e senza dover demandare l’operazione a un cron job, evitando quindi di dover attendere il tempo minimo di 1 minuto.
Il worker riceve una richiesta di esecuzione tramite PHP e successivamente invia la risposta direttamente al browser tramite eventi SSE (Server-Sent Events).
Attualmente è stato implementato per eseguire le seguenti operazioni:

Documentazione tecnica è disponibile qui.


Scadenza nelle Access Key

Nelle Preferenze Utente > Webservices > Configurazione API REST è possibile specificare una data di scadenza per le nuove Access Key. Una volta raggiunta la data di scadenza, l'Access Key verrà eliminata automaticamente.

L'elenco dei modelli e-mail (Email Template) nelle newsletter è ora ricercabile.

Aggiunta la ricerca nella griglia dei modelli e-mail (Email Template) all'interno delle newsletter.

image.png


Migliorata la gestione dei report schedulati

Nella configurazione dei report schedulati sono state aggiunte due nuove opzioni:

  1. Escludi giorni festivi/weekend: consente di non inviare il report nei giorni festivi o nei fine settimana. I giorni festivi vengono determinati in base al campo "Holiday Countries" presente nel profilo dell'utente Amministratore.

  2. Escludi report vuoti: consente di evitare l'invio del report quando non sono presenti dati che soddisfano i criteri di estrazione.

     

    image.png


Modifica titolo Widget

Possibilità di modificare il titolo dei widget della home page

image.png