You are here

Aggregator , modulo Drupal aggregatore notizie e WCAG

Inviato da giovanninews on Mar, 27/07/2010 - 19:07

logo  CMS Drupal - articolo modulo Aggregator Non ci si stanca mai di apprezzare Drupal, sicuramente uno dei migliori CMS presenti nel panorama degli Open Source. Drupal è un pò come un Lego (una costruzione) che ha al centro il pezzo più importante al quale è possibile attaccare man mano gli altri pezzi per poterci fare l' oggetto che più ci piace.

Tra i browser web abbiamo Mozilla Firefox che segue un pò la stessa logica di Drupal; il browser web Firefox, costituito da un nucleo centrale snello, potente e veloce ed una miriade di estensioni che si possono attaccare a questo nucleo centrale per rendere il browser più efficiente e completo.

Drupal è un pò come Firefox, un nucleo centrale chiamato core, costituito da alcuni moduli fondamentali e maggiormente testati nella loro funzionalità ed una miriade di moduli che si possono attaccare creando il CMS/CMF più confacente ai nostri bisogni.

Non stupisce se Obama

ha scelto Drupal per il sito web della White House.

Tra i diversi moduli del core di Drupal troviamo il modulo Aggregator, un modulo che da qualche giorno ho deciso di attivare.

Il modulo Aggregator, presente anche in altri CMS e chiamato forse diversamente, da come dice il nome, è un modulo che serve ad aggregare notizie da altri siti web che dispongono di feed RSS o feed Atom.

Il modulo Aggregator permette di creare delle categorie dove raccogliere le notizie e dei sorgenti (dei quali bisogna specificare i feed) che alimentano automaticamente le categorie (i nuovi articoli indicati dal titolo che linka l' articolo del sito web di origine).

Drupal è un ottimo CMS sia per il SEO rivolto ai motori di ricerca, sia per gli standard web XHTML e CSS definiti dal W3C, sia per i requisiti di accessibilità web definiti dallo standard WCAG e richiesti dalla legge Stanca in Italia o dalla Section 508 negli Stati Uniti.

Naturalmente, a volte, anche il contenuto di un sito web in Drupal, necessita di qualche piccolo intervento per rispettare completamente gli standard e che personalmente cerco di seguire nel migliore dei modi.

E' questo il caso del modulo Aggregator presente nel core di Drupal. Il modulo Aggregator, dopo essere stato correttamente configurato relativamente alle categorie, ai sorgenti ed alle modalità di esecuzione automatica per aggregare le notizie, genera dei blocchi per le Categorie create e per i feed.

Questi blocchi generati dal modulo Aggregator vanno a loro volta configurati e mostrati nell' area del sito che vogliamo. Se con il modulo Aggregator abbiamo scelto di aggregare i feed dai sorgenti non più vecchi di 2 settimane, potremmo avere diciamo sette o otto notizie provenienti da un sorgente.

Ma un blocco di sette o otto notizie, potrebbe essere troppo lungo da visualizzare, quindi, dalla configurazione del blocco, per occupare meno spazio, potremmo scegliere di visualizzare soltanto tre notizie del blocco.

Il blocco del modulo Aggregator, in questo modo, si presenta con gli ultimi tre titoli ed il link "more" (continua) che punta al nodo (pagina) dove troviamo le altre notizie.

Il link "more" ha come titolo "View this category's recent news." in italiano "Mostra le notizie recenti di questa categoria.". Va tutto bene se abbiamo deciso di creare con il modulo Aggregator una sola categoria o un solo feed e quindi visualizziamo un solo blocco, ma, se abbiamo deciso di creare diverse categorie dove visualizzare le notizie aggregate, dovremo visualizzare più blocchi.

In questo modo incorriamo nell' errore

WCAG [WCAG v1 13.1 (AA)] Use different values for 'title' attributes with links that use the same link text:
<a href="/aggregator/categories/1" title="View this category's recent news.">

oppure, se il sito Drupal è in italiano <a href="/aggregator/categories/1" title="Mostra le notizie recenti di questa categoria.">

Si ha l' errore indicato perchè, secondo le specifiche WCAG, non è possibile mettere lo stesso titolo a link che portano a contenuti diversi.

Indico di seguito la mia soluzione, a chi è interessato a risolvere l' errore WCAG del modulo Drupal Aggregator.

Il modulo Aggregator si trova nella cartella \modules\aggregator e bisogna fare una piccola modifica al file aggregator.module; in questo file, troviamo il titolo da modificare t("View this category's recent news.")); ; modificheremo questo se abbiamo scelto di visualizzare il blocco per categoria, mentre modificheremo t("View this feed's recent news.")); se abbiamo scelto di visualizzare il blocco per feed.

Supponendo di avere blocchi per categoria, sostituiamo t("View this category's recent news.")); con t("View the category's recent news ". $category->title)); . Da notare il punto prima di $category.

Otteniamo in questo modo un titolo dinamico per ogni link "more" del blocco Aggregator che punta ad una categoria diversa, eliminando quindi l' errore WCAG.

Nel caso che il vostro sito Drupal sia in italiano come il mio, per avere il titolo del link "continua" in italiano, dopo aver fatto la modifica indicata, bisogna tradurre la frase "view the category's recent news " da Struttura del sito -> Traduci interfaccia.

E' infine importante sottolineare che la modifica al file aggregator.module va applicata ad ogni aggiornamento del core di Drupal, almeno fino a che Drupal non abbia inserito nel core un modulo Aggregator che soddisfi anche questa specifica del WCAG.