Vai al contenuto

ProcessWire

Da Wikipedia, l'enciclopedia libera.
ProcessWire
software
Logo
Logo
GenereSistema di gestione dei contenuti (non in lista)
SviluppatoreRyan Cramer
Ultima versione
  • 2.7.2 (11 dicembre 2015)
  • 3.0.227 (12 settembre 2023)
Sistema operativoMultipiattaforma
LinguaggioPHP
php (non in lista)
LicenzaMozilla Public License 2.0
(licenza libera)
Sito web processwire.com, https://processwire.com.

ProcessWire è un sistema di gestione dei contenuti (CMS) libero e open source, un framework di gestione dei contenuti (CMF) e un framework per applicazioni web (WAF) scritto nel linguaggio di programmazione PHP. È distribuito sotto la Mozilla Public License 2.0. ProcessWire è costruito attorno a un'API con convenzioni di utilizzo e denominazione simili al framework JavaScript jQuery. L'obiettivo dichiarato dietro l'API è fornire lo stesso livello di accessibilità e controllo sulle pagine di un sito web che jQuery fornisce al DOM.[1] Il contenuto viene gestito tramite l'API o il pannello di controllo amministrativo basato sul web. ProcessWire è utilizzato principalmente per lo sviluppo di siti web, applicazioni web, servizi, feed di contenuti e applicazioni correlate.

Caratteristiche

[modifica | modifica wikitesto]
  • API in stile jQuery con documentazione completa[2]
  • Programma di installazione grafico basato sul web
  • Tutti i campi sono campi personalizzati, indicizzati per operazioni di ricerca nell'API
  • Può essere avviato da altre applicazioni PHP o script da riga di comando[3]
  • Funzioni interattive di manipolazione delle immagini basate su API
  • Elenco di pagine ad albero con trascinamento
  • Caricamento e modifica di file e immagini tramite trascinamento
  • Supporto per installazioni su larga scala (oltre 100.000 pagine)
  • Utilizzo di selettori basati su stringhe per chiamate API[4]
  • Sistema di controllo degli accessi basato sui ruoli
  • Enfasi dello sviluppo principale sulla sicurezza[5]
  • Output agnostico del markup, lasciando tutto l'output allo sviluppatore
  • I file di template sono basati su PHP, nessun motore di template viene utilizzato per impostazione predefinita
  • Caching dell'output di pagine intere o parti individuali
  • Supporto multilingue con campi di testo e URL multilingue[6]
  • Architettura modulare dei plugin e moduli di terze parti disponibili[7]
  • I tipi di campo e di input sono essi stessi moduli plugin
  • Sistema di hook che consente di agganciare e modificare la maggior parte delle funzioni principali[8]
  • I campi e i gruppi di campi sono ripetibili utilizzando i tipi di campo Repeater integrati
  • Supporto per la modifica di testo formattato utilizzando CKEditor
  • Molteplici opzioni di design del tema amministrativo, incluso il moderno tema "Konkat Default"
  • Capacità di modifica frontale integrate nel nucleo
  • Supporto degli spazi dei nomi PHP

Moduli ed estensibilità

[modifica | modifica wikitesto]

ProcessWire ha un'architettura modulare dei plugin in cui i moduli fungono da metodo principale per estendere le funzionalità. Al suo interno, ProcessWire stesso è in gran parte una collezione di moduli, con l'applicazione amministrativa composta interamente da moduli. I moduli in ProcessWire sono disponibili in diverse varietà:

  • Moduli del nucleo - Inclusi con il nucleo di ProcessWire nella directory `/wire/modules/`. Molti sono preinstallati, mentre altri sono disponibili per l'installazione con un clic
  • Moduli del sito - Moduli di terze parti o personalizzati installati nella directory `/site/modules/`
  • Moduli Pro - Moduli commerciali sviluppati dallo sviluppatore principale che forniscono funzionalità avanzate

Nel 2026, ci sono oltre 637 moduli disponibili nella directory dei moduli di ProcessWire.[9] Il numero relativamente inferiore di moduli rispetto ad altre piattaforme CMS come WordPress è attribuito al nucleo ricco di funzionalità di ProcessWire, che include funzionalità integrate che altrimenti richiederebbero plugin separati.[10]

Tipi di moduli

[modifica | modifica wikitesto]

ProcessWire supporta diversi tipi di moduli predefiniti:

  • Moduli Fieldtype - Definiscono tipi di campo personalizzati per memorizzare diversi tipi di dati
  • Moduli Inputfield - Forniscono interfacce di input per i campi nell'amministrazione
  • Moduli Process - Creano pagine e processi amministrativi
  • Moduli Textformatter - Formattano e trasformano l'output di testo
  • Moduli Markup - Generano markup e HTML
  • Moduli Autoload - Si caricano automaticamente all'avvio di ProcessWire, utili per gli hook

L'installazione dei moduli è semplificata tramite più metodi: caricamento di file ZIP tramite l'amministrazione, fornitura di URL di download o posizionamento manuale dei file nella directory dei moduli.

Moduli Pro commerciali

[modifica | modifica wikitesto]

ProcessWire offre diversi moduli Pro commerciali sviluppati da Ryan Cramer, lo sviluppatore principale:

  • FormBuilder - Uno strumento completo di creazione di moduli per creare e gestire moduli senza codifica[11]
  • ProFields - Una collezione di potenti tipi di campo inclusi i moduli Repeater Matrix, Table, Combo e Custom Fields[12]
  • ProCache - Modulo di caching avanzato per l'ottimizzazione delle prestazioni
  • ProMailer - Strumenti di gestione email
  • ProDrafts - Gestione di bozze e revisioni
  • ListerPro - Elenco avanzato e gestione delle pagine
  • LoginRegisterPro - Sistema completo di registrazione e accesso utenti

I ricavi dai moduli Pro supportano lo sviluppo continuo del nucleo gratuito di ProcessWire.

ProcessWire è in sviluppo attivo dal 2003. Dal 2003 al 2007 è stato sviluppato con il nome di Dictator CMS. Dal 2007 al 2010 è stato sviluppato come ProcessWire 1.x. ProcessWire è diventato un progetto comunitario open source nel 2010 ed è attualmente sviluppato come ProcessWire 2.x e 3.x.[13]

ProcessWire ha avuto più rilasci di versioni significativi dal primo rilascio open source. La versione 3.0 rilasciata nel settembre 2016 ha segnato il secondo rilascio di versione principale, introducendo gli spazi dei nomi PHP, le capacità di modifica frontale e il supporto per i moduli compilati.[14]

La versione 3.0.255, rilasciata il 16 gennaio 2026, ha introdotto diversi miglioramenti importanti:

  • Un nuovo tema di design amministrativo moderno chiamato "Konkat Default" creato da Konkat Studio (Jan Ploch e Diogo Oliveira), che fornisce un aspetto più contemporaneo che può essere alternato con il design originale "Core Original"
  • Funzionalità migliorata di Markup Regions, che consente la modifica delle regioni di markup da file che in precedenza le definivano solo
  • Documentazione API migliorata per circa 50 moduli del nucleo
  • Aggiornamenti alle funzioni API JavaScript del nucleo per utilizzare modali Uikit invece di modali Vex
  • Nuovi metodi API JavaScript per la codifica/decodifica di entità
  • Introduzione del modulo ZipFileValidator per una maggiore sicurezza[15]

Il sistema ha mantenuto coerenza e retrocompatibilità durante tutto il suo sviluppo, con aggiornamenti continui preservando i concetti API originali e le convenzioni di denominazione.

ProcessWire ha una comunità globale attiva di sviluppatori e utenti. Il centro principale della comunità è il forum di supporto su processwire.com/talk, che include sezioni per:

  • Supporto generale e domande sullo sviluppo API
  • Sviluppo e supporto di moduli
  • Vetrina di siti web costruiti con ProcessWire
  • Discussioni di supporto multilingue
  • Discussioni sulla sicurezza
  • Bacheca di lavoro per assumere sviluppatori ProcessWire

La comunità è nota per la sua atmosfera amichevole e disponibile, con partecipazione attiva sia degli utenti che dello sviluppatore principale. ProcessWire mantiene una newsletter settimanale e ProcessWire Weekly, una pubblicazione indipendente di Teppo Koivula che copre notizie ProcessWire e argomenti di sviluppo web.

La comunità ha sviluppato numerosi moduli di terze parti, profili di siti e tutorial. Una sezione vetrina sul sito web ufficiale presenta siti web costruiti con ProcessWire, da piccoli siti aziendali a grandi siti web istituzionali.

ProcessWire è costruito attorno a un albero di contenuti di pagine (in contrapposizione a un sistema a contenitori). L'URL o il percorso di ogni pagina riflette sempre la sua posizione nella gerarchia. Si utilizza lo stesso percorso per fare riferimento alla pagina nell'API. Di conseguenza, questa connessione del percorso alla gerarchia dell'albero interno definisce l'architettura di ProcessWire. Oltre alla relazione genitore-figlio implicata da un albero di contenuti, ProcessWire supporta riferimenti relazionali uno-a-uno e uno-a-molti tra le pagine nell'albero.

I template in ProcessWire sono un tipo di contenuto che contiene uno o più campi personalizzati che rappresentano la definizione del tipo di contenuto. Ogni pagina in ProcessWire è assegnata a un template che rappresenta quindi il tipo di pagina. Un template è tipicamente condiviso tra più pagine. I template definiscono anche il controllo degli accessi, il caching e altre impostazioni condivise tra le pagine che utilizzano il template.

ProcessWire pone una forte enfasi sulla sicurezza durante tutto il suo sviluppo principale. Il sistema include:

  • Controllo degli accessi basato sui ruoli con permessi granulari
  • Protezione integrata contro vulnerabilità comuni (SQL injection, XSS, CSRF)
  • Audit di sicurezza e aggiornamenti regolari
  • Strumenti di validazione e sanitizzazione in tutta l'API
  • Validazione del caricamento di file e misure di sicurezza
  • Funzionalità di sicurezza delle sessioni

ProcessWire ha mantenuto un solido record di sicurezza durante tutta la sua storia, senza incidenti di sicurezza importanti o interruzioni.[16]

Premi e riconoscimenti

[modifica | modifica wikitesto]

Nel novembre 2016, ProcessWire è stato premiato come miglior CMS per piccole imprese da CMS Critic.[17]

Nel luglio 2016, Smashing Magazine ha pubblicato A Beginners Guide to ProcessWire.[18]

Nel gennaio 2015, ProcessWire è stato premiato come miglior CMS PHP gratuito da CMS Critic.[19]

Nel dicembre 2012, ProcessWire è stato premiato come miglior CMS gratuito da CMS Critic.[20]

  1. (EN) The concept behind the API, su processwire.com.
  2. (EN) ProcessWire API reference documentation, su processwire.com.
  3. (EN) Bootstrapping ProcessWire, su processwire.com.
  4. (EN) Selectors in ProcessWire, su processwire.com.
  5. (EN) ProcessWire Security, su processwire.com.
  6. (EN) Multi-language support, su processwire.com.
  7. (EN) Directory of modules, su modules.processwire.com.
  8. (EN) ProcessWire Hooks, su processwire.com.
  9. (EN) ProcessWire modules directory, su processwire.com.
  10. (EN) A Beginner's Guide to ProcessWire, in Smashing Magazine, 22 luglio 2016.
  11. (EN) FormBuilder, su processwire.com.
  12. (EN) ProFields, su processwire.com.
  13. (EN) ProcessWire history and background, su processwire.com.
  14. (EN) ProcessWire 3.0 changelog, su processwire.com.
  15. (EN) ProcessWire 3.0.255 new main/master version, su processwire.com, 23 gennaio 2026.
  16. (EN) What's unique about ProcessWire, su processwire.com.
  17. (EN) CMS Critic 2016 awards, su cmscritic.com, 12 novembre 2016.
  18. (EN) Smashing Magazine: A Beginners Guide to ProcessWire, su smashingmagazine.com, 22 luglio 2016.
  19. (EN) CMS Critic Best Free PHP CMS award, su cmscritic.com, 21 gennaio 2015.
  20. (EN) CMS Critic Best Free CMS award, su cmscritic.com, 3 dicembre 2012.

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]