Volevo disabilitare tutte le integrazioni AI sul mio sito e sono molto soddisfatto che sia sufficiente una singola impostazione. Una risposta a ciò che l’OP sta cercando potrebbe essere l’equivalente di discourse_ai_enabled, ma applicato a livello di singolo utente. In questo modo, l’AI non sarebbe semplicemente attivata o disattivata per l’intero sito. Anche le funzionalità AI attive a livello di sito potrebbero essere disattivate su base individuale. La logica di discourse_ai_enabled sarebbe quindi: sito-wide == true e per-utente == true.
Sebbene sia generalmente vero che si tende a evitare nuove impostazioni di personalizzazione per non complicare eccessivamente il sistema, l’AI è la funzionalità con il maggior numero di opzioni configurabili. Nel breve lasso di tempo in cui l’AI è esistita, sembra essere diventata la funzionalità più personalizzabile di Discourse.[1]
Ecco un’analisi rapida e approssimativa. Sono relativamente nuovo qui, quindi mostro il mio lavoro nel caso abbia commesso un errore.
su discourse -c 'bundle exec rails runner "SiteSetting.defaults.all.keys.sort.each { |k| puts k }"' > keys.txt
wc -l keys.txt
1663 keys.txt
cut -d _ -f 1 keys.txt | sort | uniq -c | sort -rn > counts.txt
Se questo è il modo corretto per contarle, ci sono 1663 possibili impostazioni di sito. Di queste, 104 iniziano con ai_ e 3 impostazioni AI non lo fanno (composer_ai_helper_allowed_groups, discourse_ai_enabled e post_ai_helper_allowed_groups). Quindi, secondo il mio calcolo, l’AI è il gruppo più numeroso di impostazioni personalizzate, e di gran lunga (107 su 1663, ovvero il 6,4% di tutte le impostazioni di sito). Ecco le prime 10:
- 107 ai
- 84 discourse
- 83 chat
- 71 max
- 65 enable
- 48 default
- 30 dfp
- 28 oauth2
- 28 amazon
- 28 allow
Da un lato, la disattivazione delle funzionalità AI su base individuale è solo una in più tra 1663. Dall’altro, potrebbe essere difficile verificarla a livello di singolo utente quando molti percorsi di codice la controllano a livello di intero sito. È un compromesso su cui non sono qualificato a speculare.
È anche una funzionalità piuttosto ben definita e autonoma, relativamente giovane, quindi la sua denominazione coerente con il prefisso
ai_rende più semplice contare le sue impostazioni rispetto ad altri componenti. Per questo motivo dico che si tratta di un’analisi rapida e approssimativa. ↩︎