introduzione a drupal e componenti del core - sidcamp 2015

34
Introduzione a Drupal e componenti del core Giancarlo Diana Senior Consultant @Kelyon 1

Upload: kelyon-srl

Post on 15-Aug-2015

149 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: Introduzione a Drupal e componenti del core - SIDCamp 2015

Introduzione a Drupal e

componenti del coreGiancarlo Diana

Senior Consultant @Kelyon

1

Page 2: Introduzione a Drupal e componenti del core - SIDCamp 2015

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

• 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

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

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

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

Curva di apprendimento della concorrenza

15/04/20237

Page 8: Introduzione a Drupal e componenti del core - SIDCamp 2015

… e di Drupal

15/04/20238

Page 9: Introduzione a Drupal e componenti del core - SIDCamp 2015

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

Quando NON usare Drupal

15/04/202310

Page 11: Introduzione a Drupal e componenti del core - SIDCamp 2015

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

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

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

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

• Un’occhiata alla cartella sites/all

• Come organizzare modules

15/04/202315

Page 16: Introduzione a Drupal e componenti del core - SIDCamp 2015

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

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

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

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

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

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

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

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

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

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

Struttura del template di pagina

15/04/202326

Page 27: Introduzione a Drupal e componenti del core - SIDCamp 2015

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

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

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

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

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

15/04/202332

Page 33: Introduzione a Drupal e componenti del core - SIDCamp 2015

15/04/202333

Page 34: Introduzione a Drupal e componenti del core - SIDCamp 2015

Grazie

15/04/202334