Introduzione a Drupal e componenti del core - SIDCamp 2015
-
Upload
kelyon-srl -
Category
Internet
-
view
150 -
download
2
Transcript of Introduzione a Drupal e componenti del core - SIDCamp 2015
![Page 1: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/1.jpg)
Introduzione a Drupal e
componenti del coreGiancarlo Diana
Senior Consultant @Kelyon
1
![Page 2: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/2.jpg)
Prefazione
• Che cos’è Drupal• La piattaforma di sviluppo (LAMP)• Installazione di Drupal• Struttura file system e database• Installazione moduli da interfaccia• Index.php .htaccess e routing• Sistema di nodi• Sistema di utenti, ruoli e pemessi2
DI COSA PARLEREMO
![Page 3: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/3.jpg)
• Tema – pagine, nodi, regioni e blocchi• Pagine e tipi di contenuto• Campi, Menu, Tassonomia• Relazioni tra i contenuti
3
![Page 4: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/4.jpg)
Che cos’è Drupal
15/04/20234
• Drupal è un framework scritto in PHP• Consente di creare potenti applicazioni• Può essere usato da • Sviluppatori• Webmaster• Copyright
• È open source• Drupal è diffuso, supportato e flessibile
![Page 5: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/5.jpg)
Con Drupal si fanno i siti?• Con Drupal si fanno anche i siti• Drupal è un framework in grado di fare di tutto
15/04/20235
Con la diffusione di apperecchi di piccole dimensioni su cui si può montare un webserver, le applicazioni di Drupal sono aumentate in modo esponenziale.
![Page 6: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/6.jpg)
Usi più diffusi• Produzione di pagine web• HTML
• Webservices• Json, rest eccetera
15/04/20236
In via di diffusione• Applicazioni indrustriali• Reti sensoriali• Domotica
![Page 7: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/7.jpg)
Curva di apprendimento della concorrenza
15/04/20237
![Page 8: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/8.jpg)
… e di Drupal
15/04/20238
![Page 9: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/9.jpg)
Quando usare Drupal• È necessario realizzare un progetto che sia flessibile
ed estendibile nel tempo• C’è bisogno di un software che deve fare quello che
già fa il core di Drupal ed i suoi principali moduli contrib• Quando è necessaria robustezza e sicurezza e
professionalità• Quando si deve fare fronte a grosse e variegate
richieste di dati
15/04/20239
![Page 10: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/10.jpg)
Quando NON usare Drupal
15/04/202310
![Page 11: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/11.jpg)
La piattaforma di sviluppo LAMP• LINUX• APACHE• MYSQL (MARIADB)• PHP
15/04/202311
PHPM
YSQL
APACHE
LINUX
Drupal si poggia su questa infrastruttura, un ambiente di sviluppo completamente open source e ben rodato da una grossa community
![Page 12: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/12.jpg)
Installazione di Drupal• Drupal.org è il punto di
inizio• https://
www.drupal.org/project/drupal e https://www.drupal.org/project/NOME_PROGETTO• Moduli e temi
15/04/202312
![Page 13: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/13.jpg)
Installazione di Drupal• Scelta del profilo• Scelta della lingua• Setup del database• Installazione profilo• Importazione traduz.• Configurazione
15/04/202313
![Page 14: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/14.jpg)
Struttura del file system• Del core di Drupal fanno parte tutti
i file e le cartelle della root• La catella sites viene gestita in
maniera diversa (multisite)• Sites è la cartella dove definire tutti
i nostri sitiall si riferisce a tutti i siti• Default è quella che verrà usata se
Drupal non ne trova altre
15/04/202314
![Page 15: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/15.jpg)
• Un’occhiata alla cartella sites/all
• Come organizzare modules
15/04/202315
![Page 16: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/16.jpg)
Il tema ed il figlio (starterkits)• Il tema padre è la base• Il tema figlio è il padre modificato
• Il tema padre è sotto versionatura • Il tema figlio può essere aggiornato solo a mano
15/04/202316
![Page 17: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/17.jpg)
Il tema Bootstrap
Molto diffusoMolti codici precottiCodice standard
Troppe classi nell’DOM
15/04/202317
![Page 18: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/18.jpg)
Il tema Zen con Zen-grids
Molto diffusoHTML e DOM pulitiGrande potenza ed estrema flessibilità
Pochi precottiCodice non standard
15/04/202318
![Page 19: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/19.jpg)
Il database• Un astrazione molto astratta• La struttura rispecchia la
modularità di Drupal• I moduli sono legati da dipendenza
a livello software (PHP)• Quando si mettono le mani
direttamente alla base dati c’è qualcosa che non va
15/04/202319
![Page 20: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/20.jpg)
Tabelle principali• System
con le principali configurazioni• Users – Role
Utenti e ruoli (categorie di utenti)• Variable
Variabili di configurazione pronte all’uso• Watchdog
Log di sistema
15/04/202320
![Page 21: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/21.jpg)
Index.php .htaccess e routing• Drupal serve una pagina in risposta ad una richiesta
che lo innesca• TUTTE le richieste passano dall’index.php (grazie
anche ad htaccess)• Ogni indirizzo di pagina innesca delle azioni definite
a livello PHP• Questo non significa che per mostrare pagine bisogna
scrivere codice PHP
15/04/202321
![Page 22: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/22.jpg)
Richiesta di una pagina
Richiesta http htacess Index.php Invio risposta
15/04/202322
Cosa succede quando invochiamo un url dove gira Drupal
![Page 23: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/23.jpg)
Sistema di nodi• Drupal (core) consente di creare una variegata
quantità di contentuti semplicemente e da interfaccia• I contenuti possono essere di varie tipologie
(Pagine, Articoli, Webform)• Ad ogni contenuto è associato un identificativo
univoco
15/04/202323
![Page 24: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/24.jpg)
La pagina servita• Quando viene invocata la URL relativa ad un nodo
Drupal (se l’utente ne ha facoltà) serve la pagina• Ad esempio miosito.it/?q=node/120 dove 120 è il nid
• La pagina viene preparata da Drupal seguendo delle regole molto precise ma facilmente estendibili e manipolabili per i propri scopi• La pagina consta in una struttura HTML suddivisa
secondo le informazioni del tema
15/04/202324
![Page 25: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/25.jpg)
Struttura del template di pagina• Regioni• Le regioni sono delle aree in cui stampare i blocchi
• Blocchi• I blocchi sono dei pezzi di contenuti; ideale se il blocco
deve essere presentato su più pagine
• Regioni• Intestazione• Contenuto• Footer (Piè di pagina)
15/04/202325
![Page 26: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/26.jpg)
Struttura del template di pagina
15/04/202326
![Page 27: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/27.jpg)
Tipi di contenuti• Col core vengono installati articoli e pagine• Articoli• Finiscono nei feed RSS• Sono fagocitate diversamente dai motori di ricerca• L’informazione che offrono ha una durata limitata
• Pagine• Pagine informative standard ragionevolmente
immutabili
15/04/202327
![Page 28: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/28.jpg)
Presentare i contenuti• Aggiunta di un blocco• Regioni• Permessi
• Menu di Drupal• Usare un menu esistente• Creare un nuovo menu• Presentarlo in un blocco
15/04/202328
![Page 29: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/29.jpg)
Manipolazione dei contenuti esistenti• Aggiunta campi ad un tipo di contenuto• Gestione della visualizzazione
15/04/202329
![Page 30: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/30.jpg)
Tassonomia - relazionamoli• Per aggiungere relazioni tra i contenuti ci viene
incontro il modulo taxonomy che consente di relazionare i contenuti tra di loro in modo molto semplice• Tag• Categorie
• Come spesso accade in Drupal è possibile estendere i termini di tassonomia con altri campi
15/04/202330
![Page 31: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/31.jpg)
Utenti e Ruoli• Gli utenti sono quelli che muniti di credenziali
(username e password di default) possono accedere al sistema previa registrazione• Gli utenti sono in relazione con i ruoli (1 a molti)• I ruoli rappresentano un raggruppamento di utenti• Ai ruoli vengono applicati i permessi• Ad esempio: il ruolo «Editore» può modificare l’articolo
Tutti gli utenti che hanno quel ruolo tra i propri possono modificare l’articolo
15/04/202331
![Page 32: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/32.jpg)
15/04/202332
![Page 33: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/33.jpg)
15/04/202333
![Page 34: Introduzione a Drupal e componenti del core - SIDCamp 2015](https://reader036.fdocumenti.com/reader036/viewer/2022062420/55ce70c6bb61eb0c418b4619/html5/thumbnails/34.jpg)
Grazie
15/04/202334