Presentazione Drupal 2012 - Associazione Drupal Italia

3,116 views

Published on

Presentazione primavera 2012, a cura dell'Associazione Drupal Italia.

Prima presentazione: Torino, Fluido (parco del Valentino), 02/05/2012

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,116
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Presentazione Drupal 2012 - Associazione Drupal Italia

  1. 1. Chi siamoLAssociazione Drupal Italia: unorganizzazione dedicata alla diffusione e alla conoscenza del CMS open source Drupal allinterno del territorio nazionale, collaborando con enti nazionali e internazionali del settore ICT. http://drupalitalia.org
  2. 2. La nascita Drupal nasce nel 2000, tra i banchi delluniversità di Anversa. Allinizio si trattava di un piccolo sito interattivo creato da Dries Buytaert per permettere agli studenti di inviare note e notizie utili a tutti.Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  3. 3. Che cosè? Drupal è un content management system: uno strumento software studiato per facilitare la gestione dei contenuti di siti web Ha unarchitettura lego style, è scritto in PHP ed è distribuito sotto GNU GPL licence. Offre un interfaccia di amministrazione attraverso la quale è possibile gestire ogni singola parte del sito web, senza possedere skill di programmazione.Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  4. 4. Cosa si può fare con Drupal? Weblog Community Web Site Forums Social Network Site Wiki/Knowledge Base Business Web ApplicationAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  5. 5. Punti di Forza Punti di DebolezzaAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  6. 6. Punti di Forza Punti di DebolezzaAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  7. 7. Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  8. 8. Una comunità in crescita 1751 partecipanti a Londra 2011 1200 partecipanti a Copenaghen 2010 850 partecipanti a Parigi 2009 504 partecipanti a Szeged 2008 430 partecipanti a Barcellona 2007 150 partecipanti a Bruxelles 2006 100 partecipanti ad Amsterdam 2005Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  9. 9. Potente e modulare 15807 Moduli 1368 Temi 408 Distribuzioni 17533 SviluppatoriAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  10. 10. Utilizza tecnologie e pratiche comprovateTest automatici e QAAPI estensiveInterfaccia sviluppabile construmenti quali HTML5 e LESSAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  11. 11. Punti di Forza Punti di DebolezzaAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  12. 12. Non sono sempre tutte rose… Le difficoltà non sono causate da uninterfaccia difficile da comprendere, ma dalle potenz Quello che si guadagna in flessibilità si perde nella facilità di apprendimento. Ci sono tante opzioni e configurazione con cui è necessario familiarizzare. Si impiega più tempo ad acquisire skills da webmaster con Drupal che con Joomla o WordAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  13. 13. Da Drupal nasce...Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  14. 14. Open Atrium Open Atrium è un ambiente collaborativo organizzato attorno al concetto di “gruppi di lavoro” che permette a differenti team e utenti di lavorare insieme. Permette di creare e modificare i contenuti Si basa su Drupal Implementa le funzioni tipiche del paradigma del web 2.0 openatrium.comAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  15. 15. Open Atrium: le funzionalità di base Dashboard Shoutbox Blog Wiki Calendar CasetrackerAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  16. 16. Drupal CommonsDrupal Commons è una soluzione pronta alluso per costruire comunità per intranet o extranet. E una social business software solution per le aziende. E basato su Drupal; Licenza Creative Commons; A differenza di open atrium è un tool specificatamente per le aziende; http://drupal.org/project/commons Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  17. 17. Drupal Commons: le funzionalità di base Gruppi Blog Documenti Discussioni Wiki Appunti Eventi AmiciAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  18. 18. Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  19. 19. Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  20. 20. Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  21. 21. Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  22. 22. Drupal «out-of-the-box» Core Il Core è una collezione di moduli, inclusi nella distribuzione ufficiale di Drupal. Eseguendo uninstallazione standard, non tutti i moduli vengono attivati. Funzioni principali del Core Deve essere sempre ricordata la caratteristica Strumenti di base per la gestione di contenuti modulare di Drupal, in quanto molte funzionalità Controllo accessi basato su ruoli e permessi (sono i sono il risultato di collezioni o combinazioni di singoli moduli a creare e implementare i moduli. Spesso i moduli estendono una permessi) funzionalità esistente più che fornire funzionalità Alcune tabelle ("content type") pronte per specifici nuove. tipi di contenuto (pagine generiche/istituzionali, news, blog) Capacità di estendere i tipi di contenuto disponibili con i campi ("fields") e di creare nuovi tipi di contenuto secondo le esigenze Integrazione con librerie di manipolazione delle immagini per creare preset Sistema di caching elementareAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  23. 23. Core: Content management Strumenti base per laImage: mebaze (http://www.iconfinder.com/icondetails/46798/128/edit_notes_icon) gestione dei contenuti Drupal fornisce il set di strumenti necessari per la gestione (creazione, visualizzazione, aggiornamento, eliminazione) dei contenuti di un sito web. Modalità di gestione dei contenuti Gli utenti con i permessi giusti possono creare i contenuti La modifica può avvenire a partire dal contenuto stesso (pagina) oppure da uninterfaccia amministrativa in cui lelenco di post (“nodi”) è filtrabile Workflow elementare: i nodi possono essere pubblicati o no al momento della creazione e il sistema dei permessi può dare poteri di approvazione a utenti particolari Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  24. 24. Core: Controllo accessi (http://www.iconfinder.com/icondetails/7261/128/lock_login_manager_private_register_security_i Ruoli e permessi Le funzionalità CMS sono strettamente legate al meccanismo di controllo di accessi. I ruoli possono essere creati Il sistema prevede controlli sia sulla arbitrariamente dagli amministratori; gestione dei contenuti, sia sullaccesso ogni utente può essere assegnato a alle funzioni di amministrazione della più ruoli piattaforma. I permessi sono implementati dai moduli, quindi quando si attivano nuovi moduli è opportuno verificare quali permessi ne regolano il funzionamentoImage: Sergio Sanchez Lopez Lutente che installa e configura per la prima volta un sito Drupal è un “superutente” I permessi sui contenuti possono essere disgiunti per creazione, modifica, con) eliminazione Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  25. 25. Core: Content type (http://www.iconfinder.com/icondetails/8747/128/database_preferences_setup_icon) La struttura dei contenuti I content type sono un elemento fondamentale del sistema CMS, che permette di definire tipi diversi di post con Differenti permessi di accesso in scrittura Differenti impostazioni di pubblicazione Differenti strutture delle informazioni contenute Differenti permessi di accesso in scrittura Differenti impostazioni di pubblicazione Differenti strutture delle informazioni contenute Drupal fornisce alcuni content type predefiniti: pagina generica, articolo,Image: Oxygen Team blog post, forum post Gli amministratori possono creare altri content type e personalizzarli con i campi Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  26. 26. Core: Fields Diversi tipi di dati Ogni tipo di post è un contenitore per dati eterogenei: testo, date, immagini… Campi e widget Questo influenza il modo in cui i dati sono memorizzati nel database e il modo in Ogni content type, compresi quelli cui lutente li inserisce nel sistema. predefiniti, può essere personalizzato rispetto alla sua struttura delle informazioni I campi sono definiti dalla loro tipologia, dal widget utilizzato per linput e dalla visualizzazione allinterno dei post Campi multi-istanza, se necessario Oltre ai campi/widget/display forniti da Drupal, moduli aggiuntivi possono fornirne di ulteriori Drupal 7 → “Entity” → campi disponibili anche per commenti, utenti, ecc.Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  27. 27. Core: Manipolazione immagini Integrazione con le librerie (http://www.iconfinder.com/icondetails/28841/256/emblem_images_photos_icon) esistenti Nellinserimento dei contenuti è importante poter trattare in modo Stili delle immagini efficiente anche le immagini. Lo “stile” usato per visualizzare le La libreria GD (e altre, per le quali però è immagini corrisponde a un preset necessario installare moduli aggiuntivi) impostato dagli amministratori permette di generare dinamicamente Drupal fornisce alcuni preset/stili immagini ridimensionate o ritagliate. predefiniti e lutente può definirne altri a priacere Lutilizzo degli stili permette di utilizzare una sola immagine sorgente perImage: New Moon visualizzazioni diverse (per esempio: miniature in una tabella/elenco, ingombro predefinito in un box/blocco laterale) Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  28. 28. Core: CachingImage: Icons Island (http://www.iconfinder.com/icondetails/34216/256/clock_history_time_icon) Ottimizzare le prestazioni Un CMS è unapplicazione spesso avida di risorse, soprattutto per i continui accessi al database. Un sistema di caching aiuta a ridurre il carico del sito sul server e a servire i contenuti più rapidamente. Cache dei contenuti basata sul database; non si tratta di cache opcode Riduce drasticamente il numero di query eseguite per servire una pagina Lamministratore può impostare manualmente una durata minima della cache, per siti particolarmente trafficati I moduli aggiuntivi possono definire anche tabelle di cache dedicate a contenuti specifici Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  29. 29. Drupal ContribImage: IconEden (http://www.iconfinder.com/icondetails/61510/256/module_piece_icon) Moduli aggiuntivi Le funzionalità offerte dal Core sono integrate da tantissimi moduli aggiuntivi I fondamentali (spesso citati come “contrib”). Views: generatore di query Alcuni di questi sono fondamentali nella Rules: permette di impostare lesecuzioni realizzazione di un sito e devono di azioni associate a eventi di sistema entrare nel set di conoscenze richieste o a interazioni con lutente a un esperto di Drupal. Pathauto: generatore automatico di percorsi per i nuovi contenuti (SEO) Devel: accesso rapido a funzioni e informazioni utili in fase di sviluppo Admin: barra di navigazione personalizzata per i gestori del sito Features: permette di trasferire configurazione e struttura del sito in oggetti (file, funzioni) esportabili e portabili da un sito allaltro Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  30. 30. Drupal Contrib: ViewsImage: New Moon (http://www.iconfinder.com/icondetails/28899/256/document_file_sql_icon) Generatore di query Permette di creare visualizzazioni personalizzate dei contenuti o di altre entità memorizzate in Drupal. Crea degli elenchi (viste) di elementi che possono essere messi a disposizione degli utenti (consultazione) o degli I contenuti possono essere visualizzati in amministratori (per migliorare e diversi formati: elenco, griglia, tabella integrare la gestione dei contenuti). Possono apparire anche immagini con relativi stili/preset Supporto per la gestione di campi multi- istanza senza duplicare i record Possibilità di associare link/azioni a ogni elemento (modifica, elimina, pubblica, ecc.) Fornisce anche feed RSS o esportazione tipo CSV Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  31. 31. Drupal Contrib: Rules Azione e reazione Rules è un modulo molto utile, che permette di gestire il comportamento della piattaforma in risposta a determinati eventi. Adatto a gestire meccanismi di notifica, gestione di utenti e ruoli, ecc. Possibili utilizzi Notifica agli amministratori quando viene creato o modificato o commentato un contenuto Attivazione o disattivazione di un utente al raggiungimento di una soglia Esecuzione di codice PHP arbitrario in occasione di un evento Destinazione di un utente dopo il loginAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  32. 32. Drupal Contrib: DevelImage: VistaICO.com (http://www.iconfinder.com/icondetails/49236/256/config_tools_icon) Diagnostica e supporto allo sviluppo Funzioni principali Non solo gli sviluppatori hanno bisogno di controllare lo stato di esecuzione delle Log e visualizzazione delle query sul funzioni della piattaforma; anche gli database, con relativi tempi di amministratori del sistema hanno esecuzione talvolta bisogno di controllare, per Creazione automatica di utenti e esempio, il tempo di esecuzione delle contenuti, per testare rapidamente il query. sito Visualizzazione di informazioni sul tema in uso Visualizzazione di “backtrace” Tramite i permessi, si possono mostrare le informazioni di debug solo a ruoli definiti, mentre per gli utenti normali il sito continua a funzionare regolarmente Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  33. 33. Drupal Contrib: Altri moduli Luniverso dei moduli contrib è vastissimo e si impara a conoscere soloImage: Drago (http://www.iconfinder.com/icondetails/37337/256/settings_icon) misurandolo con le esigenze che si presentano man mano. I moduli presentati sono fondamentali per luso quotidiano, ma se ne trovano altri Ubercart / Drupal Commerce: due suite con funzionalità interessanti e con un di moduli per creare piattaforme di e- uso piuttosto diffuso. commerce Workflow: permette di generare flussi di gestione redazionale complessi OpenLayers: porta su Drupal lomonima libreria JS per la visualizzazione di mappe con marker, integrate con i contenuti di Drupal grazie a Views Jquery Update: permette di utilizzare versioni più aggiornate della nota libreria JS, che è alla base delle funzioni AJAX di Drupal Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  34. 34. Come si integra Drupal? Modularità Drupal è un sistema estremamente modulare e si presta quindi ad essere integrato con laggiunta di moduli aggiuntivi. Contrib e Custom I moduli non sono applicazioni, ma Le migliaia di moduli contrib disponibili spesso inseriscono piccole funzionalità gratuitamente nellarchivio di o aggiunte a quanto già esiste, per Drupal.org (alcuni moduli non gratuiti esempio: tipi di dati in input, widget, sono disponibili altrove) sono la fonte blocchi per la visualizzazione di principale di nuove funzionalità informazioni, ecc. Per venire incontro alle esigenze specifiche di un cliente, è possibile sviluppare moduli ad-hoc e svolgere attività di “theming”, cioè creare un layout e creare una logica di presentazione con le variabili da passare ai templateAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  35. 35. Sviluppare per Drupal PHP: funzioni e hook Drupal è scritto in PHP, un linguaggio molto popolare. Per sviluppare funzionalità aggiuntive, non basta però conoscere PHP, ma occorre conoscere Scrivere un modulo per Drupal significa la API di Drupal, un set di funzioni che per la maggior parte implementare espongono ai programmatori le attività degli “hook”, funzioni particolari che e gli eventi del sistema. intercettano uno stato di esecuzione di Drupal e permettono al programmatore di inserire funzionalità aggiuntive in quel particolare stato. Esempi: hook_schema: definisce una o più tabelle del database hook_user_insert: è stato appena creato un utente hook_form_alter: un form definito altrove può essere modificato aggiungendo o modificandone gli elementiAssociazione Drupal Italia – Treatabit Torino, 02/05/2012
  36. 36. Aspetto grafico “Theming” Laspetto di un sito fatto in Drupal è completamente personalizzabile, scaricando o creando un “tema”. Un Tema è un pacchetto di file di template php,fogli di stile css e javascript che determina lo stile grafico e il look and feel di un sito fatto in drupal. Temi pronti alluso si trovano su Drupal.org (e su alcuni siti di produttori di temi). Sono disponibili sia temi gratis che a pagamento.Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  37. 37. Temi pronti e temi di base A seconda del tipo di progetto e di budget, si può scegliere se usare un tema pronto, oppure svilupparlo ad hoc. Pochissimi scelgono di partire da zero per creare un tema di Drupal: è molto più comune partire da “temi base”, pensati per fornire una buona base flessibile per realizzare un design Esistono temi di base che integrano personalizzato. framework CSS come 960gs, oppure sistemi come Less e Sass, responsive Esempi di temi base includono: Design. http://drupal.org/project/zen Tutte le tecniche di CSS possono essere http://drupal.org/project/omega applicate ai temi di Drupal. http://drupal.org/project/ninesixty Addentrandosi nello sviluppo di Drupal, si scopre che tutto loutput generato può essere modificato e gestito, basta sapere dove mettere le mani :)Associazione Drupal Italia – Treatabit Torino, 02/05/2012
  38. 38. Alessandra Petromilli petromilli@csp.it Twitter: @Aleanan Marcello Testi m.testi@gmail.com Twitter: @pinolo GRAZIE A Mario Vercellotti mario.vercellotti@gmail.com Twitter: @vermarioAssociazione Drupal Italia – Treatabit Torino, 02/05/2012

×