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
Come scegliere il prossimo libro da leggere ? Semplice basta un click
Parliamo di What Should I Read Next, un simpatico servizio che permette inserendo Titolo e Autore di un libro che abbiamo appena letto, di avere una lista di libri “correlati” in base alle preferenze degli utenti su un database di 32.000 libri in continua espansione, tutto in pieno stile 2.0
Purtroppo il database per adesso sembra essere solo in inglese, ma registrandosi si riesce tranquillamente a fare una propria lista di libri favoriti, quindi se la comunità italiana si espande sarà semplice avere i risultati in lingua italiana.
Il mio giudizio: E’ un applicazione molto comoda, ma chi è un assiduo lettore credo sappia scegliere indipendentemente cosa leggere, mentre per chi come me ha perso l’abitudine della buona vecchia carta stampata, può risultare un utile strumento per incentivare la lettura.
E tu che ne pensi ?
