Questo argomento è stato risolto dal team di Discourse. Lascio il topic originale attivo a scopo di archiviazione, ma la questione è stata risolta da @Roman e dal team.
Ho recentemente ricostruito Discourse per aggiornare le mie impostazioni SMTP e i tag HTML del mio avviso globale vengono ora visualizzati come testo.
Ecco come appare con i tag:
Benvenuti nei NUOVI forum di Motor Sports Real Racin' USA!
I vostri desideri e le vostre preghiere sono stati esauditi.
Abbiamo preparato un'esperienza di forum più veloce, nuova e facile da usare per voi, copiando tutto dal vecchio forum a questo. Tutti i vostri argomenti, post e profili utente sono rimasti intatti, esattamente come li avevate lasciati!
Sì, non consentiamo più che l’impostazione del sito ‘Avviso globale’ contenga HTML, ma solo testo semplice. Abbiamo scelto di trattarla come qualsiasi altro input utente e di sanificarla.
Come menzionato sopra, l’alternativa è utilizzare un argomento banner.
Hm, giusto il mio parere, ma i due hanno scopi molto diversi.
Il banner globale c’è per uno scopo specifico, ovvero quando voglio notificare al forum un argomento importante. Se un utente ha chiuso il banner, questa impostazione rimane e non può vedere un aggiornamento che altrimenti sarebbe visibile con un avviso globale.
Sì, abbiamo deciso di mantenere l’impostazione perché sappiamo quanto sia utile avere un banner non dismissibile in situazioni urgenti, ma permettere HTML non sanificato potrebbe essere potenzialmente pericoloso.
Se qualcuno ha i permessi per impostare un avviso globale, allora è anche autorizzato a creare un componente del tema? Quindi non c’è alcun vettore di attacco aggiuntivo qui?
Per chiarezza, non consideriamo questo un problema di sicurezza, dato che solo gli amministratori possono aggiornare questa impostazione. Fa parte di uno sforzo in corso per disabilitare l’uso di HTML nelle impostazioni del sito e utilizzare altri strumenti progettati a tale scopo.
Permettetemi di esporre un caso a favore della possibilità di utilizzare HTML. Sto lavorando con un cliente che sta avviando un forum per investitori. (La beta chiusa è iniziata ieri, per la precisione.) Il loro team legale insiste su un disclaimer. Deve:
Essere visualizzato in modo prominente su ogni pagina del forum.
Per un esempio (non il sito su cui sto lavorando, ma nello stesso settore), consultate il disclaimer su Freetrade. È importante notare che al legale non importa se l’avviso include HTML. Vogliono solo vederlo presente e assicurarsi che gli utenti non possano sostenere di non averlo visto.
Sfortunatamente, l’avviso è un po’ bruttino perché è un grande blocco di testo. Per fortuna, il legale è d’accordo con un carattere più piccolo e l’uso di un link al disclaimer completo. La settimana scorsa il team ha inviato al legale un testo che includeva un link al disclaimer. Questa settimana abbiamo scoperto che non è più consentito l’HTML in un avviso globale. Che bello.
Nel frattempo, se lo stessimo utilizzando per lo scopo previsto (“AVVISO URGENTE, EMERGENZA, avviso globale non eliminabile per tutti i visitatori”), non sarebbe comodo avere un modo per collegarsi a una pagina di stato o ad altro luogo per saperne di più?
In realtà non è “qualsiasi altro input dell’utente”, vero? È una configurazione del sito che può modificare solo una manciata di persone. Dal punto di vista dei proprietari del sito, questo non è input dell’utente, ma parte dell’interfaccia fornita agli utenti.[2]
Esiste una spiegazione del ragionamento da qualche parte? Se state lavorando a un altro strumento per supportare avvisi globali non eliminabili che consentono link,[3] sarebbe utile sapere quando sarà pronto. Preferirei evitare di dover impostare una personalizzazione se possibile.
Mi scuso se sembro un po’ scontroso. Non sapevamo che questo cambiamento stesse arrivando e ci mette in una posizione scomoda. La comunità sarebbe stata aperta a un pubblico più ampio la prossima settimana e questo cambiamento getta un bastone tra le ruote.
Posso vedere un argomento secondo cui questo è un uso improprio della funzionalità. Ma se dovessimo costruire questa funzionalità noi stessi, funzionerebbe esattamente come un avviso globale. ↩︎
Capisco che dal punto di vista di Discourse gli amministratori siano utenti. Semplicemente, in questo caso, sembra il modo sbagliato di vederla. ↩︎
La mia motivazione iniziale è stata quella di proteggere ulteriormente le voci del database, principalmente a causa di problemi di codifica con un vecchio forum che ho utilizzato.
Gli emoji sul forum venivano convertiti nel formato &# e, quando citati, causavano errori “Sequenza di byte non valida in utf-8” durante la conversione, mentre il forum visualizzava gli emoji come simboli �.
Pensavo che lo stesso potrebbe verificarsi con i tag HTML in un futuro aggiornamento, causando problemi al database e rendendo tutte le community inoperabili.
Qualcuno che conosce meglio il codice potrebbe probabilmente rassicurare sul fatto che ciò non accadrà, grazie ai numerosi controlli che ogni correzione supera prima di essere unita al ramo principale per il download/aggiornamento. Il team di Discourse si impegna a mantenere il sistema come una soluzione autonoma, priva di problemi e a un clic per tutti coloro che desiderano una community online, e ci sono riusciti molto bene!
Tuttavia, la mia semplice correzione è stata sufficiente per ora, in attesa di una nuova soluzione. È anche piacevole avere meno disordine sullo schermo, dato che è possibile chiudere gli argomenti dei banner.