# Plone (software)

Plone è un Content Management System (o CMS), ovvero un sistema di gestione dei contenuti multipiattaforma, basato sul server per applicazioni web Zope e sul linguaggio di programmazione Python.
Plone è sostenuto dalla Plone Foundation, un'organizzazione benefica senza scopo di lucro 501(c)(3), riconosciuta dall'Internal Revenue Service degli Stati Uniti. Il suo obiettivo è la protezione e la promozione di Plone.
La Plone Foundation garantisce che Plone rimanga gratuito e open-source, con la maggior parte dei progetti sotto licenza GNU General Public License (GPL), versione 2. Inoltre, alcuni progetti utilizzano altre licenze come la Modified BSD License, la MIT License o la Creative Commons Attribution-ShareAlike 4.0 International License.
Si tratta quindi di software libero che può essere scaricato e usato liberamente.
Nel panorama italiano viene spesso impiegato dalle pubbliche amministrazioni per rispettare i parametri richiesti dal PNRR e dalle linee guida AgID: software open source basato sul riuso, facilità d’uso per i cittadini, accessibilità, trasparenza e migrazione dati.
Plone è un sistema versatile che facilita la condivisione di informazioni su reti locali e globali.
Consente di gestire i contenuti di siti web, reti intranet e altre applicazioni web senza necessitare di competenze tecniche avanzate, permettendo a chiunque di creare, modificare e aggiornare facilmente le informazioni utilizzando solo un browser web.
Il software è rinomato per la sua estensibilità, facilità d'uso, produttività e possibilità di personalizzazione. Offre inoltre una vasta gamma di componenti aggiuntivi sviluppati dalla comunità, assicurando un'elevata flessibilità e la capacità di mantenere il sito sempre aggiornato e interoperabile.
Non solo, poiché è basato su Python e sulle librerie Zope, ha un vantaggio tecnologico che lo ha aiutato a raggiungere il miglior record di sicurezza di qualsiasi altro CMS (fonte: CVE). E la sicurezza è un altro dei motivi principali per cui molti utenti di CMS passano a Plone.
Organizzazioni diverse come la NASA, Oxfam, Amnesty International, Nokia, eBay, Novell, le università statali della Pennsylvania e dello Utah, nonché i governi brasiliano e neozelandese, utilizzano tutti Plone.
L'impatto e l'influenza di Plone sono evidenti nella sua adozione a livello globale, sostenuta da una vasta rete di fornitori di soluzioni in tutto il mondo, come indicato nella pagina dei fornitori di Plone.

## Caratteristiche principali

* Plone supporta Linux e macOS. È raccomandato l'uso di WSL per Windows.
* Esistono immagini di Plone disponibili per diversi tipi di sistemi di Container.
* Capacità Multilingue: Progettato come un CMS multilingue, Plone è disponibile in molte lingue, per soddisfare un pubblico globale.
* Editor WYSIWYG: Include un editor WYSIWYG per la creazione di contenuti in tempo reale senza richiedere conoscenze di HTML, rendendolo accessibile a utenti non tecnici.
* Controllo delle Versioni: Memorizza tutte le versioni dei contenuti modificati, consentendo agli utenti di ripristinare facilmente le modifiche.
* Workflow Personalizzati: Include il controllo delle pubblicazioni e flussi di lavoro personalizzabili per la gestione di vari processi aziendali.
* Funzionalità di Ricerca: Tutti i contenuti, inclusi documenti Word e PDF, sono ricercabili, migliorando l'esperienza dell'utente e l'accessibilità.
* Conformità all'Accessibilità: Adotta standard di accessibilità, inclusa la conformità allo standard statunitense Sezione 508 e la valutazione W3C AA per l'accessibilità web.
* Conformità agli Standard Web: Soddisfa gli standard web come XHTML e CSS, garantendo compatibilità con le tecnologie web moderne.
* Capacità di Integrazione: Supporta LDAP, SQL, SOAP, servizi web (WSDL) e WebDAV, per l'integrazione con altri sistemi.
* Caratteristiche di Prestazioni: Include capacità di clustering e caching proxy per migliorare le prestazioni e la scalabilità.

## Storia

Il progetto è nato nel 1999 grazie a Alan Runyan, Alexander Limi, e Vidar Andersen e prende il nome da un omonimo gruppo musicale inglese. La prima versione di questo content management system è stata pubblicata nel 2001, ma il progetto fece nascere ancora prima del suo lancio ufficiale una vasta community, che si è arricchita col tempo di sviluppatori e sostenitori. Il graduale aumento della community Plone ha dato vita alla prima Plone Conference nel 2003, evento che da allora ha una cadenza annuale e che dà la possibilità a tecnici, sviluppatori e sostenitori di tutto il mondo di incontrarsi e discutere del futuro di Plone, scambiandosi idee, proposte, storie e progetti. Inoltre si tengono periodicamente degli sprints, ovvero sessioni di intenso sviluppo, di progettazione, programmazione e documentazione il cui obiettivo è di incrementare significativamente lo stato di avanzamento dei prodotti Plone che verranno pubblicati.
Nel marzo del 2004 viene pubblicata la versione 2.0 e nel maggio dello stesso anno viene fondata la Plone Foundation, dedicata allo sviluppo, al marketing e alla difesa del nome di Plone e dei suoi prodotti: la fondazione ha infatti diritti di proprietà sul codice base di Plone, sul marchio di fabbrica e sui nomi di dominio. Ma Plone rimane comunque un software open source.
Il 21 agosto 2007 la fondazione ha lanciato la nuova versione 3.0. Il Plone Development Team è composto da centinaia di sviluppatori ubicati in tutto il mondo, che costantemente contribuiscono allo sviluppo del CMS Plone.
Il 1º settembre 2010 è stato presentato Plone 4.0, con significativi miglioramenti per quanto riguarda la velocità, la semplicità di gestione e l'aspetto grafico. Questi i successivi aggiornamenti:
* Plone 4.1, data lancio 8 agosto 2011;
* Plone 4.2, data lancio 5 luglio 2012;
* Plone 4.3, data lancio 15 aprile 2013.
Il 28 settembre 2015 è stato distribuito Plone 5.0, più facile da utilizzare, con Dexterity come nuovo sistema predefinito per la definizione dei tipi di contenuto e un più veloce sistema di rendering delle pagine.
Questi i successivi aggiornamenti:
* Plone 5.1, data lancio 1 marzo 2018;
* Plone 5.2, data lancio 19 luglio 2019;
Il 12 dicembre 2022 è stato distribuito Plone 6, con miglioramenti dell'esperienza utente, con l'introduzione di Volto, il nuovo frontend di default, in React, che consente la composizione dei contenuti attraverso un sistema a blocchi flessibile e parametrico a seconda delle esigenze dei redattori.

## Un'architettura aperta

Plone è costruito con un'architettura di componenti riutilizzabili. Sono molti i programmatori che lavorano per sviluppare e migliorare il software e sono stati già realizzati oltre 100 plug-in per Plone. È stato anche sviluppato un framework per facilitare la creazione di nuovi tipi di contenuto in Plone, chiamato ArcheTypes, il cui scopo principale è fornire un metodo comune per lo sviluppo del contenuto degli oggetti.
Il modello su cui si basa Plone segue un disegno molto ben implementato: il grande vantaggio della sua trasparenza sta nel fatto di poter gestire autonomamente aspetti come la sicurezza, la presentazione di contenuti e menù di navigazione, workflow, transizioni e stati di pubblicazione, o errori (soprattutto grazie alla potenza del sottostante CMF Zope).

## La Community di Plone

Con oltre 800 collaboratori, la community di Plone è eterogenea e composta da organizzazioni di diverse dimensioni e settori, provenienti da numerosi Paesi.
I membri della comunità, che vengono chiamati Plonisti, sono disponibili ad assistere in molte aree. Infatti, si possono trovare sia novizi che programmatori esperti, ma anche figure non strettamente correlate al mondo della programmazione.
La diversità e le differenti capacità dei membri contribuiscono ad apportare un valore maggiore al CMS e ai progetti a livello mondiale.
La partecipazione a forum, chat e team di Plone è incoraggiata, offrendo a tutti l'opportunità di scoprire di cosa si parla e di contribuire al continuo miglioramento del CMS.

## Plone Conference

La Plone Conference è l'evento annuale più rilevante per la comunità Plone, in cui sviluppatori, utenti, integratori e altri membri della community globale si incontrano per condividere conoscenze, esperienze e novità riguardanti il CMS Plone.
Ogni anno la conferenza si svolge in una località diversa e offre un programma ricco di sessioni tecniche, workshop, presentazioni e discussioni su casi studio, oltre a opportunità di networking.
L'evento è un'importante occasione per apprendere nuove competenze, scoprire le ultime innovazioni del software e contribuire attivamente allo sviluppo di Plone.
Nel 2007, a Napoli, si è tenuta la quinta Plone Conference, la prima in Italia, organizzata da Abstract.
L'ultima Plone Conference che si è tenuta in Italia è stata nel 2019 a Ferrara, organizzata da RedTurtle.

## Gli Sprint di Plone

Gli Sprint di Plone sono sessioni di lavoro collaborativo mirate che possono durare da un giorno a una settimana, durante le quali i membri della comunità Plone si dividono in gruppi per aggiungere o migliorare aspetti specifici del CMS.
Gli sprint coinvolgono una vasta gamma di collaboratori, tra cui sviluppatori, grafici, copywriter, designer di interfacce utente, organizzatori ed esperti di processi.
Durante gli sprint, i partecipanti lavorano insieme in un ambiente intensamente produttivo cercando di unire Plonisti esperti con figure junior o nuove. Questo approccio non solo accelera lo sviluppo e il miglioramento di Plone, ma offre anche una preziosa opportunità di apprendimento per i nuovi membri della comunità. Oltre a migliorare il software, gli sprint rafforzano i legami all'interno della community di Plone, favorendo lo scambio di competenze e idee tra i partecipanti.
Questi eventi rappresentano un'evoluzione continua di Plone, poiché permettono di affrontare sfide tecniche complesse e avanzare rapidamente nello sviluppo di nuove funzionalità e soluzioni.
Tra gli sprint più noti si annoverano:
* Buschenschank Sprint, a Berghausen, Stiria Meridionale, Austria
* Beethoven Sprint, a Bonn, Germania
A settembre 2024 si è svolto in Italia sprint strategico Salamina Sprint. I focus dell'evento sono stati l'accessibilità e le prestazioni.

### Perché si chiamano sprint?

Prendono il nome dall’approccio al lavoro che applicano i programmatori di Zope e Python, ma il termine sprint è stato preso in prestito da altre discipline. Tres Seaver ha scritto che nel 2001 doveva affrontare una valutazione delle prestazioni alla Zope Corporation (allora Digital Creations). Ai tempi, Tres seguiva un approccio agile chiamato Extreme Programming (XP). Nel suggerire eventuali cambiamenti su come migliorare lo sviluppo del software, pensò che fosse opportuno sperimentare alcune pratiche di XP mentre lavoravano su Zope. Si diedero quattro giornate intensive di lavoro per dare alla luce degli esiti e quindi decisero di chiamare questo evento Sprint, come lo scatto degli atleti. Successivamente, Tres scoprì che Scrum, una metodologia agile diversa da XP, utilizzava il termine per indicare un incremento di sviluppo software della durata di un mese.

## World Plone Day

Il World Plone Day (WPD) è la giornata internazionale dedicata a Plone.
Si tratta di una giornata online e in presenza di 24 ore, in cui vengono condivise informazioni e approfondimenti sui vantaggi dell'utilizzo di Plone. La sua partecipazione viene promossa ed incentivata dalla community.
Le presentazioni durante il WPD sono tenute sia in inglese che nelle lingue locali dei singoli paesi.
Solitamente, l'evento si svolge nel mese di aprile, con una data che può variare di anno in anno.
In Italia, il World Plone Day riunisce organizzazioni pubbliche e imprese private, offrendo un'occasione per condividere esperienze e tecnologie in diversi settori.
L'evento in Italia è organizzato da RedTurtle, un'azienda italiana specializzata nello sviluppo di software open source. Dal 2024, dopo la pandemia, sono stati reintrodotti anche gli eventi in presenza.
I temi trattati in Italia includono la trasformazione digitale, la progettazione di servizi digitali, portali e comunicazione digitale. Durante il WPD, viene illustrato come il CMS Plone possa essere un alleato sicuro e affidabile nel processo di digitalizzazione per le Pubbliche Amministrazioni e le imprese private.
I contenuti dell’evento vengono condivisi sul canale YouTube di Plone e per l’Italia anche su PloneGov Italia nella sezione news dove vengono caricati video e slide delle presentazioni.

## Plone: il CMS con il miglior record di sicurezza

Plone è la scelta ideale per la gestione di contenuti sensibili, poiché garantisce che tali contenuti non vengano esposti e impedisce l’accesso diretto ai server. Ad oggi, non sono mai state segnalate vulnerabilità gravi di Plone sfruttate in modo diffuso.
Approccio alla base della sicurezza di Plone:
* Protezione da SQL Injection
* I contenuti vengono controllati e ripuliti da tag dannosi
* Controlli granulare dei permessi
* Sandboxing avanzato
* Protezione automatica CSRF e clickjacking
* Controlli di sicurezza integrati

### Team di sicurezza dedicato

Plone ha un team di sicurezza dedicato che rilascia aggiornamenti periodici, concentrandosi quasi esclusivamente su correzioni e miglioramenti della sicurezza. Per le vulnerabilità più gravi, le correzioni vengono rilasciate rapidamente, ma ciò è stato necessario solo tre volte nel 2015.
Plone è stato scelto da organizzazioni come il governo del Brasile, comuni italiani e belgi, scuole, università, governi e aziende in tutto il mondo per la gestione sicura dei contenuti web aziendali.

## Vantaggi di Plone

Plone offre molte opzioni di customizzazione e fornisce centinaia di prodotti aggiuntivi scaricabili gratuitamente online.
La comunità di Plone è trasparente riguardo ai punti di forza e alle capacità del software e non lo consiglia per usi non adatti. Di conseguenza, Plone si integra bene con sistemi che offrono funzionalità specifiche non coperte dal CMS stesso.
Uno dei più grandi vantaggi è l'essere compatibile con quasi tutti i sistemi operativi, oltre ad avere un'interfaccia leggibile da quasi tutti i tipi di browser, punto debole di molti CMS.
Plone è inoltre abbastanza facile da installare ed è frequentemente ospitato su provider cloud come Amazon Web Services, Digital Ocean e Linode.

## Punti Deboli

Plone è progettato per il mercato aziendale, dove l'identità aziendale è spesso integrata nel CMS, e per questo motivo non ci sono molti temi gratuiti disponibili per il download e l'installazione.
Può risultare una soluzione eccessiva per la creazione di semplici blog o piccoli siti.
Per sfruttare appieno il CMS e acquisire una conoscenza approfondita, è necessario avere esperienza con Zope e Python. Inoltre, la documentazione disponibile può talvolta rendere l'uso più difficile, poiché è prevalentemente in lingua inglese.

## Plone 3

Le funzionalità introdotte da Plone 3 sono:
* Inline Editing: procedura alternativa per modificare i contenuti nei campi che prevedono solo testo, in modo molto più veloce rispetto a quella tradizionale.
* Blocco e sblocco automatici: blocca un contenuto per tutti gli altri utenti mentre lo si sta modificando, in modo da evitare che venga manipolato in maniera incoerente.
* Le collezioni: sono una sorta di contenitori virtuali per la visualizzazione di raggruppamenti alternativi dei contenuti,
* Versioning: permette di visualizzare l'intera storia di un elemento, con tutte le sue diverse versioni, potendole comparare tra loro attraverso varie funzioni.
* La copia lavoro: permette di avere in parallelo due versioni di un documento, in modo che una rimanga visibile per i visitatori del sito e l'altra venga salvata sul computer locale per modificarla fino a quando non sarà pronta per la pubblicazione.

## Plone 4

Plone 4 ha portato con sé numerose novità:
* Velocità: rispetto alla versione precedente, questa release è più veloce del 68% per i visitatori anonimi, del 53% per gli utenti loggati e del 41% in modalità "edit" dei contenuti. Inoltre usa molta meno memoria rispetto alle versioni precedenti, risultando più snella.
* Grafica. Plone 4 ha introdotto un nuovo tema di default, chiamato "Sunburst". Esso è stato progettato per avere un design minimalista, sgombro da tabelle e griglie, con un css semplificato. Tuttavia rimane la possibilità di installare il classico tema di Plone, quello presente nelle varie versioni del CMS dal 2001 e che ha ispirato anche i designer di Wikipedia.
* Interfaccia. Plone 4 ha ripulito e raffinato la sua interfaccia utente, rendendola più intuitiva. La nuova release include un nuovo editor grafico HTML (TinyMCE) e migliorato le impostazioni di configurazione di default.
* Facilità di installazione e di aggiornamento. Gli installer sono in grado di rendere funzionante Plone nel giro di 10 minuti, e la procedura di upgrade è stata semplificata.

## Plone 5

Plone 5 ha introdotto:
* Maggiore usabilità dell'interfaccia utente.
* Dexterity come nuovo sistema predefinito per la definizione dei tipi di contenuto
* Chameleon, il nuovo e più veloce sistema di rendering delle pagine.
* Introduzione di Diazo per la realizzazione dei temi grafici.
* Supporto alle immagini ad alta risoluzione "Retina".
* Compatibilità a Python 3.

## Plone 6

Plone 6 aggiunge alle funzionalità, stabilità, sicurezza di un CMS di classe enterprise,Volto, la nuova interfaccia di gestione dei contenuti pensate per i redattori e basata sulle tecnologie più moderne.
Plone 6, con Volto, ha una architettura headless dove il frontend comunica con il backend utilizzando REST API.
Con Plone 6:
* I redattori possono creare moduli (form) con un sistema drag and drop.
* È disponibile un ecosistema con più di 100 add-ons.
* È possibile creare nuovi tipi di contenuto (content type) personalizzati in modalità no-coding. Possono quindi essere realizzati direttamente dal web, compresi i campi e i metadati.
È disponibile una documentazione completa con informazioni di dettaglio anche per gli sviluppatori.

## Volto

Volto è un frontend moderno, basato su React, per il CMS Plone.
Dalla versione 6 di Plone è il front end predefinito.
Volto rappresenta un'evoluzione significativa nella presentazione e gestione dei contenuti di Plone.

### Caratteristiche

Volto, che utilizzando React consente la creazione di interfacce utente dinamiche, offre un'esperienza utente moderna e altamente personalizzabile.
La comunicazione tra Volto e il backend di Plone avviene tramite REST-API.
Volto utilizza l'editor Pastanaga, un editor di layout di contenuti basato su blocchi che è sia estensibile che personalizzabile. Gli utenti possono adattare i blocchi predefiniti forniti o crearne di nuovi per soddisfare esigenze specifiche.
Volto supporta anche l'integrazione di componenti aggiuntivi tramite i pacchetti disponibili su NPM e Volto Awesome, permettendo ulteriori personalizzazioni e ampliamenti delle funzionalità.

### Vantaggi

Volto è progettato per sfruttare appieno le capacità di React, offrendo un frontend veloce e moderno che mantiene la sicurezza e la scalabilità di Plone.
Tra i suoi punti di forza ci sono:
* Eleganza e potenza: offre un'interfaccia utente dinamica e intuitiva che facilita la creazione e l'assemblaggio dei contenuti.
* Componenti UI: dispone di componenti di alta qualità e potenti che migliorano l'esperienza utente.
* Scalabilità e velocità: garantisce prestazioni elevate e scalabilità per siti web e applicazioni.
* Sicurezza: mantiene il sistema di sicurezza granulare di Plone, gestendo la visibilità e l'accesso ai contenuti.
* Personalizzazione: facilmente tematizzabile e in grado di gestire tipi di contenuto personalizzabili e flussi di lavoro sofisticati.
* Ricerca e accessibilità: tutti i contenuti, inclusi file come PDF, sono ricercabili e il sistema continua la tradizione di Plone nella conformità all'accessibilità.
* Supporto multilingue: semplifica la gestione delle traduzioni per siti multilingue.
* Ben documentato: è disponibile una documentazione completa sia per gli redattori che per i programmatori
* Volto, come Plone, è Open Source ed supportato da una solida documentazione, formazione e un forum della comunità.

## Versioni supportate di Plone, Python e Plone REST API

Volto funziona con tutte le versione di Plone 6.
Volto si basa su Plone core (Products.CMFPlone) e su Plone REST API.
È previsto che Volto supporti tutte le ultime versione major di Plone e le relative versioni delle REST API.
Per un approfondimento vedi la compatibilità di Plone, Python e Plone REST API.

## Aggiornamenti di Plone e aggiornamenti di versione

Plone viene costantemente migliorato e aggiornato.
Per un approfondimento puoi consultare il programma di rilascio di Plone.

## Compatibilità di Plone

Plone non richiede l’installazione di software di terze parti.
E’ sufficiente utilizzare un moderno browser.
Guarda i browser supportati.

## Cronologia Versioni di Plone

Di seguito la cronologia dettagliata di tutte le versioni di Plone e la loro data di rilascio.
| Versione | Data di Rilascio |
| Plone 1.x | |
| Plone 1.0 | Ottobre 2001 |
| Plone 2.x | |
| Plone 2.0 | Giugno 2004 |
| Plone 2.1 | Aprile 2005 |
| Plone 2.2 | Aprile 2006 |
| Plone 3.x | |
| Plone 3.0 | Febbraio 2008 |
| Plone 3.1 | Novembre 2008 |
| Plone 3.2 | Decembre 2009 |
| Plone 4.x | |
| Plone 4.0 | Febbraio 2011 |
| Plone 4.1 | Agosto 2011 |
| Plone 4.2 | Novembre 2012 |
| Plone 4.3 | Aprile 2014 |
| Plone 5.x | |
| Plone 5.0 | Aprile 2015 |
| Plone 5.1 | Febbraio 2016 |
| Plone 5.2 | Luglio 2019 |
| Plone 6.x | |
| Plone 6.0 | Decembre 2022 |
| Plone 6.1 | Gennaio 2024, Rilascio Alpha |
| Plone 6.2 | Expected May 2025 |
| Plone 7.0 | Expected 2025 |

## Informazioni sul supporto, la maintenance e sul ciclo di vita delle versioni

Di seguito informazioni sulle versioni di Plone per sapere il loro stato di supporto e le date di fine vita, basata sulle ultime politiche di rilascio:
* Tutte le versioni minori di Plone 6 ricevono il supporto per la sicurezza fino al 2027-12-31, 5 anni dopo il rilascio di Plone 6.0.0.
* Plone 6.0.x con Volto 16.x riceve il supporto per la manutenzione fino al 2024-12-31, 2 anni dopo il rilascio di Plone 6.0.0. Utilizzate questo supporto per il vostro sito quando la vostra preoccupazione principale è la stabilità.
* Il supporto di manutenzione per Plone 6.1.x si interrompe una volta rilasciata la versione 6.2.0. La manutenzione per Plone 6.2.x si interrompe una volta rilasciata la versione 7.0.0.
* Plone 5.2.x è fuori dal supporto di manutenzione. Riceve il supporto di sicurezza fino al 2024-10-31.
* Le versioni precedenti di Plone non sono supportate.
Per informazioni più dettagliate e aggiornate, è possibile consultare il piano di rilascio di Plone.

## La comunità Plonegov

Nel 2007, accanto alla comunità degli sviluppatori, molto attiva e ben organizzata, è sorta una comunità che si basa sulla collaborazione tra Enti Pubblici, aziende e organizzazioni, chiamata appunto Plonegov.
Un'iniziativa fondata tra Belgio e Francia con la più antica comunità, attiva e strutturata: CommunesPlone che ad oggi conta oltre 100 enti. Tuttavia, a dispetto delle comunità estere analoghe, l’unità italiana è rapidamente cresciuta in termini di attività e soluzioni.
Questo raggruppamento informale si basa sul modello del software libero, consentendo agli Enti di condividere software ed esperienze per accrescere competenze e creare soluzioni su misura.
Il modello prevede il riuso gratuito del software, con i costi di installazione e personalizzazione a carico degli Enti riusanti.