Migrar un foro phpBB3 a Discourse

Parece que soy el único que publica aquí…

Así que, justo cuando estaba a punto de lanzar mi nuevo foro de Discourse, ¡descubrimos un problema muy extraño! Me he quedado atascado con este problema; espero que alguien aquí pueda aclararlo…

Caso: He importado dos bases de datos a Discourse desde phpBB3. La primera es un archivo, que básicamente es el foro actual que dividimos en dos hace 15 años y luego congelamos. La otra mitad del foro permaneció activa y creció. Mi esperanza era que el importador las fusionara durante la importación, ¡y lo hizo! :smiley:

Pero ahora he descubierto un caso con un usuario y necesito saber si este es el único caso o si ha afectado a otros, y luego cómo buscar otros casos.

El usuario había creado dos cuentas. Ambas en el foro actual. Digamos que la cuenta antigua se llamaba OldName y la nueva, NewName.

En el Discourse importado, ahora hay dos usuarios. Uno llamado OldName y el que debería haber sido NewName se ha renombrado a OldName1. Además, las publicaciones de OldName se han fusionado en OldName1.

No tengo idea de por qué esto solo le sucedió a este usuario, ya que hay otros usuarios con cuentas duplicadas y no parecen verse afectados por esto.

¿Alguien sabe qué podría haber ocurrido aquí?
¿Hay alguna manera de buscar otros casos?

1 me gusta

Pero probablemente no como piensas. Si simplemente ejecutaste el importador dos veces, todos los campos personalizados import_id entraron en conflicto, por lo que el usuario con userid 123 en la primera base de datos ahora es el mismo usuario que el userid 123 en la nueva base de datos. Lo mismo ocurre con los temas y las publicaciones.

Estoy bastante seguro de que cada userid (y tema, publicación y probablemente categoría) que existe tanto en la base de datos antigua como en la nueva se fusiona con la antigua.

Necesitarás hacer algo para evitar que los import_ids entren en conflicto (quizás eliminar los antiguos, o quizás modificar el script de importación para que sean únicos en cada importación).

4 Me gusta

Bueno… de todos modos, ¿NO son lo mismo??
Quiero decir, básicamente es el mismo foro; una parte continuó y la otra quedó congelada en el tiempo. ¿Entonces el ID de usuario 123 sigue siendo el ID 123, y lo mismo ocurre con los IDs de publicaciones y temas?

¿Qué quieres decir con los campos personalizados import_id?

El foro se ve bien, todos los temas, publicaciones, etc., están en su lugar. ¿La idea general es que estén fusionados?

No encuentro ningún otro problema con otros usuarios/publicaciones/temas, excepto ese caso de uso.

Quizás sea mejor explicar qué es exactamente lo que sucede.

El punto de partida fue un foro phpBB. En algún momento lo cloné. Una de las copias permaneció cerrada y se convirtió en el archivo. En la otra parte, eliminé las publicaciones más antiguas (que ahora estaban en el archivo) y la mantuve abierta. En esa versión, los usuarios, temas, publicaciones, etc., simplemente aumentaron y nunca se modificaron (en cuanto a sus IDs). Así que pensé que el script de importación vería el archivo y el foro actual como dos partes de la misma base de datos, porque lo son… y lo trataría como una importación incremental. ¿Y así ha sido?

Por lo tanto, por favor, ayúdame a entender qué es lo que ha salido mal a tu juicio, porque lo que señalas es exactamente lo que esperaba que hiciera…

Si el segundo foro fuera un superconjunto del primero, no veo por qué los importaste ambos, pero siempre que el nuevo foro no utilice ningún ID de usuario, publicación o tema que ya exista en el primero, deberías estar bien.

Cuando se importa un usuario, tema o publicación, se crea un campo personalizado llamado import_id para que puedas rastrear la correspondencia entre el foro antiguo y el nuevo.

Algunos importadores también crean un campo personalizado llamado import_username si el nombre de usuario cambia. Puedes hacer algo como:

cd /var/discourse
rails c
u=User.find_by_username('nombre-de-usuario-que-buscas')
u.custom_fields

para verlos.

1 me gusta

porque quería que la parte archivada se volviera a fusionar con el foro completo, en lugar de tener dos “mitades” de un mismo foro. Ahora no necesito mantener un archivo antiguo separado de phpbb2 que tenía que convertir a Discourse de alguna manera… ahora está completo de nuevo :slight_smile: (hicimos el archivo con el objetivo de reducir la carga del servidor en aquellos días).

Probé tu consulta, gracias.
Para el caso de uso en mi publicación, obtuve {"import_id"=>"21293"} para NewName
y para OldName1 obtuvo
{"import_id"=>"8800", "import_username"=>"OldName"}
así que, wow, muestra lo que hizo allí… ¿Alguna razón por la que decidió que import_id8800 pertenecía al nombre de usuario de importación NewName? ya que tienen diferentes import_id.

¿Hay alguna manera de realizar una búsqueda más genérica porque no sé qué usuarios están afectados, eso es lo que estoy tratando de averiguar, así que no conozco la parte username-youwant."}

Una forma de hacerlo sería:

  • Restaurar desde la copia de seguridad realizada justo después de completar la importación del archivo.
  • Borrar los valores de import_id de las publicaciones, temas, categorías y usuarios.
  • Realizar la importación actual del foro.

Al hacer esto, los usuarios deberían coincidir y combinarse por correo electrónico.

4 Me gusta

Correcto. Tienen diferentes import_id, pero el mismo nombre de usuario. Si quieres que sean el mismo usuario, necesitarán tener el mismo nombre de usuario (o puedes hacer que tengan el mismo import_id).

Tal vez busques

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

Eso también atrapará a personas que simplemente quisieron terminar su nombre de usuario con un 1.

Y eso funcionará perfectamente… a menos que sus direcciones de correo electrónico hayan cambiado.

De la manera que lo hagas, tendrás algunas cosas como esta que resolver a mano.

1 me gusta

Muy útil. Estoy migrando mi foro de juegos a Discord. El alojamiento de PHPbb (este: https://www.cloudways.com/en/phpbb-hosting.php) que estaba utilizando no admite aplicaciones distintas de PHP. Por lo tanto, estoy en proceso de explorar otra plataforma para ello.

Estoy intentando migrar un foro de phpBB 3.2.9 a Discourse. Tengo alrededor de 2.800 usuarios y casi 36.000 publicaciones. Para la importación utilizo el repositorio de Git de @gerhard con la rama phpbb3.

La migración de los usuarios y los mensajes privados funciona bien, pero tengo un problema con las publicaciones. Solo se han migrado unas 2.800 publicaciones. Recibo mensajes como el siguiente:

    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

No soy un experto en Ruby, así que no sé realmente cómo depurar esto. Parece que falta un método. Pero, ¿cómo lo consigo y por qué se han migrado casi 2.800 publicaciones?

¿Alguna idea sobre qué está causando este problema y, por supuesto, cómo puedo solucionarlo?

¡Gracias!

1 me gusta

A veces hay gremlins en el código o duendes en la base de datos.

Si tu migración se detiene por un error (suena como si fuera el caso en este ejemplo), lo que hago es leer el mensaje de error, ir al archivo problemático del script y envolver el error en algo simple como:

begin
   #línea o líneas problemáticas de código Ruby
rescue
   puts "¡error! en <rutina problemática> variable #{variable} blab blah mi gran mensaje"
end

Recientemente migré más de 1 millón de publicaciones, y atrapar errores como en el ejemplo anterior y “seguir adelante” fue una salvación.

Cada migración es diferente; no es que tenga tanta experiencia como otros, pero he hecho una migración de unas 20 maneras diferentes y unas 100 veces, LOL, y mi experiencia es que la estructura begin rescue end es muy importante.

Por supuesto, puedes profundizar más y ver si hay un problema mayor más adelante; pero a veces simplemente quieres seguir avanzando con la migración :slight_smile:

2 Me gusta

¡Bienvenido @TBauer :wave:

Quizás pasaste por alto esta advertencia en el primer mensaje.

2 Me gusta

@TBauer parece estar usando esta rama experimental, así que supongo que está bien. Aún no es compatible, pero me gustaría saber de todos modos qué está causando este error.

@TBauer, ¿podrías enviarme el contenido de la columna post_text en la tabla phpbb_posts para el post con ID 14742 en un mensaje privado o publicarlo aquí?

Supongo que recientemente actualizaste a phpBB 3.2 y la conversión del formato antiguo de BBCode al nuevo aún no ha terminado. Por eso podría fallar después de 2800 publicaciones. Si ese es el caso, quizás quieras ejecutar el Reparador de texto de phpBB 3.2+ en una interfaz de línea de comandos (CLI). El script de importación actualmente no admite mezclar formatos de almacenamiento antiguos y nuevos para los BBCodes, y la conversión de BBCode a Markdown debería funcionar mucho mejor con el nuevo formato. :wink:

4 Me gusta

No, la migración no se detiene. El script se ejecuta hasta que finaliza normalmente. Lo que ocurre es que no se migran muchos posts. En este caso, recibí mensajes como los anteriores. Revisé algunos posts en la base de datos y parece que todos son antiguos y no tienen código XML.

@Helmi: por supuesto que lo leí. Por eso usé la rama experimental del código. :wink:

1 me gusta

Quizás esa sea la solución. Primero lo probaré. Me di cuenta de que las publicaciones fallidas están en formato BBCode y no en formato XML… Así que la próxima vez intentaré convertir después de la reparsión…

2 Me gusta

Lo siento, no me quedó del todo claro al leer tu publicación.

@Helmi: no hay problema. :smiley:

@gerhard: ¡funcionó! Después de convertir las publicaciones al nuevo formato, pude importarlas. Solo obtuve una excepción durante la importación de cuatro publicaciones, pero en mi caso eso está bien.

   35264 / 35281 (100.0%)  [4879 items/min]  Excepción al crear la publicación 39353. Omitiendo.
atributo desconocido 'reply_id' para 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>'

¡Gracias por el importador y por el gran trabajo! :slight_smile:

3 Me gusta

Hola @gerhard, en realidad estamos usando el script para importar un foro phpBB muy antiguo que necesita ser salvado de la eliminación. Todo va bastante bien, pero al final el foro presenta problemas de codificación. Los títulos y el contenido de las publicaciones muestran una codificación incorrecta.

El foro estaba en francés y el volcado SQL que descargamos de phpBB está codificado en UTF-8. ¿Qué hemos pasado por alto, por favor?

¡Muchas gracias, este trabajo es increíble! :open_mouth:

Es posible que haya una incompatibilidad de codificación en algún lugar… hay una razón por la que alguien lo llamó el infierno de la codificación de MySQL.

Hace mucho tiempo creé un script para corregir bases de datos que contienen datos UTF-8 dentro de tablas con codificación latin1. ¿Quizás eso ayude? De lo contrario, tendrás que resolverlo por tu cuenta.

3 Me gusta

Hola @gerhard y gracias por responder. ¿Cuál debería ser el formato de mi archivo volcado SQL, por favor? En realidad, VS Code me dice que es UTF-8. Así que… debería funcionar, ¿no?

Estos problemas de codificación me vuelven loco.. :frowning:

@gerhard : EDICIÓN : Un ejemplo de lo que tengo en el archivo volcado a continuación.

#
# Script de copia de seguridad de phpBB
# Volcado de tablas para phpbb3_
# FECHA : 06-04-2020 08:26:04 GMT
#
# Tabla: 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 BORRADO POR UN HACKER - El 28/12/05 !!!', 'El 28/12/05, el foro fue víctima <!-- s:cry: --><img src=\"{SMILIES_PATH}/icon_cry.gif\" alt=\":cry:\" title=\"Llorando o Muy triste\" /><!-- s:cry: --> de la visita de un hacker <!-- s:pan --><img src=\"{SMILIES_PATH}/panpan.gif\" alt=\":pan\" title=\"panpan\" /><!-- s:pan --> muy escrupuloso <!-- s:sick --><img src=\"{SMILIES_PATH}/sick.gif\" alt=\":sick\" title=\"enfermo\" /><!-- s:sick --> : este, después de encontrar la manera de conectarse al Foro como Administrador del foro, simplemente eliminó la totalidad de nuestros mensajes <!-- s:evil: --><img src=\"{SMILIES_PATH}/icon_evil.gif\" alt=\":evil:\" title=\"Malvado o Muy enojado\" /><!-- s:evil: --> !!! \r\n\r\nDesafortunadamente y me disculpo <!-- s:oops: --><img src=\"{SMILIES_PATH}/icon_redface.gif\" alt=\":oops:\" title=\"Avergonzado\" /><!-- s:oops: -->  (¡¡¡debería haberlo pensado!!!) no existía ninguna copia de seguridad del sitio y no pude recuperar ninguno de los mensajes antiguos !!!\r\n\r\n[b:f3vjqlv5]AHORA NOSOTROS ES A QUIENES CORRESPONDE HACER RENACER ESTE FORO Y MOSTRAR QUE NO ES ESTE TIPO DE TERRORISMO LO QUE IMPEDIRÁ QUE EL DUB Y LOS SISTEMAS DE SONIDO PROGRESEN !!![/b:f3vjqlv5]:thumb \r\n\r\nPerdido por perdido : al no poder recuperar los mensajes, preferí borrarlo todo e instalar la última versión del software del foro que corrige un cierto número de vulnerabilidades de seguridad. Por lo tanto [b:f3vjqlv5]LOS MIEMBROS ANTIGUOS DEBEN VOLVER A REGISTRARSE...[/b:f3vjqlv5]\r\n\r\nRespeto a Todos\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 encuentra a IRATION STEPPAS 21/01/06', 'Saludos a todos,\r\n\r\nUna gran velada de Roots Dub &amp; Steppa en apoyo al Festival del collado de los 1000 de la asociación L\'anamounto\r\n\r\nRED LION Sound acoge a los gigantes de Leeds:\r\n\r\nIRATION STEPPAS para una sesión 100% heavy weight bass....\r\n\r\n¡Cuidado!!!\r\n\r\nEsto ocurre el 21 de enero en la ADAEP en Grenoble... Entrada 10 euros 22H&gt;&gt;5H\r\n+ información pronto,\r\nhasta entonces siempre pueden escuchar extractos de la velada que tuvo lugar en Chalon-s/Saone el año pasado:\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, '', '', 'Vamos, ¡al trabajo !!!\r\n\r\nLion tiene razón, no hay que perder la esperanza y sobre todo no hay que abandonar este foro bajo el pretexto de que ya no hay información, ¡la información somos todos nosotros ! \r\n\r\n¡Unidad de nuevo !!! \r\n\r\nRespeto al Equipo RedLion\r\nBendiciones\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, '', '', 'miseria.... sin broma......\r\nparece que hay algunos a los que les ocupa fastidiar a los demás sin ningún interés....\r\nbueno.......\r\nno deberíamos enfadarnos ni gritar contra este hacker, podría darle gusto......\r\n\r\nhe aquí, me he vuelto a registrar\r\n\r\nrespetos,\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, '', 'Relación Amplificador - Altavoces', 'Irie \r\n\r\nYa que nos han hackeado, vuelvo a hacer mi pregunta ! \r\n¿Cómo calcular esta historia de impedancia ! \r\nSi puenteamos el amplificador, si lo usamos en estéreo, etc... \r\nY vuelvo a hacer la pregunta, tengo 2 altavoces bass reflex de 750 vatios a 8 ohmios\r\nmi amplificador detrás 2x700 vatios a 8 ohmios (por ejemplo) si lo puenteo y consigo sacar 1x1400 vatios que lanzo sobre 2 cajas, ya que lo he puenteado, mi amplificador pasa a 4 ohmios, así que las cajas deben soportarlo, pero desafortunadamente en las características de las cajas, no soportan una impedancia inferior a 4.75 ohmios \r\n\r\n¿Qué hago? ¿Puedes explicarme un poco más, Lion, lo que habías empezado (antes del paso del hacker furioso) \r\nAdemás ya me lo habías explicado pero he olvidado un par de cosas !!!\r\n\r\nGracias\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, '', '¿Por qué el hombre destruye !', 'Tena y Stellin \r\n\r\nUna pregunta me cruza la mente, creo que no puedo responder solo porque quizás la respuesta sea demasiado amplia ! \r\n\r\n¿Por qué los hombres destruyen lo que el otro ha creado ? \r\n\r\nCelos, frustraciones .... No sé, no consigo entenderlo.\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, '', '', 'Bueno, empezamos de cero, no es algo tan malo <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Sonrisa\" /><!-- s:) -->\r\n\r\n¡Big 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 de ver el foro de nuevo en marcha!  <!-- s:) --><img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Sonrisa\" /><!-- s:) --> \r\n\r\n¡Larga vida a este foro muy instructivo ! \r\n\r\n¡Cada uno enseñe 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, '', '¡Todo va bien!!', 'Contento de ver que habéis resuelto el problema rápidamente.\r\nRespeto a toda la pandilla...\r\nhasta pronto\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 encuentra a Jr CONY &amp; SHANTI D. 3/02/06', 'Una semana después de Red Lion e Iration, podéis\r\nvolver a poner una capa de bajos en el RAIL theatre en LYON..\r\nacogemos a JUNIOR CONY &amp; Shant D...\r\nBoudou y Roots massacre harán su directo, 19Dub a la selección\ry Phil al canto.\r\nde 21h a 3 h por 7Eureu\r\n\r\nadiós a todos...', '', 0, 'QA==', '1y0bfm7j', 1, 0, '', 8, 0, 0),(14, 7, 4, 9, 0, '83.156.49.183', 1135865763, 1, 0, 1, 1, 1, 1, '', 'BURGOS:Manasseh,Manutension,Iration Steppas &amp; Uzinadub', 'El 4SANS en Burdeos presenta a partir de las 22h 8) :\r\n\r\nEL 21 de Enero <!-- 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\npor 10 euros\r\n\r\n\r\nEL 25 de Febrero <!-- 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\nPor 10 euros\r\n\r\nAsí que 2 buenas veladas en Burdeos para el principio del año 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, '', '', 'y al día siguiente DUB FACTORY N°2 el sábado 4 de febrero de 21H&gt;&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\nEntrada 10 euros\r\nStand Discos 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, '', '', '¡Se maneja bien esta velada con JAH FREE y RED LION!!!!!!!!!!!! <!-- s:wink: --><img src=\"{SMILIES_PATH}/icon_wink.gif\" alt=\":wink:\" title=\"Guiño\" /><!-- 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 y paralelo', 'Sí Bokson, vamos a resolver esta historia de impedancia :\r\n\r\nLa impedancia siendo la resistencia (entre otras?) de un circuito o de un componente, tienes que representarte tu altavoz como una resistencia que se conecta en un circuito con la salida del amplificador. Es la totalidad de la resistencia de este circuito (con una o varias resistencias conectadas entre ellas) la que va a determinar la resistencia BAJO LA CUAL va a funcionar tu amplificador.\r\n\r\nTomemos el ejemplo de tu amplificador : \r\nCaracterísticas técnicas :\r\n750 vatios a 8 ohmios x 2 (2 canales)\r\n1400 vatios a 8 ohmios x 1 (salida puenteada)\r\n\r\nConecto 1 altavoz de 750 vatios a 8 ohmios en uno de los 2 canales (modo no puenteado) y todo va bien?\r\nAñado un 2º altavoz de 750/8. tengo 2 soluciones : \r\n\r\nO bien conecto el 2º altavoz en el 2º canal del amplificador y tengo así 2 altavoces de 750 W/ 8 Ohmios conectados en 2 canales de 700 W / 8 Ohmios\r\n\r\nO bien decido poner los 2 altavoces en serie o en paralelo :\r\n\r\n[b:1ms11ykd] En serie :\nCuando conectamos varios altavoces en serie sus impedancias Z se suman[/b:1ms11ykd] lo que da : \r\n\r\n[b:1ms11ykd]Zt (salida ampli) =  Z (hp1) + Z (hp2) + ?[/b:1ms11ykd]\r\n \r\npara nuestro ejemplo :\r\n8 Ohmios +  8 Ohmios =  16 Ohmios \r\n\r\nasí que en este caso para funcionar correctamente tu amplificador deberá ser capaz de proporcionar 750W + 750W = 1500 W a 16 Ohmios en un solo canal (si conectamos los 2 altavoces en serie y en un solo canal del amplificador)\r\n\r\n[b:1ms11ykd] En paralelo :\nCuando conectamos varios altavoces en paralelo el inverso de su impedancia se suma [/b:1ms11ykd] lo que da :\r\n\r\n[b:1ms11ykd]1/Zt = 1/Z (hp1) + 1/Z (hp2) + ?[/b:1ms11ykd]\r\n\r\npara nuestro ejemplo :\r\n1/8 + 1/8 = 2/8  por lo tanto Zt= 8/2=4 Ohmios\r\n\r\nasí que en este caso para funcionar correctamente tu amplificador deberá ser capaz de proporcionar 750W + 750W = 1500 W a 4 Ohmios en un solo canal \r\n(si conectamos los 2 altavoces en paralelo y en un solo canal del amplificador)\r\n\r\n\r\nY si [b:1ms11ykd]decido poner 4 altavoces en el mismo canal (circuito)[/b:1ms11ykd] tendré :\r\n\r\n[b:1ms11ykd]Si todos los altavoces están en serie :\n\n8 Ohmios +  8 Ohmios + 8 Ohmios +  8 Ohmios = 32 Ohmios[/b:1ms11ykd]\r\n\r\nasí que en este caso para funcionar correctamente tu amplificador deberá ser capaz de proporcionar 750W + 750W + 750W + 750W = 3000 W a 32 Ohmios en un solo canal\r\n \r\n[b:1ms11ykd]Si todos los altavoces están en paralelo :\n1/Zt= 1/8+1/8+1/8+1/8= 4/8 Zt=8/4=2 Ohmios[/b:1ms11ykd]\r\n\r\nasí que en este caso para funcionar correctamente tu amplificador deberá ser capaz de proporcionar 750W + 750W + 750W + 750W = 3000 W a 2 Ohmios en un solo canal\r\n\r\n[b:1ms11ykd]Si 2 x 2 altavoces acoplados en serie están montados en paralelo :\n1/Zt = 1/(8+8)+1/(8+8)=1/16+1/16= 2/16 Zt = 16/2=8 Ohmios[/b:1ms11ykd]\r\n\r\nasí que en este caso para funcionar correctamente tu amplificador deberá ser capaz de proporcionar 750W + 750W + 750W + 750W = 3000 W a 8 Ohmios en un solo canal\r\n\r\n[b:1ms11ykd]Para 2 x 2 altavoces acoplados en paralelo están montados en serie :\nZt=(1/(1/8+1/8))+(1/(1/8+1/8)=1/(2/8)+1/(2/8)=4+4=8 Ohmios[/b:1ms11ykd]\r\n\r\nasí que en este caso para funcionar correctamente tu amplificador deberá ser capaz de proporcionar 750W + 750W + 750W + 750W = 3000 W a 8 Ohmios en un solo canal\r\n\r\nPara el caso en que tengas 6 altavoces te dejo que hagas el cálculo.\r\n\r\nDespués, a nivel de tu amplificador no tienes ningún ajuste que hacer (es cómo vas a conectar tus altavoces entre ellos lo que hará que tu amplificador funcione bajo tal o cual impedancia) solo tienes que verificar en las especificaciones técnicas qué impedancias puede soportar (y no a la vez qué potencia puede entregar bajo cada impedancia)...\r\n\r\nRespeto\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 encuentra a JAH FREE feat GARY JAMES', '[b:79akxjmn][size=150:79akxjmn]DUB FACTORY N°2 el sábado 4 de febrero de 21H&gt;&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 Me gusta

Una importación reciente de vBulletin que realicé parece tener diferentes codificaciones en distintos mensajes. Escribí un código que intentó varias coerciones de codificación.

1 me gusta