Registro único para varios joomlas

Para cualquier duda sobre Joomla! 1.5 que no tenga cabida en alguno de los foros de más abajo.

Moderators: carcam, AlexVega, hefesto

Locked
gymvago
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 123
Joined: Thu Aug 18, 2011 12:49 am
Contact:

Registro único para varios joomlas

Post by gymvago » Thu Aug 18, 2011 12:10 pm

Hola. Soy nuevo por aquí, y os saludo. Ando con un problemilla al que no dejo de darle vueltas, pero sin fortuna. Tengo una web en producción, un joomla 1.5, y quería montar en el servidor dos joomlas más, ya en su versión 1.7. Serán webs distintas, pero como es lógico quiero que compartan el registro de usuarios, y que si alguien se registra en una ya quede registrado en las demás.

EL tema del registro unico parece sencillo en teoría, pero ya veo que no lo es. En este mismo foro he visto la cuestión planteada varias veces, siempre en inglés:

http://forum.joomla.org/viewtopic.php?f=471&t=473666
http://forum.joomla.org/viewtopic.php?p=1616557

Pero no consigo aclararme. Según parece hay que hacer una "vista" en MySQL. Pero es que no consigo hacerla. Y dudas, a miles...

-¿Todos los joomlas en la misma base de datos con prefijos distintos? ¿o cada uno con su base de datos?
-¿Como hago esa vista? ¿Se puede hacer desde myphpadmin?
-¿no sería mejor crear una sola base de datos para usuarios ajena, y que los demás joomlas acudieran a ella?

Ya no sé qué hacer...
Un saludo!

 
carcam
Joomla! Hero
Joomla! Hero
Posts: 2161
Joined: Sat Dec 29, 2007 1:53 am
Location: Spain
Contact:

Re: Registro único para varios joomlas

Post by carcam » Thu Aug 18, 2011 9:32 pm

Para compartir usuarios así directamente deberías compartir las bases de datos, lo cual lo veo complejo y de hecho poco viable ya que todo el sistema de permisos ha cambiado.

Los temas que enlazas son para Joomla! 1.5 (al menos, hablo más bien viendo la fecha de los post) y compartir entre usuarios de Joomla! 1.7 es otro cantar ya que han cambiado varias cosas como ya te he apuntado en el párrafo anterior.

Quizá puedas usar el componente jfusion para este menester. La versión 1.6 es compatible al menos con Joomla! 1.6 y posiblemente te permita mantener sincronizados usuarios entre varias versiones.
Miembro del equipo de eventos de Joomla: https://volunteers.joomla.org/teams/events-team
Hago desarrolo y soporte en http://www.jevents.net
Twitter: @carcam

gymvago
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 123
Joined: Thu Aug 18, 2011 12:49 am
Contact:

Re: Registro único para varios joomlas

Post by gymvago » Fri Aug 19, 2011 11:44 am

Hola. Gracias por responder. El sitio que tengo en joomla 1.5 supongo que en breve ya lo tendré actualizado a joomla 1.7 (aun no lo he hecho porque algunas extensiones no son compatibles). En el nuevo sitio obviamente voy a instalar ya el joomla 1.7. Al final será entre dos joomlas 1.7. Lo que no sé es si hacerlo en una base propia, o compartir la que ya tengo. Es decir, dos bases de datos distintas, o los dos joomlas en la misma base.

Jfusión, ya lo he mirado, pero según lo que he entendio es que para que funcione una de las webs tiene que estar instalada en un subdominio de la primera, y ese no será mi caso. Cada web tendrá su dominio propio. Es decir:

http://www.miwebdecoches.com
http://www.miwebdemotos.com

Entonces no sé hasta que punto puede ser válido jfusión. Lo que me extraña es que no haya mucha más gente con este problema. Hoy en día es bastante común tener algún proyecto con dos o tres webs (joomlas en este caso) hospedadas en el mismo servidor. Y lo de compartir usuarios me parece básico, y no encuentro ningún tutorial, artículos, ni nada al respecto.

Un saludo, y gracias.

User avatar
willin
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 125
Joined: Wed Jul 09, 2008 9:14 am
Location: Iquique@Chile
Contact:

Re: Registro único para varios joomlas

Post by willin » Sun Aug 21, 2011 8:45 pm

Hola gymvago!

Aunque no lo creas es una pregunta bastante recurrente para Joomla! 1.5... Mira, hace tiempo escribí una respuesta similar, pero en otro foro... haré un copy-paste, porque aún no estoy seguro si puedo poner links a sitios externos (aunque sean otros foros de Joomla!)

Es factible hacer lo que necesitas, claro que hasta el momento me sigue un pequeño bug que no he encontrado como solucionarlo, pero para lo que tu necesitas que es fusionar 3 sitios joomla, creeme que el error que tendrás es prácticamente mínimo. Veamos como se hace:

Partiré sobre la base que tienes 3 bases de datos y 3 instalaciones de Joomla!, también tendremos como supuesto que estarán todas alojadas en el mismo dominio, de esa forma tendríamos lo siguiente:

Dominio1: joomla1.tusitio.com / Base de Datos: joomla1
Dominio2: joomla2.tusitio.com / Base de Datos: joomla2
Dominio3: joomla3.tusitio.com / Base de Datos: joomla3

Luego, el objetivo es conseguir que cada uno de esos tres sitios web compartan a los usuarios, es decir, usuarios de joomla1 pueden iniciar sesión en joomla3 y usuarios de joomla2 pueden registrarse en joomla2 e ingresar a joomla1 y joomla3, etc. etc. etc.

Pues bien, nuevamente haremos un supuesto y será asumir que toda la información referente a los usuarios se almacenará siempre en joomla1, independiente que se inscriban en joomla1, joomla2 o joomla3. La información de los usuarios siempre se almacenará en la base de datos de joomla1. Con eso en mente podemos proceder.

Debes ingresar a tu phpmyadmin y seleccionar la base de datos joomla2, a través de la pestaña Estructura, marcas y eliminas las siguientes tablas:
jos_users
jos_core_acl_aro
jos_core_acl_groups_aro_map

Luego repites la misma operación con la base de datos joomla3, desde la pestaña Estructura, marcas las mismas tablas y las eliminas.

Si estamos trabajando en instalaciones limpias y nuevas, quedarás con una base de datos joomla1 que contendrá 36 tablas y dos bases de datos, joomla2 y joomla3 que tendrán 33 tablas cada una.

Luego, seleccionas nuevamente la base de datos joomla2 y esta vez ingresas a la pestaña SQL, que es la que está al lado de Estructura e ingresarás lo siguiente:

CREATE VIEW jos_users AS SELECT * FROM joomla1.jos_users

Presionas continuar y probablemente llegues a una página de error 404, no importa, vuelves hacia atrás con tu explorador y verás que la base de datos joomla2 continúa teniendo 33 tablas, pero si te fijas casi al final de la estructura, verás que la tabla jos_users está ahí.

Debes repetir el mismo paso, pero esta vez agregando la siguiente línea:

CREATE VIEW jos_core_acl_aro AS SELECT * FROM joomla1.jos_core_acl_aro

Presionas continuar, probablemente error 404, vuelvas a trás con tu explorador, nuevamente 33 tablas, pero si buscas la tabla jos_core_acl_aro, verás que ahí está.

Debes repetir por tercera vez el mismo paso, pero esta vez ingresarás la siguiente línea:

CREATE VIEW jos_jos_core_acl_groups_aro_map AS SELECT * FROM joomla1.jos_jos_core_acl_groups_aro_map

Presionas continuar y se repetirá la misma historia.

Con esa operación lo que hiciste fué crear una vista a las tablas señaladas desde la base de datos joomla1 en tu base de datos joomla2, es decir, cada vez que alguien ingrese a joomla2, el sitio llamará a los datos de las tablas señaladas en joomla1.

Luego, seleccionaras la base de datos joomla3 y repetiras exactamente los mismos pasos, tal como te señalé anteriormente.

Al termino del proceso, puedes crear desde joomla1 a un usuario cualquiera y entrar a joomla2 o joomla3 e iniciar sesión con esos datos y verás que funciona sin problemas.

Espero la ayuda te sirva, un cordial saludo,
Guillermo Bravo O.

gymvago
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 123
Joined: Thu Aug 18, 2011 12:49 am
Contact:

Re: Registro único para varios joomlas

Post by gymvago » Sun Aug 21, 2011 9:11 pm

Hola Willin. La explicación es de lujo ¡chapó! hasta parece fácil.
Solo un par de apuntes:

Uno:
Partiré sobre la base que tienes 3 bases de datos y 3 instalaciones de Joomla!, también tendremos como supuesto que estarán todas alojadas en el mismo dominio, de esa forma tendríamos lo siguiente:

Dominio1: joomla1.tusitio.com / Base de Datos: joomla1
Dominio2: joomla2.tusitio.com / Base de Datos: joomla2
Dominio3: joomla3.tusitio.com / Base de Datos: joomla3
Ahí lo que entiendo es que hablas de subdominios, pero cada web tendrá el suyo propio, así los he comprado. Sería de esta forma (son ejemplos ficticios):

Web1: http://www.coches.com
web2: http://www.motos.com
web3: http://www.camiones.com

Es que me estoy liando con el tema de los dominios y los subdominios. En cuanto a las bases de datos, me parece bien hacerlas separadas.

Dos:
Debes ingresar a tu phpmyadmin y seleccionar la base de datos joomla2, a través de la pestaña Estructura, marcas y eliminas las siguientes tablas:
jos_users
jos_core_acl_aro
jos_core_acl_groups_aro_map
Esto es importante, al menos ya sé que tablas son las implicadas en todo este tinglao. Lo único, es que la web1 la tengo en joomla 1.5, y las otras dos aún inactivas, serán en joomla 1.7. Supongo que para meterme en el lio tendré que actualizar antes la web1. Luego cuando ya las tenga todas en joomla 1.7, ¿es posible que las tablas a eliminar sean otras?

Bueno, muchísimas gracias por los apuntes, andaba perdidísimo con este tema, y ahora ya tengo material con el que ir haciendo pruebas.... GRACIAS!!!

User avatar
willin
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 125
Joined: Wed Jul 09, 2008 9:14 am
Location: Iquique@Chile
Contact:

Re: Registro único para varios joomlas

Post by willin » Sun Aug 21, 2011 11:11 pm

Hola gymvago!

Colega... Efectivamente ese experimento lo hice sobre sitios montados en Joomla! 1.5 y tal como señalas, sobre la base de ejemplo en subdominios, pues las pruebas las hice en local :)
No lo he probado en diferentes dominios, pero creo que con el mismo ejemplo, debiera funcionar.

Ahora bien, como fue realizado sobre Joomla! 1.5 esas son las tablas a modificar, no he realizado nunca el experimento en 1.7, por lo que no sabría que tablas con las que habría que modificar. Esto debido al ACL de Joomla! desde la versión 1.6.-

Pero... Por si te sirve de ejemplo a modo de guía, también una vez expliqué como migrar solo usuarios... pero por ahí podrías ir haciendote una idea de las tablas. http://www.joomla.cl/foro/39-preguntas- ... oomla#4344

Un cordial saludo,
Guillermo Bravo O.

gymvago
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 123
Joined: Thu Aug 18, 2011 12:49 am
Contact:

Re: Registro único para varios joomlas

Post by gymvago » Mon Aug 22, 2011 12:00 am

A ver si mañana puedo hacer unas pruebas, al menos ahora ya tengo material. ;)
Gracias de nuevo, y un saludo.
Iremos contando los progresos!

tucuta
Joomla! Apprentice
Joomla! Apprentice
Posts: 7
Joined: Sat Sep 22, 2012 9:23 pm

Re: Registro único para varios joomlas

Post by tucuta » Thu Aug 01, 2013 9:51 pm

willin wrote:Hola gymvago!

Aunque no lo creas es una pregunta bastante recurrente para Joomla! 1.5... Mira, hace tiempo escribí una respuesta similar, pero en otro foro... haré un copy-paste, porque aún no estoy seguro si puedo poner links a sitios externos (aunque sean otros foros de Joomla!)

Es factible hacer lo que necesitas, claro que hasta el momento me sigue un pequeño bug que no he encontrado como solucionarlo, pero para lo que tu necesitas que es fusionar 3 sitios joomla, creeme que el error que tendrás es prácticamente mínimo. Veamos como se hace:

Partiré sobre la base que tienes 3 bases de datos y 3 instalaciones de Joomla!, también tendremos como supuesto que estarán todas alojadas en el mismo dominio, de esa forma tendríamos lo siguiente:

Dominio1: joomla1.tusitio.com / Base de Datos: joomla1
Dominio2: joomla2.tusitio.com / Base de Datos: joomla2
Dominio3: joomla3.tusitio.com / Base de Datos: joomla3

Luego, el objetivo es conseguir que cada uno de esos tres sitios web compartan a los usuarios, es decir, usuarios de joomla1 pueden iniciar sesión en joomla3 y usuarios de joomla2 pueden registrarse en joomla2 e ingresar a joomla1 y joomla3, etc. etc. etc.

Pues bien, nuevamente haremos un supuesto y será asumir que toda la información referente a los usuarios se almacenará siempre en joomla1, independiente que se inscriban en joomla1, joomla2 o joomla3. La información de los usuarios siempre se almacenará en la base de datos de joomla1. Con eso en mente podemos proceder.

Debes ingresar a tu phpmyadmin y seleccionar la base de datos joomla2, a través de la pestaña Estructura, marcas y eliminas las siguientes tablas:
jos_users
jos_core_acl_aro
jos_core_acl_groups_aro_map

Luego repites la misma operación con la base de datos joomla3, desde la pestaña Estructura, marcas las mismas tablas y las eliminas.

Si estamos trabajando en instalaciones limpias y nuevas, quedarás con una base de datos joomla1 que contendrá 36 tablas y dos bases de datos, joomla2 y joomla3 que tendrán 33 tablas cada una.

Luego, seleccionas nuevamente la base de datos joomla2 y esta vez ingresas a la pestaña SQL, que es la que está al lado de Estructura e ingresarás lo siguiente:

CREATE VIEW jos_users AS SELECT * FROM joomla1.jos_users

Presionas continuar y probablemente llegues a una página de error 404, no importa, vuelves hacia atrás con tu explorador y verás que la base de datos joomla2 continúa teniendo 33 tablas, pero si te fijas casi al final de la estructura, verás que la tabla jos_users está ahí.

Debes repetir el mismo paso, pero esta vez agregando la siguiente línea:

CREATE VIEW jos_core_acl_aro AS SELECT * FROM joomla1.jos_core_acl_aro

Presionas continuar, probablemente error 404, vuelvas a trás con tu explorador, nuevamente 33 tablas, pero si buscas la tabla jos_core_acl_aro, verás que ahí está.

Debes repetir por tercera vez el mismo paso, pero esta vez ingresarás la siguiente línea:

CREATE VIEW jos_jos_core_acl_groups_aro_map AS SELECT * FROM joomla1.jos_jos_core_acl_groups_aro_map

Presionas continuar y se repetirá la misma historia.

Con esa operación lo que hiciste fué crear una vista a las tablas señaladas desde la base de datos joomla1 en tu base de datos joomla2, es decir, cada vez que alguien ingrese a joomla2, el sitio llamará a los datos de las tablas señaladas en joomla1.

Luego, seleccionaras la base de datos joomla3 y repetiras exactamente los mismos pasos, tal como te señalé anteriormente.

Al termino del proceso, puedes crear desde joomla1 a un usuario cualquiera y entrar a joomla2 o joomla3 e iniciar sesión con esos datos y verás que funciona sin problemas.

Espero la ayuda te sirva, un cordial saludo,

Hola willin:

Ufff que facil se ve. Pregunto, como se podría hacer para Joomla 3.0.x...? ya que hay dos tablas que no existen y sería interesante poder hacerlo en Joomla 3.0.x.

Saludos y felicidades, está muy bién explicado.

implementa
Joomla! Fledgling
Joomla! Fledgling
Posts: 1
Joined: Thu Oct 24, 2013 5:15 pm

Re: Registro único para varios joomlas

Post by implementa » Thu Oct 24, 2013 5:26 pm

Hola,

Efectivamente, Willin eres un crack explicando. Me has sacado de duda porque no encontraba ninguna que lo aclarase también para personas con poco conocimientos en base de datos. Muchas gracias.

Sobre la pregunta de tucuta, yo lo que hecho es hacer lo mismo para todas las base de datos referente a usuario:

jos_user_profiles
jos_user_usergroup_map
jos_usergroups
jos_user_notes
Y me ha funcionado a la perfección en joomla 2.5. Creo que lo mismo sería para joomla 3.0.

Mi pregunta sobre este tema es que, para entrar en joomla2 y joomla3 se debe de introducir los mismos datos de usuario que en joomla1, ¿habría alguna forma de omitir este paso de volver a introducir los datos? es decir, que al pinchar en un enlace en joomla1 se abra otra ventana de joomla2 sin tener que volver a introducir los datos?

Muchas gracias a todos, un saludo,

 

Locked

Return to “Joomla! 1.5”