# Includere più plugin popolari con il core di Discourse

**URL:** https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574
**Category:** Announcements
**Created:** [10 Luglio 2025, 10:15am UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574 "2025-07-10T10:15:25Z")
**Posts on this page:** 19
**Page:** 7

<div class="post-metadata">

### Author: ![one1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/one1/32/493591_2.png) [@one1](https://meta.discourse.org/u/one1)
#### Post date: [2 Novembre 2025, 12:37am UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/153 "2025-11-02T00:37:21Z")

</div>

> [@tobiaseigen](#):
>
> in questo caso non sono sicuro di cosa si sarebbe potuto fare diversamente

Penso che quello che stanno suggerendo sia che se un plugin che era già incluso nel core fosse elencato in app.yaml, verrebbe semplicemente ignorato. Con una notifica che indica che l’inclusione in app.yaml era ridondante e il proprietario poteva rimuoverla.

Anche a me infastidisce un po’ il fatto che finché ho dei plugin elencati nel mio app.yaml, corro sempre il rischio di un aggiornamento fallito. Quindi ogni volta che faccio l’aggiornamento devo ricontrollare per vedere se uno dei miei plugin è stato aggiunto al core.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [2 Novembre 2025, 3:36am UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/154 "2025-11-02T03:36:29Z")

</div>

> [@tobiaseigen](#):
>
> Ehi, mi dispiace che tu sia insoddisfatto del percorso che abbiamo scelto, ma purtroppo per te questa è la strada. Le istruzioni sono abbastanza chiare secondo me e tutto ciò che devi fare è rimuovere alcune righe dal tuo app.yml e ricostruire, e hai finito.

Perché non avere semplicemente uno script che lo faccia per il Sysop?

Io stesso organizzo i plugin per team o autore per rendermi la vita un po’ più facile, così so quali plugin sono ufficiali e cose del genere. Ma se l’idea è rendere discourse più user-friendly, questo deve essere fatto lato team.

Non è poi così diverso da quando consigliavi le persone quando un utente ha un aggiornamento interrotto a causa di un fallimento dell’aggiornamento Postreq (vero?).

Con i plugin, è esattamente qui che il concetto di Procourse Installer è stata un’ottima idea per semplificare l’installazione e la disinstallazione dei plugin senza dover usare la riga di comando.

Certo, capisco che potrebbe aver avuto bisogno di un po’ più di rifinitura in caso di problemi. Ma questo potrebbe essere abbastanza facile con un file di log o un semplice fallback se necessario dalla riga di comando. Apprezzo che questo possa renderlo più attraente per l’auto-hosting rispetto a un piano a pagamento. Tuttavia, ci sono abbastanza vantaggi per un piano a pagamento per sceglierlo comunque.

Questo tipo di gestore di plugin potrebbe anche essere creato o forkato per consentire ai piani ospitati di installare plugin all’interno del loro livello ospitato, poiché alcuni plugin potrebbero non essere necessari in un piano specifico.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [2 Novembre 2025, 3:49am UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/155 "2025-11-02T03:49:15Z")

</div>

> [@one1](#):
>
> > [@tobiaseigen](#):
> >
> > in this case I’m not sure what could have been done differently
> 
> Penso che quello che stanno suggerendo è che se un plugin che era già incluso nel core fosse elencato in app.yaml, verrebbe semplicemente ignorato

In effetti mi è sfuggito un post di molto tempo fa riguardo al fatto che chat fosse inclusa e avevo provato a installarla. Non penso che il tag sia stato aggiornato sul plugin. Naturalmente ha fatto crashare il sito poiché non gradiva il tentativo di installare il plugin quando in teoria avrebbe potuto semplicemente ignorare la voce con una ricostruzione completata avvisando che poteva essere rimossa in quanto non necessaria.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [2 Novembre 2025, 5:04pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/156 "2025-11-02T17:04:46Z")

</div>

OK, feedback ricevuto! 👍

Penso che possiamo chiudere questo argomento ora: imposterò un timer per dare ai colleghi la possibilità di rispondere se lo desiderano.

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [2 Novembre 2025, 9:30pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/157 "2025-11-02T21:30:03Z")

</div>

#whos-online diventerà parte del core?

Con la recente iniziativa di includere più plugin ufficiali nel core, mi chiedevo se il plugin Who’s Online fosse preso in considerazione per l’inclusione.

Ho notato che è disponibile sui piani di hosting ufficiali (contando nella quota dei plugin), quindi sono curioso se ciò indichi un movimento verso un’adozione più ampia.

Capisco perfettamente se vincoli di prestazioni o un’adattabilità filosofica significano che dovrebbe rimanere disattivato per impostazione predefinita a meno che non sia specificato diversamente in `app.yml`.

Grazie!

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [3 Novembre 2025, 9:25am UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/158 "2025-11-03T09:25:32Z")

</div>

> [@Ethsim2](#):
>
> Con la recente iniziativa di includere più plugin ufficiali nel core, mi stavo chiedendo se il plugin Who’s Online fosse preso in considerazione per l’inclusione.

Attualmente non abbiamo in programma di spostare altri plugin nel core. Cakeday è stato l’ultimo e ha dovuto essere fatto separatamente dal gruppo principale a causa di alcune complicazioni nel modo in cui era precedentemente abilitato per impostazione predefinita.

> [@tobiaseigen](#):
>
> Il punto è ben compreso, possiamo fare di più per semplificare le future modifiche come questa… in questo caso non sono sicuro di cosa si sarebbe potuto fare diversamente perché era necessaria una modifica in app.yml, che deve essere fatta dall’utente self-hoster dalla riga di comando.

💯

Comprendo appieno la frustrazione riguardo al processo qui: certamente non è fluido come vorrei. Per fornire un po’ di contesto: il problema fondamentale è che i file `app.yml` non sono file di configurazione di Discourse. Sono una [configurazione pups](https://github.com/discourse/pups) e le righe di installazione dei plugin sono solo comandi shell.

Portare la logica specifica di Discourse in pups e fargli ignorare determinati comandi shell non è davvero un’opzione. Questo strumento non viene utilizzato solo per Discourse. Inoltre, sospetto che un certo numero di persone sarebbe scontento se cambiassimo i comandi shell in esecuzione durante l’avvio a loro insaputa.

Quindi siamo arrivati alla soluzione più pulita che potessimo trovare con gli strumenti disponibili: forzare una ricostruzione CLI e quindi visualizzare un messaggio che chiede alle persone di rimuovere la riga interessata dalla loro configurazione.

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [3 Novembre 2025, 1:03pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/159 "2025-11-03T13:03:12Z")

</div>

Post interessante, David!

Ho notato qualcosa nel [OP dell’argomento del plugin Who’s Online](https://meta.discourse.org/t/discourse-whos-online/52345?u=ethsim2):

> Pensa attentamente prima di installare questo plugin

Penso che **“installare”** potrebbe essere meglio formulato come **“abilitare”** lì - se è tecnicamente corretto.

La formulazione attuale potrebbe dare l’impressione che avere plugin aggiuntivi inclusi sia una preoccupazione _filosofica o di performance_ - quando in realtà si tratta solo di se siano **abilitati**. Poiché un nuovo plugin core che prima non era abilitato viene disabilitato per impostazione predefinita dopo la ricostruzione, il rischio non è nell’averlo installato con il core, ma nell’attivarlo.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [3 Novembre 2025, 1:38pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/160 "2025-11-03T13:38:57Z")

</div>

> [@Ethsim2](#):
>
> L’attuale formulazione potrebbe dare l’impressione che la presenza di plugin aggiuntivi inclusi sia una preoccupazione _filosofica o di prestazioni_ - quando in realtà si tratta solo di sapere se sono **abilitati**

Ciò non è necessariamente vero, vedi [Disabled plugins still causing performance impact](https://meta.discourse.org/t/disabled-plugins-still-causing-performance-impact/386419)

Ora quel problema specifico è stato risolto (per la maggior parte) sui plugin inclusi, ma su altri plugin questo potrebbe ancora accadere qua e là.

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [4 Novembre 2025, 6:43am UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/161 "2025-11-04T06:43:35Z")

</div>

Il plugin discourse-categories-suppressed aggiunge una semplice interfaccia utente opzionale per nascondere categorie selezionate dal feed “Latest”. Si integra tramite un singolo menu a discesa in:

Admin → Impostazioni → Categorie

“categorie soppresse dalla homepage”

Questo sembra un’impostazione di base molto naturale, soprattutto perché:

• È ufficiale e attivamente mantenuto

• Rimane disabilitato per impostazione predefinita a meno che un amministratore non lo attivi

• Molte community (inclusa la mia) si affidano a “Latest” come visualizzazione principale e desiderano un controllo più granulare su ciò che appare lì

Il team prenderebbe in considerazione l’inclusione di questo plugin (ancora disabilitato per impostazione predefinita), in modo che gli amministratori possano utilizzare questo interruttore senza dover installare nulla di aggiuntivo?

Grazie per la considerazione: sembra una piccola preferenza dell’interfaccia utente che molti siti trarrebbero beneficio dall’avere disponibile fin da subito.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [4 Novembre 2025, 6:04pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/162 "2025-11-04T18:04:05Z")

</div>

Questo argomento è stato chiuso automaticamente dopo 2 giorni. Non sono più consentite nuove risposte.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [26 Gennaio 2026, 9:59pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/163 "2026-01-26T21:59:34Z")

</div>



---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [9 Marzo 2026, 3:34pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/164 "2026-03-09T15:34:19Z")

</div>

> [@Moin](#):
>
> Per tutti coloro che non stanno monitorando le modifiche al primo post:  
> #cakeday è stato spostato in core

Non sono sicuro se sia intenzionale, ma volevo segnalarlo:

Siamo su una versione stabile obsoleta v3.5.4 e stavamo utilizzando il plugin cakeday. Tuttavia, le ricostruzioni (della _stessa versione di Discourse_) hanno smesso di funzionare perché cakeday era stato unito al core. Quindi, ho disabilitato il plugin nel file yml e… beh, è sparito. Ora ricostruisce di nuovo, ma non abbiamo più i giorni di compleanno poiché l’interfaccia utente di amministrazione non mostra alcun segno che la funzionalità sia installata.

Suppongo sia perché siamo su una versione stabile obsoleta, ma è stato comunque un risultato inaspettato per una ricostruzione della stessa versione di Discourse.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [9 Marzo 2026, 3:40pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/166 "2026-03-09T15:40:42Z")

</div>

Il plugin cakeday non è incluso in 3.5.4, quindi è per questo che non lo vedi più.

> [@mentalstring](#):
>
> Tuttavia, le ricostruzioni (della _stessa versione di Discourse_) hanno smesso di funzionare perché cakeday era stato unito al core

Sei sicuro che sia questo il motivo per cui hanno iniziato a fallire? Se hai visto qualcosa come:

> HINT: Il plugin ‘$plugin’ è ora incluso in Discourse e non dovrebbe essere incluso nella configurazione del container

allora temo che questo venga mostrato per **qualsiasi ricostruzione fallita** quando il plugin cakeday è incluso nel file di configurazione. Questo è stato il modo più efficiente che abbiamo trovato per avvisare le persone del problema, ma può creare confusione per chi utilizza versioni core più vecchie.

Quindi, se hai bisogno del plugin cakeday, penso che dovresti essere in grado di aggiungerlo nuovamente al tuo file `app.yml` e ricostruire. Sospetto che il fallimento sia stato causato da qualcos’altro, che ora hai risolto.

A margine: ti consiglio vivamente di aggiornare a una versione supportata. 3.5 non riceve più aggiornamenti di sicurezza e potrebbe essere vulnerabile agli attacchi.

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [9 Marzo 2026, 3:49pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/167 "2026-03-09T15:49:16Z")

</div>

> [@david](#):
>
> Sei sicuro che sia per questo che hanno iniziato a fallire?

> **Sembra di sì:**
>
> ```plaintext
> Cloning into 'docker_manager'...
> I, [2026-03-09T15:05:49.126710 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-cakeday.git
> fatal: destination path 'discourse-cakeday' already exists and is not an empty directory.
> 
> FAILED
> --------------------
> Pups::ExecError: cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-cakeday.git failed with return #<Process::Status: pid 146 exit 128>
> Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in `spawn'
> exec failed with the params {"cd"=>"$home/plugins", "cmd"=>["git clone https://github.com/discourse/docker_manager.git", "git clone https://github.com/discourse/discourse-cakeday.git", "git clone https://github.com/discourse/discourse-whos-online.git", "git clone -b no-regional-flags https://github.com/mentalstring/discourse-nationalflags.git", "git clone https://github.com/discourse/discourse-yearly-review.git", "git clone https://0fa273b19b56a1a58c41484d49a01d99f1b5b8d2@github.com/mentalstring/custom-username-validator", "git clone https://github.com/discourse/discourse-saved-searches"]}
> bootstrap failed with exit code 128
> ---
> HINT: The plugin 'discourse-cakeday' is now bundled with Discourse and should not be included in your container configuration.
> Remove the line 'git clone https://github.com/discourse/discourse-cakeday' from your containers/web_only.yml file, then try again.
> For more information, see https://meta.discourse.org/t/373574
> ---
> **FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
> 
> ```

> [@david](#):
>
> Quindi, se hai bisogno del plugin cakeday, penso che dovresti essere in grado di aggiungerlo di nuovo al tuo file app.yml e ricostruire. Sospetto che il fallimento sia stato causato da qualcos’altro, che ora hai risolto.

Aggiungere di nuovo il plugin a app.yml provoca l’errore sopra. Rimuoverlo immediatamente fa funzionare di nuovo la build. Questo plugin sembra essere l’unico problema.

Sono consapevole che siamo su una versione obsoleta e che è sulla tabella di marcia aggiornare. Volevo solo sottolineare che, sebbene non abbiamo cambiato la versione che stiamo utilizzando, 3.5.4 è passata dal compilare correttamente (con il plugin) al non compilare più con il plugin e non sembra che abbiamo alcun modo per riottenere la funzionalità del plugin (tramite plugin o nel core).

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [9 Marzo 2026, 3:55pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/168 "2026-03-09T15:55:04Z")

</div>

Interessante! Mi chiedo se sia perché la nostra immagine docker ora include discourse-cakeday, e poi quando il core viene “declassato” alla 3.5, lascia una directory vuota.

Se aggiungi `rm -rf discourse-cakeday` prima della riga `git clone https://.../discourse-cakeday`, allora dovrebbe pulire. Quindi dovrebbe apparire più o meno così:

```plaintext
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - rm -rf discourse-cakeday
          - git clone https://github.com/discourse/discourse-cakeday

```

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [9 Marzo 2026, 4:21pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/169 "2026-03-09T16:21:22Z")

</div>

Sì, ha funzionato. Funziona di nuovo, grazie!

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [19 Marzo 2026, 6:39pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/171 "2026-03-19T18:39:05Z")

</div>

> [@david](#):
>
> Mi chiedo se sia perché la nostra immagine docker ora include discourse-cakeday, e poi quando il core viene “declassato” alla 3.5

Scusate per aver portato questo argomento fuori tema, ma non credo ci sia un argomento più adatto ed è in qualche modo correlato al problema precedente.

Dall’ultimo mio messaggio, penso ci siano state ulteriori modifiche su [discourse/docker\_manager](https://github.com/discourse/docker_manager) che stanno rompendo ulteriormente le build delle versioni precedenti. Dopo una ricompilazione oggi, l’intera sezione admin di Discourse ha smesso di funzionare con errori come questo:

```javascript
loader.js:247 Uncaught (in promise) Error: Could not find module `discourse/admin/models/admin-plugin` imported from `discourse/plugins/docker_manager/discourse/models/repo`

```

Sono riuscito a correggere la build usando questo nello yml:

```yaml
  - git clone https://github.com/discourse/docker_manager.git && cd docker_manager && git reset --hard 314bbd78c200860c76bb62ced65b40e7cde5aa02 && cd ..

```

Non sono sicuro quale fosse il commit incriminato, ma è stato sufficiente per farlo funzionare di nuovo.

Lo so, lo so, devo aggiornare (intendo davvero). Ma probabilmente ci sono altre persone come noi che sono bloccate su versioni più vecchie più a lungo del previsto per un motivo o per l’altro, ed è un po’ inaspettato che le build più vecchie si rompano senza cambiare la versione.

Comunque, ho già trovato una soluzione temporanea fino a quando non aggiorneremo, quindi condivido solo questo nel caso possa essere utile ad altri nella stessa situazione.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [19 Marzo 2026, 6:50pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/172 "2026-03-19T18:50:56Z")

</div>

Quale versione di Discourse core stai eseguendo? Ancora la 3.5?

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [19 Marzo 2026, 6:52pm UTC](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574/173 "2026-03-19T18:52:27Z")

</div>

Sì, 3.5.4. Spero di aggiornare presto.

[Previous page](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574.md?page=6)
