dic
03

Le risorse e i plugin più utili per bbPress

 

Da un po’ di tempo gestisco il sito dei Giovani Matematici di Vicenza (si può iscrivere chiunque sia interessato, anche fuori provincia!). Ultimamente abbiamo migrato la piattaforma da un vecchio Drupal che avevo messo su alla meno peggio (non sono molto pratico di Drupal purtroppo) alla combinazione WordPress + bbPress che funziona egregiamente.
Installare bbPress è molto semplice e fornisce di default delle ottime funzioni. Tuttavia vi voglio dare alcuni piccoli consigli per delle ottime aggiunte che si possono trovare tra i tanti plugin disponibili. Questo motore di forum non ha, come WordPress, l’integrazione e installazione dei plugin tramite interfaccia web. Bisogna caricare i plugin manualmente nella directory my-plugins, tuttavia non è così male.

Plugin

Integrazione con WordPress

Questa funzione è inserita di default in bbPress, tuttavia se volete farla funzionare dovete aggiungere dentro WordPress il plugin corrispondente.

Download

Allow images

Questo semplicissimo plugin permette agli utenti di inserire immagini nei messaggi. Serve nella maggior parte dei casi, ma dipende sempre da ciò di cui avete bisogno.

Download

Bavatars

Di default gli utenti possono usare solo l’avatar globale (Gravatar). Tramite Bavatars potete permettere agli utenti di caricare un avatar dal proprio PC che funzionerà nel forum. Se si vuole l’integrazione con WordPress bisogna prendere il file bavatars-wp.php e metterlo nella directory dei plugin di WordPress. Il problema è che questo file contiene degli errori. Le righe relative ai percorsi vanno modificate così (naturalmente con i dati del proprio sito):

define( 'BAVATARS_BBPRESS_URI', 'http://example.com/forum/' ); // The full address of the front page of your forum.
define( 'BAVATARS_BBPRESS_PATH',  getenv("DOCUMENT_ROOT").'/forum/' ); // The full path to your bbPress installation.

In questo modo è più semplice modificare i percorsi. Poi va anche modificato il codice di inserimento dell’immagine, perché non funziona proprio. Questo è il codice corretto, da sostituire verso la fine del file:

return '<img alt="' . $alt . '" src="' . trailingslashit( BAVATARS_BBPRESS_URI ) . $location . '" style="height:' . $size . 'px; width:' . $size . 'px;">';

Infine ovviamente il plugin va attivato anche da WordPress.

Download

bbPress Signatures

Consente agli utenti di avere una firma sotto ai messaggi, con i tag html consentiti nei messaggi. Si possono impostare la lunghezza massima e il numero di righe, e anche la possibilità di avere una sola firma per ciascun utente su una pagina.

Download

bbPress Smilies

Abilita gli smile su bbPress in modo simile a quanto facciano altri plugin su WordPress. Infatti usano sostanzialmente gli stessi temi, e vi consiglio di impostare il tema Tango su entrambe le piattaforme (si fa modificando una delle prime righe nei sorgenti, leggete sempre i README comunque).

Se volete usare la casella visuale di inserimento dei messaggi (ne parlo più in basso) dovete eliminare dal codice del plugin la presenza del pulsante delle faccine, altrimenti “rompe” l’altro plugin.

//add_action( post_form , bbClicker ,($bb_smilies[ popup ] ? 20 : 9));
//add_action( edit_form , bbClicker ,($bb_smilies[ popup ] ? 20 : 9));

Download

BB Wysiwyg Editor

Trasforma in un attimo la casella dei messaggi in un piccolo editor in cui si vede subito come apparirà il messaggio scritto, permettendo di usare dei comodi pulsanti per modificare la formattazione. Utilizza un software esterno, jwysiwyg, che vi consiglio di scaricare e sovrascrivere dentro la cartella del plugin in quanto fornisce interessanti funzioni e miglioramenti.

Inoltre si può anche personalizzare l’aspetto della barra tramite apposite opzioni spiegate sul sito di jwysiwyg. Io ad esempio uso queste:

$(function() {
 $('#post_content').wysiwyg({
 controls: {
 indent : { visible : true },
 outdent : { visible : true },
 insertHorizontalRule : { visible : false },
 removeFormat : { visible : true },
 justifyLeft : { visible : false },
 justifyRight : { visible : false },
 justifyCenter : { visible : false },
 justifyFull : { visible : false },
 h1 : { visible : false },
 h2 : { visible : false },
 h3 : { visible : false }
 },
 css : bb_wysiwyg_editor_url + "bb-wysiwyg-editor.css",
 rmUnwantedBr : true,
 brIE: false
 });
});

Per poter sfruttare bene la possibilità di modifica dei messaggi occorre modificare il tema di bbPress. Infatti quando si apre la casella di modifica, di solito, il testo del messaggio deve venire “filtrato” di nuovo per ritornare facilmente leggibile dall’utente che lo modifica a mano. Il fatto è che invece per la casella visuale, che usa il codice HTML, occorre il messaggio originale senza modifiche. Per questo motivo, occorre intervenire sul file edit-form.php.

<textarea name="post_content" cols="50" rows="8" id="post_content"><?php /*
 * non voglio che nella modifica dei messaggi vengano tolti i tag
 * tanto ho la casella visuale per modificare i messaggi!
 */
 echo get_post_text();
 </textarea>

Per ottenere un effetto ancora migliore si può anche dare dei piccoli ritocchi al CSS contenuto nella cartella del plugin:

body {
/* caratteri e stile a piacere */
font-family:  Trebuchet MS , Lucida Grande ,Verdana,Tahoma,Arial;
font-size: .8em;
}
p:first-child {
/* toglie i margini causati dalla modifica di un messaggio già inserito */
margin-top: 0px;
}
p:last-child {
margin-bottom: 0px;
}

Infine è possibile aggiungere alla barra pulsanti personalizzati che richiamano funzioni in Jquery, ma devo ancora provare questa possibilità.

Download

Mini Stats

Visualizza delle statistiche sull’attività del forum. Richiede alcuni piccoli ritocchi nel tema per visualizzarlo dove si vuole e si può tradurre in italiano modificando il codice in PHP a mano.

Download

reCAPTCHA bbPress

Il metodo definitivo per bloccare le iscrizioni spam al forum. Richiede un account reCAPTCHA, gratuitamente ottenibile (fornito da Google), inoltre esiste pure un analogo per WordPress.

Download

Notifiche via email

Esiste un vecchio plugin che funzionava con la versione 0.9 ma a quanto pare non funziona più molto bene. A quanto dicono nelle versioni trunk sono inserite le notifiche come funzione integrata, ma non ho ancora provato ad aggiornare.

Maggiori informazioni

Altre risorse

Lingua italiana

Proprio oggi ho trovato una traduzione molto migliore di quella che usavo prima. Ho dovuto modificare manualmente solo 2-3 frasi aprendo il file .po con un editor di testo semplice (per modificare anche le frasi originali) e poi ho compilato il .mo con POEdit. Vi metto qui il download alla mia versione.

I file vanno inseriti nella directory my-languages nella root del forum (va creata) e poi bisogna modificare il file di preferenze di bbPress con la riga define( BB_LANG , it_IT );.

Download

Aspetto grafico

Questo è un aspetto su cui mi sto documentando. Esistono diversi temi per bbPress, anche se molti siti di solito integrano il tema di default con elementi comuni come l’intestazione e il footer, modificando codice PHP e CSS. Un esempio è il forum di Dropbox. La cosa migliore da fare è copiare nella directory my-templates il tema di default, Kakumei, rinominandolo (anche dentro al file CSS dove sono contenuti i metadati) e iniziando con le modifiche. Si inizia solitamente dai colori, per poi passare a cose più sofisticate.

Un metodo classico per farlo è usare la cosiddetta “deep integration” che però è abbastanza pesante in quanto carica tutto WordPress ad ogni esecuzione di bbPress. Una possibilità interessante e più leggera invece consiste nell’adoperare un plugin per WordPress chiamato PixoPoint Theme Integrator: questo permette di catturare dei pezzi di codice generati da WordPress e includerli con delle sempli