Migrare un forum phpBB3 a Discourse

Sembra che sia l’unico a pubblicare qui…

Quindi, proprio mentre stavo per lanciare il mio nuovo forum Discourse, abbiamo scoperto un problema molto strano! Sono rimasto senza idee su questo problema, spero che qualcuno qui possa fare luce sulla questione…

Caso: ho importato due database in Discourse da phpBB3. Il primo è un archivio, che è essenzialmente il nostro forum attuale tagliato in due 15 anni fa e poi congelato. L’altra metà del forum è rimasta attiva e si è sviluppata. Speravo che l’importatore le unisse durante l’importazione, ed è successo! :smiley:

Ma ora ho scoperto un caso con un utente e devo sapere se è l’unico caso o se ha interessato altri utenti, e poi come cercare altri casi simili.

L’utente aveva creato due account. Entrambi sul forum attuale. Diciamo che il vecchio account si chiamava OldName e il nuovo NewName.

Nel Discourse importato, ora ci sono due utenti. Uno chiamato OldName e quello che avrebbe dovuto essere NewName è stato rinominato OldName1. Inoltre, i post di OldName sono stati uniti a OldName1.

Non ho idea del perché questo sia successo solo a questo utente, dato che ci sono altri utenti con account duplicati che non sembrano essere stati influenzati da questo problema.

Qualcuno sa cosa potrebbe essere successo qui?
Esiste un modo per cercare altri casi?

1 Mi Piace

Ma probabilmente non nel modo che pensi. Se hai semplicemente eseguito l’importatore due volte, tutti i campi personalizzati import_id erano in conflitto, quindi l’utente con userid 123 nel primo database ora è lo stesso utente con userid 123 nel nuovo database. Lo stesso vale per i topic e i post.

Sono quasi certo che ogni userid (e topic, post e probabilmente anche categoria) che esiste sia nel database vecchio che in quello nuovo venga unito a quello vecchio.

Dovrai fare qualcosa per evitare che gli import_id entrino in conflitto (magari eliminando quelli vecchi, oppure modificando lo script di importazione in modo che siano unici per ogni importazione).

4 Mi Piace

Beh… sono comunque la stessa cosa, no?
Voglio dire, è fondamentalmente lo stesso forum: una parte è andata avanti, l’altra è rimasta congelata nel tempo. Quindi l’ID utente 123 è ancora l’ID utente 123, e lo stesso vale per gli ID dei post e degli argomenti?

Cosa intendi per campi personalizzati import_id?

Il forum sembra a posto, tutti gli argomenti, i post, ecc. sono al loro posto. Che siano stati uniti è l’idea generale, giusto?

Non riesco a trovare altri problemi con altri utenti, post o argomenti, tranne quel singolo caso d’uso.

Forse posso spiegarlo meglio.

Il punto di partenza era un forum phpBB. A un certo punto l’ho clonato. Una copia è rimasta chiusa ed è diventata l’archivio. Nell’altra parte ho cancellato i post più vecchi (che ora erano nell’archivio) e l’ho lasciata aperta. In quella, utenti, argomenti, post, ecc. sono semplicemente aumentati e non sono mai stati modificati (per quanto riguarda gli ID). Quindi pensavo che lo script di importazione avrebbe visto l’archivio e il forum corrente come due parti dello stesso database, perché lo sono… e li avrebbe trattati come un’importazione incrementale. E così è stato?

Quindi, per favore, aiutami a capire cosa è andato storto ai tuoi occhi, perché quello che hai segnalato è esattamente ciò che volevo facesse…

Se il secondo forum fosse un sottoinsieme del primo, non capisco perché li abbiate importati entrambi, ma finché il nuovo forum non utilizza gli stessi ID utente, post o argomento del primo, dovresti essere a posto.

Quando un utente, un argomento o un post vengono importati, viene creato un campo personalizzato di tipo XxxCustomField con il nome “import_id”, in modo da poter tracciare la mappatura dal vecchio forum al nuovo.

Alcuni importatori creano anche un campo personalizzato import_username se lo username cambia. Puoi fare qualcosa del genere:

cd /var/discourse
rails c
u=User.find_by_username('username-youwant')
u.custom_fields

e visualizzare i campi.

1 Mi Piace

Perché volevo che la parte archiviata venisse di nuovo integrata nell’intero forum, invece di avere due “metà” dello stesso forum. Ora non devo più mantenere un archivio separato di phpbb2 antico che dovevo convertire in Discourse in un modo o nell’altro… ora è di nuovo tutto intero :slight_smile: (abbiamo creato l’archivio con l’obiettivo di ridurre il carico del server in quei tempi).

Ho provato la tua query, grazie.
Per il caso d’uso nel mio post ho ottenuto {"import_id"=>"21293"} per NewName
e per OldName1 ha restituito
{"import_id"=>"8800", "import_username"=>"OldName"}
Quindi, wow, mostra chiaramente cosa è successo lì… C’è qualche motivo per cui ha deciso che import_id8800 apparteneva all’utente di importazione NewName? Dato che hanno diversi import_ID.

Esiste un modo per effettuare una ricerca più generica, perché non so quali utenti siano interessati; è proprio questo che sto cercando di capire, quindi non conosco la parte username-youwant.

Un modo per farlo sarebbe:

  • Ripristinare dal backup eseguito subito dopo il completamento dell’importazione dell’archivio.
  • Azzerare i valori di import_id per post, argomenti, categorie e utenti.
  • Eseguire l’importazione attuale del forum.

In questo modo, gli utenti dovrebbero essere abbinati e uniti in base all’indirizzo email.

4 Mi Piace

Esatto. Hanno import_id diversi, ma lo stesso nome utente. Se vuoi che siano lo stesso utente, dovranno avere lo stesso nome utente (oppure puoi far sì che abbiano lo stesso import_id).

Forse puoi cercare con

User.where("username like '%1'")

Questo catturerà anche coloro che hanno semplicemente scelto di terminare il loro nome utente con un 1.

E funzionerà perfettamente… a meno che i loro indirizzi email non siano cambiati.

Qualunque strada tu scelga, avrai alcune cose di questo tipo da risolvere manualmente.

1 Mi Piace

Molto utile. Sto spostando il mio forum di giochi su Discord. L’hosting PHPbb che stavo usando (questo: https://www.cloudways.com/en/phpbb-hosting.php) non supporta applicazioni diverse da PHP. Quindi, sto esplorando un’altra piattaforma per questo scopo.

Sto cercando di migrare un forum phpBB 3.2.9 verso Discourse. Ho circa 2.800 utenti e quasi 36.000 post. Per l’importazione utilizzo il repository Git di @gerhard con il ramo phpbb3.

La migrazione degli utenti e dei messaggi privati funziona correttamente. Tuttavia, con i post ho un problema. Sono stati migrati solo circa 2.800 post. Ricevo messaggi come il seguente:

    12201 / 35281 ( 34.6%)  [68323 items/min]  Failed to map post with ID 14742
undefined method `name' for nil:NilClass
/var/www/discourse/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb:57:in `visit'
/var/www/discourse/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb:25:in `convert'
/var/www/discourse/script/import_scripts/phpbb3/support/text_processor.rb:41:in `process_raw_text'
/var/www/discourse/script/import_scripts/phpbb3/support/text_processor.rb:68:in `process_post'
/var/www/discourse/script/import_scripts/phpbb3/importers/post_importer.rb:35:in `map_post'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:130:in `block (2 levels) in import_posts'
/var/www/discourse/script/import_scripts/base.rb:491:in `block in create_posts'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:128:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:186:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:122:in `import_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:33:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:22:in `perform'
./script/import_scripts/phpbb3.rb:33:in `<module:PhpBB3>'
./script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
./script/import_scripts/phpbb3.rb:13:in `<main>'
    12202 / 35281 ( 34.6%)  [68322 items/min]  Failed to map post with ID 14744
undefined method `name' for nil:NilClass

Non sono un esperto di Ruby, quindi non so davvero come fare il debug di questo problema. Sembra che manchi un metodo. Ma come posso ottenerlo e perché sono stati migrati quasi 2.800 post?

Avete qualche idea su cosa causi questo problema e, naturalmente, su come posso risolverlo?

Grazie!

1 Mi Piace

A volte ci sono degli spiritelli nel codice o dei goblin nel database.

Se la migrazione si blocca a causa di un errore (sembra che sia il caso qui), quello che faccio è guardare il messaggio di errore, aprire il file problematico nello script e avvolgere l’errore in un semplice:

begin
   #riga o righe problematiche di codice Ruby
rescue
   puts "errore! in <routine problematica> variabile #{variable} blab blah il mio grande messaggio"
end

Ho recentemente migrato oltre 1 milione di post, e intercettare errori come nell’esempio sopra e “procedere” è stato una salvezza.

Ogni migrazione è diversa; non è che abbia tanta esperienza come altri, ma ne ho fatte circa 20 in modi diversi e 100 volte, LOL, e la mia esperienza è che la struttura begin rescue end è molto importante.

Certo, puoi scavare più a fondo per vedere se c’è un problema più grande in seguito; ma a volte vuoi semplicemente continuare a lavorare e migrare :slight_smile:

2 Mi Piace

Benvenuto @TBauer :wave:

Forse hai trascurato questo avviso nel primo messaggio.

2 Mi Piace

@TBauer sembra stia usando questo ramo sperimentale, quindi immagino vada bene. Non è ancora supportato, ma vorrei comunque sapere cosa sta causando questo errore.

@TBauer, potresti inviarmi il contenuto della colonna post_text nella tabella phpbb_posts per il post con ID 14742 tramite un messaggio privato o pubblicarlo qui?

Immagino tu aver aggiornato recentemente a phpBB 3.2 e la conversione del vecchio formato BBCode in quello nuovo non sia ancora completata. Ecco perché potrebbe fallire dopo 2800 post. Se è così, potresti voler eseguire il Riprocessore di testo per phpBB 3.2+ da riga di comando (CLI). Lo script di importazione attualmente non supporta la mescolanza di formati di archiviazione vecchi e nuovi per i BBCode, e la conversione da BBCode a Markdown funzionerà molto meglio con il nuovo formato. :wink:

4 Mi Piace

No, la migrazione non si interrompe. Lo script viene eseguito fino alla sua normale conclusione. Semplicemente non migra molti post. In questo caso ho ricevuto messaggi come quelli sopra. Ho controllato alcuni post nel database e sembra che tutti questi siano vecchi e privi di codice XML.

@Helmi: naturalmente l’ho letto. È per questo motivo che ho utilizzato il ramo sperimentale del codice. :wink:

1 Mi Piace

Forse questa è la soluzione. Proverò prima questo. Mi sono reso conto che i post falliti sono in formato BBCode e non in formato XML… Quindi il prossimo tentativo sarà convertire dopo il reparse…

2 Mi Piace

Scusa, non mi era del tutto chiaro leggendo il tuo messaggio.

@Helmi: nessun problema. :smiley:

@gerhard: ha funzionato! Dopo aver convertito i post nel nuovo formato, sono riuscito a importarli. Ho ricevuto un’eccezione solo durante l’importazione di quattro post, ma nel mio caso va bene.

   35264 / 35281 (100.0%)  [4879 items/min]  Eccezione durante la creazione del post 39353. Saltato.
attributo sconosciuto 'reply_id' per PostReply.
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:53:in `_assign_attribute'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:44:in `block in _assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:43:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:43:in `_assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_assignment.rb:22:in `_assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activemodel-6.0.1/lib/active_model/attribute_assignment.rb:35:in `assign_attributes'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/core.rb:326:in `initialize'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/inheritance.rb:70:in `new'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/inheritance.rb:70:in `new'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/reflection.rb:158:in `build_association'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/associations/association.rb:325:in `build_record'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/associations/collection_association.rb:108:in `build'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/associations/collection_proxy.rb:316:in `build'
/var/www/discourse/app/models/post.rb:1064:in `create_reply_relationship_with'
/var/www/discourse/app/models/post.rb:750:in `block in save_reply_relationships'
/var/www/discourse/app/models/post.rb:748:in `each'
/var/www/discourse/app/models/post.rb:748:in `save_reply_relationships'
/var/www/discourse/lib/post_creator.rb:187:in `block in create'
/var/www/discourse/lib/post_creator.rb:360:in `block (2 levels) in transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/usr/local/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:168:in `create'
/var/www/discourse/script/import_scripts/base.rb:555:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:503:in `block in create_posts'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/rack-mini-profiler-1.1.4/lib/patches/db/mysql2.rb:8:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:128:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:186:in `batches'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:122:in `import_posts'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:33:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
/var/www/discourse/script/import_scripts/phpbb3/importer.rb:22:in `perform'
script/import_scripts/phpbb3.rb:33:in `<module:PhpBB3>'
script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
script/import_scripts/phpbb3.rb:13:in `<main>'

Grazie per l’importer e per il ottimo lavoro! :slight_smile:

3 Mi Piace

Ciao @gerhard, stiamo effettivamente utilizzando lo script per importare un forum phpBB molto vecchio che deve essere salvato dalla cancellazione. Tutto procede piuttosto bene, ma alla fine il forum presenta problemi di codifica. Titoli e contenuti dei post vengono visualizzati con una codifica errata.

Il forum era in francese e il dump SQL che abbiamo scaricato da pBB è codificato in UTF-8. Cosa abbiamo sbagliato, per favore?

Grazie mille, questo lavoro è fantastico! :open_mouth:

È possibile che ci sia un problema di codifica da qualche parte… c’è un motivo per cui qualcuno lo ha definito l’inferno della codifica MySQL.

Tempo fa ho creato uno script per correggere i database che contengono dati UTF-8 in tabelle con codifica latin1. Forse può esserti utile? Altrimenti dovrai risolvere il problema da solo.

3 Mi Piace

Ciao @gerhard e grazie per la risposta. Qual dovrebbe essere il formato del mio file di dump SQL, per favore? In realtà VS Code mi dice che è UTF-8. Quindi… dovrebbe funzionare, no?

Questi problemi di codifica mi stanno facendo impazzire.. :frowning:

@gerhard : EDIT : Ecco un esempio di ciò che ho nel file di dump qui sotto.

#
# Script di backup di phpBB
# Dump delle tabelle per phpbb3_
# DATA : 06-04-2020 08:26:04 GMT
#
# Tabella: phpbb3_posts
DROP TABLE IF EXISTS phpbb3_posts;
CREATE TABLE `phpbb3_posts` (
  `post_id` mediumint(8) unsigned NOT NULL auto_increment,
  `topic_id` mediumint(8) unsigned NOT NULL default '0',
  `forum_id` mediumint(8) unsigned NOT NULL default '0',
  `poster_id` mediumint(8) unsigned NOT NULL default '0',
  `icon_id` mediumint(8) unsigned NOT NULL default '0',
  `poster_ip` varchar(40) collate utf8_bin NOT NULL default '',
  `post_time` int(11) unsigned NOT NULL default '0',
  `post_approved` tinyint(1) unsigned NOT NULL default '1',
  `post_reported` tinyint(1) unsigned NOT NULL default '0',
  `enable_bbcode` tinyint(1) unsigned NOT NULL default '1',
  `enable_smilies` tinyint(1) unsigned NOT NULL default '1',
  `enable_magic_url` tinyint(1) unsigned NOT NULL default '1',
  `enable_sig` tinyint(1) unsigned NOT NULL default '1',
  `post_username` varchar(255) collate utf8_bin NOT NULL default '',
  `post_subject` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL default '',
  `post_text` mediumtext character set utf8 collate utf8_unicode_ci NOT NULL,
  `post_checksum` varchar(32) collate utf8_bin NOT NULL default '',
  `post_attachment` tinyint(1) unsigned NOT NULL default '0',
  `bbcode_bitfield` varchar(255) collate utf8_bin NOT NULL default '',
  `bbcode_uid` varchar(8) collate utf8_bin NOT NULL default '',
  `post_postcount` tinyint(1) unsigned NOT NULL default '1',
  `post_edit_time` int(11) unsigned NOT NULL default '0',
  `post_edit_reason` varchar(255) collate utf8_bin NOT NULL default '',
  `post_edit_user` mediumint(8) unsigned NOT NULL default '0',
  `post_edit_count` smallint(4) unsigned NOT NULL default '0',
  `post_edit_locked` tinyint(1) unsigned NOT NULL default '0',
  PRIMARY KEY  (`post_id`),
  KEY `forum_id` (`forum_id`),
  KEY `topic_id` (`topic_id`),
  KEY `poster_ip` (`poster_ip`),
  KEY `poster_id` (`poster_id`),
  KEY `post_approved` (`post_approved`),
  KEY `tid_post_time` (`topic_id`,`post_time`),
  KEY `post_username` (`post_username`)
) ENGINE=MyISAM AUTO_INCREMENT=33585 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

INSERT INTO phpbb3_posts (post_id, topic_id, forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, post_reported, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_time, post_edit_reason, post_edit_user, post_edit_count, post_edit_locked) VALUES (3, 2, 1, 2, 0, '82.225.50.160', 1135852994, 1, 0, 1, 1, 1, 0, '', 'FORUM CANCELLATO DA UN HACKER - Il 28/12/05 !!!', 'Il 28/12/05, il forum è stato vittima <!-- s:cry: --><img src=\"{SMILIES_PATH}/icon_cry.gif\" alt=\":cry:\" title=\"Che piange o Molto triste\" /><!-- s:cry: --> della visita di un hacker <!-- s:pan --><img src=\"{SMILIES_PATH}/panpan.gif\" alt=\":pan\" title=\"panpan\" /><!-- s:pan --> può scrupoloso <!-- s:sick --><img src=\"{SMILIES_PATH}/sick.gif\" alt=\":sick\" title=\"malato\" /><!-- s:sick --> : costui, dopo aver trovato il modo di connettersi al Forum come Amministratore del forum, ha semplicemente cancellato tutti i nostri messaggi <!-- s:evil: --><img src=\"{SMILIES_PATH}/icon_evil.gif\" alt=\":evil:\" title=\"Malvagio o Molto arrabbiato\" /><!-- s:evil: --> !!! \r\n\r\nSfortunatamente e mi scuso <!-- s:oops: --><img src=\"{SMILIES_PATH}/icon_redface.gif\" alt=\":oops:\" title=\"Imbarazzato\" /><!-- s:oops: -->  (avrei dovuto pensarci!!!) non esisteva alcun backup del sito e non sono riuscito a recuperare nessuno dei vecchi messaggi !!!\r\n\r\n[b:f3vjqlv5]ORA SPETTA A NOI FAR RINASCERE QUESTO FORUM E DIMOSTRARE CHE NON È QUESTO TIPO DI TERRORISMO CHE IMPEDIRÀ AL DUB E AI SOUND SYSTEM DI PROGREIRE !!![/b:f3vjqlv5]:thumb \r\n\r\nPerso per perso: non riuscendo a recuperare i messaggi, ho preferito cancellare tutto e installare l'ultima versione software del forum che corregge un certo numero di falle di sicurezza. Di conseguenza [b:f3vjqlv5]GLI EX MEMBRI DEVONO RIREGISTRARSI...[/b:f3vjqlv5]\r\n\r\nRispetto a tutti\r\nRed Lion', '', 0, 'QA==', 'f3vjqlv5', 1, 0, '', 2, 0, 0),(5, 3, 4, 3, 0, '82.225.50.160', 1135856969, 1, 0, 1, 1, 1, 1, '', 'DUB FACTORY RED LION SOUND incontra IRATION STEPPAS 21/01/06', 'Salve a tutti,\r\n\r\nUna grande serata Roots Dub &amp; Steppa a sostegno del Festival del Colle delle 1000 dell'associazione L'Anamounto\r\n\r\nRED LION Sound accoglie i giganti di Leeds:\r\n\r\nIRATION STEPPAS per una sessione 100% heavy weight bass....\r\n\r\nAttenzione!!!\r\n\r\nSi terrà il 21 Gennaio all'ADAEP a Grenoble... Ingresso 10 euro 22H&amp;gt;&amp;gt;5H\r\n+ info in arrivo,\r\nintanto potete sempre ascoltare degli estratti della serata che si è tenuta a Chalon-s/Saone lo scorso anno:\r\n\r\n<!-- m --><a class=\"postlink\" href=\"http://dubnews.free.fr/iration/irationmix.html\">http://dubnews.free.fr/iration/irationmix.html</a><!-- m -->\r\n\r\na+steph\r\nLions\'Den', '', 0, 'QA==', '2vvambac', 1, 0, '', 3, 0, 0),(6, 2, 1, 5, 0, '172.206.42.240', 1135857292, 1, 0, 1, 1, 1, 1, '', '', 'Andiamo, al lavoro !!!\r\n\r\nLion ha ragione, non bisogna perdere la speranza e soprattutto non bisogna abbandonare questo forum sotto il pretesto che non ci sono più informazioni, le informazioni siamo noi tutti ! \r\n\r\nUnity Again !!! \r\n\r\nRispetto alla RedLion Crew\r\nBless\r\nBokson', '', 0, 'QA==', '185llc4j', 1, 0, '', 5, 0, 0),(7, 2, 1, 4, 0, '81.56.248.144', 1135857298, 1, 0, 1, 1, 1, 0, '', '', 'Misera.... senza scherzare......\r\nsembra che ci sia qualcuno che si diverte a infastidire gli altri senza alcun interesse....\r\nbene.......\r\ndovremmo anche non arrabbiarci o urlare contro questo hacker, potrebbe fargli piacere......\r\n\r\necco, mi sono reiscritto\r\n\r\nrispetti,\r\nmathieu', '', 0, 'QA==', '3ra8xkgy', 1, 0, '', 4, 0, 0),(8, 4, 11, 5, 0, '172.206.42.240', 1135857735, 1, 0, 1, 1, 1, 1, '', 'Relazione Amplificatore - Altoparlanti', 'Irie \r\n\r\nVisto che ci hanno hackerato, ripongo la mia domanda ! \r\nCome si calcola questa storia di impedenza ! \r\nSe si fa il bridge dell'amplificatore, se lo si usa in stereo ecc... \r\nE ripongo la domanda, ho 2 altoparlanti bass reflex da 750 watt a 8 ohm\r
il mio amplificatore dietro 2x700 watt a 8 ohm (ad esempio) se lo faccio il bridge e riesco a ottenere 1x1400 watt che invio a 2 subwoofer dato che l'ho fatto il bridge passa a 4 ohm il mio amplificatore, quindi gli altoparlanti devono sopportarlo dietro ma sfortunatamente nelle caratteristiche degli altoparlanti, non sopportano un'impedenza inferiore a 4,75 ohm \r\n\r\nCome faccio, puoi spiegare un po' di più lion, quello che avevi iniziato (prima del passaggio del hacker furioso) \r\nInoltre me l'hai già spiegato ma ho saltato un po' di cose !!!\r\n\r\nGrazie\r\nBokson', '', 0, 'QA==', '3bec5jss', 1, 0, '', 5, 0, 0),(9, 5, 3, 5, 0, '172.206.42.240', 1135857870, 1, 0, 1, 1, 1, 1, '', 'Perché l'uomo distrugge !', 'Tena y Stellin \r\n\r\nUna domanda mi passa per la mente, non riesco a rispondere da solo credo perché troppo vasta forse la risposta ! \r\n\r\nPerché gli uomini distruggono ciò che l'altro ha creato ? \r\n\r\nGelosia, frustrazioni .... Non lo so, non riesco a capire.\r\n\r\nBokson', '', 0, 'QA==', '34xwhk4b', 1, 0, '', 5, 0, 0),(10, 2, 1, 6, 0, '82.64.69.118', 1135859358, 1, 0, 1, 1, 1, 1, '', '', 'Bene, ricominciamo da zero, non è una cosa così negativa <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Sorridi\" /><!-- s:) -->\r\n\r\nBig Up !!\r\n\r\n\r\nNao\r\nGuidance,,,,', '', 0, 'QA==', '143421z7', 1, 0, '', 6, 0, 0),(11, 2, 1, 7, 0, '212.147.0.191', 1135861490, 1, 0, 1, 1, 1, 0, '', '', 'Sì, contento di vedere il forum attivo!  <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Sorridi\" /><!-- s:) --> \r\n\r\nLunga vita a questo forum molto istruttivo ! \r\n\r\nOgnuno insegni a uno !\r\n\r\nJ-M', '', 0, 'QA==', '3gohbqv1', 1, 0, '', 7, 0, 0),(12, 2, 1, 8, 0, '82.235.34.36', 1135864108, 1, 0, 1, 1, 1, 0, '', 'Va tutto bene!!', 'Contento di vedere che avete risolto velocemente il problema!\r\nRispetto a tutta la banda...\r\na presto\r\nmanu', '', 0, 'QA==', '3oql1d2j', 1, 0, '', 8, 0, 0),(13, 6, 4, 8, 0, '82.235.34.36', 1135865115, 1, 0, 1, 1, 1, 0, '', 'Dub Addict Sound incontra Jr CONY &amp; SHANTI D. 3/02/06', 'Una settimana dopo Red Lion e Iration, potete\r\naggiungere un altro strato di bassi al RAIL theatre a LYON..\r\naccogliamo JUNIOR CONY &amp; Shant D...\r\nBoudou e Roots massacre faranno dal vivo, 19Dub alla selezione\r
e Phil al canto.\r
dalle 21h alle 3h per 7Eureu\r\n\r\nciao a tutti...', '', 0, 'QA==', '1y0bfm7j', 1, 0, '', 8, 0, 0),(14, 7, 4, 9, 0, '83.156.49.183', 1135865763, 1, 0, 1, 1, 1, 1, '', 'BORDEAUX:Manasseh,Manutension,Iration Steppas &amp; Uzinadub', 'Il 4SANS a Bordeaux presenta a partire dalle 22h 8) :\r\n\r\nIL 21 Gennaio <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> \r\n\r\nMANASSEH feat Brother Culture\r\nMANUTENSION feat MC Tablloyd\r\nCRYSTAL DISTORSION\r\n\r\nper 10 euro\r\n\r\n\r\nIL 25 Febbraio <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> \r\n\r\nIRATION STEPPAS\r\nUZINADUB\r\nGG PROJECT\r\nELISA DO BRASIL\r\n\r\nPer 10 euro\r\n\r\nQuindi 2 belle serate a Bordeaux per l'inizio dell'anno 2006 <!-- s:bravo --><img src=\"{SMILIES_PATH}/bravoo.gif\" alt=\":bravo\" title=\"bravo\" /><!-- s:bravo -->', '', 0, 'QA==', '319buiqc', 1, 0, '', 9, 0, 0),(15, 6, 4, 3, 0, '82.225.50.160', 1135865811, 1, 0, 1, 1, 1, 1, '', '', 'e il giorno dopo DUB FACTORY N°2 sabato 4 febbraio dalle 21H&amp;gt;&amp;gt;5H\r\n\r\n[b:2d4j075e][color=red:2d4j075e]RED LION SOUND feat Sis ilie Meets JAH FREE Feat GARY JAMES[/b:2d4j075e][/color:2d4j075e]\r\n\r\nIngresso 10 euro\r\nStand Dischi UK Dub\r\na+steph', '', 0, 'Qg==', '2d4j075e', 1, 0, '', 3, 0, 0),(16, 6, 4, 9, 0, '83.156.49.183', 1135865981, 1, 0, 1, 1, 1, 1, '', '', 'Si gestisce questa serata con JAH FREE e RED LION!!!!!!!!!!!! <!-- s:wink: --><img src=\"{SMILIES_PATH}/icon_wink.gif\" alt=\":wink:\" title=\"Ammicca\" /><!-- s:wink: -->', '', 0, 'Qg==', 'sirogssh', 1, 0, '', 9, 0, 0),(17, 4, 11, 2, 0, '82.225.50.160', 1135866119, 1, 0, 1, 1, 1, 0, '', 'Serie e parallelo', 'Sì Bokson, risolveremo questa storia di impedenza :\r\n\r\nL'impedenza essendo la resistenza (tra l'altro?) di un circuito o di un componente, devi rappresentare il tuo altoparlante come una resistenza che si collega in un circuito con l'uscita dell'amplificatore. È l'intera resistenza di questo circuito (con una o più resistenze collegate tra loro) che determinerà la resistenza SOTTO CUI funzionerà il tuo amplificatore.\r\n\r\nPreniamo l'esempio del tuo amplificatore : \r\nCaratteristiche tecniche :\r\n750 watt a 8 ohm x 2 (2 canali)\r\n1400 watt a 8 ohm x 1 (uscita in bridge)\r\n\r\nCollego 1 altoparlante da 750 watt a 8 ohm su uno dei 2 canali (modalità non bridge) e va tutto bene?\r\nAggiungo un 2° altoparlante da 750/8. Ho 2 soluzioni : \r\n\r\nO collego il 2° altoparlante al 2° canale dell'amplificatore e ho quindi 2 altoparlanti da 750 W/ 8 Ohm collegati su 2 canali da 700 W / 8 Ohm\r\n\r\nO decido di mettere i 2 altoparlanti in serie o in parallelo :\r\n\r\n[b:1ms11ykd] In serie :\nquando si collegano più altoparlanti in serie le loro impedenze Z si sommano[/b:1ms11ykd] il che dà : \r\n\r\n[b:1ms11ykd]Zt (uscita ampli) =  Z (hp1) + Z (hp2) + ?[/b:1ms11ykd]\r\n \r\ncioè per il nostro esempio :\r\n8 Ohm +  8 Ohm =  16 Ohm \r\n\r
cioè in questo caso per funzionare correttamente il tuo amplificatore dovrà essere in grado di fornire 750W + 750W = 1500 W a 16 Ohm su un solo canale (se si collegano i 2 altoparlanti in serie e su un solo canale dell'amplificatore)\r\n\r\n[b:1ms11ykd] In parallelo :\nquando si collegano più altoparlanti in parallelo l'inverso della loro impedenza si somma [/b:1ms11ykd] il che dà :\r\n\r\n[b:1ms11ykd]1/Zt = 1/Z (hp1) + 1/Z (hp2) + ?[/b:1ms11ykd]\r\n\r\ncioè nel nostro esempio :\r\n1/8 + 1/8 = 2/8  quindi Zt= 8/2=4 Ohm\r\n\r
cioè in questo caso per funzionare correttamente il tuo amplificatore dovrà essere in grado di fornire 750W + 750W = 1500 W a 4 Ohm su un solo canale \r\n(se si collegano i 2 altoparlanti in parallelo e su un solo canale dell'amplificatore)\r\n\r\n\r\nE se [b:1ms11ykd]decido di mettere 4 altoparlanti sullo stesso canale (circuito)[/b:1ms11ykd] avrò :\r\n\r\n[b:1ms11ykd]Se tutti gli altoparlanti sono in serie :\n\n8 Ohm +  8 Ohm + 8 Ohm +  8 Ohm = 32 Ohm[/b:1ms11ykd]\r\n\r
cioè in questo caso per funzionare correttamente il tuo amplificatore dovrà essere in grado di fornire 750W + 750W + 750W + 750W = 3000 W a 32 Ohm su un solo canale\r\n \r\n[b:1ms11ykd]Se tutti gli altoparlanti sono in parallelo :\n1/Zt= 1/8+1/8+1/8+1/8= 4/8 Zt=8/4=2 Ohm[/b:1ms11ykd]\r\n\r
cioè in questo caso per funzionare correttamente il tuo amplificatore dovrà essere in grado di fornire 750W + 750W + 750W + 750W = 3000 W a 2 Ohm su un solo canale\r\n\r\n[b:1ms11ykd]Se 2 x 2 altoparlanti accoppiati in serie sono montati in parallelo :\n1/Zt = 1/(8+8)+1/(8+8)=1/16+1/16= 2/16 Zt = 16/2=8 Ohm[/b:1ms11ykd]\r\n\r
cioè in questo caso per funzionare correttamente il tuo amplificatore dovrà essere in grado di fornire 750W + 750W + 750W + 750W = 3000 W a 8 Ohm su un solo canale\r\n\r\n[b:1ms11ykd]Per 2 x 2 altoparlanti accoppiati in parallelo sono montati in serie :\nZt=(1/(1/8+1/8))+(1/(1/8+1/8)=1/(2/8)+1/(2/8)=4+4=8 Ohm[/b:1ms11ykd]\r\n\r
cioè in questo caso per funzionare correttamente il tuo amplificatore dovrà essere in grado di fornire 750W + 750W + 750W + 750W = 3000 W a 8 Ohm su un solo canale\r\n\r\nPer il caso in cui hai 6 altoparlanti ti lascio fare il calcolo.\r\n\r\nDopodiché a livello del tuo amplificatore non devi fare alcuna regolazione (è come collegherai i tuoi altoparlanti tra loro che farà sì che il tuo amplificatore funzioni sotto tale o tale impedenza) devi solo verificare nelle specifiche tecniche quali sono le impedenze che può supportare (e non al tempo stesso quale potenza può erogare sotto ogni impedenza)...\r\n\r\nRispetto\r\nRed Lion', '', 0, 'QA==', '1ms11ykd', 1, 1136464838, '', 2, 1, 0),(18, 8, 4, 3, 0, '82.225.50.160', 1135866440, 1, 0, 1, 1, 1, 1, '', 'DUB FACTORY 2: RED LION SOUND incontra JAH FREE feat GARY JAMES', '[b:79akxjmn][size=150:79akxjmn]DUB FACTORY N°2 sabato 4 febbraio dalle 21H&amp;gt;&amp;gt;5H[/size:79akxjmn][/b:79akxjmn]\r\n\r\n<!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola --> <!-- s:hola --><img src=\"{SMILIES_PATH}/fun_59.gif\" alt=\":hola\" title=\"hola\" /><!-- s:hola -->\r\n[b:79akxjmn][color=red:79akxjmn][size=167:79akxjmn]RED LION SOUND feat

...
...
2 Mi Piace

Un recente import di vBulletin che ho effettuato sembra aver generato codifiche diverse in diversi post. Ho scritto del codice che ha tentato diverse coercizioni di codifica.

1 Mi Piace