Troppa confidenza porta all'errore
Un giorno imparerò in modo definitivo che l'eccesso di confidenza porta guai, come esemplificato dalla foto a lato.
Ad esempio, mai aggiornare il sito in produzione senza prima testare le modifiche localmente.
Ieri YOOtheme ha pubblicato un aggiornamento del suo tool WidgetKit, compresa la versione free che utilizzo sul sito. Alè, sparo subito il pacchetto sul sito in produzione. Almeno il backup del DB MySQL e della cartella dei file di Joomla l'ho fatto prima, fino a lì ci arrivo. Diciamo che sono stato fesso a metà...
Uno dei componenti di WidgetKit Free è il modulo per i tweet di Twitter.
Per esperienza diretta su altri siti, e per i report sul forum di YOOtheme, so che questo modulo ha problemi occasionali nella visualizzazione dei tweet, spesso causati da cambiamenti delle API di Twitter.
Ad esempio, a volte il modulo non visualizza i tweet ma solo un laconico messaggio No Tweets found. Vabbè, finora mi è sempre andata bene e aggiorno il componente. Questa volta mi va male.
Ecco il fastidioso No Tweets found che si presenta subito. Grrr. Comincio andando a dare un'occhiata ai parametri del modulo, ed ecco una novità: ci sono alcuni nuovi campi, come OAuth Access Token, Consumer Key e altri che chiaramente sono legati a Twitter.
Alè, un po' di ricerca in rete e la conferma puntuale: per accedere alle API di Twitter è necessario specificare alcuni token. Strano, sino ad ora tutto aveva funzionato regolarmente senza, e pare che questa politica di Twitter sia in vigore da qualche tempo. Uhm.
Comunque, la prima conseguenza è che devo registrare un account su Twitter, e molto controvoglia, per le ragioni che spiego altrove. Altro grrr.
Vabbe', Google lo fa da tempo, per Maps, per Analytics, per tutto quanto insomma. Lo posso sopportare: uso un servizio gratuito, devo accettare le loro regole. Mi registro (a proposito: il mio nome Twitter è Ciaparche Verde, ma non twitto un accidente, se volete seguirmi comunque fate clic su questo pulsante: Segui @ciaparche).
Bene, una volta iscritto ottengo facilmente i parametri richiesti per l'autenticazione API e li inserisco nel modulo. Salvo, aggiorno la pagina ed ecco apparire i tweet. Dopo tutto è bastato poco. Ma... aspetta un momento. I tweet sono di autori diversi da quelli che ho specificato!!! Sono tweet di utenti che ritwittano o twittano (ma che verbo del ca...iser) notizie relative a Steam o Gog, i tweet che seguo. Ma che è!?!?!?!
Inizio una noiosissima sessione di debug per capire cosa succede. Probabilmente, chi ieri si è collegato al sito avrà visto comparire nella sezione dedicata ai tweet una serie di dati incomprensibili: stringhe assolutamente criptiche, stampa di array PHP, o altro. Ebbè non ho altro modo di fare il debug. Al termine ho concluso che si tratta di un problema del modulo YOOtheme.
Aspetterò la prossima versione e farò tesoro della lezione. Intanto, installo una precedente versione del WidgetKit e voilà, tutto torna a funzionare.