Your SlideShare is downloading. ×
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Social network: quali sono i moduli necessari per realizzarne uno con Drupal
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Social network: quali sono i moduli necessari per realizzarne uno con Drupal

3,451

Published on

Slide del talk, effettuato a Dicembre per il primo Drupal Camp Italiano, dedicato a quali moduli di Drupal installare per creare un social network.

Slide del talk, effettuato a Dicembre per il primo Drupal Camp Italiano, dedicato a quali moduli di Drupal installare per creare un social network.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,451
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. + Social network: quali sono i moduli necessari per realizzarne uno con Drupal Davide Michel Morelli aka ZioBudda 11 dicembre 2009 – DrupalCamp Crema
  • 2. Prima di iniziare ci sono due cose da dire: - come esempio è stato preso il portale fitnesspeople.it io sono della scuola di pensiero che per capire qualche cosa si devono fare degli esempi concreti. Altrimenti restano solamente una serie di informazioni poco contestualizzate - le slide sono volutamente discorsive. Non c'è peggior slide di quelle che non si possono riutilizzare se non si ha memoria di quello che il relatore ha detto, magari N mesi fa. Ora possiamo partire. Social Network Site - ZioBudda 2
  • 3. I moduli per la realizzazione di un social network site si possono idealmente dividere in 4 macro gruppi: quelli dedicati agli utenti quelli dedicati alla grafica quelli dedicati alla propaganda del sito quelli dedicati alla programmazione del sito In questo talk non posso inserire tutti i moduli che si possono trovare in rete, ma permettetemi di presentarvi quelli che io considero i più funzionali allo scopo. Ma ancor prima datemi del tempo per fare alcune importanti precisazioni. Social Network Site - ZioBudda 3
  • 4. I moduli dedicati alla grafica esistono ? Dipende da cosa si intende per grafica: se intendiamo uno slideshow nella galleria fotografica di un utente, allora si esistono se intendiamo la possibilità di themizzare l'output di una vista allora non esistono. Per questo basta Drupal. Ci sono poi i moduli che forniscono delle funzionalità che per essere utilizzate richiedono un approccio grafico. E ci sono quelli che per essere utilizzati richiedono solo un link. Ad esempio.. Social Network Site - ZioBudda 4
  • 5. ... quelli che non hanno una vera pertinenza grafica ma che la richiedono per essere utilizzati I messaggi privati Non si può pensare ad un sito di tipo sociale senza tener conto della necessità di avere la possibilità di spedire in formato privato dei messaggi agli altri utenti L'invito ad altri amici Tutto si può dire, ma il più grande mezzo pubblicitario è il passa parola. Un amico che parla di un sito ci spinge sempre a provarlo. Specialmente se tratta di un argomento che ci interessa. Le relazioni di amicizia Una volta iscritti ad un sito dobbiamo coltivare il “nostro essere” all'interno del sito e quale modo migliore se non quello di crearci una cerchia di amici ? Social Network Site - ZioBudda 5
  • 6. ... e quelli che non richiedono nulla di grafico sottoscrizione per rimanere aggiornati su quello che avviene all'interno di un gruppo o su quello che scrive un utente basta, oltre ad installare il modulo adeguato, cliccare su un semplice link. Non servono fuochi d'artificio o palle che girano. Basta una scritta ben chiara stampa della pagina anche se basta il menu apposito del browser un link diretto da far cliccare all'utente è sicuramente più funzionale. E poi volete mettere la possibilità di creare un aspetto grafico diverso per il foglio stampato. Ma non stiamo sforando nella grafica ? Si, ma questo è un terzo tipo di modulo. E direi di non mettere troppa carne al fuoco Social Network Site - ZioBudda 6
  • 7. I moduli dedicati all'utente esistono ? Ovviamente si, ma molti si fondono con quelli dedicati alla usabilità o alla funzionalità avanzata. Un esempio che li racchiude entrambi sono i gruppi di discussione o organic group: è un modulo ovviamente dedicato all'utente del sito, ma se male utilizzato pregiudica l'usabilità del sito: non mettere da nessun parte un link dedicato all'inserimento di un nuovo contenuto nel gruppo è uno sbaglio molto grave. Metterlo solo in punto migliora un po' l'usabilità, metterlo sempre dove ci sono i messaggi di un gruppo migliora di molto l'usabilità. E nel contempo saperlo utilizzare in modo avanzato migliora anche la funzionalità del sito: per inserire un nuovo contenuto in gruppo senza far selezionare all'utente il gruppo destinatario del nuovo post basta aggiungere il seguente testo all'url di inserimento nuovo contenuto (GID è il group ID): ?gids[]=GID  Social Network Site - ZioBudda 7
  • 8. Il link per inserire un nuovo messaggio nel gruppo: facile da trovare e sempre presente 8
  • 9. L'inserimento di un nuovo messaggio senza ?gids[]=GID L'inserimento di un nuovo messaggio con ?gids[]=GID (notate l'assenza del box dedicato ai gruppi) Social Network Site - ZioBudda 9
  • 10. Sono stato chiaro ? Attenzione; sempre più spesso funzionalità e usabilità andranno a braccetto. Nell'esempio dei gruppi di discussione appena visto, l'inserimento del link che porta l'utente ad inserire un nuovo posto all'interno di un gruppo può anche essere visto come un aumento dell'usabilità del sito. Social Network Site - ZioBudda 10
  • 11. E siamo così giunti all'elenco dei moduli, con l'aggiunta di una piccola descrizione, altrimenti uno screenshot del comando ls ­la vi sarebbe bastato :D Come abbiamo visto riuscire a dividere per bene i moduli nelle 4 macro aree definite all'inizio è molto difficile. E' meglio proporli per affinità partendo da una pagina e vedendo quali sono i moduli utilizzati. Home page.. ops.. Front page stiamo arrivando... Social Network Site – ZioBudda 11
  • 12. Social Network Site - ZioBudda 12
  • 13. In questa prima parte della front page l'unico modulo utilizzato è “views”. La possibilità di customizzazione di questo modulo è una vera manna dal cielo. Lo slideshow è una vista con del codice JS che crea l'effetto di sfumatura Il box delle ultime notizie è una vista Il box degli ultimi iscritti è una vista Ed anche nella prossima immagine, che raffigura la seconda parte della front page, è quasi tutto realizzato con il modulo views. Social Network Site - ZioBudda 13
  • 14. Social Network Site - ZioBudda 14
  • 15. Per farvi capire il livello di customizzazione del modulo views vi presento i due file che permettono di visualizzare il blocco degli utenti di FP. Nel secondo file è presente la variabile $fields. Questa variabile contiene il risultato fornito dal modulo views per una particolare riga. I nomi dei campi sono decisi sempre dal modulo views e per conoscerli basta editare la vista e cliccare sul link “Theme: information” (o “Tema: informazioni” se avete abilitato la lingua italiana).   Social Network Site - ZioBudda 15
  • 16. <div class="BoxNewVerde">        <h2><?php echo t("Ultimi iscritti a FitnessPeople"); ?></h2>        <!­­ Contenitore Box Sfumatura Grigio ­­> <div class="ContBoxGrigio bgSfumaGrigio">            <?php foreach ($rows as $id => $row): ?>               <?php print $row; ?>              <?php endforeach; ?> <img height="1" width="100" class="spacer" alt="image"  src="/sites/fitnesspeople.it/themes/fp_001/images/ /spacer.gif"/>           </div> </div> views­view­unformatted­­last­user­­block­1.tpl.php Social Network Site - ZioBudda 16
  • 17. <?php if (!isset($GLOBALS['userDelta'])) { $GLOBALS['userDelta'] = 0;  } else $GLOBALS['userDelta']++;  } if (($GLOBALS['userDelta'] % 4) != 3) {   $margin = "marginDest"; } else { $margin = ""; } ?> <div class="FotoNewIscritto <?php echo $margin; ?>"> <a href="<?php echo url('user/'.$fields['uid']­>content); ?>">     <img height="60" width="80" alt="image" src="/ <?php echo $fields['picture']­>raw; ?>"/>    <p><?php echo $fields['name']­>content; ?></p>    </a> </div> ../themes/fp_001/views­view­fields­­last­user­­block­1.tpl.php (END) Social Network Site - ZioBudda 17
  • 18. Sempre nella seconda parte della front page è presente un blocco dedicato alle ultime attività effettuate dagli utenti all'interno del sito. Questo viene creato in automatico dal modulo “activity” insieme all'uso del modulo user activity. Ed altri moduli che utilizzano activity sono: Activity history, Comment activity, Favorite Nodes activity, Flag activity, Node activity, OG activity, User relationships activity, Voting activity. A questo punto partendo dalla home page possiamo andare a visionare quali sono gli altri moduli utilizzati, partendo dal blocco delle notizie. E' già stato detto che tale blocco viene creato dal modulo “views”, quindi premendo idealmente sulla prima notizia vediamo quali moduli si possono utilizzare per rendere la visione della notizia più interessante per l'utente, saltando la realizzazione visiva e soffermandoci solo nella parte bassa dove sono presenti dei moduli aggiuntivi. Social Network Site - ZioBudda 18
  • 19. Voto medio: modulo fivestars il quale a suo vota richiede il modulo Voting Api Share: modulo addthis bottone facebook: nessun modulo in particolare, è il widget fornito da facebook Stampo la notizia: modulo print Invio via email: modulo print Social Network Site - ZioBudda 19
  • 20. Come ho detto all'inizio ci sono moduli che offrono più funzionalità come ad esempio il modulo print, che permette di mandare in stampa la pagina (permettendo anche di customizzare la grafica) e di mandare una email ad un amico indicandogli un post interessante; giocando con i CSS la grafica della pagina di invio può diventare: Social Network Site - ZioBudda 20
  • 21. Ritornando alla figura della parte bassa di una notizia, si può vedere in basso il form di inserimento dei commenti: modulo “comment”. Ci sono poi le notizie che possono essere collegate tra loro ed il fornire tale informazioni all'utente finale permette di creare una sorta di percorso guidato. Ci sono due tipi di moduli che effettuano questa operazione: quelli tutti automatici come Similar By Terms e quelli che permettono all'utente che inserisce la notizia di decidere quali sono i contenuti collegabili, come Related Items. Una cosa che l'utente finale non vede, ma che riguarda le notizie è la possibilità di scriverle in un certo momento e vederle pubblicate ad un orario ed un giorno prefissato. Questo è fatto tramite l'uso del modulo “scheduler”. Social Network Site - ZioBudda 21
  • 22. Ed una cosa che si vede solamente nei sorgenti della pagina, ma che risulta molto utile quando dobbiamo far analizzare le nostre pagine ad un motore di ricerca sono i tag “description” e “keywords” che vengono gestiti per singola pagina dal modulo “nodewords”. Rimanendo nel campo dei motori di ricerca l'url della pagina non è il solito node/XXX, ma è costruito ad arte per essere maggiormente indicizzabile tramite il modulo pathauto. E questo è possibile solamente se sono attivi i “Clean urls” nella impostazione di drupal. Sempre per i motori di ricerca è attivo il modulo global_redirect che permette di reindirizzare ogni visita ad un url del tipo node/XXX a quella del suo alias creato con path_auto. In questo modo i motori di ricerca non vedranno un doppio contenuto uguale. Questo è anche un tipico caso di dipendenza di moduli: senza path_auto, global_redirect non avrebbe di che esistere. Social Network Site - ZioBudda 22
  • 23. E continuando nel campo dei motori di ricerca ci sono tre moduli attivi che pur avendo poco impatto sull'utente ne hanno molto in un ottica SEO: xmlsitemap: crea automaticamente una mappa del sito seguendo le specifiche ufficiali. A questo devono essere attivati i moduli dedicati alla mappa di ogni singolo tipo di dato: XML sitemap node, XML sitemap taxonomy e XML sitemap user. google_analitycs: le statistiche di accesso ed uso sono il primo passo per verificare la bontà delle proprie decisioni google_adsense: non si vive senza della pubblicità che porta introiti per coprire le spese. Social Network Site - ZioBudda 23
  • 24. Tornando alla home (12) e proseguendo verso destra abbiamo il blocco degli utenti registrati al sito. Abbiamo già detto che è realizzato tramite l'uso del modulo views. Facciamo un passo indietro e vediamo quali sono i moduli che possono essere utilizzati al momento della registrazione di un nuovo utente: profile: modulo dedicato alla creazione di campi dedicati al profilo di un utente. Tra i campi creati è possibile scegliere quelli che devono essere presentati e compilati nella fase di registrazione captcha: non penso di dover spiegare cosa è term of use: permette di definire un testo da presentare all'utente che si vuole registrare, insieme ad un checkbox che deve essere selezionato per far si che la procedura di registrazione venga fatta partire. Social Network Site - ZioBudda 24
  • 25. Una volta che l'utente si logga nel sito viene portato nella sua pagina del profilo : Social Network Site - ZioBudda 25
  • 26. Ci sono due moduli utilizzati in questa pagina: activity che abbiamo già incontrato nella front page, e che in questa pagina ci permette di vedere solo le attività dell'utente del profilo che stiamo guardando Il secondo è sulla colonna di destra ed è “user_visits”: questo modulo permette di visualizzare gli ultimi utenti che hanno visionato il profilo dell'utente attualmente collegato. Come si può vedere ancora una volta, tutta la pagina del profilo utente pur utilizzando moduli standard di drupal e solo pochi moduli aggiuntivi, viene creata graficamente accattivante sfruttando il sistema di theming di drupal. Rimanendo in questa pagina e guardando la parte alta troviamo il menu dell'utente, menù sempre presente quando l'utente è autenticato e non anonimo. Social Network Site - ZioBudda 26
  • 27. In questa immagine troviamo altri moduli: amici: viene usato il modulo “user_relationships” che permette di creare relazioni tra gli utenti. In questo sito in particolare ci sono due tipi di relazioni: amici e fan. Guestbook: manco a dirlo il nome del modulo che si occupa di questa funzionalità è proprio “guestbook” Messaggi: il modulo è “privatemsg”. Social Network Site - ZioBudda 27
  • 28. Ma per i messaggi ci sono dei moduli aggiuntivi per potenziarne le funzionalità: block user messages: blocca la ricezione di messaggi da parte di un utente Privatemsg Email Notification permette di ricevere messaggi di posta indicanti un nuovo messaggio privato Privatemsg filter: permette di creare dei filtri sui messaggi, come ad esempio l'uso dei tag per differenziare i vari messaggi. Legati ai messaggi, ma invisibili all'utente si devono utilizzare i moduli Messaging Privatemsg, che a sua volta richiede Messaging, il quale è utilizzato da altri moduli. Social Network Site - ZioBudda 28
  • 29. Ritornando al menu dell'utente, ho lasciato volutamente indietro il link ai gruppi. OG: acronimo di Organic Group. Sono gruppi di discussione. Si diversificano dal solito forum perchè l'utente si deve iscrivere al gruppo per poter inserire un nuovo messaggio, mentre il forum è per definizione un luogo aperto a tutti gli utenti del sito. Notate la scritta “Sono iscritto”: questa fa parte della customizzazione grafica che viene effettuata dal programmatore del sito. Social Network Site - ZioBudda 29
  • 30. Anche il modulo OG utilizza altri moduli per aumentare le proprie funzionalità: Organic groups statistics: fornisce alcune statistiche sul gruppo che l'utente sta visionando. Organic groups actions: permette di definire delle azioni da effettuare sui gruppi Organic Groups Notifications: permette all'utente di essere informato sui cambiamenti in un gruppo Organic groups Views integration: lega i gruppi al modulo views. Se installate OG dovete installare anche questo. Non è un obbligo di drupal, solo MIO :D Social Network Site - ZioBudda 30
  • 31. Rimanendo nel campo dell'utente del sito web ci sono altri moduli che vengono utilizzati, senza però presentare funzionalità aggiuntive: bettermessages: i messaggi dedicati all'utente e contenuti all'interno della variabile $message sono presentati all'interno di false finestre che rimangono in primo piano fino a quando l'utente non clicca su un link di chiusura. Social Network Site - ZioBudda 31
  • 32. E ci sono quelli che offrono funzionalità aggiuntive riguardanti un ampio spretto di tipi di contenuto, come ad esempio il modulo “notifications” che permette all'utente di sottoscrivere una notifica di cambiamento legata ad un post, ad un utente o ad un tipo di contenuto. Per ogni nuovo elemento di uno di queste tre tipologie, l'utente viene avvisato via email o messaggio privato. Ma rimaniamo nelle pagine interne: nel lato destro di ogni pagina c'è un box riguardante gli ultimi utenti che hanno visitato il nostro profilo. Ad ogni utente è associato il proprio avatar, ridimensionato per entrare correttamente nella grafica del box. Per fare questo è stato utilizzato il modulo imagecache, che permette di creare versioni modificate di una immagine. Ad esempio per creare una galleria fotografica e mostrare all'utente solo delle anteprime. A sua volta questo modulo dipende da ImageApi e Image Api GD2. Social Network Site - ZioBudda 32
  • 33. A tutti i moduli presentati qui fino ad ora ci sono quelli che potremmo considerare dei comprimari: Blog Contact Content translation Help Locale Menu Path PHP Filter Search Statistics Taxonomy Upload Social Network Site - ZioBudda 33
  • 34. E siamo infine giunti a quei moduli che non hanno un diretto contatto con l'utente finale, ma che servono per il corretto funzionamento del sito o per il suo sviluppo Administration menu: tutta la pagina di amministrazione (e non solo) in un semplice ed usabile menu. Token: permette di definire delle stringhe da utilizzare nelle costruzione di frasi che richiedono un valore particolare, come [yyyy] per indicare l'anno attuale a 4 cifre. Devel e Devel themer: se volete creare un sito con Drupal non potrete fare a meno di questi due moduli. Social Network Site - ZioBudda 34
  • 35. Ed eccoci così giunti alla fine di questo talk. Abbiamo visto quali sono i moduli alla base di un buon social network site, ma per mancanza di tempo non abbiamo potuto vedere cosa c'è dietro a tutto questo: il theming di drupal: l'abito non fa il monaco. Ma aiuta a sembrarlo. Ci sono poi i moduli che non sono ancora attivi su FP, ma che sono già pronti per l'uso come shoutbox, facebook connect, openid connect, e tanti altri. In queste slide ho preferito soffermarmi su quelle che sono le carattaristiche attuali e non le nuove funzionalità che ancora non sono attive. Ma alla fine i moduli nominati in queste slide sono quelli che un po' tutti i social network site dovrebbero avere. Social Network Site - ZioBudda 35
  • 36. Come ultima slide permettetemi di presentarmi: Davide Michel Morelli aka ziobudda Davide per i parenti Michel per gli amici ZioBudda per gli utenti di PC BEEEP per i nemici :D Freelancer, sviluppo siti web e applicazioni web dinamiche su piattaforma LAMP Tel: 0200619074 Cellulare: 3939890025 Email: michel@ziobuddalabs.it skype: zio_budda icq: 58351764 twitter : ziobudda Blog: http://www.ziodrupal.net Social Network Site - ZioBudda 36

×