Nuove funzionalità in 2.4.0.beta3
Personalizzazione del file robots.txt
Questa funzionalità permette agli amministratori di personalizzare/sovrascrivere il contenuto del file robots.txt in /admin/customize/robots. Quella pagina non è collegata da nessuna parte nell’interfaccia utente: gli amministratori devono digitare manualmente l’URL per accedervi:
Invio di un massimo di 200 email al minuto per inviti in blocco
Nota: invite.via_email è stato deprecato a favore di invite.emailed_status.
Questo commit aggiunge una nuova colonna emailed_status nella tabella invites per tracciare lo stato di invio delle email.
0 - non richiesto
1 - in sospeso
2 - in sospeso per inviti in blocco
3 - in invio
4 - inviato
- Per gli inviti email normali, viene creato un record invito con
emailed_statusimpostato su ‘in sospeso’. - Quando vengono inviati inviti in blocco, viene creato un record invito con
emailed_statusimpostato su ‘in sospeso per inviti in blocco’. - Per gli inviti che generano un link, viene creato un record invito con
emailed_statusimpostato su ‘non richiesto’. - Quando l’email di invito è in coda,
emailed_statusviene aggiornato a ‘in invio’. - Una volta inviata l’email tramite il job
InviteEmail, l’emailed_statusdell’invito viene aggiornato a ‘inviato’.
Autenticazione esterna durante la riscossione degli inviti
Questa funzionalità (se abilitata) permetterà ai siti invite_only di richiedere un’autenticazione esterna prima di poter riscattare un invito.
- Creata una impostazione sito nascosta per attivare questa opzione
- Abilita l’invio di inviti con il login locale disabilitato
- Aggiunto un pulsante OAuth nel modulo di invito
- Richiede che l’indirizzo email OAuth corrisponda all’indirizzo email dell’invito
- Impedisce la riscossione dell’invito se l’autenticazione OAuth fallisce
Scelta della categoria durante la pubblicazione di un messaggio privato
In precedenza, la categoria predefinita era Senza categoria, il che non era ideale su alcuni forum. Ora il membro dello staff può decidere immediatamente in quale categoria spostare il messaggio privato.
Visualizzazione delle email grezze per i post in coda da esaminare
Se un post arriva via email ma deve essere esaminato, ora viene mostrato un’icona cliccabile per visualizzare il contenuto grezzo dell’email.
Questo è utile se il parser email di Discourse si comporta in modo strano e l’utente che esamina il post vuole conoscere il contenuto originale prima di approvare o respingere il post.
Miglioramenti delle parole monitorate
In questa versione sono state aggiunte nuove funzionalità.
Sono presenti due nuovi pulsanti. Il primo permette agli amministratori di scaricare le parole monitorate per azione in un file .txt, il secondo pulisce tutte le parole eliminate per azione (es. blocco, segnalazione, ecc.). Inoltre, quando un post viene respinto perché contiene una o più parole bloccate, il messaggio di errore ora elenca tutte le parole bloccate presenti nel post.
Si prega di notare che questa nuova funzionalità modifica anche il formato del file per l’importazione delle parole monitorate da .csv a .txt, rendendolo incoerente con l’estensione del file quando le parole monitorate vengono esportate.
Personalizzazione delle email HTML
Questa funzionalità aggiunge la possibilità di personalizzare la parte HTML di tutte le email utilizzando un modello HTML personalizzato e, opzionalmente, del CSS per lo stile. Il CSS verrà analizzato e convertito in stili inline poiché i client di posta supportano male il CSS. Quando si scrivono HTML e CSS personalizzati, si tenga presente quali client di posta li supportano. Mantenere le personalizzazioni molto semplici.
Le personalizzazioni possono essere aggiunte e modificate in Amministratore > Personalizza > Stile email.
Poiché l’email di riepilogo è già fortemente stilizzata, esiste un’impostazione per disabilitare gli stili personalizzati per le email di riepilogo chiamata apply custom styles to digest (applica stili personalizzati al riepilogo), reperibile in Amministratore > Impostazioni > Email.
Come parte di questo lavoro, le località RTL ora vengono renderizzate correttamente per tutte le email.
Elenca i moderatori delle categorie nella pagina “Chi siamo”
Un nuovo aggiornamento per la funzionalità Category Group Review/Moderation. D’ora in poi, i moderatori delle categorie saranno visibili nella pagina “Chi siamo” del sito, insieme ai membri dello staff.
Aggiunta del supporto per il livello di visibilità dei membri del gruppo e invio di una notifica quando un membro viene accettato nel gruppo.
Un’altra aggiunta alla gestione della visibilità dei gruppi. Ora ci sono 5 livelli di visibilità (simili alla visibilità del gruppo):
- pubblico (predefinito)
- utenti registrati
- solo membri
- staff
- proprietari
Gli amministratori e i proprietari del gruppo hanno sempre visibilità sui membri del gruppo.
Inoltre, d’ora in poi, verranno inviate notifiche agli utenti che vengono accettati in un gruppo.
Incorporamento dell’elenco dei topic nei siti remoti tramite API JavaScript.
Questa funzionalità aggiunge il supporto per un tag <d-topics-list> che puoi incorporare nel tuo sito e che verrà renderizzato come un elenco di topic Discourse. Qualsiasi attributo sul tag verrà passato come filtro. Ad esempio:
<d-topics-list discourse-url="URL" category="1234"> filtrerà per la categoria 1234.
Per utilizzare questa funzionalità, abilita l’impostazione del sito embed topics list (incorpora elenco dei topic). Quindi, sul sito in cui desideri incorporare l’elenco, includi il seguente JavaScript:
<script src="http://URL/javascripts/embed-topics.js"></script>
Dove URL è l’URL del tuo forum Discourse.
Quindi includi il tag <d-topics-list discourse-url="URL"> nel tuo documento HTML e verrà sostituito con l’elenco dei topic.
Per i dettagli, consulta Embedding a list of Discourse Topics in another site
Aggiunta di un webhook per le notifiche utente
Se abilitato, questo attiverà un webhook ogni volta che viene creata una notifica per un utente. Questo potrebbe potenzialmente generare molti dati a seconda del tuo forum e dovrebbe essere usato con cautela poiché include tutto ciò che tutti gli utenti vedranno nei loro feed.
Trattare theme_uploads come impostazioni in JavaScript e consentire ai temi di caricare file js come risorse
Queste sono altre due migliorie per i temi. La prima permette ai temi e ai componenti di accedere alle risorse del tema. Ciò significa che all’interno del JavaScript del tema ora è possibile ottenere l’URL di una risorsa con:
settings.theme_uploads.name
La seconda miglioria aiuta a sbloccare la possibilità per i temi di posticipare il caricamento di payload JS più grandi. La modifica è sicura poiché ai temi è comunque consentito includere JavaScript inline.
Impostazioni del sito per il collegamento con app native iOS/Android e incorporamento del prompt di installazione PWA nell’interfaccia utente di Discourse
In questa versione sono presenti nuove funzionalità anche per le app Android e iOS.
Ora ci sono due nuove impostazioni del sito per aggiungere il supporto per i collegamenti universali iOS tramite un endpoint apple-app-site-association e per i collegamenti digitali di Google (Google Digital Asset Links) all’endpoint .well-known/assetlinks.json.
Inoltre, impediremo che la barra “mini-info” di installazione nativa appaia mai, cattureremo l’evento che la fa apparire e la ritarderemo fino a quando l’utente non soddisferà i nostri criteri, che attualmente sono il livello di fiducia 1.
Se l’evento si verifica e l’utente soddisfa i nostri criteri, mostriamo un banner di avviso di Discourse che propone l’installazione all’utente. La chiusura del banner viene registrata in modo che l’utente non venga più disturbato sullo stesso dispositivo.
Accesso con Discord
Abbiamo integrato la funzionalità del plugin discourse-plugin-discord-auth nel core. Il plugin si disattiverà automaticamente quando il core viene aggiornato, vedi: discourse/discourse-plugin-discord-auth@fd08678?w=1.
Per le istruzioni di configurazione, visita Configure Discord Login for Discourse
Miglioramento delle prestazioni della cache anonima
Ecco due nuove funzionalità per migliorare le prestazioni:
-
DISCOURSE_COMPRESS_ANON_CACHE (true|false, predefinito false): questo permette di comprimere opzionalmente le voci del corpo della cache anonima in Redis, può essere utile per siti ad alto carico con Redis ospitato su un server separato dai server web.
-
DISCOURSE_ANON_CACHE_STORE_THRESHOLD (predefinito 2), inserisce le voci in Redis solo se le osserviamo più di N volte. Questo evita situazioni in cui un crawler può attraversare un gran numero di topic e memorizzarli tutti in Redis senza che vengano mai utilizzati. Il nostro tempo di cache anonima predefinito per i topic è di soli 60 secondi. La cache anonima è in atto per evitare l’effetto “Slashdot”, dove un singolo topic viene colpito da centinaia di persone in un minuto.




