Museo&Web

Kit di progettazione di un sito di qualità per un museo medio-piccolo

wp5 logo
vai al contenuto
Ti trovi in: Home - CMS - Tutorial - Personalizzazione della struttura del database

Museo&Web CMS Open Source: Tutorial
a cura del CMS Team del Gruppo Meta di Lucca


Personalizzazione della struttura del database

Una delle esigenze che possono sorgere è quella di modificare la struttura del database, come per il caso descritto sopra se si procede a modificare i file o le tabella distribuite con il CMS possono esserci problemi al momento dell'aggiornamento alle versioni successive.
Proprio per venire incontro a questa necessità è stato introdotta una funzione che indica al sistema come rimappare una classe in un'altra.

Il CMS per fare accesso al database ha bisogno di file XML che descrivono la struttura della tabella ma allo stesso tempo descrivono anche il tipo di rappresentazione dei dati, questi file sono nella cartella MW/classes/org/minervaeurope/museoweb/models.
Prima di procedere create all'interno della cartella MW/classes un struttura di cartelle che rispecchia il nome del vostro dominio (come spiegato nel tutorial: uso della pagine personale), nel mio caso ho creato la seguente struttura MW/classes/it/gruppometa/.
All'interno della struttura create una sottocartella models, in modo da usarla per salvare tutti i file XML che descrivono il database.
Dalla cartella originale (MW/classes/org/minervaeurope/museoweb/models) copiate il file Catalog.xml dentro questa nuova cartella.
Aprite il nuovo file Catalog.xml e fate delle modifiche, per fare una cosa semplice modifico la label del campo "catalogdetail_compilationDate":

<glz:Date id="catalogdetail_compilationDate" label="Data di catalogazione opera" model:detailTable="true" model:required="true"/>

Andate nella cartella MW/startup/ e create un nuovo file PHP  (es. modGruppometa.php).
Aprite il nuovo file e inserite il seguente codice:

<?php
org_glizy_ObjectFactory::remapClass('org.minervaeurope.museoweb.models.Catalog', 'it.gruppometa.models.Catalog');
?>

La stessa cosa deve essere fatta nella cartella admin/MW/startup in questo modo sia il sito che l'amministrazione useranno la nuova definizione.
Per verificare la modifica entrate nell'amministrazione nel modulo "Opere" e provate a modificare un record, potrete notare che la label del campo data sarà cambiata.

Nell'esempio ho fatto una piccola modifica, ma le modifiche possono essere anche più radicali, aggiungendo o cancellando dei campi, naturalmente in questo caso dovete anche modificare la struttura del database.
Se modificate la struttura del database, vi consiglio di duplicare la tabella e di chiamarla in altro modo, in questo caso dovete anche modificare la prima riga del file XML in modo indicare il nome della nuova tabella:

model:create="true" model:type="2tables" model:tableName="catalog_tbl,catalogdetails_tbl" model:joinFields="catalog_id,catalogdetail_FK_catalog_id">

Come spiegato precedentemente ci sono dati che usano una tabella sola (es. utenti) e altri due tabelle, quindi a seconda di quello che intendete modificare ricordatevi di duplicare e modificare tutte le tabella interessate.

© Progetto Minerva 2006-05, ultima revisione 2006-05-30, a cura del WP5, Commissione di studio per la creazione di un prototipo di sito web culturale pubblico.
URL: www.minervaeurope/structure/workinggroups/userneeds/prototipo/cms/personalizzastrutturadb.html