Sviluppare applicazioni Facebook usando Drupal
Sviluppare applicazioni Facebook utilizzando Drupal
View more documents from Stefano Mainardi.
Riporto (con tremendo ritardo) le slides del nostro intervento al PHPDAY e al Drupal Social Club (in forma ridotta).
Creare un social network con Drupal

Erano anni che mi ripromettevo (rimandando in continuazione) di approfondire e di sviluppare qualcosa di un pochino complesso con il CMF in questione, finalmente l’occasione giusta è arrivata (grazie alla nostra piccola startup, Ideato e Mikamai) e solo grazie ad un lavoro di questa portata, siamo riusciti ad apprezzare in pieno, le potenzialità di un framework di sviluppo ben modellato come Drupal, che vanta più di ogni altro, una libreria pressochè immensa di moduli che permettono out-of-the-box di avere immediatamente un mare di funzionalità aggiuntive.
Anche se è da dire che il primo approccio con Drupal, è un esperienza disarmante e frustrante, putroppo la documentazione ufficiale è troppo lacunosa, vengono date per scontate sezioni fondamentali e non esiste un workflow logico da seguire per capire il complesso sistema di Hook e ovverride che il core di Drupal innesca ad ogni chiamata.
Comunque con qualche buon libro e una pagina sempre aperta sulle API (qui documentazione ottima), si riesce in brevtempo ad entrare con semplicità nei meccanismi (tante volte un pochino strani) ed essere subito produttivi.
Tornando al tema del post, come sviluppare un Social Network con Drupal ?
Prima sarebbe da chiederci quali sono le caratteristiche base che un Social network dovrebbe assolutamente avere ?
- 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)
- Facebook: http://drupal.org/project/fb (mai provato ma sembra molto molto interessante)
Ovviamente, senza menzionare i moduli “standard” che non fanno parte del core, ma sono assolutamente indispensabili:
- CCK, Views, Panels (per me non lo è molto), Workflow-ng
Alcuni moduli, sono un pochino “scarni” di funzionalità, ad esempio Privatemsg, non permette di inviare il messaggio via mail, o selezionare i contatti dalla propria buddylist, per questo ho sviluppato un modulo di estensione:
Ho avuto da pochi giorni l’accesso al CVS Drupal, appena ho qualche minuto libero, gli darò un posto più dignitoso
Che features aggiunge privatemsg-ng ?
- Integrazione con OG, Buddylist, User roles (core)
- File attachment (viene inviato all’utente insieme al messaggo un link da dove scaricare l’allegato, ovviamente sarà scaricabile solo da chi ha i permessi)
- Mailing out integrato con job_queue
Per ora è tutto, se ancora non avete provate Drupal, questo è il momento giusto
Ciau