Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Reparser, ¿que es y para que sirve?

Foro de charla No Soporte.
📌 Aquí para Charla general.


Responder
Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1187
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 63

Reparser, ¿que es y para que sirve?

#1

Mensaje por J_Sparrow »

Buenas, ya hace tiempo vengo leyendo la palabra Reparser. Como soy un gran desconocedor de php y a la vez muy curioso, me surgen muchas dudas de que es o para que sirve/como se usa este comando/instrucción/extensión o lo que sea.
Por favor, corregirme si meto mucho la pata, pero me ha parecido entender que es una especie de sincronizador de datos en la Base de Datos, vamos que si los BBCodes no te funcionan por un cambio de versión o actualización, esto lo que haces es como si editases el mensaje, le añadiese un espacio y así se actualizase el mensaje.
Si esto es así (o me lo he soñado), hace años me hubiese venido que ni de perlas, ya que tengo mensajes que no se ven los vídeos o las imágenes y buscarlos uno a uno, es una merienda de negros.
Igual estoy diciendo la mayor burrada del mundo y lo he entendido o interpretado completamente al revés, por ello me gustaría una explicación sobre el tema.
Además estoy probando la aplicación de canidev (la del editor, que es una maravilla) y al cambiar algunas cosas, me da errores en vídeos y me gustaría poder utilizarla en caso de que sirva para lo que he comentado.

Gracias por vuestras explicaciones, que seguro voy a tener y muy buenas.
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Reparser, ¿que es y para que sirve?

#2

Mensaje por AlfredoRamos »

A grandes razgos, en este caso el "reparser" o re-analizador sintáctico se encarga de convertir los posts usando el relativamente nuevo motor de BBCodes, esto es porque desde phpBB 3.2.x los posts se almacenan como XML.

El reparser es útil si, por ejemplo, no muestra correctamente cierto BBCode que fue modificado después de haber publicado un post con él, los cambios no necesariamente se verían reflejados de manera instantánea.

Hay una tarea cron incluida en phpBB que se encarga de ejecutar el reparser en segundo plano, aunque en ocaciones es necesario ejecutarlo de manera manual, de ahí que algunas veces se recomiende, esto lo que hace es verificar y realizar la conversión nuevamente de ser necesaria usando una suma de verificación de cada post, eso determina si se ha modificado el post o no, por ello puedes ver cambios en los posts si lo editas y haces pequeños cambios, la suma de verificación (checksum) habría cambiado para ese post.

Dependiendo de los errores que tengas, podría o no solucionarlos, habría que ver a cuáles te refieres.

Espero haberme explicado.

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1187
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 63

Reparser, ¿que es y para que sirve?

#3

Mensaje por J_Sparrow »

Buenas AbaddonOrmuz , te cuento mis problemas.
En mi Foro de pruebas tengo instalada la nueva extensión de canidev cBB Editor y para hacerla funcionar he tenido que desactivar algunas extensiones, entre ellas phpBB Media Embed PlugIn, porque la propia extensión ya la trae. Como bien sabes es para poder ver los vídeos, vídeos que yo en mi Foro visualizo con un BBCode llamado Youtube.
Cambiar los textos para que sustituya unos códigos por otros, para mi hoy en día ya no es un misterio, el problema estaba en que intentaba utilizar la nueva aplicación del Editor y se previsualizaban directamente los vídeos en el mensaje, pero al publicarlo, solo aparecía el enlace. He probado con varios, e incluso he copiado un enlace y lo he publicado en una respuesta nueva y lo mismo, se previsualiza en el mensaje, pero al publicarlo, solo el enlace.
Estaba escribiendo esta respuesta y me ha dado por probar con otro navegados, por si acaso y nada, igual. He visto que en mi Portal (uso la extensión de canidev cBB Blockgets), tenía un reloj que no se correspondía con lo que tengo en mi Foro activo, lo he editado, lo he cambiado y automáticamente los vídeos que no se ven, aparecen perfectamente.
Bueno, si es la solución, bendita sea, creo que con hacerla la primera vez, listo. El problema viene en que ahora he de entrar en la Base de Datos y modificar los enlaces con una consulta. Esto ya lo hice cuando pasé de la versión 3.0.x a la 3.1.x y luego tuve que buscar mensaje a mensaje que tuviesen vídeos e imágenes, editar el tema y en algunos casos añadir un espacio o un punto, en otros con editar y cerrar bastaba, para que se pudiese ver los vídeos y/o las imágenes. Por ello he preguntado lo del reparser, porque si esto me ayuda, me evito e tener que buscar y editar todos los mensajes que quiera arreglar, que no son pocos. Además estoy seguro que todavía tengo alguna imagen o vídeo con ese problema.
Si es sencillo y sin peligro el usarlo, ¿me puedes asesorar como se hace, que instrucción o comando he de utilizar?
Como siempre, muchas gracias adelantadas.
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Reparser, ¿que es y para que sirve?

#4

Mensaje por AlfredoRamos »

Pues el reparser podría ayudarte con ese problema, y si bien dices que es un foro de pruebas valdría la pena corroborar que así sea.

Antes que nada, es necesario verificar que el intérprete de PHP este funcionando, por ejemplo escribiendo en la línea de comandos (Windows + R (Ejecutar) > cmd) lo siguiente:

Código: Seleccionar todo

php --version
Deberías obtener algo como:

Código: Seleccionar todo

PHP 5.6.40 (cli) (built: Jan 15 2019 20:32:01) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Dependiendo de cómo tengas configurado tu servidor de pruebas, tal vez necesitarías especificar la ruta absoluta al ejecutable de PHP, algo como:

Código: Seleccionar todo

C:\Ruta\php.exe --version
Si ya tienes PHP funcionando, sólo necesitas realizar lo siguiente:
  • Código: Seleccionar todo

    cd ruta/de/tu/foro/
    Esto mueve al directorio en donde esta alojado tu foro.
  • Código: Seleccionar todo

    php bin/phpbbcli.php reparser:reparse --safe-mode
    Esto ejecuta el reparser en modo seguro (ignora las extensiones instaladas) en todo tu foro, esto es, en mensajes (de temas y personales/privados), firmas, descripciónes, etc. En general, en todo lugar que pueda contener BBCodes.
Dependiendo del tamaño de las tablas y de los recursos de tu servidor de pruebas, podría tardar de unos minutos a un par de horas.

Si todo sale bien, al final deberías obtener el mensaje "[OK] Reparsing ended with success" y podrás verificar si todo esta en orden.

Si el reparser se detiene por algún error, será necesario corregirlo antes de continuar (publica aquí el mensaje de error). Tras corregir el error, se tendrá que ejecutar el comando anterior con una bandera extra: --resume:

Código: Seleccionar todo

php bin/phpbbcli.php reparser:reparse --resume --safe-mode
Esto es para, como su nombre lo indica, reanudar la tarea desde el punto en el que se detuvo.

Espero haberme explicado.

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1187
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 63

Reparser, ¿que es y para que sirve?

#5

Mensaje por J_Sparrow »

Te has explicado como un libro abierto, perfectamente.
Ya he comprobado lo del php y me ha dado el mensaje que me dices, pero con la versión php

Imagen

Ahora solo me queda sustituir los enlaces y ejecutar el comando del reparser. Aquí en España ya es la hora de la cena y primero he de cumplir con el ritual diario :D :D . Luego me pongo con lo demás y te digo algo. Gracias AbaddonOrmuz , esto era lo que quería saber.
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Avatar de Usuario
canidev
Moderador
Mensajes: 703
Registrado: 30 Jun 2011, 17:06
Género:
Edad: 38

Reparser, ¿que es y para que sirve?

#6

Mensaje por canidev »

El bbcode de youtube tendría que funcionarte sin tener que usar el reparser.
Los videos que te fallan son los que publicas con el bbcode "media" o con el bbcode "youtube"??
¿El foro de pruebas es público, es decir, se puede acceder a ese fallo? (sería de ayuda)

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1187
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 63

Reparser, ¿que es y para que sirve?

#7

Mensaje por J_Sparrow »

Buenas canidev , el bbcode youtube no funciona con tu extensión, no me digas por que, no tengo ni idea.
¿Foro pruebas publico?, me acabas de matar, no tenía ni puñetera idea de que eso se pueda hacer, aunque si te digo la verdad, no me interesa ponerlo publico, es para hacer pruebas nada mas. Ahora bien si lo necesitas y me dices como lo hago para ti.
AbaddonOrmuz , eres una máquina, el reparser ha funcionado como me lo has dicho. De momento solo con unos vídeos, ya que tenía de varias formas los vídeos. Eso si, me ha costado un poquillo el ejecutarlo, ya que no me hacía caso al comando y me marcaba un error.
Os cuento un poco a todos mi proceso para que le sirva a otro y quede aquí constancia de lo que he hecho.
Yo tengo los vídeos de tres maneras (si, no me montéis la bronca, soy así por desgracia). Venía arrastrando de conversiones anteriores un formato como este:

Código: Seleccionar todo

[bbcode=560,315]enlace video[/bbcode]
En entrado en phpMyAdmin y por medio de una consulta, he cambiado

Código: Seleccionar todo

[bbcode=560,315]
por

Código: Seleccionar todo

[media]
y después con otra consulta, he cambiado

Código: Seleccionar todo

[/bbcode]
por

Código: Seleccionar todo

[/media]
Ahora he ejecutado el reparser tal y como me lo comentaba AbaddonOrmuz , pero con una salvedad. Supongamos que tengo instalado xampp en el directorio C y que dentro están las carpetas (entre otras), php y htdocs. Me he colocado en el directorio donde esta la copia del Foro (C:\sampp\htdocs\nombre del Foro\) y he ejecutado el comando que me comentaba el compañero, pero así:

Código: Seleccionar todo

C:\xampp\php\php bin/phpbbcli.php reparser:reparse --safe-mode
Si no le ponía delante del comando la ruta donde estaba el php.exe, no me funcionaba. Y ha funcionado por lo menos en los pocos vídeos que he comprobado. Ahora quiero hacer lo mismo con los vídeos que están con el bbcode de Youtube. Pero lo haré mañana, por si canidev quiere que hagamos alguna prueba.

Gracias a todos.
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Avatar de Usuario
canidev
Moderador
Mensajes: 703
Registrado: 30 Jun 2011, 17:06
Género:
Edad: 38

Reparser, ¿que es y para que sirve?

#8

Mensaje por canidev »

¿El bbcode youtube que tienes es poniendo la url completa del video o solo el ID?

Código: Seleccionar todo

Así:
[youtube]https://www.youtube.com/watch?v=fz2ECopY3yA[/youtube]
o así:
[youtube]fz2ECopY3yA[/youtube]

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1187
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 63

Reparser, ¿que es y para que sirve?

#9

Mensaje por J_Sparrow »

No estoy muy seguro de donde saqué el BBCode de Youtube, creo que salía de instalar el Rin Editor for phpBB, y lo que hacía es que al darle al botón para insertar el vídeo,
Imagen
te sale un cuadro, le pones la url y cuando aceptas te coloca el enlace como pones en la segunda línea:

Código: Seleccionar todo

[youtube]fz2ECopY3yA[/youtube]
De todas formas no le des muchas vueltas, creo que desde phpMyAdmin y a través de consultas podría cambiar los códigos y añadir o quitar cosas. No será la primera vez que lo hago, pero si me atasco, hecho mano de los conocimientos de mis hijos, que para algo les he pagado los estudios :D :D :D

Por cierto canidev , impresionante tu extensión, quiero hacerte un pregunta y abriré un tema nuevo en el soporte de extensiones. El mejor dinero invertido junto con las otras tres que tengo tuyas.
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Avatar de Usuario
canidev
Moderador
Mensajes: 703
Registrado: 30 Jun 2011, 17:06
Género:
Edad: 38

Reparser, ¿que es y para que sirve?

#10

Mensaje por canidev »

El editor usa la url completa, por eso no te funcionan los otros.
Intentaré añadir el uso de solo el ID en la siguiente versión, por compatibilidad con ese tipo de bbcodes

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1187
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 63

Reparser, ¿que es y para que sirve?

#11

Mensaje por J_Sparrow »

Gracias otra vez.
Por mi no hay problema, si soy capaz de cambiar las url con consultas a la base de datos, lo demás será coser y cantar. peor no esta de mas el poder implementarlo, a alguno seguro que le viene bien.
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Avatar de Usuario
ThE KuKa
Administrador
Mensajes: 10422
Registrado: 04 Ene 2004, 19:27
Género:
Edad: 50

Reparser, ¿que es y para que sirve?

#12

Mensaje por ThE KuKa »

Off Topic

Tema añadido a FAQs, hace tiempo que no añado cosas... voy a seguir mirando. :rock:

📌 Raul [ThE KuKa] en phpBB 📌
✅ Jr. Extension Validator - Jr. Styles Validator - Style Customisations - Translator - International Support Team
✅

Si te gustan mis estilos, traducciones, etc. y quieres mostrar algo de aprecio, no dudes en hacer una donación Imagen
:flag_es: phpBB España - En línea desde 2003 :heart:



Responder

Volver a “🆕 Debates sobre phpBB”