Back to top

Autore Topic: Condivisione Utenti su installazioni multiple con MySQL5  (Letto 48338 volte)

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Super Hack ;D

Requisiti minimi:
- MySQL
- Installazioni multiple su medesimo server MySQL
- Medesimo DB

Viene spesso chiesto se è possibile utilizzare Joomla per gestire domini diversi condividendo, tra i due domini, magari parte delle informazioni già presenti nell'uno o nell'altro.
Ogni installazione di Joomla, al contrario di altri CMS, consente la gestione di un singolo dominio, ciò significa che si dovranno effettuare tante installazioni quanti sono i domini o sottodomini che si intende gestire.
Nella gestione di domini distinti capita spesso di avere la necessità di condividere informazioni al fine di evitare la duplicazione delle informazioni.
Questo tipo di operazioni sono spesso gestiti da script denominati bridge la cui unica funzionalità è quella di "sincronizzare" tabelle diverse.
Con questo mini HowTo si propone una soluzione a questo problema senza la necessità di scrivere alcuno script, ma sfruttando le nuove caratteristiche di MySQL5: le viste.

Immaginiamo di voler condividere le configurazioni d'accesso per gli utenti registrati.

Consideriamo le seguenti installazioni di Joomla:

www.miodominio.it

e

www.miodominio.it/sottocartella

Come indicato nei requisiti minimi entrambe le installazioni condividono il medesimo database MySQL e le tabelle di ogni rispettiva installazione saranno quindi semplicemente differenziate grazie all'utilizzo di prefissi diversi, nel nostro caso:

jos_

e

jos2_

Terminate le installazioni procederemo ad eseguire il seguente codice:

DROP TABLE jos2_users;
CREATE VIEW jos2_users AS SELECT * FROM jos_users;

DROP TABLE jos2_core_acl_aro;
CREATE VIEW jos2_core_acl_aro AS SELECT * FROM jos_core_acl_aro;

DROP TABLE jos2_core_acl_groups_aro_map;
CREATE VIEW jos2_core_acl_groups_aro_map AS SELECT * FROM jos_core_acl_groups_aro_map;


Se si possiedono i privilegi di accesso alla linea di comando di MySQL tali da poter creare viste è sufficiente digitare le istruzioni precedenti, se siete poco avvezzi all'uso dell'interfaccia a riga di comando di MySQL potete invece utilizzare il vostro fidato phpMyAdmin e, una volta selezionato il db ed attivato, selezionando la scheda SQL eseguire tale codice.

Cosa è stato fatto?
Sfruttando il meccanismo delle viste presente da MySQL 5 (non nelle versioni precedenti) ho creato una sorta di link tra tabelle, posso infatti in questo modo riferirmi alla medesima tabella con 2 nomi distinti e "fregare" Joomla.

Concettualmente la condivisioni di informazioni tra installazioni diverse è estensibile, posso creare viste tra tutte le tabelle non esclusivamente tra quelle di gestione utenti... la cosa è interessante vero? ;D

Se di interesse, a questa prima bozza, seguirà PDF dettagliato ;D

Se usate questo hack almeno citatemi nei ringraziamenti o da qualche parte:
Alessandro "gallus" Gallieri
oppure
Alessandro Gallieri as "gallus"
ed esite la versione generalizzata che concettualmente è fantastica... arriverà


Il PDF è finito, ma non ho ancora deciso come pubblicarlo, per il momento ho definito una documentazione più dettagliata ed estesa che trovare nella area Guide sezione Hacks del sito che trovate nella mia firma Gens Joomla, vi metterei volentieri il link, ma come vedete viene considerato SPAM

Dove trovarlo:

- Il sito: Gens Joomla (lo trovate nella mia firma)
- Area: Guide
- Sezioni: Hacks
- Manuale: Installazioni Multiple: Condivisione Generalizzata

E' pronto anche uno script di condivisione... arriverà prestissimo devo decidere come pubblicarlo ;D

Fatemi sapere se interessa
« Ultima modifica: 18 Ott 2007, 13:42:07 da gallus »
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #1 il: 15 Nov 2006, 13:14:29 »
Posso conferma che funziona e che abbiamo perso la mattina a provarlo. ;D

Lo metto in evidenza perchè sarà molto utile a molti.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline GiorgioBlu

  • Abituale
  • ****
  • Post: 861
  • Sesso: Maschio
  • Utente dal: 23/06/2004 Susegana - TV - Italy
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #2 il: 15 Nov 2006, 14:17:15 »
Ficus!

A suo tempo, io avevo visto questo:
http://forge.joomla.org/sf/frs/do/viewSummary/projects.joomlamultisites/frs


Non sò se si tratta di quella tipologia di bridge accennata da Gallus.

Comunque complimenti e grazie per la dritta! ;)

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #3 il: 15 Nov 2006, 19:53:07 »
Mi permetto di aggiungere una cosa.
Dal momento che uno dei requisiti è avere i privilegi di creare una vista, consiglio caldamente di creare una vista di prova prima di procedere.
In questo modo si sa subito se si hanno i privilegi o no.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #4 il: 15 Nov 2006, 22:20:04 »
in questo caso direi che e' il caso di farlo da root per un semplice motivo: due database e quindi due possibili utenti diversi con permessi diversi. se sfruttate le viste sono potentissime, se qualcuno di voi ha esperienza con Sua Eccellenza postgreSQL dovrebbe saperlo
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #5 il: 15 Nov 2006, 22:21:23 »
Certo questa può essere una soluzione per verificare se si possiedono o meno tali privilegi.

Magari preparerò un pdf del documento in modo da simulare un comportamento preciso di questa tecnica.

Mentre mi recavo al lavoro oggi pensavo persino che in teoria si potrebbe aggiungere persino una voce nell'installazione di joomla, questo consentirebbe infatti di automatizzare il collegamento direttamente nella fase di installazione

Vedo se è fattibile.

La cosa interessante però di questa soluzione è che in teoria è estensibile con successo a qualsiasi tipo di condivisione.
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #6 il: 15 Nov 2006, 22:26:23 »
in questo caso direi che e' il caso di farlo da root per un semplice motivo: due database e quindi due possibili utenti diversi con permessi diversi. se sfruttate le viste sono potentissime, se qualcuno di voi ha esperienza con Sua Eccellenza postgreSQL dovrebbe saperlo

La soluzione proposta non deve essere effettuata necessariamente da root, ma semplicemente da un utente con i privilegi opportuni.

Le potenzialità delle viste sono sicuramente tante, in questo caso ne è stata data una dimostrazione minima giusto per inquadrare la soluzione proposta.
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #7 il: 16 Nov 2006, 21:09:59 »
pienamente d'accordo ma dare allo stesso utente privilegi du piu' di un database non e' il massimo della sicurezza, per un semplice sito va bene ma per siti con dati sensibili assolutamente no. uno amministra e piu' di uno gestiscono la risorsa. e er questo ritorno sull'appunto lanciato nel forum diverso tempo fa nel quale vorrei provare a integrare postgre in joomla, anche se e' un po' piu' complicato da gestire
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #8 il: 17 Nov 2006, 00:39:56 »
...
pienamente d'accordo ma dare allo stesso utente privilegi du piu' di un database non e' il massimo della sicurezza
...

Ok, ma la soluzione suggerita non richiede che i db siano diversi, le tabelle stanno tutte sullo stesso db, ma con prefissi diversi  ;D

Se poi si hanno più db... bhe vedremo il caso particolare... non tutto è male  ;D
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #9 il: 17 Nov 2006, 05:52:00 »
la mia era solo un'osservazione, dopo aver tanto lavorato con i db ed averci sbattuto il muso di persona, nulla di piu'  ;)

la guida e' ottima
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #10 il: 17 Nov 2006, 07:42:20 »
I tuoi consigli sono sempre molto interessanti e la tua esperienza è sicuramente maggiore della mia anzi, a dire il vero, sono ben felice con questo topic di aver stuzzicato la tua curiosità a tal punto da coivolgerti nella discussione, ci tengo a precisare che il mio precedente messaggio non voleva negare il tuo, ma semplicemente precisare una cosa del mio.

Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #11 il: 17 Nov 2006, 12:54:21 »
e' quello il bello del forum: idee a confronto!

 e c'e' sempre da imparare. e da voi ho imparato e sto imparando tanto.

grazie ragazzi
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline surfbit

  • Instancabile
  • ******
  • Post: 7316
  • Sesso: Maschio
  • Verranno ignorati mp tecnici
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #12 il: 11 Mar 2007, 15:10:19 »
MA dove sei finito Gallus  ???
A volte basta un sorriso per far felice una persona.

La guida alla scelta dell'hosting per Joomla!  Joomlaspace.it: l'hosting per Joomla

Offline angelcs

  • Appassionato
  • ***
  • Post: 689
  • Sesso: Maschio
  • SEO
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #13 il: 16 Mar 2007, 01:02:47 »
volevo tenermi aggiornato su questa guida che mi interessa particolarmente e perciò posto da tenerlo a portata.

Colgo l'occasione per complimentarmi con tutti voi e spero che questa funzione sia seguita da tutti coloro che potranno contribuire, perchè a mio parere e molto utile e aumenterebbe non di poco le funzionalità di joomla.

A riguardo sul sito joomla.de ho visto che si può scaricare un joomla con altri estensioni già installate, ma che si poteva scegliere in fase d'installazione se installarli o meno.

Spero che può esservi utile, per prendere spunto.
saluto tutti

Offline dies3l

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #14 il: 22 Mar 2007, 06:03:46 »
Questa cosa è fantasmagorica!!

Però ho visto che il mio VS ha solo MySQL 4.0.18-standard...  :'(

Esiste un modo alternativo per rimediare?

Offline giak

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1259
  • Sesso: Maschio
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #15 il: 22 Mar 2007, 21:35:20 »
se hai un server virtuale penso che puoi aggiornare come vuoi tu, altrimenti chiedi al provider
webmaster
www.egiakweb.net
 Developer pgDesigner - Datamodel designer for PostgreSQL pgdesigner.sourceforge.net  I belive! Free as in Freedom www.gnu.org

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #16 il: 23 Mar 2007, 07:57:30 »
Questa cosa è fantasmagorica!!

Però ho visto che il mio VS ha solo MySQL 4.0.18-standard...  :'(

Esiste un modo alternativo per rimediare?

Tutto dipende dalla possibilità di installare la versione 5 :)

Se puoi allora il gioco è fatto :)

Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline angelcs

  • Appassionato
  • ***
  • Post: 689
  • Sesso: Maschio
  • SEO
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #17 il: 23 Mar 2007, 14:39:49 »
Super Hack ;D

Requisiti minimi:
- MySQL
- Installazioni multiple su medesimo server MySQL
- Medesimo DB

...
...

Se di interesse, a questa prima bozza, seguirà PDF dettagliato ;D

Scusa "gallus", ma mi chiedevo se il pdf allegato che seguirà se é disponibile da scaricare, inoltre è possibile vedere un esempio pratico del risultato finale?

tante grazie e complimenti per l'idea.

Offline dies3l

  • Nuovo arrivato
  • *
  • Post: 18
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #18 il: 24 Mar 2007, 02:30:18 »
questa cosa però mi mette un po' paura...

perché sul vs c'è un altro sito, molto frequentato, con 1500 utenti, fatto sempre con joomla, per di più molto personalizzato.

Il passaggio alla versione 5 se non erro causa un po' di problemi alle tabelle, è vero?

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Re: Condivisione Utenti su installazioni multiple con MySQL5
« Risposta #19 il: 24 Mar 2007, 09:20:29 »
...
Scusa "gallus", ma mi chiedevo se il pdf allegato che seguirà se é disponibile da scaricare, inoltre è possibile vedere un esempio pratico del risultato finale?

tante grazie e complimenti per l'idea.
...

Farò in modo di recuperarlo, mi ricordo che a suo tempo l'avevo prodotto e probabilmente non l'ho mai messo online... sono un disastro :( ... mi scuso e cerco di risolvere quanto prima il disguido :)


...
Il passaggio alla versione 5 se non erro causa un po' di problemi alle tabelle, è vero?
...

Cosa intendi per problemi? Tutti i cambi di versione in un certo sono critici, ma non mi risulta che ci siano particolari rischi.

Io personalmente in locale uso solo il 5 :)
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

 



Web Design Bolzano Kreatif