Bentornato su Zen Cart: con piacere ti accompagniamo in una nuova serie di articoli per affrontare gli aggiornamenti di versione, in particolare dalla lontana 1.3.9 (che è stata la versione base del nostro manuale e sempre in linea con la successiva 1.5.0) con le successive versioni a partire dalla 1.5.8 ad oggi e anche… Domani!
| Caratteristica | Prima (v1.3.9) | Dopo (v1.5.8 / v2.1.0+) |
|---|---|---|
| Architettura | I file dovevano risiedere nelle cartelle core (`includes/modules/shipping` o `payment`) | Encapsulated Plugin (EP): I file possono ora essere isolati nella cartella `zc_plugins`, senza sporcare le directory core |
| Clonazione | Richiedeva la copia manuale dei file e la modifica di tutte le definizioni interne per evitare conflitti | Sistemi di Hook: Grazie al sistema Observer/Notifier, è possibile estendere le funzionalità di un modulo esistente senza doverlo clonare o hackerare |
| Validazione | La gestione degli errori di configurazione era spesso lasciata all’esperienza del negoziante | get_configuration_errors: Dalla v1.5.8, i moduli supportano questa funzione per segnalare errori di setup direttamente nel pannello admin |
| Sicurezza Carte | Si usava dividere il numero di carta tra database ed email (manual processing) | PCI Compliance: Il trattamento manuale dei dati delle carte è proibito; è obbligatorio l’uso di gateway sicuri e certificati SSL |
| Controllo Versioni | Nessun controllo integrato sulla compatibilità del modulo con la versione di Zen Cart | File Manifest: Ogni plugin moderno ha un file `manifest.php` che dichiara esplicitamente le versioni compatibili (`zcVersions`), prevenendo crash di sistema |
Novità rilevanti da segnalare
Plugin Manager
Dalla v1.5.7/1.5.8 è disponibile una pagina dedicata in Moduli -> Plugin Manager per installare, disinstallare, abilitare o disabilitare i plugin in modo centralizzato.
Autenticazione a due fattori (2FA)
Introdotta nella v2.1.0 per proteggere l’accesso all’Admin, un salto enorme rispetto alla semplice password del 2017.
Sanificazione delle Richieste
I nuovi standard impongono l’implementazione della Admin Request Sanitization per convalidare ogni dato in ingresso nel pannello, riducendo i rischi di iniezione SQL
Transito Dati
Mentre prima il cURL era un’opzione per alcuni moduli, oggi è un requisito fondamentale compilato in PHP con OpenSSL per quasi tutte le comunicazioni esterne.