Museo&Web CMS Open
Source: Tutorial
Modulo gestione autori
a cura del CMS Team (Gruppo Meta, Firenze)
Come prima cosa c'è da creare la tabella nel database, rispetto ad altri framework non è necessario rispettare una convenzione specifica per i nomi dei campi delle tabelle quindi potete usare la convenzione che più vi fa comodo.
Detto questo però c'è da precisare che il sistema permette di gestire due tipi di dati:
- tabella semplice, dove in fase di amministrazione potete fare tutte le operazioni ma non c'è il supporto per versioni bozza e per il multilingua.
- tabella avanzata, che è composta da due tabelle dove si più avere il supporto per le versioni bozza e per il multilingua.
Potete scegliere il tipo di tabella secondo le vostre necessità.
Tabella semplice
Con il software per la gestione di mySql potete creare la tabella con la struttura che volete.
Tabella avanzata
Come detto sopra non c'è un convenzione specifica, ma in questo cosa è necessario rispettare alcune regole.
Prendiamo come esempio il modulo delle news, che è composto da queste tabelle: mw_news_tbl e mw_newsdetails_tbl.
La prima tabella è quella principale dove ogni riga indica il record del nostro modulo, è strutturata in questo modo:
news_id int(11)
news_creationDate date
news_modificationDate date
La seconda tabella è la tabella di dettaglio dove abbiamo i campi reali del nostro modulo, e un record per ogni lingua o versione:
newsdetail_id int(11)
newsdetail_FK_news_id int(10) unsigned
newsdetail_FK_language_id int(10) unsigned
newsdetail_startDate date
newsdetail_endDate date
newsdetail_title varchar(255)
newsdetail_labelurl varchar(255)
newsdetail_url varchar(255)
newsdetail_place varchar(255)
newsdetail_body longtext
newsdetail_bodyShort longtext
newsdetail_image int(10) unsigned
newsdetail_versionDate date
newsdetail_versionStatus enum('PUBLISHED','DRAFT','OLD')
newsdetail_FK_user_id int(10) unsigned
Nella creazione delle tabella del nostro modulo bisogna creare la prima tabella principale nello stesso modo della tabella news_tbl, quindi:
autore_id int(11)
autore_creationDate date
autore_modificationDate date
Nella tabella di dettaglio invece abbiamo i seguenti campi obbligatori:
autore_FK_news_id int(10) unsigned
autore_versionDate date
autore_versionStatus enum('PUBLISHED','DRAFT','OLD')
autore_FK_user_id int(10) unsigned
Il nome dei campi può anche cambiare l'importante è che il tipo del dato si quello indicato.
A questo punto si possono aggiungere i campi specifici per avere un'anagrafica dell'autore:
autore_FK_news_id int(10) unsigned
autore_versionDate date
autore_versionStatus enum('PUBLISHED','DRAFT','OLD')
autore_FK_user_id int(10) unsigned
autore_nome varchar(255)
autore_biografia longtext
A questo punto dovremmo avere due tabelle:
mw_autori
mw_autoridettaglio
Ricordatevi che mw_ è il prefisso delle tabelle come indicato nel file di configurazione config.xml.