Drupal: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Storia: outdated |
|||
(34 versioni intermedie di 18 utenti non mostrate) | |||
Riga 10:
|Genere = Content Management System
|Lingua =
▲| SitoWeb =
}}
'''Drupal''' è una [[piattaforma (informatica)|piattaforma]] [[software]] di [[Content Management System|C''ontent Management System'']] (CMS), [[Modularità (informatica)|modulare]], scritta in linguaggio [[PHP]] e distribuita sotto licenza [[GNU]] [[Licenza GPL|GPL]], ovvero un programma che girando [[lato server]] permette la creazione e distribuzione di complessi [[sito web|siti web]] [[web dinamico|dinamici]].
== Storia ==
Creato originariamente da Dries Buytaert<ref>[http://buytaert.net/ Dries Buytaert | Personal website of Dries Buytaert<!-- Titolo generato automaticamente -->]</ref> come [[bulletin board system]], divenne un progetto [[Software libero|libero]] nel 2001. Il nome ''Drupal'' è la [[traslitterazione]] inglese per la parola olandese ''druppel'' che significa ''goccia''. Il nome nasce dal defunto drop.org, sito il cui codice si evolse lentamente fino a trasformarsi in Drupal. Buytaert voleva chiamare il sito «dorp» (in olandese «villaggio», riferendosi all'orientamento «per community» del progetto), ma commise un errore di digitazione quando controllò la disponibilità del [[Domain Name System|dominio]]. Rileggendo, decise che drupal suonava meglio.<ref>[https://drupal.org/node/769 History | drupal.org<!-- Titolo generato automaticamente -->]</ref>
Negli anni Drupal ha acquistato popolarità
Nell'agosto 2007, le traduzioni dell'interfaccia di Drupal sono disponibili in 37 lingue oltre all'inglese (la lingua predefinita).<ref>{{en}} [https://drupal.org/project/Translations "Translations" da drupal.org (registrato il 12 agosto 2007)]</ref> I linguaggi supportati ne comprendono alcuni con scrittura da destra a sinistra, come l'arabo e l'ebraico. Dal novembre 2009 il sito della [[Casa Bianca]] ''[https://www.whitehouse.gov/ WhiteHouse.gov]''
Il 30 maggio [[2013]] Drupal.org viene hackerato e tutte le password degli utenti scaricate. Drupal inviò una mail a tutti richiedendo il reset della password.<ref>{{cita web|url= http://riccardomasutti.altervista.org/drupal-org-hackerato-reset-della-password-per-tutti-gli-utenti/|titolo=Drupal.org hackerato, reset della password per tutti gli utenti|autore=Riccardo Masutti|data=30 maggio 2013|lingua=IT, EN|accesso=23 maggio 2022|urlarchivio=https://archive.is/20130710114451/http://www.riccardomasutti.com/drupal-org-hackerato-reset-della-password-per-tutti-gli-utenti/ |dataarchivio=10 luglio 2013
Il 7 ottobre 2015 viene annunciata la versione Drupal 8. Drupal 8 include nuove caratteristiche e miglioramenti, sia per l'utente, sia per gli sviluppatori. Tra questi miglioramenti sono da evidenziare una nuova interfaccia grafica; la possibilità di modificare i contenuti in modalità visuale e direttamente sul contenuto stesso (WYSIWYG in-place); il supporto all'interfaccia mobile; l'aggiunta e l'ampliamento di moduli cruciali fra i quali Views, Date, e Entity Reference; l'adozione di un backend orientato agli oggetti basato sul framework Symfony; l'evoluzione del supporto multilingua. Drupal 8.0.0
Nel
Drupal 9.0.0
== Caratteristiche ==▼
Funziona su diversi [[sistema operativo|sistemi operativi]], tra cui [[Windows]], [[macOS]], [[Linux]] e qualsiasi [[piattaforma (informatica)|piattaforma software]] che supporti i [[web server]] [[Apache HTTP Server|Apache]] (versione 1.3 o superiore) o [[Internet Information Services|IIS]] (versione 5 o superiore) e il linguaggio [[PHP]] (versione 4.3.3 o superiore). Drupal utilizza inoltre un [[database]] per memorizzare i contenuti, e necessita dunque di un [[software]] come [[MySQL]] e [[PostgreSQL]] che sono stati per lungo tempo gli unici [[DBMS]]
Drupal 9 estende l'adozione del "data abstraction layer" (livello di astrazione per la gestione del database) tanto da non richiedere più allo sviluppatore di scrivere le "Queries" nel linguaggio SQL. Microsoft ha scritto un driver che consente di utilizzare SQL Server. Inoltre già Drupal 7 supporta il database SQLite.
▲== Caratteristiche ==
▲Funziona su diversi [[sistema operativo|sistemi operativi]], tra cui [[Windows]], [[macOS]], [[Linux]] e qualsiasi [[piattaforma (informatica)|piattaforma software]] che supporti i [[web server]] [[Apache HTTP Server|Apache]] (versione 1.3 o superiore) o [[Internet Information Services|IIS]] (versione 5 o superiore) e il linguaggio [[PHP]] (versione 4.3.3 o superiore). Drupal utilizza inoltre un [[database]] per memorizzare i contenuti, e necessita dunque di un [[software]] come [[MySQL]] e [[PostgreSQL]] che sono gli unici [[DBMS]] al momento supportati.
I requisiti dettagliati sono disponibili sul sito ufficiale di Drupal<ref>{{en}}[https://drupal.org/requirements Requisiti di Drupal]</ref>.
Riga 61 ⟶ 59:
* Usare regole per impedire l'accesso al sito a determinati utenti in base a nome, indirizzo e-mail, indirizzo IP
* Collezionare e presentare statistiche dettagliate del sito
* Gestire il caching delle pagine
* Creare e specificare vari filtri sull'input degli utenti e diversi modelli di contenuto
* Generare indirizzi semplici da ricordare, permettendo una migliore catalogazione ai motori di ricerca
Inoltre, il sito di Drupal contiene
* Sistemi di [[commercio elettronico]]
Riga 80 ⟶ 78:
'''update_status''', un nuovo modulo disponibile per Drupal 5.x (parte del «core» in Drupal 6.0) notifica automaticamente il gestore del sito quando vengono distribuite nuove versioni dei moduli e temi installati.
Prima di ogni aggiornamento
Per gli sviluppatori l'adozione, già con Drupal 7 e poi sempre più profonda con Drupal 8 e 9, del gestore di pacchetti [[Composer (software)|Composer]] rende l'aggiornamento tramite "linea di comando" sicuro e affidabile. Composer
=== Temi ===
La maggior parte dei temi per Drupal 8 sono creati usando il
Versioni precedenti del meccanismo per i temi di Drupal sono state criticate<ref>"[https://drupal.org/node/15689#comment-25704 How does Drupal compare to Mambo?]" discussione (in inglese), Drupal.org.</ref> per essere meno orientate al ''design'' e più complesse rispetto ai sistemi di [[Mambo (CMS)|Mambo]] e [[Plone (software)|Plone]]. L'inclusione in Drupal prima dei sistemi PHPTemplate e XTemplate, poi del potente TWIG sono state una risposta alla maggior parte di queste critiche.
L'adozione del sistema TWIG consente lo sviluppo e modifica dei temi anche senza la conoscenza di PHP<ref>{{Cita web|url=https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Render!theme.api.php/group/themeable/8.2.x|titolo=Theme system overview {{!}} theme.api.php {{!}} Drupal 8.2.x {{!}} Drupal API|sito=api.drupal.org|accesso=2020-09-03}}</ref>.
Attraverso il sito ufficiale Drupal.org è possibile scaricare e installare una grande quantità di temi gratuiti già pronti per l'uso. Alcuni di questi temi hanno una versione a pagamento che consente di accedere a strumenti di controllo più sofisticati.
A disposizione di sviluppatori e designer Drupal.org mette a disposizione alcuni temi che in effetti sono ambienti di sviluppo di interfacce grafiche basati, ad esempio, su Bootstrap 3 o 4.
Drupal 8 e 9 sono fortemente orientati a sviluppare installazioni che abbiano l'interfaccia "Mobile" come prima opzione (Mobile First). I temi installati insieme al "Core" sono predisposti per accogliere con rapidità versioni ottimizzate per i dispositivi portatili.
A questo proposito il creatore di Drupal Dries Buytaert si è impegnato personalmente nel facilitare lo sviluppo delle API REST che consentono di affiancare al Backend Drupal interfacce grafiche progettate in ambienti differenti (React, Angular, ecc.). In ambiente Drupal si definisce questa opportunità con il termine "Decoupled". Drupal 8 e successivi contengono nell'installazione Core gli strumenti necessari per creare progetti "Decoupled".
=== Accessibilità ===
Già da Drupal 7 il tema dell'accessibilità è stato uno degli argomenti più sostenuti nella comunità Drupal. Drupal si presta alla costruzione di Siti Web accessibili a persone con disabilità. La maggior parte delle opzioni a favore dell'accessibilità è stata integrata nel Core di Drupal.
Drupal 8 ha inserito nelle sue Best Practice suggerite agli sviluppatori le indicazioni dettate dall'[[Web Accessibility Initiative|Authoring Tool Accessibility Guidelines]](ATAG).
Tra le funzionalità più funzionali all'accessibilità si segnalano:
* Funzionalità Drag and Drop (trascina e incolla)
* Miglioramento del contrasto dei colori e della loro intensità
* Aggiunta di default delle etichette nei moduli
* Adattamento della clausola CSS display:none in modo che consenta di nascondere o mostrare i testi che assumono il "focus"
* Aggiunta del supporto ARIA Live Regions
* Miglioramento della navigazione tramite tastiera
== Critiche ==
Riga 96 ⟶ 116:
Come per altri sistemi di gestione dei contenuti, è possibile configurare il database di partenza da riga di comando [https://web.archive.org/web/20070708105110/http://drupal.org/node/495 drupal.org] oppure con [[phpMyAdmin]]/[[PhpPgAdmin]]. A partire dalla versione 5.0, è possibile installare Drupal e configurare il database quasi interamente tramite un'interfaccia web.
Alcuni<ref>Alister Lewis-Bowen et al., "[http://www-128.ibm.com/developerworks/ibm/library/i-osource1/index.html Usare software open source
A partire da Drupal 7 l'installazione è diventata molto semplice, sia per l'utente non sviluppatore che può installare a partire da un unico pacchetto scaricato dal sito Drupal.org, sia per gli sviluppatori che attraverso [[Composer (software)|Composer]] possono effettuare l'installazione con un solo comando.
Alcuni programmatori criticano Drupal perché non lo considerano sviluppato con la [[Programmazione orientata agli oggetti]] (OOP), ma [https://api.drupal.org/api/file/developer/topics/oop.html/6 Programmare Drupal da una prospettiva orientata agli oggetti (in inglese)] {{Webarchive|url=https://web.archive.org/web/20070909094322/http://api.drupal.org/api/file/developer/topics/oop.html/6 |
== Distribuzioni ==
Riga 131 ⟶ 153:
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|
* {{cita web|https://www.drupal.org/project/Themes|Temi per Drupal|lingua=en}}
{{PHP}}
{{Framework per applicazioni web}}
{{Controllo di autorità}}
|