Argomenti collegati (divisione e gestione di megatopici)

Ho appena unito una funzionalità che crea automaticamente un nuovo argomento collegato quando un argomento viene chiuso automaticamente in base all’impostazione del sito auto close topics post count.

Questa funzionalità è particolarmente utile per dividere e gestire automaticamente i megatopic.

Ecco come funziona

Immaginiamo che l’impostazione auto close topics post count sia impostata su 10000 messaggi e che un argomento (con titolo “Presentati!”) abbia appena raggiunto tale limite.

Ora chiuderemo quell’argomento e ne creeremo uno nuovo collegato per continuare la discussione. Il primo messaggio del nuovo argomento collegherà a tutte le discussioni precedenti (argomenti).

Il titolo dell’argomento originale verrà aggiunto con “Parte 1” e quello del nuovo argomento con “Parte 2”.

Gli argomenti successivi seguiranno una convenzione di denominazione simile.

Inoltre, apparirà un messaggio di moderatore alla fine dell’argomento chiuso automaticamente, che indicherà la disponibilità di un nuovo argomento per continuare la discussione.

Questa funzionalità è abilitata per impostazione predefinita. Per disabilitarla, è sufficiente disattivare l’impostazione del sito auto close topics create linked topic.

Tieni presente che questa funzionalità verrà disabilitata se auto close topics post count è disattivata (impostata su 0).

33 Mi Piace

Che fantastico!

È qualcosa che potrebbe essere utilizzato come soluzione al “problema delle 10.000 messaggi di chiacchiere”?

4 Mi Piace

Ho una piccola suggerimento riguardo a queste righe di codice (e a qualsiasi altra cosa possa aver trascurato):

previous_topics += "- [#{topic.title}](#{topic.url})\n"
parent_topic.add_moderator_post(system_user, I18n.t('create_linked_topic.moderator_post_raw', new_title: "[#{new_topic_title}](#{new_topic.url})"))

Consiglierei di sostituire [titolo](url) con semplicemente url, affidandosi alla funzionalità esistente di Discourse che visualizza il titolo dell’argomento direttamente dall’URL. Se non erro, questo avrebbe il vantaggio di aggiornare automaticamente il titolo dell’argomento visualizzato nel caso in cui l’argomento venga rinominato, il che mi sembra un tocco molto carino.

6 Mi Piace

Sì, è una buona idea @techAPJ, dovremmo probabilmente farlo.

Inoltre, possiamo far sì che ci sia un unico messaggio invece di due? Perché non integrare la parte “continua la discussione” nel messaggio di chiusura? Tipo:

Questo argomento è stato chiuso automaticamente dopo aver raggiunto il limite massimo di 10000 risposte. Continua questa discussione su {link}

9 Mi Piace

Completato tramite:

Certo, completato tramite:

11 Mi Piace

Questo non funzionerà altrettanto bene quando si continua la discussione da un argomento con accesso limitato a un’altra categoria senza le stesse restrizioni di accesso esatte.

1 Mi Piace

È un caso d’uso plausibile? Sembra che in genere l’argomento in corso rimanga nella stessa categoria dell’argomento originale. Se si verifica questa situazione, dici che non funzionerà altrettanto bene, ma quale sarebbe esattamente il comportamento?

4 Mi Piace

Anche senza il problema del collegamento, mi aspetterei che l’argomento continuato abbia ereditato le stesse identiche restrizioni di accesso. Lo considererei un bug se non lo facesse.

4 Mi Piace

Buon punto - allora probabilmente va bene!

3 Mi Piace

Ciao, funzionalità molto bella, ma due problemi:

  1. Come possiamo modificare il testo “Parte” (1, 2 e così via)? Nei forum in lingua inglese probabilmente va bene, ma vorremmo poterlo cambiare.
  2. La categoria del nuovo argomento. Abbiamo appena ottenuto il nostro primo argomento collegato automaticamente ed era “senza categoria”. Ciò che vorremmo è che il nuovo argomento erediti la categoria dell’argomento precedentemente chiuso automaticamente.
4 Mi Piace

Sì, sono punti validi, ma l’ultima volta che ho controllato la categoria veniva ereditata correttamente, è così @techAPJ?

3 Mi Piace

Dovrai aggiornare la traduzione per questi chiavi. Vedi: Contributing translations to Discourse

Si tratta di un bug valido. Lo risolverò con priorità oggi.

Credo che possa essere stato un aggiornamento manuale. Non vedo codice per assegnare la categoria all’argomento collegato.

6 Mi Piace

Risolto tramite:

9 Mi Piace

Anche io sono molto interessato a questa domanda.

1 Mi Piace

@elijah volevi continuare la tua conversazione qui? Secondo me è il posto più adatto per farlo.

3 Mi Piace

@elijah apparentemente vuoi che lo stato di notifica dell’argomento (osservando, tracciando, silenziato, ecc.) di ogni singolo utente nel vecchio argomento venga copiato nel nuovo argomento, giusto?

Capisco la logica, ma la mia preoccupazione è che potrebbe risultare un po’ invasivo per alcuni utenti… gli argomenti lunghi possono coinvolgere centinaia o migliaia di persone. Qualcun altro ha opinioni a riguardo, pro e contro?

4 Mi Piace

Sì, lasciami ripetere qui i miei suggerimenti, per contesto.

Sui megatemi proponevo uno di questi due modi per rendere la divisione più fluida per gli utenti meno frequenti.

Metodo Copia Osservati: quando si divide un argomento, copia lo stato di silenziato/in osservazione/seguito per il nuovo argomento. (E se l’ultimo argomento aveva solo lo stato copiato, non impostato originariamente: annulla lo stato di osservazione per quello ora chiuso.) Razionale: Se l’utente non è stato presente per leggere l’argomento da un po’, ma è generalmente interessato, aiutalo a recuperare non evidenziando i post non letti nell’argomento vecchio, ma solo nel nuovo.

Metodo Divisione dall’Alto: quando si divide un argomento, facilita lo spostamento dei post dal 2 al N dopo il primo in un nuovo argomento (chiuso alla creazione) e sostituisci quei post spostati con un messaggio di collegamento all’argomento. Razionale: modificare le impostazioni di osservazione è disordinato. Questo permette di archiviare i contenuti vecchi senza rompere i collegamenti esterni (segnalibri, RSS, incorporati in un’app, ecc.) o le impostazioni di osservazione interne.

Mi piace di più il metodo della divisione dall’alto, ma entrambi sembrano modi per aiutare gli utenti interessati a argomenti molto lunghi (o a lungo termine ma divisi).

3 Mi Piace

Sto usando WP e Discourse per fare educazione audio e riflessione di gruppo, e stavo pensando a quanto potrebbe essere utile se, quando il plugin WP crea un nuovo argomento su Discourse, un evento innescasse la creazione di un argomento collegato come argomento di riflessione per quell’argomento principale. In questo modo, mi permetterebbe di mantenere l’argomento originale come di sola lettura, in modo che le persone non vedano le riflessioni prima di ascoltare l’audio, e avere l’argomento collegato dove vanno a riflettere.

Simile a questo:

Sto presumendo correttamente che potrebbe bastare una leggera modifica a questo codice qui per realizzarlo in un nuovo plugin?

      if SiteSetting.auto_close_topics_create_linked_topic?
        # accoda un lavoro per creare un argomento collegato
        Jobs.enqueue_in(5.seconds, :create_linked_topic, post_id: @post.id)
      end

Inoltre, sono curioso di sapere se ci sono abbastanza applicazioni per la creazione automatica di un argomento collegato dove avrebbe senso includerlo in Discourse Automation?

1 Mi Piace