Calendario liturgico italiano cattolico
Cronologia modifiche
Questo calcolatore del calendario liturgico cattolico italiano
ha avuto una lunghissima genesi: iniziato nel 2009
per la mia passione di giocare con le date in PHP e per
integrarlo in vari ambiti nel sito della mia parrocchia, è stato
a lungo in pausa poiché non ero sicuro di alcuni calcoli.
Per molto tempo è rimasto online in una pagina condivisa solo con
gli amici, che pure mostravano di apprezzarlo.
L'ho ripreso brevemente nel 2015 ma solo nel 2019, con l'occasione di rifare il mio
sito personale, l'ho modernizzato, ottimizzato e integrato in queste pagine...
e adesso mi pento di non averlo fatto prima!
Segue la cronologia delle modifiche.
2.20.0 - 16/12/2022
- Ripensato il filtro per le ricerche FTS per supportare meglio le caratteristiche offerte dal sistema di ricerca.
- Modificata la visualizzazione predefinita, da "da oggi a fine anno" a "i prossimi sei mesi".
- Apportate migliorie di usabilità al modulo di ricerca.
- Aggiunti alcuni commenti esplicativi al sorgente.
2.10.0 - 29/4/2022
- FIX: versione della licenza nell'output JSON.
- Esternalizzate alcune funzioni per maggiore praticità di sviluppo.
2.9.0 - 28/4/2022
- Passaggio alla licenza Creative Commons Attribuzione 4.0 Internazionale (CC BY 4.0).
- Aggiornato il filtro per le ricerche FTS che elimina caratteri e sequenze non valide rendendo più facili le ricerche.
- Migliorie e ottimizzazioni al sorgente per renderlo leggermente più efficiente.
- Piccole migliorie di usabilità nel modulo di ricerca.
2.8.0 - 24/1/2022
- Output CSV: ora gli eventi sono impostati come "All Day Long".
- FIX: errori HTML minori in alcune circostanze.
- Ora la scheda di ricerca viene mostrata dopo il calendario e non prima.
- Migliorie nelle istruzioni per gli utenti comuni e per chi si serve dell'API per l'output JSON.
2.7.1 - 10/1/2022
- FIX: i file CSV generati a partire dalla versione 2.7.0 non contenevano l'intestazione corretta e quindi non venivano importati da Google Calendar. Grazie a Valentina F. per la preziosa segnalazione che ha permesso di identificare e correggere il problema.
2.7.0 - 30/12/2021
- Corretto l'output dell'intervallo "da oggi a fine anno" quando il mese di inizio e fine è lo stesso.
- Aggiunta la Messa di Ringraziamento del 31/12.
- Sostituito il codice deprecato in PHP 8.1. Su tutti, sostituito strftime() con datefmt_format(), che fra l'altro è più cross-platform e ha output nativo in UTF-8, evitando molto codice aggiuntivo.
- Reso lo schema SQL in grado di auto-aggiornarsi correttamente anche se non fosse possibile cancellare il database sqlite corrente e aggiunta la tabella FTS5 di supporto alla ricerca Full Text.
- Aggiunta la possibilità di cercare fra gli eventi nell'intervallo selezionato. Funziona solo in modalità HTML.
- Aggiornato lo script che gestisce la coerenza delle impostazioni nell'interfaccia grafica.
- Ora se viene scelta la visualizzazione delle sole feste di precetto, le feste civili sono escluse dal calendario.
- Implementata una cache auto-aggiornante e auto-validante dell'output che renderà più veloce il programma quando opera su dati già richiesti da altri.
- Aggiunta la visualizzazione delle informazioni per la settimana successiva a quella in corso.
- Aggiunta l'opzione compressjson=true|false, valida solo per l'output JSON, che elimina gli spazi e la formattazione, riducendo la dimensione dell'output.
- Apportate piccole migliorie al modulo di inseriamento opzioni.
- Aggiunte alcune funzionalità di servizio.
- Proseguono le operazioni di refactoring minore del sorgente per adattarlo ad alcuni standard di coding PHP.
- FIX: in caso di una specifica condizione di errore, alcune informazioni di debug, innocue ma incomprensibili, potevano essere mostrate agli utenti.
- FIX: nell'output HTML alcune date potevano contenere uno spazio di troppo.
2.6.1 - 14/9/2021
- FIX: se Natale cadeva di domenica, la Solennità di Cristo Re era calcolata male e veniva indicata alla stessa data della Prima Domenica di Avvento. Grazie al sig. Salvatore S. per la preziosa segnalazione.
2.6.0 - 7/9/2021
- Aggiunta la festa della Beata Vergine Maria del Monte Carmelo.
- Apportati alcuni aggiustamenti ai titoli delle pagine.
- Refactoring minore del sorgente per adattarlo ad alcuni standard di coding PHP.
- Corretti un paio di errori HTML.
2.5.1 - 5/5/2020
- Piccole migliorie all'output.
- Se si cercano gli eventi del giorno e non si trova nulla, vengono comunque mostrate le Letture.
2.5.0 - 14/4/2020
- FIX: aggiunta la quinta domenica di Quaresima (ari-ops...)
- FIX: corretta la definizione della seconda domenica di Pasqua. Grazie a Plinio Borghi per la segnalazione.
- FIX: aggiunte le domeniche del tempo pasquale mancanti.
2.4.0 - 26/2/2020
- FIX: aggiunte le prime tre domeniche di Quaresima (ops...)
- FIX: il Mercoledì delle Ceneri e la Pentecoste erano indicati come eventi fissi ma non lo sono, dipendendo dalla data della Pasqua.
- FIX: la Solennità di San Giuseppe (da non confondere con la Festa del Papà) era indicata come evento fisso anche se non lo è.
2.3.0 - 19/11/2019
- Aggiunta la data di inizio delle principali Novene fisse e mobili.
- Aggiunta l'opzione colorehex=true|false, valida solo per l'output JSON, che restituisce il codice #rrggbb del colore invece del nome oppure "transparent" se non è definito.
2.2.1 - 18/11/2019
- FIX: la festa di Maria Santissima Madre di Dio era indicata come non di precetto mentre lo è. Grazie a Valentino Spataro per la segnalazione.
2.2.0 - 15/11/2019
- Piccola correzione all'output del riepilogo: alcune date potevano contenere uno spazio di troppo.
- Aggiunta la festa della Madonna di Loreto (10 dicembre).
2.1.0 - 26/10/2019
- Razionalizzate le pagine informative.
- Aggiunto l'output CSV per l'integrazione con Google Calendar.
- Ora il calendario appare con un tema scuro se l'utente usa un tema di quel tipo nel proprio dispositivo.
- Migliorata la leggibilità dei caratteri.
2.0.0 - 15/10/2019
- Riorganizzato internamente il programma che ora si appoggia a un database SQLite in cui sono memorizzati tutti gli eventi e si limita a calcolare (e memorizzare) le date di quelli mobili per l'anno richiesto.
-
La riorganizzazione ha permesso di aggiungere il supporto a ricerche parziali all'interno
del database. Al momento sono disponibili:
- Da oggi a fine anno (opzione predefinita)
- Oggi
- La prossima domenica
- Questa settimana
- Questo mese
- I prossimi 3 mesi
- I prossimi 6 mesi
- Tutto l'anno
- Aggiunte le informazioni sul tipo di festa: fissa, di precetto e data istituzione, universale o italiana (per il momento questo dato è molto incompleto).
- Aggiunti filtri per attivare o disattivare la visualizzazione delle informazioni aggiuntive (fissa, precetto, liturgia, ecc).
- Aggiunta la possibilità di visualizzare alcuni numeri e date con i numeri romani.
- Aggiunto un riepilogo dell'anno con i giorni delle principali feste e il ciclo delle letture domenicali e feriali.
- Aggiunta una legenda dei contenuti visualizzati, che si adatta alle opzioni di filtraggio scelte.
- Migliorato l'output HTML del programma, anche e soprattutto su dispositivi mobili o con schermi piccoli.
- Aggiunto del JavaScript non intrusivo per mantenere la coerenza delle opzioni scelte di volta in volta.
- Aggiunti parecchi collegamenti a Cathopedia e sostituiti alcuni di Wikipedia.
- Aggiunto supporto a https://liturgia.silvestrini.org/ per la liturgia dal 2001 al 2028.
-
Aggiunti alcuni eventi mancanti:
- Cattedra di San Pietro Apostolo (22 febbraio).
- Domenica Gaudete.
- Festa della Conversione di San Paolo (25 gennaio).
- Madonna del Rosario (7 ottobre).
- Messa del Crisma del Giovedì Santo.
- Santissimo nome di Gesù (3 gennaio).
-
Migliorato il calcolo di alcuni eventi che non erano fissi:
- Corpus Domini prima del 1978.
- Festa dell'Ascensione di Gesù prima del 1978.
- San Giuseppe.
- Corretto il calcolo della Domenica Laetare (era avanti di una settimana).
1.5.0 - 10/9/2019
- Il collegamento alla liturgia per gli anni precedenti a quello corrente viene inserito solo se effettivamente disponibile.
- Ora anche nell'output JSON il collegamento alla liturgia su LaChiesa.it viene inserito solo se disponibile dal 2001 a tre mesi dopo la data corrente.
- Ora è possibile visualizzare qualsiasi anno dopo il 1970 e non solo dal 1970 al 2037. Il limite minimo per ora resta, fino a quando i dati del calendario non saranno completati con la data di istituzione di ogni evento (campo programmato ma non visibile in produzione).
- Aggiunte alcune informazioni mancanti fra i dati del calendario.
- Corretti possibili errori nell'output HTML e apportate alcune migliorie.
- Eliminate alcune parti di codice ridondante.
1.4.0 - 9/9/2019
- Corretta la gestione di una possibile condizione di errore.
- Aggiunta all'output JSON la timezone a cui fanno riferimento le timestamp generate.
- Resa obbligatoria l'indicazione di un numero nel campo anno del template HTML, in modo da fornire un errore più chiaro se manca.
1.3.0 - 4/9/2019
- Refactoring del flusso del programma per una migliore gestione delle opzioni e in preparazione a novità più importanti.
- Aggiunta opzione per escludere le feste civili.
- Aggiunta opzione per escludere i collegamenti esterni.
- Riorganizzato output delle opzioni utente nel JSON.
- Aggiornate informazioni nel JSON.
1.2.0 - 3/9/2019
- Riorganizzata la struttura dell'URI. Ora il calendario si trova in
https://www.favrin.net/misc/calendario_liturgico/
- Ora l'output JSON contiene il campo "ts" con la timestamp dell'evento.
- Ora l'output JSON è strutturato in un array con un blocco e un secondo array, entrambi con nomi. Il primo blocco "info" contiene autore, licenza, versione, link e contatti. Il secondo, denominato "eventi" contiene appunto gli eventi.
- Aggiunta questa pagina.
1.1.0 - 31/8/2019
- Introdotto l'output JSON su suggerimento di Valentino Spataro.
- Aggiunto il supporto a Cathopedia per le informazioni sugli eventi, sempre su prezioso suggerimento di Valentino Spataro.
- Ripulito e razionalizzato un po' un sorgente nato per test e che sta rapidamente diventando altro...
- Sistemata la gestione delle condizioni di errore.
1.0.0 - 10-16/6/2019
- Stabilizzato il sorgente, convertito l'output in HTML5, integrato nel framework del mio sito personale.
- Adottato il sistema di versioning semantico (https://semver.org/)
0.92 - 29/4/2015
- Modernizzato il sorgente, nato nel 2009, nel rispetto delle modifiche alle nuove convenzioni PHP e dei cambiamenti a strtotime().
- Rivisti alcuni calcoli.
0.91 - 12/2/2009
- Aggiunti alcuni eventi mancanti.
0.6 - 9/1/2009
- Introdotto il calcolo corretto delle Domeniche del Tempo Ordinario grazie ai consigli di monsignor Danilo Barlese.
- Razionalizzazioni al sorgente.
0.1/0.5 - 8/1/2009
- Prime versioni più o meno funzionanti del generatore, con un sorgente... molto sperimentale.