presentazione drupal 2012 - associazione drupal italia

Download Presentazione Drupal 2012 - Associazione Drupal Italia

If you can't read please download the document

Upload: marcello-testi

Post on 16-Apr-2017

3.107 views

Category:

Technology


0 download

TRANSCRIPT

Chi siamo

L'Associazione Drupal Italia: un'organizzazione dedicata alla diffusione e alla conoscenza del CMS open source Drupal all'interno del territorio nazionale, collaborando con enti nazionali e internazionali del settore ICT.

http://drupalitalia.org

La nascita

Drupal nasce nel 2000, tra i banchi dell'universit di Anversa.

All'inizio si trattava di un piccolo sito interattivo creato da Dries Buytaert per permettere agli studenti di inviare note e notizie utili a tutti.

Finita l'universit, il gruppo di studenti decise di pubblicare il sito su internet, in modo che essi potessero continuare a comunicare, nacque cos drop.org.

Una volta pubblicato sul Web, l'utenza del sito aument e i membri iniziarono a parlare di autenticazione, moderazione, rating, syndication e di come implementarle sul sito.

Nel 2001 Dries decide di rilasciare il software dietro drop.org con il nome di Drupal e con licenza open source, per permettere ad altre persone di utilizzare ed estendere il sistema.

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Che cos'?

Offre un' interfaccia di amministrazione attraverso la quale possibile gestire ogni singola parte del sito web, senza possedere skill di programmazione.

Drupal un content management system: uno strumento software studiato per facilitare la gestione dei contenuti di siti web

Ha un'architettura lego style, scritto in PHP ed distribuito sotto GNU GPL licence.

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Cosa si pu fare con Drupal?

Weblog

Community Web Site

Forums

Social Network Site

Wiki/Knowledge Base

Business Web Application

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Punti di ForzaPunti di Debolezza

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Punti di ForzaPunti di Debolezza

Associazione Drupal Italia Treatabit Torino, 02/05/2012

1751 partecipanti a Londra 20111200 partecipanti a Copenaghen 2010850 partecipanti a Parigi 2009504 partecipanti a Szeged 2008430 partecipanti a Barcellona 2007150 partecipanti a Bruxelles 2006100 partecipanti ad Amsterdam 2005

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Una comunit in crescita

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Potente e modulare

15807 Moduli

1368 Temi

408 Distribuzioni

17533 Sviluppatori

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Utilizza tecnologie e pratiche comprovate

Test automatici e QA

API estensive

Interfaccia sviluppabile con strumenti quali HTML5 e LESS

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Punti di ForzaPunti di Debolezza

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Non sono sempre tutte rose

Le difficolt non sono causate da un'interfaccia difficile da comprendere, ma dalle potenzialit di configurazione del CMS.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 Wordpress.

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Da Drupal nasce...

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Open Atrium

Permette di creare e modificare i contenuti

Si basa su Drupal

Implementa le funzioni tipiche del paradigma del web 2.0

openatrium.com

Open Atrium un ambiente collaborativo organizzato attorno al concetto di gruppi di lavoro che permette a differenti team e utenti di lavorare insieme.

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Dashboard

Blog

Wiki

Casetracker

Open Atrium: le funzionalit di base

Shoutbox

Calendar

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Drupal Commons

E' basato su Drupal;

Licenza Creative Commons;

A differenza di open atrium un tool specificatamente per le aziende;

http://drupal.org/project/commons

Drupal Commons una soluzione pronta all'uso per costruire comunit per intranet o extranet. E' una social business software solution per le aziende.

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Drupal Commons: le funzionalit di base

Gruppi

Blog

Documenti

Discussioni

Wiki

Appunti

Eventi

Amici

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Drupal out-of-the-box

Core

Il Core una collezione di moduli, inclusi nella distribuzione ufficiale di Drupal.

Eseguendo un'installazione standard, non tutti i moduli vengono attivati.

Deve essere sempre ricordata la caratteristica modulare di Drupal, in quanto molte funzionalit sono il risultato di collezioni o combinazioni di moduli. Spesso i moduli estendono una funzionalit esistente pi che fornire funzionalit nuove.

Funzioni principali del Core

Strumenti di base per la gestione di contenuti

Controllo accessi basato su ruoli e permessi (sono i singoli moduli a creare e implementare i permessi)

Alcune tabelle ("content type") pronte per specifici 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 elementare

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Core: Content management

Strumenti base per la 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 un'interfaccia amministrativa in cui l'elenco 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

Image: mebaze (http://www.iconfinder.com/icondetails/46798/128/edit_notes_icon)

Ruoli e permessi

Le funzionalit CMS sono strettamente legate al meccanismo di controllo di accessi.

Il sistema prevede controlli sia sulla gestione dei contenuti, sia sull'accesso alle funzioni di amministrazione della piattaforma.

Core: Controllo accessi

I ruoli possono essere creati arbitrariamente dagli amministratori; ogni utente pu essere assegnato a pi ruoli

I permessi sono implementati dai moduli, quindi quando si attivano nuovi moduli opportuno verificare quali permessi ne regolano il funzionamento

L'utente che installa e configura per la prima volta un sito Drupal un superutente

I permessi sui contenuti possono essere disgiunti per creazione, modifica, eliminazione

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Image: Sergio Sanchez Lopez (http://www.iconfinder.com/icondetails/7261/128/lock_login_manager_private_register_security_icon)

Core: Content type

La struttura dei contenuti

I content type sono un elemento fondamentale del sistema CMS, che permette di definire tipi diversi di post conDifferenti 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, blog post, forum post

Gli amministratori possono creare altri content type e personalizzarli con i campi

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Image: Oxygen Team (http://www.iconfinder.com/icondetails/8747/128/database_preferences_setup_icon)

Core: Fields

Diversi tipi di dati

Ogni tipo di post un contenitore per dati eterogenei: testo, date, immagini

Questo influenza il modo in cui i dati sono memorizzati nel database e il modo in cui l'utente li inserisce nel sistema.

Campi e widget

Ogni content type, compresi quelli predefiniti, pu essere personalizzato rispetto alla sua struttura delle informazioni

I campi sono definiti dalla loro tipologia, dal widget utilizzato per l'input e dalla visualizzazione all'interno 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

Core: Manipolazione immagini

Integrazione con le librerie esistenti

Nell'inserimento dei contenuti importante poter trattare in modo efficiente anche le immagini.

La libreria GD (e altre, per le quali per necessario installare moduli aggiuntivi) permette di generare dinamicamente immagini ridimensionate o ritagliate.

Stili delle immagini

Lo stile usato per visualizzare le immagini corrisponde a un preset impostato dagli amministratori

Drupal fornisce alcuni preset/stili predefiniti e l'utente pu definirne altri a priacere

L'utilizzo degli stili permette di utilizzare una sola immagine sorgente per visualizzazioni diverse (per esempio: miniature in una tabella/elenco, ingombro predefinito in un box/blocco laterale)

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Image: New Moon (http://www.iconfinder.com/icondetails/28841/256/emblem_images_photos_icon)

Core: Caching

Ottimizzare le prestazioni

Un CMS un'applicazione 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

L'amministratore 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

Image: Icons Island (http://www.iconfinder.com/icondetails/34216/256/clock_history_time_icon)

Drupal Contrib

Moduli aggiuntivi

Le funzionalit offerte dal Core sono integrate da tantissimi moduli aggiuntivi (spesso citati come contrib).

Alcuni di questi sono fondamentali nella realizzazione di un sito e devono entrare nel set di conoscenze richieste a un esperto di Drupal.

I fondamentali

Views: generatore di query

Rules: permette di impostare l'esecuzioni di azioni associate a eventi di sistema o a interazioni con l'utente

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 all'altro

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Image: IconEden (http://www.iconfinder.com/icondetails/61510/256/module_piece_icon)

Drupal Contrib: Views

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 amministratori (per migliorare e integrare la gestione dei contenuti).

I contenuti possono essere visualizzati in diversi formati: elenco, griglia, tabella

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

Image: New Moon (http://www.iconfinder.com/icondetails/28899/256/document_file_sql_icon)

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 login

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Drupal Contrib: Devel

Diagnostica e supporto allo sviluppo

Non solo gli sviluppatori hanno bisogno di controllare lo stato di esecuzione delle funzioni della piattaforma; anche gli amministratori del sistema hanno talvolta bisogno di controllare, per esempio, il tempo di esecuzione delle query.

Funzioni principali

Log e visualizzazione delle query sul database, con relativi tempi di esecuzione

Creazione automatica di utenti e contenuti, per testare rapidamente il 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

Image: VistaICO.com (http://www.iconfinder.com/icondetails/49236/256/config_tools_icon)

Drupal Contrib: Altri moduli

L'universo dei moduli contrib vastissimo e si impara a conoscere solo misurandolo con le esigenze che si presentano man mano.

I moduli presentati sono fondamentali per l'uso quotidiano, ma se ne trovano altri con funzionalit interessanti e con un uso piuttosto diffuso.

Ubercart / Drupal Commerce: due suite di moduli per creare piattaforme di e-commerce

Workflow: permette di generare flussi di gestione redazionale complessi

OpenLayers: porta su Drupal l'omonima 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

Image: Drago (http://www.iconfinder.com/icondetails/37337/256/settings_icon)

Come si integra Drupal?

Modularit

Drupal un sistema estremamente modulare e si presta quindi ad essere integrato con l'aggiunta di moduli aggiuntivi.

I moduli non sono applicazioni, ma spesso inseriscono piccole funzionalit o aggiunte a quanto gi esiste, per esempio: tipi di dati in input, widget, blocchi per la visualizzazione di informazioni, ecc.

Contrib e Custom

Le migliaia di moduli contrib disponibili gratuitamente nell'archivio di Drupal.org (alcuni moduli non gratuiti sono disponibili altrove) sono la fonte principale di nuove funzionalit

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 template

Associazione Drupal Italia Treatabit Torino, 02/05/2012

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 la API di Drupal, un set di funzioni che espongono ai programmatori le attivit e gli eventi del sistema.

Scrivere un modulo per Drupal significa per la maggior parte implementare degli hook, funzioni particolari che 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 elementi

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Aspetto grafico

Theming

L'aspetto 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 all'uso 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

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 personalizzato.

Esempi di temi base includono:http://drupal.org/project/zen

http://drupal.org/project/omega

http://drupal.org/project/ninesixty

Associazione Drupal Italia Treatabit Torino, 02/05/2012

Esistono temi di base che integrano framework CSS come 960gs, oppure sistemi come Less e Sass, responsive Design.

Tutte le tecniche di CSS possono essere applicate ai temi di Drupal.

Addentrandosi nello sviluppo di Drupal, si scopre che tutto l'output generato pu essere modificato e gestito, basta sapere dove mettere le mani :)

Marcello Testi

[email protected]: @pinoloAlessandra Petromilli

[email protected]: @Aleanan

Mario Vercellotti

[email protected]: @vermario

Associazione Drupal Italia Treatabit Torino, 02/05/2012

GRAZIE A