mercoledì 29 ottobre 2008

Joomla 1.5, personalizzare il componente Weblinks

Ogni installazione di Joomla da sempre include un componente chiamato Weblinks che serve a mantenere una collezione di link a siti web suddivisi in categorie. È un componente semplice, ma che si presta a svariati usi come offrire risorse utili ai propri visitatori o scambiare link con altri siti.

Se si visualizza una categoria di Weblinks e si controlla la barra di stato del browser mentre il il puntatore del mouse è posizionato su uno dei link si vedrà qualcosa del tipo

index.php?view=weblink&catid=...&id=...&option=com_weblinks&Itemid=...

Al posto dei puntini vedrete ovviamente valori che variano a seconda del link.

Si vede chiaramente che il link non è diretto, non punta cioè al sito esterno, ma "passa" attraverso Joomla, più esattamente esegue il codice della view weblink del componente. È il codice della view che effettua un reindirizzamento al sito esterno.

Questo non è sempre l'ideale. Ad esempio se si scambiano link in genere si preferisce avere link diretti perché si ritiene che diano un maggior beneficio in termini di SEO.

Fortunatamente con semplici modifiche possiamo fare in modo che i link gestiti da Weblinks siano diretti. Prima di proseguire premetto che le indicazioni che seguono si applicano solo a Joomla 1.5 e raccomando di tenere copia dei file che andremo a modificare per poter facilmente annullare le modifiche in caso di problemi.

I numeri di riga dei file indicati per le modifiche fanno riferimento alla versione 1.57

Per prima cosa aggiungeremo un parametro alla configurazione di Weblinks modificando il file
.../administrator/components/com_weblinks/config.xml (da linea 32).

    <param name="link_icons" type="imagelist" 
directory="/images/M_images" default="" label="Icon" description="PARAMICONIMG" />
    <param name="direct_links" type="radio" default="0" label="Use Direct Links" description="">
    <option value="0">No</option>
    <option value="1">Yes</option>
    </param>
  </params>
</config>

Le righe in blu sono quelle da aggiungere, riporto quelle immediatemente precedenti e seguenti per facilitare l'individuazione del punto della modifica.

Poi in base all'impostazione del parametro visualizzeremo un link diretto o indiretto: modifichiamo il file
.../components/com_weblinks/views/category/view.html.php (da linea 116).

$item =& $items[$i];
if($params->get('direct_links',0) == 1) {
  $link = $item->url;
} else {
  $link=JRoute::_('index.php?view=weblink&catid='.
$category->slug . '&id='. $item->slug);
}
$menuclass = 'category'.$params->get( 'pageclass_sfx' );

A questo punto dal pulsante Preferenze sulla barra degli strumenti nella pagina di amministrazione del componente, possiamo impostare il parametro che abbiamo aggiunto e scegliere il tipo di link preferito.

Una conseguenza inevitabile della scelta dei link diretti è l'impossibilità di aggiornare il contatore delle visite. Il parametro per nascondere la relativa colonna è già presente nella configurazione.

Come tocco finale possiamo includere la traduzione in Italiano dell'etichetta per il parametro aggiunto. Inseriamo come ultima linea di
.../administrator/language/it-IT/it-IT.com_weblinks.ini

USE DIRECT LINKS=Utilizza link diretti

lunedì 13 ottobre 2008

Creare un blog con Drupal

Continuando l'esperimento, o caso di studio se preferite, della realizzazione di un blog in Joomla e Drupal veniamo alla configurazione necessaria per Drupal.

Premetto che per il sito di prova ho usato Drupal 6 con traduzione in Italiano. File della traduzione e istruzioni su come installarlo sono disponibili sul sito www.drupalitalia.org e relativo forum, vedere in particolare la sezione Traduzione italiana di Drupal.

Preliminarmente attiviamo alcuni moduli base da Amministra >> Struttura del sito >> Moduli

  • Blog
  • Comment
  • Path
  • Taxonomy

Poi installiamo altri moduli che ci sono necessari

  • Pathauto per la generazione automatica di URL semplificate (o sef)
  • Token (perché richiesto da PathAuto)

I pacchetti scaricati da drupal.org vanno decompressi in .../sites/all/modules/ e poi attivati da Amministra >> Struttura del sito >> Moduli nel backend di Drupal.

Configurazione post e commenti

L'attivazione del modulo Blog rende disponibile una nuova tipologia di contenuto Intervento del blog (Blog entry). Da Amministra >> Gestione dei contenuti >> Tipi di contenuto con un click sulla voce Intervento del blog possiamo modificare una serie di parametri. Per quello che serve a noi in questo momento vanno bene quasi tutte le impostazioni predefinite.

Sotto Impostazioni del flusso di lavoro è bene spuntare Pubblicato e Promosso in prima pagina in modo che tutti i nuovi post siano pubblicati automaticamente e posti in prima pagina come è normale per un blog.

Sotto Impostazioni commento è bene impostare Anteprima commento su Richiesto. L'obbligo di visualizzare l'anteprima del commento prima di inviarlo è una forma, anche se limitata, di prevenzione contro gli spambot. Per ora ci accontentiamo di questa.

In Amministra >> Gestione utente >> Permessi attribuiamo all'utente anonimo i permessi accede ai commenti / inserisce commenti.

Creazione categorie

Per creare le categorie per i post dobbiamo utilizzare il modulo Taxonomy in Amministra >> Gestione dei contenuti >> Tassonomia.

Con Aggiungi vocabolario creiamo un vocabolario con queste impostazioni

  • Nome del vocabolario: Categoria
  • Tipi di contenuto: Intervento del blog
  • Impostazioni: Selezione multipla e Richiesto

Salvato il vocabolario, con Aggiungi termini aggiungiamo tre voci: Categoria 1, Categoria 2, Categoria 3 come Nome del termine e tutte le altre impostazioni lasciate ai valori predefiniti.

Impostazioni URL semplificate

Il modulo Pathauto ci consente di creare url semplificate o sef (search engine friendly) come si preferisce chiamarle. La configurazione è in Amministra >> Struttura del sito >> Alias URL, Impostazioni automatiche alias.

Sotto Impostazioni percorso del nodo impostiamo Modello per tutti i percorsi intervento del blog: blog/[yyyy]/[mm]/[title-raw].html

In questo modo ogni post del blog avrà come url

/blog/anno/mese/titolo_post.html

Creazione utente blogger

Credo sia preferibile non postare nel blog come utente amministratore, ma creare un ruolo apposito. In Amministra >> Gestione utente >> Ruoli creiamo un nuovo ruolo chiamato blogger con i seguenti permessi

  • crea contenuti di tipo blog
  • cancella i propri interventi nel blog
  • modifica i propri interventi nel blog
  • accede ai commenti
  • amministra commenti
  • inserisce commenti senza approvazione

Possiamo creare un utente di prova con questo ruolo e iniziare a scrivere.

Per ora è tutto. Ci sono molte funzionalità che possono essere aggiunte al blog e lo faremo presto. Quanto realizzato finora è visibile sul sito di prova

demo.latenight-coding.com/drupal-blog/

Chi volesse provare a sviluppare personalmente un blog in Drupal seguendo le indicazioni dell'articolo e incontrasse qualche difficoltà può lasciare un commento; ho cercato di entrare per quanto possibile nei dettagli, ma certo non sono proprio istruzioni passo-passo.

Chiaramente anche suggerimenti e proposte di soluzioni diverse sono graditi.

lunedì 6 ottobre 2008

Creare un blog con Joomla

Iniziamo in concreto lo sviluppo 'in parallelo' dei due blog realizzati con Joomla e Drupal (vedi post precedente). Le prime cose da fare sono l'organizzazione del contenuto e la gestione dei commenti. Parto con Joomla.

Sezioni e categorie

Per il nostro blog serve una sezione Post e un numero a scelta di categorie per (chi l'avrebbe detto) categorizzare i post. In uno sforzo di fantasia ho creato Categoria1, Categoria2 e Categoria3 ovviamente assegnando a ciascuna la sezione Post.

Per come funziona Joomla ogni post potrà essere assegnato ad una sola categoria, questo può non essere l'ideale in un blog, vedremo in seguito se e come si può ovviare almeno in parte al problema.

Prima pagina

In un blog, almeno secondo le mie preferenze, i post in prima pagina è meglio se sono disposti su una sola colonna.

Quindi nel backend di Joomla ho selezionato Menu >> Main Menu >> Home e nei Parametri Standard ho impostato #Principali: 5, #Intro: 0, #Link: 0. Avremo 5 post che occupano tutta la larghezza della pagina, nessun post in colonna (quindi il parametro Colonne è irrilevante) e nessun post come link in fondo alla pagina.

Commenti

Joomla non offre una gestione nativa dei commenti per cui dobbiamo ricorrere ad una estensione di terze parti. Ho scelto Chrono Comments perché è un componente nativo per Joomla 1.5 (non richiede l'attivazione del Legacy Mode) e gratuito (anche se non GPL).

Se si limita la scelta ai componenti per commenti nativi Joomla 1.5 e non commerciali, le possibilità non sono molte almeno a guardare la directory delle estensioni a extensions.joomla.org. Per quello che interessa in questo momento, il componente ha le funzionalità minime indispensabili ed è anche abbastanza semplice da configurare.

Una volta installati separatamente componente e plugin e attivato quest'ultimo da Gestione Plugin basta andare in Componenti >> Chrono Comments >> Comments Manager nel backend di Joomla, accedere alla pagina della configurazione tramite il pulsante Preferenze sulla toolbar e impostare i seguenti parametri.

Sections: Selezionare Post la nostra unica sezione, ma potremmo crearne altre e vogliamo che i commenti siano abilitati solo su questa.

Show Comments link in Blog view. Abilitato per mostrare un link ai commenti sulle viste blog inclusa la prima pagina.

Posting permissions. Tutti i gruppi selezionati.

Guests can post? Sì in modo che anche gli utenti che non hanno fatto il login possano commentare.

New Comments Default to. Non pubblicato per moderare tutti i commenti, ma è possibile scegliere di moderare solo i commenti degli utenti anonimi (guest, cioè che non hanno fatto il login) o pubblicare tutti i commenti senza moderazione. È chiaro che qualunque sia la scelta si possono comunque cancellare i commenti non desiderati dal backend.

Show Captcha. Abilitato.

Enable BBCode e Enable BBCode Panel. Sì per avere la toolbar per i BBCode sul form commenti.

Tutti gli altri parametri su impostazioni predefinite. Queste sono chiaramente le mie preferenze personali per il sito di prova.

Il risultato è visibile su demo.latenight-coding.com/joomla-blog/

Aggiustamenti estetici sono necessari e saranno fatti con calma.