Drupal 7
  Marco Vito Moscaritolo


@mavimo | marco@agavee.com
Chi sono?
Sviluppatore Drupal dal 2007
Socio fondatore della
Associazione Drupal Italia
@mavimo
marco@agavee.com

           Disclaimer
            
                Io NON conosco la verità, potrei sbagliarmi!
            
                Tutto quello che dirà NON potrà MAI essere usato contro di me
            
                Le mie affermazioni si basano sulla mia esperienza, se vi
                risulta diversamente non fatevi problemi a contraddirmi, anzi!
Ciclo di sviluppo
                                               ●   Progetto
                                                   community
                                                   driven con
                                                   timeline NON
                                                   rigide
                                               ●   Project leader
                                                   per versione
                                                     ●   D5 = G. Killesreiter
                                                     ●   D6 = G. Hojtsy
                                                     ●   D7 = A. Byron




Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Un po' di storia




Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Le ultime versioni
      Drupal 5                                             Drupal 6
●   15 Gennaio 2007                               ●   13 Febbraio 2008
●   Ciclo di sviluppo di                          ●   Ciclo di sviluppo di
    circa 1 anno                                      circa 1 anno
●   Focus sulla                                   ●   Focus sul
    riorganizazzione                                  miglioramento del
    interna del codice e                              framework di base
    integrazione di                                   con introduzione DB
    alcuni moduli                                     Layer, migliorate
    contrib                                           API/hook, l10n e i18n


            Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Drupal 7
●   Rilasciata il 5 gennaio 2011
●   Ciclo di sviluppo di circa 3 anni
    (grossomodo il doppio di quanto previsto)
●   Focus sul miglioramento della UI/UX
●   Miglioramenti in particolare per portali di
    grandi dimensioni e nuove tecnologie
    emerse nel web




             Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Ok, ma chi “costruisce” un sito...




        Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per gli utenti
Miglioramento                                Supporto alle WCAG
dell'usabilità del                           2.0 e ARIA (di base)
sistema                                             ●   Ampio utilizzo nella
  ●   Utilizzo degli                                    PA
      overlay
                                            Gestione dell'editing
  ●   Riduzione degli
      spostamenti nelle
                                            delle informazioni
      pagine                                semplificata
  ●   Migliorata
      integrazione tra
                                            Possibilità di
      frontend e backend                    cancellare gli utenti

              Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per gli amministratori
Integrazione nel core Approccio
dei principali moduli  entity - attribute
contrib quali:
                      che riduce necessità
  ●  CCK
                      di moduli esterni
  ●   Filefield
  ●   Imagefield
  ●   Imagecache                            Migliore integrazione
                                            tra i moduli del core



              Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per gli sviluppatori (1)
Utilizzo di PDO per                       Miglioramento delle
l'astrazione completa                     API per la gestione dei
del DB Layer                              dati (rimozione $op e
                                          simili)

Integrazione con         Supporto a filestrem
framework di test        per la completa
(SimpleTest) eseguiti in gestione degli assets
maniera distribuita



           Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per gli sviluppatori (2)




                                                        Altri moduli - Drupal 7
Core Drupal 7




                 >31000
                 (nel caso in cui non si leggesse)




                    Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per gli sviluppatori (3)
Utilizzo di GIT per la Introduzione di classi
gestione del processo per la gestione di
di sviluppo e patching alcuni elementi quali:
del core e moduli          Cache                 ●

contrib.                                         ●   Sessioni
                                                 ●   Database
Si può modificare da
                          stream wrapper         ●
codice l'ordine di
esecuzione degli hook
(basta mettere mano    Installation profile
alla tabella system)  (distribuzioni drupal)

           Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per i designer/themer
Ulteriore separazione                        Possibilità di agire nel
delle varie                                  tema nascondendo /
componenti della                             inserendo parti di
pagina in:                                   informazione con
  ●   Html.tpl.php (new)                     hide() e render():
                                             <div class="content">
  ●   Page.tpl.php                             <?php
                                                  hide($content['links']);
  ●   Region.tpl.php (new)                        print render($content);
                                               ?>
  ●   Block.tpl.php                          </div>
                                             <?php print
                                             render($content['links']); ?>




              Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per i sysadmin
Supporto per web                               Sviluppato per usare
server differenti                              PHP5.2.5 o superiori.
  ●   Apache                                   Consigliato PHP 5.3.X
  ●   IIS                                      (retrocompatibilità
  ●   (lighttpd/nginx)                         con PHP 4 annullata)
Supporto per reverse                           Supporta MySQL /
proxy caching                                  MariaDB (consigliato) /
                                               PostgreSQL / SQLite 3, ma
  ●   Varnish                                  anche SQL Server /
                                               Oracle / ...

                Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per i CTO/CIO
Scalabilità                                  Progetto stabile
  ●   Introduzione a                                ●   Community vasta
      supporto completo                             ●   Già utilizzato in
      per Master-Slave                                  diversi progetti
  ●   Integrazione con DB                               “importanti”
      più performanti per                           ●   Diverse aziende che
      determinate parti                                 possono offrire
  ●   Gestione degli assets                             supporto tecnico in
      con filestream (CDN                               caso di necessità
      varie tra cui S3, ...)



              Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Per il web del futuro
Integrazione con
RDFa integrata nel
core
  ●   Ricerche M2M
  ●   Utilizzo S.E.O.


      Date        RDFa
              (% page on web)

   09-2008      0.238%
   03-2009      0.588%
   10-2010      3.591%




               Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Ed il resto?
●   CCK
●   FileField
●


●
    ImageField
    ImageAPI
                                        6                     ●   Views


●   Imagecache


    FieldAPI (core)
                                         7
●

                                                              ●   Views 3
●   Image (core)

                Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Ok, quindi tutto è
     perfetto!

                                    Hem, hem...

  Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Cosa non va?
Alcuni bug                                Bassa compatibilità
riscontrati (già                          con la versione 6 (i
corretti nel ramo di                      porting sono
sviluppo)                                 “rognosi”)

Alcuni moduli non                         Meno moduli
sono completi o                           disponibili rispetto
parzialmente                              alla versione 6 (anche
funzionanti (vedi                         se spesso non sono
nodewords → metatag)                      necessari)

           Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Domande?
http://joind.in/2991




                                                                       Marco Vito Moscaritolo
                                                                                             @mavimo
                                                                                      marco@agavee.com


                       Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
Eventi
           DrupalCon (Londra)
                  ●   Dal 22 al 26 agosto 2011
                  ●   Previsti oltre 1500
                      partecipanti (e ~100 sessioni)


           DrupalCamp (Verona)
                  ●   Seconda metà di settembre
                  ●   Oltre 200 partecipanti nelle
                      edizioni precedenti


Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991

Drupal7

  • 1.
    Drupal 7 Marco Vito Moscaritolo @mavimo | marco@agavee.com
  • 2.
    Chi sono? Sviluppatore Drupaldal 2007 Socio fondatore della Associazione Drupal Italia @mavimo marco@agavee.com Disclaimer  Io NON conosco la verità, potrei sbagliarmi!  Tutto quello che dirà NON potrà MAI essere usato contro di me  Le mie affermazioni si basano sulla mia esperienza, se vi risulta diversamente non fatevi problemi a contraddirmi, anzi!
  • 3.
    Ciclo di sviluppo ● Progetto community driven con timeline NON rigide ● Project leader per versione ● D5 = G. Killesreiter ● D6 = G. Hojtsy ● D7 = A. Byron Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 4.
    Un po' distoria Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 5.
    Le ultime versioni Drupal 5 Drupal 6 ● 15 Gennaio 2007 ● 13 Febbraio 2008 ● Ciclo di sviluppo di ● Ciclo di sviluppo di circa 1 anno circa 1 anno ● Focus sulla ● Focus sul riorganizazzione miglioramento del interna del codice e framework di base integrazione di con introduzione DB alcuni moduli Layer, migliorate contrib API/hook, l10n e i18n Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 6.
    Drupal 7 ● Rilasciata il 5 gennaio 2011 ● Ciclo di sviluppo di circa 3 anni (grossomodo il doppio di quanto previsto) ● Focus sul miglioramento della UI/UX ● Miglioramenti in particolare per portali di grandi dimensioni e nuove tecnologie emerse nel web Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 7.
    Ok, ma chi“costruisce” un sito... Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 8.
    Per gli utenti Miglioramento Supporto alle WCAG dell'usabilità del 2.0 e ARIA (di base) sistema ● Ampio utilizzo nella ● Utilizzo degli PA overlay Gestione dell'editing ● Riduzione degli spostamenti nelle delle informazioni pagine semplificata ● Migliorata integrazione tra Possibilità di frontend e backend cancellare gli utenti Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 9.
    Per gli amministratori Integrazionenel core Approccio dei principali moduli entity - attribute contrib quali: che riduce necessità ● CCK di moduli esterni ● Filefield ● Imagefield ● Imagecache Migliore integrazione tra i moduli del core Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 10.
    Per gli sviluppatori(1) Utilizzo di PDO per Miglioramento delle l'astrazione completa API per la gestione dei del DB Layer dati (rimozione $op e simili) Integrazione con Supporto a filestrem framework di test per la completa (SimpleTest) eseguiti in gestione degli assets maniera distribuita Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 11.
    Per gli sviluppatori(2) Altri moduli - Drupal 7 Core Drupal 7 >31000 (nel caso in cui non si leggesse) Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 12.
    Per gli sviluppatori(3) Utilizzo di GIT per la Introduzione di classi gestione del processo per la gestione di di sviluppo e patching alcuni elementi quali: del core e moduli Cache ● contrib. ● Sessioni ● Database Si può modificare da stream wrapper ● codice l'ordine di esecuzione degli hook (basta mettere mano Installation profile alla tabella system) (distribuzioni drupal) Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 13.
    Per i designer/themer Ulterioreseparazione Possibilità di agire nel delle varie tema nascondendo / componenti della inserendo parti di pagina in: informazione con ● Html.tpl.php (new) hide() e render(): <div class="content"> ● Page.tpl.php <?php hide($content['links']); ● Region.tpl.php (new) print render($content); ?> ● Block.tpl.php </div> <?php print render($content['links']); ?> Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 14.
    Per i sysadmin Supportoper web Sviluppato per usare server differenti PHP5.2.5 o superiori. ● Apache Consigliato PHP 5.3.X ● IIS (retrocompatibilità ● (lighttpd/nginx) con PHP 4 annullata) Supporto per reverse Supporta MySQL / proxy caching MariaDB (consigliato) / PostgreSQL / SQLite 3, ma ● Varnish anche SQL Server / Oracle / ... Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 15.
    Per i CTO/CIO Scalabilità Progetto stabile ● Introduzione a ● Community vasta supporto completo ● Già utilizzato in per Master-Slave diversi progetti ● Integrazione con DB “importanti” più performanti per ● Diverse aziende che determinate parti possono offrire ● Gestione degli assets supporto tecnico in con filestream (CDN caso di necessità varie tra cui S3, ...) Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 16.
    Per il webdel futuro Integrazione con RDFa integrata nel core ● Ricerche M2M ● Utilizzo S.E.O. Date RDFa (% page on web) 09-2008 0.238% 03-2009 0.588% 10-2010 3.591% Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 17.
    Ed il resto? ● CCK ● FileField ● ● ImageField ImageAPI 6 ● Views ● Imagecache FieldAPI (core) 7 ● ● Views 3 ● Image (core) Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 18.
    Ok, quindi tuttoè perfetto! Hem, hem... Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 19.
    Cosa non va? Alcunibug Bassa compatibilità riscontrati (già con la versione 6 (i corretti nel ramo di porting sono sviluppo) “rognosi”) Alcuni moduli non Meno moduli sono completi o disponibili rispetto parzialmente alla versione 6 (anche funzionanti (vedi se spesso non sono nodewords → metatag) necessari) Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 20.
    Domande? http://joind.in/2991 Marco Vito Moscaritolo @mavimo marco@agavee.com Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991
  • 21.
    Eventi DrupalCon (Londra) ● Dal 22 al 26 agosto 2011 ● Previsti oltre 1500 partecipanti (e ~100 sessioni) DrupalCamp (Verona) ● Seconda metà di settembre ● Oltre 200 partecipanti nelle edizioni precedenti Marco Moscaritolo | @mavimo | marco@agavee.com | http://joind.in/2991