Presentazione di PowerPoint - Corso Drupal 101

Transcript

Presentazione di PowerPoint - Corso Drupal 101
Drupal per Sapienza
19 marzo 2012
La struttura di drupal: nodi e moduli
Content management system
Concetti
•
•
•
•
cms è acronimo di content management system (sistema di gestione dei contenuti)
è un'applicazione lato server
si appoggia su un database per l’archiviazione dei contenuti
facilita la gestione dei contenuti di siti web, svincolando l'amministratore da
conoscenze tecniche di programmazione web
L’applicazione è suddivisa in due parti:
(back end), la sezione di amministrazione
che serve ad organizzare e supervisionare la produzione dei contenuti
(front end) la sezione applicativa,
che l'utente web usa per fruire dei contenuti e delle applicazioni del sito.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 2
Content management system
Concetti
Chi amministra il sito non ha bisogno di
•
•
•
conoscere linguaggi html
conoscere altri linguaggi di programmazione
avere particolari competenze tecniche
Caratteristiche principali
• Identificazione degli utenti e dei relativi ruoli di produzione o fruizione
dell'informazione;
• Assegnazione di responsabilità a differenti categorie di utenti per distinti tipi di
contenuti (in un progetto complesso il prodotto finito non è frutto del lavoro del
singolo, che pertanto non ha possibilità o esigenza di intervenire in tutti gli ambiti);
• Definizione delle attività di workflow, cioè formalizzazione di un percorso per
l'assemblaggio del prodotto finale che, in quanto frutto di produzione frammentaria,
deve acquisire la sua unitarietà sottostando a opportune procedure di supervisione;
• Tracciamento e gestione delle versioni del contenuto
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 3
Content management system
Drupal
Uno dei più importanti cms open source è rappresentato da Drupal.
Il portale della sapienza, facoltà e dipartimenti è stato realizzato utilizzando Drupal
nella versione 7.
Drupal è un framework modulare che consente di realizzare una grande varietà di siti
web basati sulla logica contenuto/nodo e consente di
•
creare e organizzare i contenuti
•
personalizzare la presentazione del sito garantendo una forte separazione dai
contenuti
•
automatizzare le funzioni amministrative
•
gestire i visitatori del sito ed i redattori.
Le sue doti di robustezza, sicurezza e flessibilità ne stanno decretando la diffusione a
livello mondiale.
Inoltre Drupal è un software open source in PHP e viene distribuito con licenza GPL (GNU General
Public License 2) ed è mantenuto e potenziato da una comunità di migliaia di utenti e sviluppatori.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 4
La struttura di drupal: nodi e moduli
Il concetto di astrazione
Drupal utilizza un approccio "astratto" alla
gestione dei contenuti :
la maggior parte dei tipi di contenuto è
variazioni dello stesso concetto: il nodo.
Pagine, blog e notizie sono tutti contenuti in un
"oggetto" comune (il nodo appunto, che contiene
informazioni strutturate come titolo, contenuto,
autore etc..);
la "mappa del sito" (l'architettura
dell'informazione) è un livello sovrapposto che è
progettato e gestito separatamente tramite il
sistema dei menù;
altri elementi (temi e moduli come Panels e
Views) forniscono un altro livello che si occupa
della visualizzazione su schermo dei contenuti
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 5
La struttura di drupal: nodi e moduli
Il concetto di astrazione
Drupal deve la sua flessibilità e organizzazione alla divisione in cinque livelli
sovrapposti, ben distinti l'uno dall'altro:
1. LIVELLO DATI.
Il cuore del sistema: tutto ciò che è
visualizzato nel sito, deve prima essere
inserito come dato.
2. LIVELLO MODULI.
I moduli funzionali sono i plug-in che sono o parte del core di Drupal oppure sono
elementi creati dai membri della comunità di Drupal. I moduli forniscono funzionalità
diverse, che permettono di espandere le capacità del sito (campi personalizzati per i
nodi, calendari degli eventi, e-commerce, viste personalizzate dei dati e molto altro
ancora).
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 6
La struttura di drupal: nodi e moduli
Il concetto di astrazione
3. LIVELLO BLOCCHI E MENÙ.
I blocchi spesso sono messi a disposizione da
moduli specifici oppure possono essere creati:
essi possono essere collocati in diversi punti
(regioni) del tuo tema.
I blocchi possono essere configurati per essere
visibili solo su alcune pagine o solo a determinati
utenti.
4. LIVELLO PERMESSI UTENTE.
La configurazione dei permessi ti permette di determinare "chi" può fare "cosa" nel
tuo sistema. Puoi assegnare permessi (creare nuove pagine, eliminare pagine
esistenti, etc..) a ruoli specifici (utente anonimo, autenticato, redattore,
amministratore, etc...). Puoi assegnare ad ogni utente uno o più ruoli, in modo
concedergli i relativi permessi associati.
5. LIVELLO MODELLO.
Nello strato più superficiale si trova il modello del sito (template). Questo è costituito
prevalentemente di XHTML e CSS, con alcune parti di PHP necessarie ad inserire
nelle posizioni corrette.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 7
La struttura di drupal: nodi e moduli
Il concetto di astrazione
L'utilizzo del concetto astratto di nodo per tutti i contenuti :
permette un'incredibile flessibilità nella gestione dei contenuti:
si possono mostrare, nascondere, raggruppare in base alle utenze,
alla rilevanza, etc..
la combinazione e la relazione attraverso un metodo comune
Invece di creare soluzioni "specifiche" per ogni cosa, i sistemi e le metodologie
del cms sono costruite per gestire compiti in modo "generalizzato"
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 8
La struttura di drupal: nodi e moduli
Il concetto di astrazione: il nodo
E’ un concetto che appartiene a Drupal e lo differenzia dagli altri sistemi
Dries Buytaert creatore di drupal notò che un
contenuto di un sito web tendeva ad avere
sempre attributi simili
Un articolo di un blog o un articolo hanno sempre
un titolo,
la data di creazione,
il nome dell’autore
e alcuni altri attributi
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 9
La struttura di drupal: nodi e moduli
Il nodo
L’unità di contenuto del CMS Drupal è il nodo.
Il nodo è la più piccola entità che può essere inserita e salvata nel cms e che genera
una pagina di contenuto. Il nodo è un’insieme di informazioni salvate per un
determinato contenitore (o tipologia di contenuto).
I nodi sono i blocchi informative base di un sito Drupal e costituiscono la maggior parte
dei contenuti del sito web.
Possono essere sia contenuti di pagine statiche come una pagina “chi siamo” che
dinamiche (blog entries, news stories, podcasts, reports, and store products sono tutti
nodi).
Nell’installazione standard ci sono due tipi di nodi:
Article and Page.
I content type Forum, Blog, e Poll sono disponibili se si abilitano i rispettivi moduli
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 10
La struttura di drupal: nodi e moduli
Il nodo
Dopo molte ricerche e molte versioni Drupal ha definito un set di attributi comuni per i nodi:
NID (Node ID)
Title
UID (User ID
Status
Created and Changed
VID (Version ID)
Language
Ogni nodo ha un identificativo unico
che permette venga acceduto direttamente /node/</id>
Tutti i nodi devono avere un titolo
I nodi sono esplicitamente legati all’utente che li ha creati tramite il loro (UID).
Utenti anonimi hanno ID uguale a 0 (zero).
Un nodo può essere pubblicato o non pubblicato mantenuto creato o
mantenuto offline fino al momento della pubblicazione
la data di creazione e la data dell’ultima modifica del nodo
Tutti i nodi possono essere disponibili a controlli di revisione Se abilitato drupal
tiene traccia dei cambiamenti e mantiene un meccanismo che permette le
revisioni eil rollback
Drupal è multi-language e registra un meccanismo di setting per ciacun nodo
Rende facile tradurre i contenuti del sito
In aggiunta a questi attributi i nodi possono avere commenti, essere promossi,posizionati
in frontpage o in cima a una lista
Tutti i nodi possono avere 5 tipi di permesso: Create, Edit Any, Edit Own, Delete Any, and Delete Own
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 11
La struttura di drupal: nodi e moduli
Il nodo
Rappresentazione del concetto di nodo: in Drupal, ogni elemento di contenuto viene chiamato
nodo, ossia un nucleo di informazione; ogni nodo appartiene a un unico tipo di contenuto che
ne definisce le impostazioni di default.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 12
La struttura di drupal: nodi e moduli
Il nodo
Possiamo considerare un nodo equivalente
alla struttura base di Mr. Potato.
Possiamo aggiungere labbra, occhi, orecchie
così come al nodo possiamo aggiungere i
commenti, file e campi personalizzati, link a
youtube, foto o una casella dropdown
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 13
La struttura di drupal: nodi e moduli
Il concetto di modulo
Drupal è un cms che basa le proprie funzionalità sui moduli.
I moduli estendono e personalizzano le funzionalità Drupal.
1. Moduli core : forniti nell'installazione standard, non tutti sono abilitati di default:
possiamo decidere quali moduli abilitare a seconda delle funzionalità che
vogliamo realizzare: è inutile installare un modulo se non abbiamo intenzione di
sfruttarlo.
È possibile notare che alcuni moduli hanno una sorta di propedeuticità, ovvero
sono richiesti da altri moduli: ad esempio il modulo "Comment" deve essere
attivato perchè il modulo "Forum" funzioni.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 14
La struttura di drupal: nodi e moduli
Il concetto di modulo
2.
Contributed modules possono essere scaricati dal sito drupal.org
Al 18 marzo 2012: 15,347 Modules 16,400 Developers
3.
Custom modules
Se un modulo no si comporta nel modo che vogliamo,
se non lo troviamo soddisfacente,
se troviamo qualche errore nel suo comportamento o
vogliamo suggerire delle migliorie che potrebbero essere buone per molti altri
utenti
esiste una vastissima comunità alla quale rivolgersi e che ci aiuta con continui
rilasci di moduli nuovi o aggiornati.Qui chiunque può depositare i propri moduli
e condividerli con la comunità drupal
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 15
La struttura di drupal: nodi e moduli
I moduli attivati di default [1]
•
•
•
•
•
Block: non è possibile disabilitarlo, si occupa della gestione dei blocchi
Color: permette di cambiare in modo molto semplice i colori di alcuni elementi della
pagina
Comment: consente agli utenti di commentare ogni tipo di contenuto fornito sul sito. Per
amministrare come vengono gestiti i commenti, cliccare la voce Amministra, Gestione
utente e Permessi nella sidebar
Database logging: esegue un monitoraggio del sistema, un registro degli eventi che
accadono sul sito, e li registra nel database per una successiva analisi. I report vengono
forniti nella voce Reports del menu Amministra.
Filter: non disattivabile, si occupa della gestione dei formati di input.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 16
La struttura di drupal: nodi e moduli
I moduli attivati di default [2]
•
Help: il modulo di aiuto è responsabile della creazione della guida utente, che si trova
nella sidebar, in fondo al menu Amministra. Il suo compito è quello di ispezionare ogni
modulo attivato ed estrarre - se esistono - i file della guida utente e metterli a disposizione
in questo repository centralizzato.
•
Locale: consente di presentare il sito Drupal in molteplici linguaggi; quando un utente
richiede una pagina, viene stabilito in quale linguaggio è stata impostata una preferenza,
quindi se esiste la traduzione in quel linguaggio viene spedita quella, altrimenti viene
fornito il contenuto nella lingua di default
•
Menu: gestisce i menu creati per la navigazione all'interno del sito.
•
Node: è anch'esso un modulo non disattivabile. Esso permette di inserire contenuti nel
sito e consente di mostrarli nelle pagine.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 17
La struttura di drupal: nodi e moduli
I moduli attivati di default [3]
•
System: come Node è un modulo sempre attivo. È il cuore di Drupal, fornisce le
funzionalità che permettono di visualizzare le pagine amministrative, configurare il
comportamento base del sito, scegliere i moduli desiderati, gestire la cache e molto altro
ancora.
•
Taxonomy o Tassonomia: permette l'organizzazione dei contenuti in categorie,
classificandoli in base a vari sistemi come l'uso dei tags, delle categorie e per data.
•
Update status: controlla se esistono aggiornamenti disponibili per Drupal ed anche per i
moduli e temi installati.
•
User: non disattivabile, gestisce la registrazione degli utenti ed il sistema di accesso,
consentendo di assegnare il contenuto agli utenti.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 18
La struttura di drupal: nodi e moduli
I moduli attivabili [1]
•
Aggregator: si occupa di controllare un elenco di feed RSS, RDF o Atom che impostiamo
e può visualizzare le ultime notizie in un blocco.
•
Blog: consente agli utenti registrati di gestire un blog interno al sito.
•
Blog API: abilita la possibilità di postare sul blog attraverso programmi di terze parti e
applicazioni Web.
•
Book: è un altro sistema di gestione dei contenuti che permette di organizzare una serie
di informazioni creando una sorta di libro, ottimo per pubblicare guide e manuali. E'
possibile creare libri a cui più persone contribuiscono alla realizzazione.
•
Contact: introduce un modulo di contatto per ogni utente per facilitare la comunicazione,
e si occupa della form di contatto dell'amministratore.
•
Content translation: permette di tradurre il contenuto in varie lingue. In collaborazione con
il modulo Locale completa il processo di traduzione delle pagine.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 19
La struttura di drupal: nodi e moduli
I moduli attivabili [2]
•
Forum: integra un forum in Drupal. Installandolo, avremo un nuovo contenuto, Forum
topic, che rappresenta il primo post di un thread. Altri utenti potranno quindi rispondere ed
iniziare una discussione.
•
OpenID: abilita la possibilità di registrarsi al sito usando un account OpenID, un
meccanismo di identificazione distribuito e decentralizzato, nel quale la propria identità è
un URL, e può essere verificata da qualunque server supporti il protocollo proprietario.
•
Path: permette di specificare degli alias per gli URL, ovvero assegnare nomi significativi
agli URL che vengono generati.
•
PHP filter: abilita la possibilità di inserire codice PHP negli elementi di contenuto,
permesso che dovrebbe essere accordato solamente ad utenti fidati.
•
Ping: invia notifiche a ogni volta che viene aggiunto contenuto al sito.
•
Poll: gestisce sondaggi che possono essere proposti ai visitatori.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 20
La struttura di drupal: nodi e moduli
I moduli attivabili [3]
•
Profile: permette di impostare dei campi personalizzati nei profili utente.
•
Search: consente la ricerca del contenuto all'interno del sito.
•
Statistics: si occupa di mantenere le statistiche di accesso al sito, mostrando i siti da cui
provengono gli utenti, le pagine più viste, mostra gli utenti più attivi sul sito ed altro
ancora.
•
Syslog: fa in modo che Drupal possa comunicare con il log di sistema.
•
Throttle: un modulo molto avanzato che può controllore il traffico, e quando si verifica un
picco di visite consente di disabilitare alcuni moduli che potrebbero portare ad una bassa
performance oppure rendere il sito irraggiungibile.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 21
La struttura di drupal: nodi e moduli
I moduli attivabili [4]
•
Tracker: visualizza i contenuti recentemente aggiunti oppure modificati, visualizzando
l'utente che ha effettuato la modifica.
•
Trigger: implementa uno strumento utile che permette di eseguire azioni quando si
verificano eventi come ad esempio l'aggiunta di nuovo contenuto, la modifica di un
account oppure il login di un utente.
•
Upload: consente agli utenti di caricare files sul server.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 22
La struttura di drupal: nodi e moduli
Nodi e moduli
Il sistema dei nodi è una delle ragioni chiave del successo di drupal e
del perché lo sviluppo drupal è più veloce rispetto ad altri sistemi.
I moduli non hanno bisogno di creare tipi di contenuto personalizzato
ma solo di creare un nodo ed usarlo con tutte le sue funzionalità predefinite.
I moduli che aggiungono attributi e funzionalità al nodo
possono essere usati per ogni tipo di nodo .
Per esempio se vogliamo creare un podcast si può utilizzare il modulo drupal AUDIO
(http://drupal.org/project/audio),che crea il nodo AUDIO . Poichè Audio è un tipo di nodo
automaticamente ha la possibilità di avere commenti, controllo revisioni, permessi e multilinguale. In
aggiunta funzionerà perfettamente con gli altri moduli node based come il Content Construction Kit
(CCK) e Views.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 23
La struttura di drupal: nodi e moduli
Si possono creare nuovi nodi
a partire dai content type di default (articoli e pagine)
oppure
aggiungendone di nuovi sia abilitando moduli come blog, book,
forum o poll module
oppure
creandone di nuovi
In questo caso bisogna prima ragionare se il nuovo CT ha ragione di esistere nel senso che spesso di
creano nuovi CT solo al fine di separare o categorizzare contenuti. In realtà CT non dovrebbero
essere usati in tale maniere ma dovrebbero essere categorizzati nella maniera corretta (modulo
TASSONOMIA)
Modularità ed essenzialità
Drupal sfrutta appieno i concetti di modularità ed essenzialità:
un pacchetto di moduli per il funzionamento base espandibile dall'utente attraverso moduli opzionali a
seconda delle esigenze.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 24
La struttura di drupal: nodi e moduli
Web semantico
Web semantico
Nella versione di Drupal 7sono state introdotte in maniera nativa le tecnologie legate al Semantic Web
come RDF, RDFa e l’introduzione di dati strutturati.
Si tratta di un ambiente dove i documenti pubblicati (pagine HTML, file, immagini, e così via) siano
associati ad informazioni e dati (metadati) che ne specifichino il contesto semantico in un formato
adatto all'interrogazione e l'interpretazione (es. tramite motori di ricerca) e, più in generale,
all'elaborazione automatica.
Drupal si avvicina così anche a una dimensione più tecnica e al movimento degli Open Data, altro
tassello della sfera più ampia dell’Open Government. (interoperabilità dei dati)
Dal punto di vista di una P.A. Drupal 7 rappresenta una scelta strategica di grande valore perché
agevola il processo evolutivo tecnologico in atto, cioè il passaggio dal web delle pagine al web dei
dati o web semantico e mette inoltre in rilievo la possibilità di poter collegare i dati rilasciati dagli enti
pubblici gli uni agli altri per aumentare il valore dei dati stessi.
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 25
La struttura di drupal: nodi e moduli
[email protected]
La struttura di drupal: nodi e moduli
19/03/2012
Pagina 26