# Migrare un forum phpBB3 a Discourse

**URL:** https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810
**Category:** Migrating to Discourse
**Tags:** how-to
**Created:** [5 Luglio 2015, 10:02pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810 "2015-07-05T22:02:57Z")
**Posts on this page:** 20
**Page:** 20

<div class="post-metadata">

### Author: ![GRI9CD](https://avatars.discourse-cdn.com/v4/letter/g/f6c823/32.png) [@GRI9CD](https://meta.discourse.org/u/GRI9CD)
#### Post date: [11 Settembre 2022, 3:17pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/708 "2022-09-11T15:17:18Z")

</div>

> [@gerhard](#):
>
> Inoltre, gli utenti non potranno accedere con la loro vecchia password se questa è considerata insicura. Per impostazione predefinita, Discourse richiede una lunghezza minima della password di 10 caratteri.

C’è un modo per aggirare questo problema? Molti forum hanno utenti che si sono registrati con indirizzi email a cui non hanno più accesso e utilizzano password con meno di 10 caratteri.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [11 Settembre 2022, 4:16pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/709 "2022-09-11T16:16:14Z")

</div>

Puoi impostare la lunghezza minima della password a 8 nelle impostazioni del sito.

Le persone che non riescono a usare la loro password possono ricevere un link di accesso o un link per reimpostare la password.

---

<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: [11 Settembre 2022, 6:44pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/710 "2022-09-11T18:44:51Z")

</div>

> [@GRI9CD](#):
>
> C’è un modo per aggirare questo problema?

Sì, c’è un’impostazione del sito `migratepassword allow insecure passwords`, attivala e basta.

Assicurati di abilitare questa opzione DOPO l’importazione, non durante l’importazione.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [19 Ottobre 2022, 5:26pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/711 "2022-10-19T17:26:34Z")

</div>

5 post sono stati spostati in un nuovo argomento: [Accent characters missing](https://meta.discourse.org/t/accent-characters-missing/242388)

---

<div class="post-metadata">

### Author: ![Roi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roi/32/130587_2.png) [@Roi](https://meta.discourse.org/u/Roi)
#### Post date: [22 Novembre 2022, 2:30pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/713 "2022-11-22T14:30:29Z")

</div>

```plaintext
rank_mapping:
   trust_level_1: 200
   trust_level_2: 1000
   trust_level_3: 3000

```

Come funziona esattamente? Devo creare ranghi personalizzati in phpBB (dove posso impostare solo un numero diverso di post totali come criterio) o l’importatore controlla ogni utente per il numero totale di post e assegna il livello di fiducia in Discourse di conseguenza?

Grazie! 🙂

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [22 Novembre 2022, 3:24pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/714 "2022-11-22T15:24:58Z")

</div>

```plaintext
# Mappatura dei livelli di fiducia per rango
  #
  # Mappa i livelli di rango di phpBB 3.x al livello di fiducia
  # Gli utenti con rango almeno 3000 avranno TL3, ecc.

```

```plaintext
      trust_level = @settings.trust_level_for_posts(row[:user_posts], trust_level: trust_level)

```

Quindi si tratta solo di mappare il numero di post che hanno creato a vari livelli di fiducia. La mia inclinazione sarebbe quella di impostare tutti a TL1 e lasciarli passare attraverso i livelli di Discourse da lì; non è così difficile raggiungere TL2.

Ma a un certo punto qualcuno che stava migrando a Discourse ha pensato che fosse importante modificare i livelli di fiducia per i propri utenti e il programmatore ha pensato che fosse più facile codificarlo piuttosto che discutere con loro. 🙂

---

<div class="post-metadata">

### Author: ![Roi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roi/32/130587_2.png) [@Roi](https://meta.discourse.org/u/Roi)
#### Post date: [22 Novembre 2022, 5:59pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/715 "2022-11-22T17:59:36Z")

</div>

> [@pfaffman](#):
>
> La mia inclinazione sarebbe quella di impostare tutti su TL1 e lasciarli passare attraverso i livelli di Discourse da lì; non è così difficile raggiungere TL2.

Sì, hai ragione. Preferirei anche questo. Volevo solo assicurarmi di aver capito correttamente la funzionalità. 🙂

---

<div class="post-metadata">

### Author: ![mikeguo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mikeguo/32/278830_2.png) [@mikeguo](https://meta.discourse.org/u/mikeguo)
#### Post date: [13 Dicembre 2022, 12:56pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/716 "2022-12-13T12:56:27Z")

</div>

> [@gerhard](#):
>
> `IMPORT=1 bundle install`

Non installerà ruby-bbcode-to-md, come se `IMPORT=1` fosse non valido.

---

<div class="post-metadata">

### Author: ![mikeguo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mikeguo/32/278830_2.png) [@mikeguo](https://meta.discourse.org/u/mikeguo)
#### Post date: [13 Dicembre 2022, 12:57pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/717 "2022-12-13T12:57:19Z")

</div>

> [@gerhard](#):
>
> `IMPORT=1 bundle exec ruby phpbb3.rb phpbb3/settings.yml`

```plaintext
mike@ubuntu:~/discourse/script/import_scripts$ IMPORT=1 bundle exec ruby phpbb3.rb phpbb3/settings.yml
Traceback (most recent call last):
        40: from phpbb3.rb:13:in `<main>'
        39: from phpbb3.rb:14:in `<module:ImportScripts>'
        38: from phpbb3.rb:15:in `<module:PhpBB3>'
        37: from phpbb3.rb:15:in `require_relative'
        36: from /home/mike/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `<top (required)>'
        35: from /home/mike/discourse/script/import_scripts/phpbb3/support/settings.rb:5:in `require_relative'
        34: from /home/mike/discourse/script/import_scripts/base.rb:16:in `<top (required)>'
        33: from /home/mike/discourse/script/import_scripts/base.rb:16:in `require_relative'
        32: from /home/mike/discourse/config/environment.rb:7:in `<top (required)>'
        31: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/application.rb:372:in `initialize!'
        30: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:60:in `run_initializers'
        29: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
        28: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
        27: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
        26: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `call'
        25: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `each'
        24: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
        23: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
        22: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        21: from /home/mike/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
        20: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers'
        19: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `run'
        18: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `instance_exec'
        17: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/railties-7.0.3.1/lib/rails/application/finisher.rb:68:in `block in <module:Finisher>'
        16: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/reloader.rb:88:in `prepare!'
        15: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:106:in `run_callbacks'
        14: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:595:in `invoke_before'
        13: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:595:in `each'
        12: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:595:in `block in invoke_before'
        11: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:200:in `block in halting'
        10: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:686:in `block in default_terminator'
         9: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:686:in `catch'
         8: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
         7: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
         6: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:445:in `block in make_lambda'
         5: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:445:in `instance_exec'
         4: from /home/mike/discourse/config/initializers/002-freedom_patches.rb:9:in `block in <main>'
         3: from /home/mike/discourse/config/initializers/002-freedom_patches.rb:9:in `each'
         2: from /home/mike/discourse/config/initializers/002-freedom_patches.rb:11:in `block (2 levels) in <main>'
         1: from /home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:31:in `require'
/home/mike/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.6.6/lib/zeitwerk/loader/callbacks.rb:25:in `on_file_autoloaded': expected file /home/mike/discourse/lib/freedom_patches/copy_file.rb to define constant FreedomPatches::CopyFile, but didn't (Zeitwerk::NameError)

```

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [3 Gennaio 2023, 2:36pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/718 "2023-01-03T14:36:27Z")

</div>

> [@gerhard](#):
>
> Ma “quest’anno” è una buona scommessa. 😉

Sto solo facendo un shameless bump… Perché dovrò fare due nuove migrazioni phpBB a breve (sostenendo Discourse il più possibile 🥳). Non c’è fretta.  
Le migrazioni potrebbero anche aspettare qualche mese o poco più, ma se avete novità su queste informazioni, sarebbe bello 🙂

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [3 Gennaio 2023, 2:40pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/719 "2023-01-03T14:40:50Z")

</div>

Beh, il 2022 è stato ottimista… 😊 Altri compiti sono stati anteposti alla mia lista di cose da fare, ma le cose si stanno schiarendo, quindi succederà qualcosa nel 2023. E si spera prima piuttosto che dopo. 🤞

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3 Gennaio 2023, 5:54pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/720 "2023-01-03T17:54:05Z")

</div>

Ho appena eseguito un’importazione phpBB per quello che credo fosse un forum 3.3. Sembrava funzionare bene (tranne il plugin Solved che stavano usando e alcuni tag `[tex2]` che devono essere sostituiti con alcuni `$$`, ma mi aspettavo che non funzionasse). A meno che tu non abbia un forum enorme (25.000 utenti e circa 300.000 post hanno richiesto 17 ore su hardware non troppo veloce), potresti semplicemente procedere e provarci.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [3 Gennaio 2023, 8:07pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/721 "2023-01-03T20:07:34Z")

</div>

> [@pfaffman](#):
>
> Potresti anche provare.

Certo, grazie per le informazioni!  
Ma sono molto curioso riguardo alle modifiche apportate. Mi piacerebbe dare un’occhiata al codice e vederlo in azione dato che non ho una data specifica per effettuare le mie migrazioni 🙂

---

<div class="post-metadata">

### Author: ![mychaello](https://avatars.discourse-cdn.com/v4/letter/m/e274bd/32.png) [@mychaello](https://meta.discourse.org/u/mychaello)
#### Post date: [17 Gennaio 2023, 11:36am UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/722 "2023-01-17T11:36:58Z")

</div>

Ciao, sono nuovo qui, quindi scusa per la domanda stupida:

Cosa dovrebbe contenere esattamente il parametro **site\_name** nel file settings.yml? Non capisco cosa sia necessario qui. Ho ricevuto questo errore:

```plaintext
L'importazione di phpBB3 sta iniziando...

/var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:49:in `initialize': undefined method `[]' for nil:NilClass (NoMethodError)

      @site_name = import_settings["site_name"]
                                  ^^^^^^^^^^^^^
    from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:11:in `new'
    from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:11:in `load'
    from script/import_scripts/phpbb3.rb:20:in `<module:PhpBB3>'
    from script/import_scripts/phpbb3.rb:16:in `<module:ImportScripts>'
    from script/import_scripts/phpbb3.rb:15:in `<main>'

```

Sto cercando di importare solo un forum (versione phpBB 3.3.8). Se lo lascio vuoto o digito qualcosa come ‘first’ o ‘[domain.com](http://domain.com)’ ecc., ricevo comunque questo errore.  
Grazie per il tuo aiuto e la tua pazienza.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [17 Gennaio 2023, 4:47pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/723 "2023-01-17T16:47:26Z")

</div>

> [@mychaello](#):
>
> Cosa dovrebbe contenere esattamente il parametro **site\_name** nel file settings.yml?

Impostalo su qualsiasi cosa. Anche una stringa vuota.

> [@mychaello](#):
>
> Quando lo lascio vuoto o digito qualcosa come ‘first’ o ‘[domain.com](http://domain.com)’ ecc.,

Allora lo stai impostando in un posto sbagliato o c’è un errore di battitura, suppongo.

---

<div class="post-metadata">

### Author: ![mychaello](https://avatars.discourse-cdn.com/v4/letter/m/e274bd/32.png) [@mychaello](https://meta.discourse.org/u/mychaello)
#### Post date: [17 Gennaio 2023, 6:55pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/724 "2023-01-17T18:55:22Z")

</div>

Grazie per la tua risposta. Ho ricreato il file settings.yml da zero, ho copiato il codice sorgente da github e ora funziona alla grande 👍

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [25 Marzo 2023, 8:24am UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/725 "2023-03-25T08:24:06Z")

</div>

20 messaggi sono stati spostati in un nuovo argomento: [Migrazione da phpbb (cronologia versioni installate: 3.2.1 - 3.2.8) con un db postgresql](https://meta.discourse.org/t/migrating-from-phpbb-installed-version-history-3-2-1-3-2-8-with-a-postgresql-db/259374)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [27 Febbraio 2023, 8:00pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/732 "2023-02-27T20:00:29Z")

</div>

> [@gerhard](#):
>
> Gli script di importazione correnti saranno deprecati entro la fine dell’anno…

Ciò si è rivelato non vero. Il piano è di rielaborarli tutti in script in stile bulk\_import? Hai una nuova stima di come potrebbe essere quella tempistica?

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [27 Febbraio 2023, 8:07pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/733 "2023-02-27T20:07:30Z")

</div>

> [@pfaffman](#):
>
> L’idea è di rielaborarli tutti in script in stile bulk\_import?

Sì, questo è più o meno il piano. Sfortunatamente non posso dire quando verrà rilasciato poiché non è la massima priorità in questo momento, ma prevediamo di migliorare le importazioni nei prossimi 6-12 mesi. Spero che ci sarà qualcosa di utilizzabile entro quel periodo.

---

<div class="post-metadata">

### Author: ![shyguy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/shyguy/32/295079_2.png) [@shyguy](https://meta.discourse.org/u/shyguy)
#### Post date: [27 Marzo 2023, 7:59pm UTC](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810/734 "2023-03-27T19:59:53Z")

</div>

> <https://github.com/discourse/discourse/pull/20849>
>
> added support for importing attachment comments.
> comment is added as italicized… text on the line below the image. line breaks were also tweaked for fidelity.

PR per un altro semplice miglioramento. Gli allegati phpBB hanno un commento di testo che viene visualizzato sotto l’allegato in un post.

Ho aggiunto il supporto per questo. Aggiunge il commento in corsivo sotto l’immagine in Discourse.

[Previous page](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810.md?page=19)

[Next page](https://meta.discourse.org/t/migrate-a-phpbb3-forum-to-discourse/30810.md?page=21)
