ICS → Importatore Discourse tramite API REST

Grazie per la spinta!

Stato rapido: attualmente sto eseguendo tre istanze del mio importatore Python ICS→Discourse (orario Uni, prenotazioni Sports Centre e un calendario Outlook). Ho iniziato a incapsularlo come plugin Discourse, ma la versione plugin non ha raggiunto il set di funzionalità dello script, principalmente perché ogni feed richiede una gestione personalizzata (stranezze UID, aggiornamenti parziali, cancellazioni, revisioni rumorose, ecc.). Il plugin di Angus è ottimo per molti casi; i miei casi d’uso sembrano più “specifici del feed”.

Ho anche una PR aperta contro il core volta a ridurre il rumore del pulsante blu “Latest” durante aggiornamenti ICS grandi/bursty. Con feed impegnativi (come gli orari universitari) un batch di modifiche di basso valore può mantenere “Latest” che rimbalza; la PR effettivamente annulla il pulsante “New Topics” quando Latest è rimasto aperto mentre è in esecuzione un batch automatizzato. Sono felice di collegare quella PR qui se utile.

A lungo termine: al momento sono su IONOS self-hosted. Se in seguito mi trasferirò all’hosting ufficiale, mi piacerebbe comunque un modo per mantenere il flusso Python (o un equivalente) senza bisogno di funzionalità Enterprise, se ICS inbound esiste lì. Sospetto che una soluzione generica core/plugin potrebbe funzionare se consentisse “adattatori” pluggable per feed mantenendo una forte idempotenza (UID ICS), gestione delle cancellazioni e semantica di modifica senza bump.

Se c’è interesse, posso delineare un’interfaccia adattatore minima e un percorso di migrazione dal mio script Python a un job Ruby, o contribuire con pezzi agnostici del feed (mappatura UID, debounce/aggiornamenti no-bump, logica di cancellazione) al plugin calendario/eventi.

1 Mi Piace