Home arrow Hacks arrow Installazioni Multiple: Condivisione Generalizzata arrow 6 - Condivisione contenuti: caso d'uso
6 - Condivisione contenuti: caso d'uso
Installazioni Multiple: Condivisione Generalizzata

Concettualmente, la condivisione di informazioni tra installazioni distinte di Joomla! proposta in questa guida è estendibile a qualsiasi altro elemento, sia esso un modulo, un componente o un contenuto.

A dimostrazione di quanto appena affermato si consideri il seguente esempio:

USE altrojoomladb;

DROP TABLE jos_content;
DROP TABLE jos_categories;
DROP TABLE jos_sections;

USE joomladb;

CREATE OR REPLACE VIEW altrojoomladb.jos_content AS
SELECT TRUNCATE((id+0.01)*100,0) AS id,
title,title_alias, introtext, `fulltext`, state,
TRUNCATE((sectionid+0.01)*100,0) AS sectionid, mask,
TRUNCATE((catid+0.01)*100,0) AS catid, created,
created_by, created_by_alias, modified, modified_by,
checked_out, checked_out_time, publish_up,
publish_down, images, urls, attribs, version, parentid,
ordering, metakey, metadesc, access, hits
FROM jos_content
UNION
SELECT TRUNCATE((id+0.02)*100,0) AS id,
title, title_alias, introtext, `fulltext`, state,
TRUNCATE((sectionid+0.02)*100,0) AS sectionid, mask,
TRUNCATE((catid+0.02)*100,0) AS catid, created,
created_by, created_by_alias, modified, modified_by,
checked_out, checked_out_time, publish_up,
publish_down, images, urls, attribs, version, parentid,
ordering, metakey, metadesc, access, hits
FROM jos2_content;

CREATE OR REPLACE VIEW altrojoomladb.jos_categories AS
SELECT TRUNCATE((id+0.01)*100,0) AS id, parent_id, title,
name, image, IF(section REGEXP '[[:digit:]]+',
TRUNCATE((section+0.01)*100,0), section) AS section,
image_position, description, published, checked_out,
checked_out_time, editor, ordering, access, count, params
FROM jos_categories
UNION
SELECT TRUNCATE((id+0.02)*100,0) AS id,  parent_id, title,
name, image, IF(section REGEXP '[[:digit:]]+',
TRUNCATE((section+0.02)*100,0), section) AS section,
image_position, description, published, checked_out,
checked_out_time, editor, ordering, access, count, params
FROM jos2_categories;

CREATE OR REPLACE VIEW altrojoomladb.jos_sections AS
SELECT TRUNCATE((id+0.01)*100,0) AS id, title, name, image,
scope, image_position, description, published, checked_out,
checked_out_time, ordering, access, count, params
FROM jos_sections
UNION
SELECT TRUNCATE((id+0.02)*100,0) AS id, title, name, image,
scope, image_position, description, published, checked_out,
checked_out_time, ordering, access, count, params
FROM jos2_sections;

Per cogliere completamente la logica di questo secondo esempio di condivisione, è sufficiente capire quali funzioni assolvano le tabelle considerate e quante installazioni di Joomla! siano in esso coinvolte. Le tabelle scelte, come indicano bene i nomi, consentono di gestire sezioni, categorie e contenuti di Joomla!; le installazioni coinvolte in questo caso, invece, sono tre, suddivise su due distinti database.

Con questo secondo esempio si uniscono i contenuti provenienti da due distinte installazioni di Joomla! in una terza, al fine, ad esempio, di poter riunirli tutti in una sola Home Page.

Aggrediamo la logica del codice SQL iniziando a delinerare gli scenari in cui si colloca ognuna delle installazioni:

Parametri prima installazione di Joomla!

Dominio
http://www.miodominio.it/joomla1
Nome Databasejoomladb
Prefisso tabelle
jos_

Parametri seconda installazione di Joomla!

Dominio
http://www.miodominio.it/joomla2
Nome Databasealtrojoomladb
Prefisso tabelle
jos2_

Parametri terza installazione di Joomla!

Dominio
http://www.miodominio.it
Nome Databasealtrojoomladb
Prefisso tabelle
jos_

 

 

Menu Manuali

Hacks