Creazione e gestione dei calendari

:bookmark: Questa guida spiega come creare e gestire calendari in Discourse utilizzando il plugin Calendar (and Event).

:person_raising_hand: Livello utente richiesto: Tutti gli utenti

I calendari sono una potente funzionalità in Discourse che ti consente di organizzare e visualizzare eventi all’interno della tua comunità. Questa guida ti accompagnerà attraverso il processo di creazione di calendari, aggiunta di eventi e gestione efficace degli stessi.

Sommario

  • Abilitare il plugin Calendar
  • Creare un calendario in un argomento o in una categoria
  • Aggiungere eventi al tuo calendario
  • Gestire le opzioni e le impostazioni del calendario
  • Utilizzare la funzione calendario festività

Abilitare il plugin Calendar

Prima di poter creare calendari, assicurati che il plugin “Calendar (and Event)” sia abilitato sulla tua istanza di Discourse. Per maggiori dettagli sull’abilitazione del plugin e sulle sue impostazioni correlate, fai riferimento alla documentazione del plugin Discourse Calendar and Event.

Creare un calendario

Calendario in un argomento

Per incorporare un calendario in un argomento:

  1. Crea un nuovo argomento o modifica il primo post di un argomento esistente

  2. Aggiungi il seguente codice su righe separate:

    [calendar]
    [/calendar]
    
  3. Pubblica o aggiorna il post


:information_source: Il primo giorno della settimana predefinito è lunedì, ma può essere configurato utilizzando l’impostazione del sito “calendar first day of week” (opzioni: sabato, domenica o lunedì).

Calendario di categoria

Per creare un calendario valido per un’intera categoria:

  1. Vai su /admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar

  2. Nell’impostazione “calendar categories”, aggiungi una voce con il seguente formato:

    categoryId=123;tzPicker;defaultView=month
    
    • Sostituisci 123 con l’ID della tua categoria (trovato nell’URL quando visualizzi la categoria)
  3. Aggiungi l’ID della categoria all’impostazione “events calendar categories”

  4. Facoltativamente, imposta “discourse post event allowed on groups” per controllare quali gruppi possono aggiungere eventi

Aggiungere elementi a un calendario

Calendario in un argomento

Per aggiungere un evento a un calendario in un argomento:

  1. Rispondi all’argomento contenente il calendario
  2. Apri il menu opzioni ⊕ nella barra degli strumenti del compositore e utilizza la funzione “Inserisci data / ora” per aggiungere una data o un intervallo di date
  3. Aggiungi una descrizione sopra la data
  4. Invia la risposta

L’evento apparirà nel calendario dopo aver ricaricato l’argomento.

Calendario di categoria

Per aggiungere un evento a un calendario di categoria:

  1. Crea un nuovo argomento nella categoria
  2. Apri il menu opzioni ⊕ nella barra degli strumenti del compositore e seleziona “Create event” (Crea evento)
  3. Compila i dettagli dell’evento e pubblica

L’evento apparirà nel calendario della categoria.

Opzioni del calendario

Puoi personalizzare il tuo calendario utilizzando varie opzioni:

Opzione Esempio Descrizione
Nascondi fine settimana weekends="false" Nasconde sabato e domenica
Nascondi giorni specifici hiddenDays="1,2" Nasconde lunedì e martedì (usa 0-6 per domenica-sabato)
Imposta vista predefinita defaultView="month" Opzioni: month, week, listNextYear
Ignora fusi orari fullDay="true" Tratta tutti gli eventi come eventi di intera giornata

Esempio di utilizzo:

[calendar weekends="false" hiddenDays="1,2" defaultView="week" fullDay="true"]
[/calendar]

Rimozione elementi dal calendario

Gli elementi del calendario possono essere rimossi nei seguenti modi:

  • Gli elementi del calendario scaduti possono essere rimossi automaticamente utilizzando l’impostazione “delete expired event posts after”
  • Usa i timer degli argomenti per eliminare automaticamente le risposte
  • Elimina manualmente i post secondo necessità

Calendario festività

Il calendario festività è una funzione speciale per la gestione delle ferie del personale del sito:

  1. Crea un argomento con un calendario nel primo post
  2. Imposta “holiday calendar topic id” sull’ID di questo argomento
  3. Le risposte a questo argomento verranno trattate come tempo di ferie per l’utente che risponde
  4. Ogni risposta deve contenere un timestamp aggiunto tramite la funzione “Inserisci data / ora” nel menu opzioni ⊕ del compositore affinché appaia sul calendario
  5. Le voci di ferie sono colorate automaticamente e casualmente
  6. Un’emoji (predefinita: :date:) appare accanto ai nomi degli utenti in ferie nelle schede utente e nelle @menzioni
  7. Facoltativamente, includi le festività specifiche della locale per gli utenti abilitando “calendar automatic holidays enabled”

FAQ

D: Perché alcuni eventi sembrano coprire più giorni?
R: Il calendario è sempre in UTC. Usa le impostazioni “all day event start time” e “all day event end time” per adattarti alle differenze di fuso orario.

D: Posso controllare i colori delle voci del calendario?
R: Per i calendari di categoria e gli eventi imminenti, puoi assegnare colori tramite tag o categoria utilizzando l’impostazione del sito “map events to color”. Le voci del calendario festività sono colorate automaticamente e casualmente e non possono essere personalizzate.

D: Come visualizzo gli eventi passati in una vista elenco?
R: Attualmente c’è un bug quando si utilizza defaultView=listNextYear che fa sì che la vista iniziale sia vuota. Come soluzione alternativa, gli utenti devono passare alla vista mensile, tornare indietro di un mese e poi tornare alla vista elenco per vedere gli eventi passati.

Risorse aggiuntive

11 Mi Piace

Ho difficoltà a capire come creare un calendario in modo che venga visualizzato in una categoria e cosa fare per compilarlo una volta che è lì. Per gli argomenti è abbastanza semplice, ma il caso della categoria è più oscuro. Qualcuno può fornire un esempio?

Crea un calendario per categoria

La differenza tra un calendario per argomento e un calendario per categoria è che il primo utilizza add date da una risposta di argomento specifica e visualizza il calendario nell’argomento stesso, mentre il secondo utilizza create event in qualsiasi argomento della categoria configurata e visualizza il calendario degli eventi nella categoria.

1. Abilita il plugin del calendario

In /admin/site_settings/category/discourse_calendar?filter=plugin%3Adiscourse-calendarcalendar categories:
Vuoi qualcosa come: categoryId=123;postId=4949;tzPicker;defaultView=month

  • categoryId è facile da trovare: è il numero nell’URL quando fai clic su #category

  • postId si trova così: vai alla descrizione della categoria (l’argomento fissato “Informazioni sulla categoria”) e aggiungi .json all’URL: il postId si trova all’inizio del file JSON.

  • Rivedi la documentazione di discourse-calendar per opzioni disponibili.

  • Aggiungi la categoria (numerata 123 nel nostro esempio) a events calendar categories
    Potresti voler impostare discourse post event allowed on groups per includere i gruppi a cui vuoi consentire l’aggiunta di eventi.

2. Crea un evento

Puoi creare un nuovo argomento nella categoria 123 e create event (dal pulsante a forma di ingranaggio).
L’evento apparirà quindi sul calendario della categoria.

:tada:

2 Mi Piace

C’è un modo per visualizzare non gli eventi imminenti, ma quelli dell’anno passato? Vorremmo utilizzare il plugin per la nostra sezione journal e elencare tutte le voci passate nel primo post.

Quando si utilizza lo snippet seguente, l’elenco degli eventi è inizialmente vuoto. Solo tornando alla vista mensile, tornando indietro di un mese e tornando alla vista elenco, funziona

[calendar defaultView=listNextYear fullDay=true]
[/calendar]

Vedi il bug in azione:
CleanShot 2024-05-07 at 14.08.49 2

6 Mi Piace

Sono interessato anche a questa funzione.

Mi chiedo se potrebbero esserci anche degli script per l’esplorazione dei dati che accompagnino la ricerca nel calendario.

3 Mi Piace

Quando qualcuno nella mia community pubblica un evento del calendario, poi un amministratore modifica tale evento, perché l’autore originale non può più modificarlo?

Questo è un problema enorme che colpisce centinaia di persone.

Rendi chiaro che per ora solo il calendario dell’argomento inizia di lunedì e che il calendario della categoria inizia invece di domenica.

Mi piacerebbe che questo fosse configurabile dall’amministratore, poiché ora ognuno mostra il calendario in modo diverso…

3 Mi Piace

Uh-huh. Ha senso, perché non avevo capito–

Affinché le festività siano visibili nel calendario delle festività, vale la pena menzionare che la risposta deve contenere un timestamp che aggiungi dal menu dell’editor.
Inoltre, come precedentemente indicato, l’ID del post si trova aggiungendo .json all’URL del post. Penso che questo dovrebbe essere aggiunto alla documentazione qui, poiché se le categorie hanno il loro ID nell’URL, l’ID dell’URL dell’argomento confonderà le persone poiché il suo numero potrebbe essere vicino ma non simile al vero ID dell’argomento.

Grazie comunque per questa guida, c’è molto da coprire perché ci sono molte funzionalità, il che è fantastico, ottimo lavoro agli sviluppatori!

Ah, la riscrittura dell’IA ha aggiunto una terminologia di “evento”. Idealmente, questo termine dovrebbe essere evitato nella metà “Calendario” della documentazione per non creare ambiguità con la funzionalità aggiuntiva “Evento” del plugin.

1 Mi Piace

Voglio chiedere che il mio discourse non abbia il calendario e il pulsante dell’ingranaggio dopo aver abilitato il plugin, c’è qualcosa che non va?

1 Mi Piace

L’icona dell’ingranaggio è stata cambiata in un po’ di tempo fa. Penso che inserisci data sia stato spostato in quel menu più (penso che ora utilizzi anche l’icona ).

Decisamente un ottimo punto. Sembra che questa documentazione necessiti di un aggiornamento (e probabilmente ci sono anche altri argomenti che fanno ancora riferimento all’icona dell’ingranaggio).

1 Mi Piace

Grazie per la risposta, e poi mi sono reso conto di un altro errore correlato a questo. Ho questa icona, ma è più grande e nel posto sbagliato, bloccando, come puoi vedere. È normale sul telefono, ma non sul desktop. A proposito, nessun calendario ma eventi nella lista. Cosa posso fare :pleading_face:

La modalità sicura corregge la posizione dell’icona più?

Quale pulsante del calendario ti aspetti?

Quello ora è

Ho questo pulsante di inserimento, poi come posso pubblicare un calendario? Ho provato il codice [calendar], che funziona, ma data/ora include il calendario?

Per il pulsante grande, ho provato la modalità sicura, ed è ancora così. La ricostruzione dell’app non funziona, posso sperare che il prossimo aggiornamento della versione risolva questo problema?:relieved_face: O c’è qualcosa che posso fare, a parte rifare tutto da capo :rofl:

:man_zombie:

Questa impostazione sembra essere la causa più probabile:

image