Ultime novità di Genropy: ORM e colonne virtuali, widget per mobile, deploy con Docker

Le recenti release di Genropy introducono nuove funzionalità e importanti miglioramenti che rendono il framework ancora più moderno, soprattutto per il deploy e l’uso nello sviluppo di applicativi mobile. Vediamo le principali novità.
ORM e colonne virtuali
Con il rilascio della versione 25.04 del 10 aprile 2025 sono state introdotte importanti modifiche all’ORM e nuove tipologie di colonne virtuali.
gnr db migrate
È stata introdotta, per il momento solo nell’implementazione PostgreSQL, una nuova procedura di allineamento del database alla struttura definita nei model, la gnr db migrate
. La migrate va di fatto a sostituire la db setup con una procedura estremamente più efficiente e veloce. Nelle prossime release verrà gradualmente estesa anche alle altre implementazioni.
Colonne virtuali
Sono state introdotte tre nuove colonne virtuali:
- compositeColumn, utili per le chiavi primarie composte
- joinColumn, delle colonne che esprimono una relazione basandosi sulla condizione specificata
- subQueryColumn, più flessibili delle formulaColumn di tipo select e con un output specifico (XML o json)
Inoltre, è ora possibile esprimere delle relazioni su delle colonne virtuali!
Considerata la vastità dell’argomento, rimandiamo a un articolo dedicato per una trattazione più approfondita dell’argomento.
Psycopg 3
Genropy introduce il supporto nativo per psycopg3 tramite un nuovo adapter chiamato postgres3. L’adapter è separato, è quindi sufficiente specificare postgres3
nell’implementazione
Docker
Viene da oggi fornito uno strumento di utilità per la generazione di immagini Docker che consente il deploy di applicativi tramite Docker.
Considerata la complessità dell’argomento, anche in questo caso si rimanda a un articolo dedicato.
Novità GUI
Sono stati introdotti un nuovo editor di testo e dei component per gestire meglio gli spazi in modo flessibile, utili soprattutto per lo sviluppo di app mobile.
MDEditor: editing Markdown
Il widget MDEditor è un nuovo editor di testo markdown che permette di scrivere e modificare contenuti direttamente nell’interfaccia dell’applicazione. Supporta la modalità split (anteprima + codice), ha una toolbar personalizzabile, delle shortcut da tastiera e permette anche l’upload di immagini.
È l’ideale per scrivere documentazione, descrizioni formattate, note strutturate o contenuti da salvare in DB in formato Markdown, rendendo l’esperienza utente molto più moderna e flessibile. L’editor, di recente introduzione, è una valida alternativa al CKEditor classico, e il suo uso verrà sempre più diffuso nelle varie aree del framework.
FlexBox: layout flessibile e responsive
flexBox è un contenitore che sfrutta il modello di layout flexbox per disporre dinamicamente gli elementi figli in riga o in colonna. Si adatta automaticamente allo spazio disponibile, supporta wrapping, allineamento verticale/orizzontale e distribuzione degli spazi. È molto utile per creare interfacce responsive, adatte all’uso su dispositivi mobile.
Alcuni esempi d’uso: bottoniere per accettare/rifiutare, card affiancate che si riorganizzano su mobile, righe/colonne con contenuti di larghezza variabile.
GridBox: un’alternativa flex al formbuilder
gridBox permette di costruire layout a griglia con righe e colonne definite. Segue la logica del formbuilder, ma ordinando gli elementi in una griglia di tipo flex, rendendo il suo uso particolarmente adatto a dispositivi mobile.
Alcuni esempi d’uso: form con etichette e campi allineati, schede con layout a colonne fisse, composizioni grafiche a griglia.
Altre novità
- PDF Viewer, un visore alternativo e completo per i file PDF. Attivalo nelle preferenze di sys
- Monitoraggio con Sentry.io: Supporto per il monitoraggio con Sentry.io per una migliore osservazione delle applicazioni.
- Nuova sintassi
#BETWEEN
per query intervallo, incluso il limite superiore. - È stata ampliata la copertura dei test su tutto il codice per includere chiavi esterne, vincoli unici, endpoint, colonne varianti, al fine di rendere il framework più stabile e sicuro.
Migrazione dei repository
Vi ricordiamo che contestualmente al rilascio della versione 24.10 di Genropy è stato completato lo spostamento dei repository ufficiali da Bitbucket a GitHub. Gli sviluppatori dovranno aggiornare i propri repository locali per puntare al nuovo URL su GitHub. È possibile farlo eseguendo il seguente comando:
git set-url remote https://github.com/genropy/genropy
Questo passaggio è essenziale per continuare a ricevere aggiornamenti. Si noti che è da effettuare la migrazione anche degli altri repository non “core” di Genropy ospitati prima su Bitbucket, quali ad esempio gnrextra
, sandbox
, ecc.
Istruzioni per l’uso
Aggiorna Genropy ed esegui nuovamente il pip install per sincronizzare tutte le dipendenze del framework.
Speriamo che queste nuove funzionalità rendano la tua esperienza con Genropy ancora più piacevole ed efficiente. Continua a seguirci per ulteriori aggiornamenti e non esitare a condividere con noi il tuo feedback. Buon coding!
Il team di Genropy