SlideShare uma empresa Scribd logo
1 de 67
Sviluppare applicazioni FB usando
             Drupal

       PHPDay 2009 - Social tag #phpday09




                     +
Sviluppare applicazioni FB usando
             Drupal
                  e non solo....


       PHPDay 2009 - Social tag #phpday09




                     +
Chi siamo?




             +
Chi siamo?
                  Stefano Mainardi,
             sviluppatore PHP, CEO di
              Twinbit e fondatore del
              network italiano ILDN

              Piacere di conoscervi!

                stefano@twinbit.it

             twitter : stefanomainardi




                   +
Chi siamo?
 Paolo Mainardi, sviluppatore
    PHP, CTO di Twinbit e                          Stefano Mainardi,
fondatore del network italiano                sviluppatore PHP, CEO di
            ILDN                               Twinbit e fondatore del
                                               network italiano ILDN
    Piacere di conoscervi!
                                               Piacere di conoscervi!
      paolo@twinbit.it
                                                 stefano@twinbit.it
   twitter : paolomainardi
                                              twitter : stefanomainardi




                                                    +
Chi siamo?
 Paolo Mainardi, sviluppatore
    PHP, CTO di Twinbit e                                           Stefano Mainardi,
fondatore del network italiano                                 sviluppatore PHP, CEO di
            ILDN                                                Twinbit e fondatore del
                                                                network italiano ILDN
    Piacere di conoscervi!
                                                                   Piacere di conoscervi!
      paolo@twinbit.it
                                                                    stefano@twinbit.it
   twitter : paolomainardi
                                                               twitter : stefanomainardi

                                    Piacere, io sono Drupal! :-)


                                                                       +
Quanti di voi utilizzano Drupal?


                        +
Quanti di voi sono sviluppatori
          Facebook?


                       +
Drupal = MAKE IT EASY


                 +
Drupal = MAKE IT EASY
      non reinventiamo la ruota




                                  +
Drupal overview
          il core

  + 750 Moduli disponibili




                             +
Drupal overview
                   il core

           + 750 Moduli disponibili

+ 1200 Sviluppatori (senza contare i contributor)




                                             +
Drupal overview
                   il core

           + 750 Moduli disponibili

+ 1200 Sviluppatori (senza contare i contributor)

          + 40 lingue di localizzazione




                                             +
Drupal overview
                   il core

           + 750 Moduli disponibili

+ 1200 Sviluppatori (senza contare i contributor)

          + 40 lingue di localizzazione

+ Community internazionale attiva e competente




                                             +
Drupal overview
                   il core

           + 750 Moduli disponibili

+ 1200 Sviluppatori (senza contare i contributor)

          + 40 lingue di localizzazione

+ Community internazionale attiva e competente

     + Drupal.org è una miniera d’oro!



                                             +
Drupal overview
                        il core

               + 750 Moduli disponibili

  + 1200 Sviluppatori (senza contare i contributor)

              + 40 lingue di localizzazione

  + Community internazionale attiva e competente

         + Drupal.org è una miniera d’oro!

Adatto per lo sviluppo di Social Network ed applicazioni Sociali

                                                     +
Drupal overview
simple third-party integration




                                 +
Drupal overview
                    simple third-party integration




Drupal +7.x integrato nel core




                                                         e molto altro...
                                                     +
Drupal overview
simple third-party integration




                                 +
Drupal overview
                simple third-party integration




- Collezionare dati da tutte le piattaforme e creare nuovi mashup




                                                     +
Drupal overview
                simple third-party integration




- Collezionare dati da tutte le piattaforme e creare nuovi mashup
         - Integrare nel nostro progetto servizi esterni



                                                      +
Drupal overview
                simple third-party integration




- Collezionare dati da tutte le piattaforme e creare nuovi mashup
         - Integrare nel nostro progetto servizi esterni
             - Portare traffico e visitatori!

                                                      +
Drupal overview
                  modules




Se volessimo sviluppare un nostro SN quali sono
            i moduli indispensabili?




                                     +
Drupal overview
                     modules
                                                                         CCK

                                                                Content Construction Kit

                                                            Ci permette di modellare i
                                                                 nostri contenuti




 Photo courtesy of : http://www.flickr.com/photos/8362529@N08/



                                                                          +
Drupal overview
                                                modules
        Views                                                                                       CCK

Ci permette di estrarre e                                                                  Content Construction Kit
 presentare i contenuti
     come vogliamo                                                                     Ci permette di modellare i
                                                                                            nostri contenuti




                            Photo courtesy of : http://www.flickr.com/photos/8362529@N08/



                                                                                                     +
Drupal overview
                                                modules
        Views                                                                                       CCK

Ci permette di estrarre e                                                                  Content Construction Kit
 presentare i contenuti
     come vogliamo                                                                     Ci permette di modellare i
                                                                                            nostri contenuti



                                                                      Workflow-ng

                                                       Ad ogni azione corrisponde una
                                                                  reazione!
                            Photo courtesy of : http://www.flickr.com/photos/8362529@N08/

                                                                                                     +
Drupal overview
     modules




  Tutto qui?!



                  +
Drupal overview
       modules




  Tutto qui?!
    ovviamente no...




                       +
Drupal overview
                                                  modules

                                       Altri moduli consigliati

•   Messaggi privati: http://drupal.org/project/privatemsg
•   Buddylist: http://drupal.org/project/buddylist (in alternativa http://drupal.org/project/user_relationship)
•   Inviti e Contact grabber: http://drupal.org/project/invite e http://drupal.org/project/dcl_importer
•   Gruppi: http://drupal.org/project/og
•   Sharing: http://drupal.org/project/forward (o http://drupal.org/project/send), http://drupal.org/project/addthis
•   Mashup semplice: http://drupal.org/project/emfield , http://drupal.org/project/ipaper
•   Notifiche: http://drupal.org/project/notifications (o http://drupal.org/project/subscriptions)




                                                                                           +
Drupal overview
                                                  modules

                                       Altri moduli consigliati

•   Messaggi privati: http://drupal.org/project/privatemsg
•   Buddylist: http://drupal.org/project/buddylist (in alternativa http://drupal.org/project/user_relationship)
•   Inviti e Contact grabber: http://drupal.org/project/invite e http://drupal.org/project/dcl_importer
•   Gruppi: http://drupal.org/project/og
•   Sharing: http://drupal.org/project/forward (o http://drupal.org/project/send), http://drupal.org/project/addthis
•   Mashup semplice: http://drupal.org/project/emfield , http://drupal.org/project/ipaper
•   Notifiche: http://drupal.org/project/notifications (o http://drupal.org/project/subscriptions)



             Tutto il resto su http://drupal.org/project/modules


                                                                                           +
+
FACEBOOK CONNECT



              +
Modulo Fbconnect

http://drupal.org/project/fbconnect



                           +
+
+
+
+
+
+
+
+
Integrazione con i commenti




                      +
Integrazione con i commenti




                      +
Integrazione con i commenti
                   FB Comments box ?
“A Comments Box is a standalone social widget for any website or iframe application.”
                                                  http://wiki.developers.facebook.com/index.php/Comments_Box




E’ possibile integrare la form dei commenti di Facebook all’interno della nostra
                                   applicazione.




                                                                           +
FB Comments box


<fb:comments></fb:comments>




                                   +
FB Comments box




                  +
FB Comments box




                  +
FB Comments box




                  +
Ok bellissimo....ma come funziona ??



                            +
1) Crea un applicazione su facebook

       http://www.facebook.com/developers




                                            +
2) AppID, API key, Secret API key




                           +
3) Configurazione principale




                        +
4) Configurazione Drupal




                      +
COOL!


        +
hook_init()
“This hook is run at the beginning of the page request. It is typically used to set up global parameters which are
        needed later in the request. when this hook is called, all modules are already loaded in memory.

For example, this hook is a typical place for modules to add CSS or JS that should be present on every page.
 This hook is not run on cached pages - though CSS or JS added this way will be present on a cached page.”




                                                                                     +
_fbconnect_render_js()
                     Bootstrap Facebook connect API

1) Inizializza cross domain channel   2) Bootstrap facebook XFBML engine




                                                      +
Esempio: Scriviamo nel feed facebook dell’utente che ha lasciato un commento.




                                                            +
+
+
Cos’altro possiamo fare ?
FQL
                             Facebook query language


                                  Javascript client
                             var api = FB.Facebook.apiClient;
            api.fql_query(quot;SELECT fields FROM user WHERE uid = quot;+fbuid+quot;);



                                     PHP Client
facebook_client()->api_client->fql_query(quot;SELECT $fields FROM user WHERE uid = $fbuidquot;);



                                                                   +
XFBML
         Ricordate la form dei commenti ?
          <fb:comments></fb:comments>



     •              fb:connect-form
     •                 fb:eventlink
     •                    fb:name
     •                   fb:photo
     •                      .......
http://wiki.developers.facebook.com/index.php/XFBML

                                             +
E le canvas page ?



                     +
Modulo FB

http://drupal.org/project/fb



                        +
Questions?

         +
Rimaniamo in contatto!


 Stefano Mainardi                Paolo Mainardi
   stefano@twinbit.it              paolo@twinbit.it
 twitter : stefanomainardi       twitter : paolomainardi



Ci vediamo presto ai Drupal Social Club a Milano!

                                         +
Grazie!

Mais conteúdo relacionado

Semelhante a Sviluppare applicazioni Facebook utilizzando Drupal

Semelhante a Sviluppare applicazioni Facebook utilizzando Drupal (20)

Drupal - LinuxDay 2010 (Pistoia)
Drupal - LinuxDay 2010 (Pistoia)Drupal - LinuxDay 2010 (Pistoia)
Drupal - LinuxDay 2010 (Pistoia)
 
Wp talk
Wp talkWp talk
Wp talk
 
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
 
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONIDrupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
 
Angular kit e Design system del Paese - Meetup ngRome 30 Gennaio 2023
Angular kit e Design system del Paese - Meetup ngRome 30 Gennaio 2023Angular kit e Design system del Paese - Meetup ngRome 30 Gennaio 2023
Angular kit e Design system del Paese - Meetup ngRome 30 Gennaio 2023
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
 
Drupal per la ricerca
Drupal per la ricercaDrupal per la ricerca
Drupal per la ricerca
 
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con DrupalSocial network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
 
Aruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarlo
Aruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarloAruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarlo
Aruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarlo
 
ProfilaMy - Relazione di progetto
ProfilaMy - Relazione di progettoProfilaMy - Relazione di progetto
ProfilaMy - Relazione di progetto
 
Enabling DevOps for Machine Learning with Azure Pipelines
Enabling DevOps for Machine Learning with Azure PipelinesEnabling DevOps for Machine Learning with Azure Pipelines
Enabling DevOps for Machine Learning with Azure Pipelines
 
Drupal7
Drupal7Drupal7
Drupal7
 
Siti web, Portali, Rich Internet Application: tendenze e controtendenze
Siti web, Portali, Rich Internet Application: tendenze e controtendenzeSiti web, Portali, Rich Internet Application: tendenze e controtendenze
Siti web, Portali, Rich Internet Application: tendenze e controtendenze
 
CMS OPEN - Università degli studi di Macerata (UniMC)
CMS OPEN - Università degli studi di Macerata (UniMC)CMS OPEN - Università degli studi di Macerata (UniMC)
CMS OPEN - Università degli studi di Macerata (UniMC)
 
Faq400
Faq400Faq400
Faq400
 
Il project management degli avatar
Il project management degli avatarIl project management degli avatar
Il project management degli avatar
 
Drupal
DrupalDrupal
Drupal
 
Da site builder a Drupal developer
Da site builder a Drupal developerDa site builder a Drupal developer
Da site builder a Drupal developer
 
Drush make vs composer
 Drush make vs composer Drush make vs composer
Drush make vs composer
 
La rivoluzione del web 2.0
La rivoluzione del web 2.0La rivoluzione del web 2.0
La rivoluzione del web 2.0
 

Mais de Twinbit

Mais de Twinbit (8)

Drupal 7 : theming avanzato
Drupal 7 : theming avanzatoDrupal 7 : theming avanzato
Drupal 7 : theming avanzato
 
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISEDrupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
 
Managing Spatial Information and Services with Drupal: the GEO-MOOD approach
Managing Spatial Information and Services with Drupal: the GEO-MOOD approachManaging Spatial Information and Services with Drupal: the GEO-MOOD approach
Managing Spatial Information and Services with Drupal: the GEO-MOOD approach
 
Which base theme for your Drupal project
Which base theme for your Drupal projectWhich base theme for your Drupal project
Which base theme for your Drupal project
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile Drupal
 
Thinking spatially with your open data
Thinking spatially with your open dataThinking spatially with your open data
Thinking spatially with your open data
 
When Drupal meets OpenData
When Drupal meets OpenDataWhen Drupal meets OpenData
When Drupal meets OpenData
 

Sviluppare applicazioni Facebook utilizzando Drupal

  • 1. Sviluppare applicazioni FB usando Drupal PHPDay 2009 - Social tag #phpday09 +
  • 2. Sviluppare applicazioni FB usando Drupal e non solo.... PHPDay 2009 - Social tag #phpday09 +
  • 4. Chi siamo? Stefano Mainardi, sviluppatore PHP, CEO di Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! stefano@twinbit.it twitter : stefanomainardi +
  • 5. Chi siamo? Paolo Mainardi, sviluppatore PHP, CTO di Twinbit e Stefano Mainardi, fondatore del network italiano sviluppatore PHP, CEO di ILDN Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! Piacere di conoscervi! paolo@twinbit.it stefano@twinbit.it twitter : paolomainardi twitter : stefanomainardi +
  • 6. Chi siamo? Paolo Mainardi, sviluppatore PHP, CTO di Twinbit e Stefano Mainardi, fondatore del network italiano sviluppatore PHP, CEO di ILDN Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! Piacere di conoscervi! paolo@twinbit.it stefano@twinbit.it twitter : paolomainardi twitter : stefanomainardi Piacere, io sono Drupal! :-) +
  • 7. Quanti di voi utilizzano Drupal? +
  • 8. Quanti di voi sono sviluppatori Facebook? +
  • 9. Drupal = MAKE IT EASY +
  • 10. Drupal = MAKE IT EASY non reinventiamo la ruota +
  • 11. Drupal overview il core + 750 Moduli disponibili +
  • 12. Drupal overview il core + 750 Moduli disponibili + 1200 Sviluppatori (senza contare i contributor) +
  • 13. Drupal overview il core + 750 Moduli disponibili + 1200 Sviluppatori (senza contare i contributor) + 40 lingue di localizzazione +
  • 14. Drupal overview il core + 750 Moduli disponibili + 1200 Sviluppatori (senza contare i contributor) + 40 lingue di localizzazione + Community internazionale attiva e competente +
  • 15. Drupal overview il core + 750 Moduli disponibili + 1200 Sviluppatori (senza contare i contributor) + 40 lingue di localizzazione + Community internazionale attiva e competente + Drupal.org è una miniera d’oro! +
  • 16. Drupal overview il core + 750 Moduli disponibili + 1200 Sviluppatori (senza contare i contributor) + 40 lingue di localizzazione + Community internazionale attiva e competente + Drupal.org è una miniera d’oro! Adatto per lo sviluppo di Social Network ed applicazioni Sociali +
  • 18. Drupal overview simple third-party integration Drupal +7.x integrato nel core e molto altro... +
  • 20. Drupal overview simple third-party integration - Collezionare dati da tutte le piattaforme e creare nuovi mashup +
  • 21. Drupal overview simple third-party integration - Collezionare dati da tutte le piattaforme e creare nuovi mashup - Integrare nel nostro progetto servizi esterni +
  • 22. Drupal overview simple third-party integration - Collezionare dati da tutte le piattaforme e creare nuovi mashup - Integrare nel nostro progetto servizi esterni - Portare traffico e visitatori! +
  • 23. Drupal overview modules Se volessimo sviluppare un nostro SN quali sono i moduli indispensabili? +
  • 24. Drupal overview modules CCK Content Construction Kit Ci permette di modellare i nostri contenuti Photo courtesy of : http://www.flickr.com/photos/8362529@N08/ +
  • 25. Drupal overview modules Views CCK Ci permette di estrarre e Content Construction Kit presentare i contenuti come vogliamo Ci permette di modellare i nostri contenuti Photo courtesy of : http://www.flickr.com/photos/8362529@N08/ +
  • 26. Drupal overview modules Views CCK Ci permette di estrarre e Content Construction Kit presentare i contenuti come vogliamo Ci permette di modellare i nostri contenuti Workflow-ng Ad ogni azione corrisponde una reazione! Photo courtesy of : http://www.flickr.com/photos/8362529@N08/ +
  • 27. Drupal overview modules Tutto qui?! +
  • 28. Drupal overview modules Tutto qui?! ovviamente no... +
  • 29. Drupal overview modules Altri moduli consigliati • Messaggi privati: http://drupal.org/project/privatemsg • Buddylist: http://drupal.org/project/buddylist (in alternativa http://drupal.org/project/user_relationship) • Inviti e Contact grabber: http://drupal.org/project/invite e http://drupal.org/project/dcl_importer • Gruppi: http://drupal.org/project/og • Sharing: http://drupal.org/project/forward (o http://drupal.org/project/send), http://drupal.org/project/addthis • Mashup semplice: http://drupal.org/project/emfield , http://drupal.org/project/ipaper • Notifiche: http://drupal.org/project/notifications (o http://drupal.org/project/subscriptions) +
  • 30. Drupal overview modules Altri moduli consigliati • Messaggi privati: http://drupal.org/project/privatemsg • Buddylist: http://drupal.org/project/buddylist (in alternativa http://drupal.org/project/user_relationship) • Inviti e Contact grabber: http://drupal.org/project/invite e http://drupal.org/project/dcl_importer • Gruppi: http://drupal.org/project/og • Sharing: http://drupal.org/project/forward (o http://drupal.org/project/send), http://drupal.org/project/addthis • Mashup semplice: http://drupal.org/project/emfield , http://drupal.org/project/ipaper • Notifiche: http://drupal.org/project/notifications (o http://drupal.org/project/subscriptions) Tutto il resto su http://drupal.org/project/modules +
  • 31. +
  • 34. +
  • 35. +
  • 36. +
  • 37. +
  • 38. +
  • 39. +
  • 40. +
  • 41. +
  • 42. Integrazione con i commenti +
  • 43. Integrazione con i commenti +
  • 44. Integrazione con i commenti FB Comments box ? “A Comments Box is a standalone social widget for any website or iframe application.” http://wiki.developers.facebook.com/index.php/Comments_Box E’ possibile integrare la form dei commenti di Facebook all’interno della nostra applicazione. +
  • 49. Ok bellissimo....ma come funziona ?? +
  • 50. 1) Crea un applicazione su facebook http://www.facebook.com/developers +
  • 51. 2) AppID, API key, Secret API key +
  • 54. COOL! +
  • 55. hook_init() “This hook is run at the beginning of the page request. It is typically used to set up global parameters which are needed later in the request. when this hook is called, all modules are already loaded in memory. For example, this hook is a typical place for modules to add CSS or JS that should be present on every page. This hook is not run on cached pages - though CSS or JS added this way will be present on a cached page.” +
  • 56. _fbconnect_render_js() Bootstrap Facebook connect API 1) Inizializza cross domain channel 2) Bootstrap facebook XFBML engine +
  • 57. Esempio: Scriviamo nel feed facebook dell’utente che ha lasciato un commento. +
  • 58. +
  • 59. +
  • 61. FQL Facebook query language Javascript client var api = FB.Facebook.apiClient; api.fql_query(quot;SELECT fields FROM user WHERE uid = quot;+fbuid+quot;); PHP Client facebook_client()->api_client->fql_query(quot;SELECT $fields FROM user WHERE uid = $fbuidquot;); +
  • 62. XFBML Ricordate la form dei commenti ? <fb:comments></fb:comments> • fb:connect-form • fb:eventlink • fb:name • fb:photo • ....... http://wiki.developers.facebook.com/index.php/XFBML +
  • 63. E le canvas page ? +
  • 66. Rimaniamo in contatto! Stefano Mainardi Paolo Mainardi stefano@twinbit.it paolo@twinbit.it twitter : stefanomainardi twitter : paolomainardi Ci vediamo presto ai Drupal Social Club a Milano! +

Notas do Editor