Estratti troncati a 50 caratteri

Le anteprime degli argomenti funzionavano come desiderato, ovvero rispettavano post_excerpt_maxlength in tutti i casi. Ho iniziato con un plugin (che ha funzionato), poi ho scoperto SiteSetting.always_include_topic_excerpts = true e sono passato a quello. Funzionava ancora.

Circa due giorni fa, forse dopo aver applicato la versione 2.4.0.beta4, le anteprime hanno iniziato a essere troncate a 50 caratteri. Molto misterioso.

Ho provato a invertire SiteSetting.always_include_topic_excerpts, a reinstallare il plugin e a modificare il valore di post_excerpt_maxlength, ma senza risultati. Rimangono bloccate a 50 caratteri.

Qualcun altro ha notato questo problema? Non so cosa altro provare.

Potrebbe essere un bug @neil?

Un altro punto è che ciò interessa solo i nuovi argomenti. Gli argomenti più vecchi con estratti più lunghi li hanno ancora.

Aggiungere un post a un tale argomento non accorcia l’estratto (non sorprendente), ma modificare il primo post fa sì che l’estratto venga nuovamente troncato a 50 caratteri.

Quindi, anche se non ho controllato (sono nuovo di Discourse), sembra che gli estratti siano un campo del database e che il troncamento avvenga solo durante un aggiornamento del record.

LQ

Il plugin a cui hai fatto riferimento ha il valore 50 hard-coded:

https://github.com/hnb-ku/discourse-topic-excerpt-plugin/blob/master/plugin.rb#L8

Puoi fare un fork del plugin e sostituire 50 con SiteSetting.post_excerpt_maxlength, oppure @Johani può aggiornarlo per te.

Quel plugin non è stato aggiornato da quasi due anni ed è precedente all’aggiunta dell’impostazione always_include_topic_excerpts. Non dovresti usarlo affatto. Ho aggiunto un avviso di deprecazione e cancellerò quel repository tra una settimana circa.

Rimuovi quel plugin obsoleto, attiva l’impostazione always_include_topic_excerpts e fammi sapere se hai ancora lo stesso problema.

Sembra funzionare. Mi ero confuso perché l’applicazione del plugin mi ha restituito gli estratti (di 300 caratteri) che volevo, mentre prima non ne avevo nessuno. Immagino che solo i topic creati successivamente mostrassero il valore 50 hard-coded.

Una piccola complicazione: i topic esistenti con estratti di 50 caratteri li mantengono ancora. Sembra necessario modificare l’OP di questi topic per allungare i loro estratti fino a post_excerpt_maxlength. Esiste un modo per automatizzare questo processo? Grazie.

LQ

Dovrai rifare il rendering dei post affinché rispettino il nuovo limite. Maggiori informazioni qui.

Sono davvero intercambiabili oggi?

rake posts:rebake

bundle exec rake posts:rebake

Perché il primo task rake è stato completato senza problemi ma non ha rigenerato gli estratti. Tuttavia, il sito era funzionante.

Poi ho provato con be. Questo ha restituito:

rake aborted!
PG::ConnectionBad: FATAL:  Peer authentication failed for user "discourse"

… seguito da una stack trace. Ora le pagine degli argomenti sono inaccessibili. La home page è raggiungibile e la maggior parte dell’amministrazione è accessibile, anche se i grafici nella home dell’amministratore non riescono a caricarsi. Eseguendo …

rake posts:rebake

… le cose non si risolvono. Alla fine ho riavviato il droplet, ma la condizione persiste. Qualsiasi aiuto è apprezzato.

LQ

Sì, li ho provati entrambi

$ cd /var/discourse
$ ./launcher enter app
$ bundle exec rake posts:rebake

Rigenerazione del markdown dei post per 'default'
      297 / 297 (100.0%)
297 post completati!
--------------------------------------------------
$ cd /var/discourse
$ ./launcher enter app
$ rake posts:rebake

Rigenerazione del markdown dei post per 'default'
      297 / 297 (100.0%)
297 post completati!

e hanno funzionato senza problemi.

Questo implica che hai altri problemi. Hai seguito la guida all’installazione supportata quando hai configurato il tuo sito?

Sì. Installato esattamente come indicato in INSTALL-cloud.md.

L’unica differenza è che si tratta della versione 19.04. Non ho aggiornato manualmente alcun gem o fatto altro del genere.

Ecco l’output completo di bundle exec rake posts:rebake --trace

Non posso dirlo con certezza, ma credo che tu possa avere due problemi separati.

Prova quanto segue per restringere il campo:

  • rimuovi eventuali plugin non ufficiali
  • ricostruisci l’app
  • prova la modalitĂ  sicura e verifica se l’app si carica

Ricevi errori nella console del browser nelle pagine che non funzionano?

Rimosse le note a piè di pagina e i plugin delle caselle di controllo. Non sono sicuro che siano ufficiali. Ricostruito. Nessun errore nella console durante il caricamento in modalità non sicura. Il sito è attivo.

C’è qualche vantaggio nel testare la modalità sicura per gli errori della console? Se no, sembra essere uno di quei plugin.

Sì, sono ufficiali, ma assicurati di non utilizzare una fork di qualche tipo. I plugin ufficiali hanno un segno di spunta accanto ai loro nomi nell’amministratore

e sono ospitati su https://github.com/discourse/

Ho appena provato entrambi sull’ultima versione e non riesco a riprodurre il problema che stai riscontrando: il sito non si carica.

Se non ci sono errori nella modalità normale, non sicura, allora non è necessario controllarli in modalità sicura.

Immagino che gli estratti non siano ancora stati aggiornati?

Hai controllato your.site.com/logs?

No, ma è un’istanza recente. Lo lascio stare.

Sì, niente di interessante. Eseguo unattended-upgrades e sembra che dpkg stesse forse eseguendo al momento del rebake. Non mi preoccuperei.

Apprezzo il tuo aiuto.

LQ