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