# Release Note vtenext 26.07

Per installare vtenext alla versione 26.\* è necessario utilizzare **php &gt;= 8.3**. Vedi i [requisiti](https://usermanual.vtenext.com/books/requisiti-di-installazione) 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](https://usermanual.vtenext.com/books/sviluppatori) a loro dedicata.

# Guida di aggiornamento versione

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

# 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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/6wVimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/6wVimage.png)

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/1nDimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/1nDimage.png)

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

- **Migrazione su un nuovo server** La soluzione consigliata consiste nello spostare l'intera installazione su un nuovo server con:  
    \- Ubuntu Server 24.04 (raccomandato);  
    \- PHP 8.3;  
    \- tutti i pacchetti richiesti dalla documentazione di installazione.  
    Dopo la migrazione verificare che:  
    \- il file config.inc.php contenga i corretti parametri di connessione al database;  
    \- tutti i cron job siano stati configurati e attivati correttamente sul nuovo server.

- **Aggiornamento del server esistente.** In alternativa è possibile aggiornare direttamente il sistema operativo del server attuale installando una versione compatibile con PHP 8.3. Prima di procedere è **fortemente consigliato** creare uno **snapshot** (o un backup completo) della macchina, così da poter ripristinare rapidamente l'ambiente in caso di problemi.

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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/GlGimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/GlGimage.png)

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

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/s16image.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/s16image.png)

<p class="callout warning">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.</p>

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

![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/pzvimage.png)Una 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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/s3Iimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/s3Iimage.png)

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/EP7image.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/EP7image.png)

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

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/Pwximage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/Pwximage.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.

# 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.

<p class="callout info">La seguente procedura è dis</p>

#### Aggiornamento con vteUpdater

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

- **Spostare** l'intera installazione su un nuovo server con PHP 8.3 (è consigliato Ubuntu Server 24.04), completo di tutti i pacchetti necessari (fare riferimento alla pagina Requisiti di Installazione). In questo caso, verificare che i parametri di connessione presenti nel file config.inc.php siano corretti nel nuovo server.
- **Aggiornare** il sistema operativo del server attuale a una versione che includa PHP 8.3. In questo caso è fortemente consigliato eseguire uno snapshot del sistema prima di avviare la procedura 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:
    
    ```bash
    ./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 ](https://usermanual.vtenext.com/books/developers)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](https://usermanual.vtenext.com/books/developers/page/skill-review-sdk-files).

# 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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/Iy9image.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/Iy9image.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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/yZZimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/yZZimage.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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/wQZimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/wQZimage.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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/UV1image.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/UV1image.png)

# Strumenti AI

### Documentazione OpenAPI  


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

È stato inoltre aggiunto un pulsante nella sezione Impostazioni &gt; 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 [qu](https://usermanual.vtenext.com/books/developers/page/rest-webservice-methods)i.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/JZ5image.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/JZ5image.png)

---

### Strumenti AI  


##### LLM

E' possibile configurare un modello LLM in accordo con il formato [OpenAI.](https://developers.openai.com/api/reference/resources/chat/subresources/completions/methods/create)

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/WtTimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/WtTimage.png)

##### MCP Server  


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

- API REST;
- tool personalizzati (Custom Tools);
- Processi.

Documentazione tecnica disponibile [qui](https://usermanual.vtenext.com/books/developers/page/mcp-server).

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/Bj5image.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/Bj5image.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:

- un server VTENEXT MCP;
- un server [Exa](https://exa.ai/) MCP per effettuare ricerche sul web.[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/gsSimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/gsSimage.png)

##### Agent  


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

- LLM;
- tool MCP;
- RAG;

per completare automaticamente le attività assegnate.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/P6Dimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/P6Dimage.png)

##### Assistant  


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

L’assistente può interrogare:

- un LLM;
- un Agent;
- un Webservice REST personalizzato.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/eouimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/eouimage.png)

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

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/srTimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/srTimage.png)

È inoltre possibile utilizzare azioni rapide preconfigurate per:

- riepilogare;
- elaborare testi;
- tradurre.

Queste azioni rapide possono inoltre essere pubblicate come tool MCP.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/JODimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/JODimage.png)

##### Agent Logs

È stata aggiunta una voce in Impostazioni &gt; 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.

# 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:

- notifiche (ModNotifications);
- azioni dei processi con modalità di esecuzione Background;
- tutte le richieste relative ai nuovi AI Tools.

Documentazione tecnica è disponibile [qui](https://usermanual.vtenext.com/books/developers/page/worker).

---

##### Scadenza nelle Access Key

Nelle Preferenze Utente &gt; Webservices &gt; 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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/s7nimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/s7nimage.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](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/dFYimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/dFYimage.png)

---

##### Modifica titolo Widget

Possibilità di modificare il titolo dei widget della home page

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/inEimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/inEimage.png)