Albo Pop Università di Catania
La pagina web dell'albo è http://ws1.unict.it/albo/.
Il feed generato è disponibile all'indirizzo http://blog.spaziogis.it/static/ods/data/albopop/unict/unict2RSS.php
Oltre che sul feed rss, gli avvisi dell'albo POP sono diffusi attraverso i seguenti canali:
- canale telegram è https://telegram.me/albounict;
- pagina Facebook https://www.facebook.com/albopopunict;
- canale IRC
#dmi
sul server irc.azzurra.org.
L'albo ufficiale dell'Università degli Studi di Catania si trova al seguente indirizzo
La data di pubblicazione dell'intero feed (probabilmente assimilabile alla data di ultima modifica) si trova come testo libero all'interno di un elemento div
con id titolo
.
<div id="titolo">Pubblicazione del 01/01/2016 23:00:05</div>
Gli elementi dell'albo si trovano invece in una tabella annidata ad un div
con id boge
. La prima riga della tabella rappresenta l'intestazione, le successive sono gli elementi veri e propri. Dall'intestazione si deduce che le righe hanno i seguenti campi: numero, data registrazione, richiedente, oggetto, inizio pubblicazione, fine pubblicazione. Solitamente i campi data registrazione e inizio pubblicazione coincidono. Le date hanno il formato
dd/mm/yyyy
.
Tutti i valori all'interno delle righe sono all'interno di un tag span
. Inoltre, nel campo oggetto la descrizione è all'interno di un elemento di tipo span
che può essere seguito da una lista contenente dei link a dei documenti collegati.
L'idea di realizzare una trasformazione xsl per generare il feed RSS è stata abbandonata perchè la pagina html contiene degli errori di sintassi. Sono stati invece realizzati tre script PHP. Tutti e tre usano l'implementazione delle api DOM (Document Object Model) in PHP. Riguardo agli elementi del feed, ho fatto riferimento a questo template per i feed, usato per altri Albi Pop.
Per automatizzare gli annunci di nuovi elementi nell'albo su Telegram ho seguito la https://github.com/aborruso/albo-pop/wiki/IFTTT.
Per creare il bot telegram necessario ho seguito la guida [https://core.telegram.org/bots#botfather](BotFather - Create a new bot)
E' stato necessario modificare il body del messaggio inviato a telegram dal maker channel aggiungendo il corpo dell'item rss poichè nel feedil titolo di ogni entry contiene solo il numero dell'avviso.
chat_id=@albounict&text= {{EntryTitle}} {{EntryUrl}}{{EntryContent}}
La ricetta IFTTT ha id 31908607.
Una analoga ricetta è stata creata per inviare le notifiche sulla apposita pagina facebook [https://www.facebook.com/albopopunict](Albo POP Unict). Il maker channel è identico a quello usato per la ricetta relativa a telegram, mentre per l'action channel ne ho usato uno di tipo Facebook Pages.
Il bot bernardo
notifica gli avvisi sul canale IRC #dmi
sul server irc.azzurra.org. Tutto questo grazie all'intervento del gestore del canale.