Questa funzionalità molto richiesta ti permette di specificare quando una serie di eventi ricorrenti deve interrompersi, dandoti un maggiore controllo sulla pianificazione dei tuoi eventi.
Crea eventi che si ripetono giornalmente, settimanalmente o mensilmente - e ora determina esattamente quando dovrebbero terminare.
Una cosa complicata con la parola “Fino a” è che non è del tutto ovvio se sia inclusa o esclusa. C’è qualcosa che possiamo fare qui per dare maggiore chiarezza?
Potresti voler prendere in prestito alcune idee dalla mia implementazione delle date di inizio/fine voucher nella finestra di dialogo Nuovo voucher in un e-commerce su cui sto lavorando:
Dettaglio tecnico: Nella nostra applicazione, salviamo sempre le date come “timestamp con timezone” (postgres), quindi nessuna impostazione del database, né impostazione di connessione, può influire sul timestamp effettivo memorizzato. Anche se Postgres non lo raccomanda, lo facciamo perché offre garanzie al 100% sulla correttezza della data in qualsiasi situazione e in qualsiasi query SQL. Puoi operare con i fusi orari delle date direttamente in postgres usando le loro funzioni data/ora/fuso orario ed essere certo che funzionerà sempre al 100% correttamente. Ci affidiamo a questo.
E poi abbiamo un’impostazione del fuso orario per tutti i tipi di entità che ne hanno bisogno: profili utente, mercati, voucher, reportistica per commercialisti, e così via, in modo da poter tradurre qualsiasi data in qualsiasi fuso orario al volo senza esitazione.
I punti chiave qui sono:
Memorizza sempre data e ora con il fuso orario.
Memorizza sempre la preferenza del fuso orario.
Sii molto esplicito riguardo alle date nell’interfaccia utente, non fare magie.
Lascia che l’utente veda le date effettive nel fuso orario scelto prima di fare clic su “Salva”.
Penso che lo screenshot mostri la finestra di dialogo Inserisci data / ora anziché quella di Crea evento.
Si tratta di due flussi di lavoro diversi in Discourse Calendar:
Inserisci data / ora viene utilizzato per le risposte in un argomento il cui messaggio iniziale (OP) contiene un blocco [calendar].
Crea evento crea un Evento effettivo ([event ...][/event]) ed è lì che sono disponibili le impostazioni per gli Eventi ricorrenti, inclusa la data di fine della ricorrenza.
Quindi, per la funzionalità annunciata in questo argomento, prova ad aprire il menu + del compositore e a scegliere Crea evento, anziché Inserisci data / ora.
Di recente stavo testando quel flusso per gli Eventi ricorrenti e ho anche trovato un caso limite dopo che una ricorrenza con limite è scaduta completamente, per cui ho aperto una correzione qui:
Solo per chiarire, non credo che si tratti davvero di un caso in cui la funzione non funziona per Inserisci data / ora — si tratta di un flusso di lavoro diverso.
Inserisci data / ora viene utilizzato quando si ha un blocco [calendar] nel post di apertura di un argomento e si desidera che le risposte con data appaiano nel calendario di quel particolare argomento.
Crea evento, d’altra parte, crea un vero Evento Discourse ([event ...][/event]). La data di fine dell’evento ricorrente di cui si discute in questo argomento si applica a quel sistema di ricorrenza degli Eventi.
Quindi, se il tuo obiettivo è mantenere un calendario locale a un singolo argomento, il flusso di lavoro mostrato nel tuo screenshot originale è quello appropriato; semplicemente non utilizza la stessa funzione di ricorrenza limitata degli Eventi.
Il caso d’uso è mantenere un calendario per la mia scuola. Ci sono sempre appuntamenti da inserire, quindi qualsiasi genitore può rispondere al thread per aggiungere un nuovo appuntamento.
Ma proprio ieri ho dovuto inserire un appuntamento ricorrente e, purtroppo, questa opzione non è disponibile in questo flusso di lavoro. Quindi devo farlo manualmente rispondendo molte volte al thread con una nuova data (non so se esista un modo più intelligente…)
Potrebbe esserci un modo per automatizzare le risposte manuali mantenendo il tuo attuale flusso di lavoro basato su [calendar] a livello di argomento.
Una possibilità sarebbe quella di utilizzare un utente Discourse dedicato con la funzione di risposta via e-mail abilitata, per poi far generare a uno strumento come Power Automate o un’Azure Logic App le singole risposte con data e inviarle nell’argomento del calendario tramite e-mail.
Ad esempio, un appuntamento settimanale con una data di fine potrebbe essere espanso dall’automazione nelle singole risposte necessarie, in modo che i genitori continuino a vedere un normale calendario dell’argomento anziché argomenti Evento separati.
Ci sono alcuni dettagli relativi alle chiavi di risposta via e-mail per utente di Discourse che dovranno essere configurati con attenzione, quindi questo argomento probabilmente non è il posto migliore per esaminare la configurazione.
Se questo approccio ti fosse utile, sarò felice di aiutarti a lavorarci in un argomento Meta separato.
Al momento è successo solo una volta, quindi aspetterò la prossima occasione (e spero che non si ripeta).
Mantengo il trucco della risposta via e-mail, grazie. Ma questo significa che per un evento settimanale per un anno intero dovremo generare 52 risposte? Renderebbe il topic difficile da leggere…
Altrimenti, immagino che, avendo i diritti di amministratore, posso anche usare l’API per aggiungere manualmente gli appuntamenti.
Sì – purtroppo l’API automatizzerebbe la creazione delle risposte, ma non risolverebbe davvero il problema del disordine: per un calendario di un argomento, le singole voci del calendario sono ancora rappresentate da risposte individuali.
Ho appena trovato una richiesta di funzionalità esistente che corrisponde quasi esattamente al tuo caso d’uso:
Il loro esempio è un corso che si svolge per dodici mercoledì consecutivi, e fanno la stessa osservazione: creare ogni occorrenza individualmente è noioso e crea disordine nell’argomento.
Suggeriscono di consentire la ricorrenza in Inserisci data / ora, insieme a una data di fine per l’ultima occorrenza, il che sembra molto vicino a ciò di cui hai bisogno.
Quindi, piuttosto che costruire una soluzione alternativa tramite API/Power Automate che generi 52 post, quella richiesta di funzionalità è probabilmente il posto migliore in cui aggiungere il tuo caso d’uso per il calendario scolastico.
Se ti preoccupa il disordine, ti consiglierei l’impostazione Events_calendar_categories piuttosto che il calendario per argomento, e i genitori possono accedere a Discourse tramite un’automazione che porta a