Integración de phpBB3 con tu sitio
Hace un tiempo, escribí un artículo sobre cómo integrar phpBB3 con tu sitio.
Este post ha tenido bastantes visitas, lo que me lleva a pensar que no hay mucha literatura en español al respecto y que sí hay mucho interés…. por lo que he decidido que escribiré un conjunto de artículos sobre cómo hacer las integraciones.
Lo primero, es que hay muchas formas de integrar phpBB3 con otro sitio web. Las cosas que necesitas hacer dependen de cómo desees que sea esa integración, y por eso el primer paso es tener claro cómo quieres integrar phpBB3 a tu sitio.
Primero que nada, definamos una “nomenclatura” para entender bien las distintas formas de integración:
Partes de los sistemas
Registro de usuarios
Es el conjunto de páginas y el código que se encarga de crear un nuevo usuario en el sistema.
Identificación
Una vez creado el usuario, este es el conjunto de páginas y código que se encarga de verificar la información de usuario/clave contra la base de datos de usuarios y que da acceso a un usuario registrado al sitio.
Manejo de sesión
Son las porciones de código (nada visible para el usuario) que le indican al sistema si quien está solicitando una página específica es un usuario registrado que ya se ha identificado en la página. Por lo general se maneja a través de Cookies en el navegador del usuario.
Mis Datos
Son las páginas en las que el usuario puede entrar para modificar su información (cambio de clave, email, etc).
Información del sistema
Con información del sistema me refiero a distintos datos de uno de los sistemas que se podría querer mostrar. Por ejemplo: Número de usuarios registrados en el foro, número de hilos del foro, etc.
Lo mismo para el otro sistema (si por ejemplo el otro sistema es un blog, último post, número de comentarios de un post particular, etc).
Ya habiéndole dado nombre a todo esto, el escenario que nos encontramos al iniciar la integración es este:

Leyenda:
- Cada columna es un módulo.
- La primera fila es la capa de presentación, es decir, las páginas que se le muestra al usuario.
- La segunda fila es la capa de lógica o aplicación, es decir, el código que se ejecuta para realizar la acción solicitada en la página.
Formas de Integración
Ya teniendo un estándar para definir las distintas partes, una integración no es más que sustituir o modificar algunas de estas partes en uno de los sistemas por la misma parte en el otro (probablemente con nuevo código).
Algo importante al decidir cómo hacer la integración es que, por más que se deseen integrar los sistemas, siempre se deberá preservar la base de datos de usuarios de cada uno de ellos. Esto es así porque de lo contrario la cantidad de cambios sería muy grande y haría muy difícil que en el futuro se puedan actualizar los sistemas.
Hay muchas formas de realizar la integración entre el phpBB3 y el otro sistema. Lo que haré será escribir distintos artículos explicando cada una de las formas de integración, e iré enlazándolos desde este post a medida que vayan saliendo.
Integración 1: phpBB3 usa la base de datos de usuario del otro sistema para autenticar a los usuarios. Los usuarios de phpBB3 se crean de forma pasiva.
Esta es la integración más sencilla (gracias a que phpBB3 implementa módulos de autenticación).
Estas son las características de esta integración:
- El registro de usuarios está completamente deshabilitado en el phpBB3
- No se puede alterar la información del usuario en phpBB3.
- Al realizar el login en phpBB3, la información del usuario es contrastada con la base de datos de usuario del otro sistema
- En caso de que sea la primera vez que un usuario válido del otro sistema entra al phpBB3, un nuevo usuario es creado de forma “automágica” en el phpBB3.
- Cada sistema maneja sus sesiones de forma independiente.
- No se muestra información de un sistema en el otro
Gráficamente sería así:
Aquí está el post en el que se explica cómo hacer esta integración de phpBB3.
Integración 2: Al crear un usuario en el otro sistema, automáticamente se crea un usuario en phpBB3 y hacer login en uno de ellos automáticamente te loguea en el otro.
[Ir directamente a la primera parte artículo]
Esta integración es diferente de la anterior porque los usuario son creados en phpBB3 de forma activa, es decir, aunque el usuario no haya entrado en el phpBB3 ya su usuario existe.
Estas son las características de esta integración:
- El registro de usuarios está deshabilitado en uno de los sistemas (aquí se explica con el registro de usuarios deshabilitado en el phpBB3, aunque podría ser en el otro sentido).
- Cuando un usuario se registra en el otro sistema, se crea un nuevo usuario tanto en la base de datos del otro sistema como en la de phpBB3
- No se puede alterar la información del usuario en el sistema en el que el registro esté deshabilitado (en este caso, no se puede alterar la información en phpBB3).
- Al realizar el login en cualquiera de los dos sistemas, la información del usuario es contrastada con la base de datos de dicho sistema, pero se inician las sesiones en ambos, de forma de que basta un login en alguno de ellos para estar logueado en ambos.
- No se muestra información de un sistema en el otro
Gráficamente sería así:

He dividido este artículo en dos partes:
- Creación del usuario: Ver artículo
- Manejo de sesiones: [pronto estará disponible]
Más integraciones
Hay muchas formas de hacer las integraciones. Estaré describiendo las distintas formas dependiendo de lo que sea más solicitado. Deja un comentario solicitando la explicación de una integración si no la ves aquí.
Algunas integraciones ya han sido solicitadas y estoy trabajando en nuevos posts para explicarlas.
También son bienvenidos comentarios en los que me indiques si te sirvió o no alguna integración en particular. Estos comentarios hazlos, por favor, en el post específico de esa forma de integración.

Nacho
Muy buen aporte, se agradece!!
Espero la explicación para la Integración 2, ya que es la que realmente me hace falta. La Integración 1 me funcionó perfectamente. =)
Saludos!
Jun 9th, 2008
Emperador
Saludos Pragone,
Muchas gracias por el aporte y el tremendo esfuerzo que estas haciendo y obviamente ahorrándonos a otros al publicar este material que si que ha sido dificil conseguir en la web.
Estaré muy atento a la publicación del método de integración 2, pues creo que ese es el que se adaptará a mis necesidades. Eso espero, jaja.
Muy bien, muchas gracias y felicitaciones por el blog.
Jun 9th, 2008
adalid garcia
Una pregunta:
me gustaria saber cual de las 2 integraciones me pudiera servir??
mi necesidades:
tengo un sistema desarrollado con codecharge.. donde tengo mi talba de usuarios .. donde ellos acesan a informacion…… me gustaria implementar el phpbb dentro de la seccion que s ellamara foros..pero que al momento de ingresar a esa seccion no tengan que poner el usuario y passw.. si no que automaticamente desde el login de mi aplicacion ya este logueado .. y que cuando ellos posteen el sistema pueda saber quien lo esta haciendo ..
saludos
y felicidades con esta seccion en español
Jul 14th, 2008
granadicto
Hola, la verdad es que me estoy iniciando en php y buscando informacion acerca de integrar mi foro phpbb3 a una pagina que cree hace varios dias.
Basicamente lo que estaba buscando era que los usuarios se puedan loguear al foro desde la pagina y que a su vez en esta misma se puedan visualizar los ultimos temas y respuestas del foro phpbb3.
De todas maneras tus aportes seguramente me serviran cuando ya tenga un poco mas de practica con el tema, los agregue a mis favoritos y seguire en mi busqueda.
Muchas gracias por el aporte.
Aug 13th, 2008
AlexSw
Para cuando la segunda parte de la segunda integracion? me serias de gran ayuda. Un saludo!
Nov 6th, 2008
Cristian
Impresionante, te lo has currado una barbaridad.
¡Gracias!
Nov 16th, 2008
Liliana
Oye y ¿Entonces para cuando pones la segunda parte? Realmente le echarías la mano a mucha gente (por lo menos a mi equipo de trabajo)
Nov 17th, 2008