Museo&Web CMS Open
Source: Requisiti per l’installazione vers. 1.3.0
REQUISITI MINIMI
Linux:
Apache 1.3.x o superiore ---> http://www.apache.org
MySQL 3.23 o superiore ----> http://www.mysql.com
PHP 4.3.x o superiore con supporto GDlib 2 ----> http://www.php.net
Windows:
IIS ----> http://www.microsoft.com
MySQL 3.23 o superiore ----> http://www.mysql.com
PHP 4.3.x o superiore con supporto GDlib 2 ----> http://www.php.net
INSTALLAZIONE
1. DOWNLOAD
Dopo aver scaricato il file decomprimerlo nella cartella di pubblicazione.
2. CONFIGURAZIONE
Andare nella cartella di installazione e nella sottocartella
MW/config/
Duplicare il file config_localhost.xml e rinominarlo sostituendo localhost con il nome del vostro dominio (es. www.server.com o www.minervaeurope.net)
Aprire il file e modificare i parametri di connessione come segue:
<glz:Param name="DB_HOST" value="localhost" />
<glz:Param name="DB_NAME" value="mw_cms" />
<glz:Param name="DB_USER" value="root" />
<glz:Param name="DB_PSW" value="" />
<glz:Param name="SMTP_HOST" value="" />
<glz:Param name="SMTP_USER" value="" />
<glz:Param name="SMTP_PSW" value="" />
<glz:Param name="SMTP_SENDER" value="MIBAC" />
<glz:Param name="SMTP_EMAIL" value="[email protected]" />
DB_HOST: deve essere il nome dell'host del database mysql
DB_NAME: nome del database
DB_USER: nome utente per la connessione al database
DB_PSW: password per la connessione al database
SMTP_HOST: nome dell'host del server SMTP per l'invio delle email, lasciare vuoto per l'invio tramite server in locale
SMTP_USER: se il server SMTP necessita di un'autenticazione specificare il nome utente
SMTP_PSW: se il server SMTP necessita di un'autenticazione specificare la password
SMTP_SENDER: nome del mittente quando il sistema invia una email
SMTP_SENDER: email del mittente quando il sistema invia una email
3. CREAZIONE DATABASE
Utilizzando uno strumento di amministrazione di mySql (es. phpMyAdmin), creare il database mw_cms, volendo è possibile utilizzare un'altro nome in questo caso è necessatio modificare anche il parametro DB_NAME del file di configurazione (vedi punto 3.).
Dopo la creazione del database è necessario importare il file SQL che si trova nella cartella "install".
Dentro questa cartella ci sono due file:
- mw_cms_latin1.sql con codifica dei caratteri "latin-1"
- mw_cms_utf8.sql con codifica dei caratteri "utf-8"
Utilizzate il file più adatto per il software che state utilizzando, nel caso di phpMyAdmin al momento del caricamento del file è possibile specificare il tipo di codifica dei caratteri.
4. CONFIGURAZIONE PERMESSI
Verificare che le cartelle MW e le sue sottocartelle abbiano i diritti in scrittura.
Verificare che la cartella cache abbia i diritti in scrittura.
5. CONFIGURAZIONE PHP
Verificare che il paametro allow_call_time_pass_reference nel file php.ini sia settato ad "on" (impostazione di default).
Linux: assicurarsi che il PHP sia compilato con il supporto per le GDlib 2
Windows: assicurarsi che il modulo GDlib 2 sia caricato
6. IMPOSTAZIONI DI SICUREZZA
Per il webserver Apache sono forniti i file .htaccess per impostare i giusti privilegi di lettura.
Per il webserver IIS impostare i seguenti privilegi:
cache: lettura e scrittura
MW e sottocartelle: permesso in scrittura ma non in lettura
admin/MW e sottocartelle: nessun permesso in lettura
admin/MW/templates e sottocartelle: permesso in lettura
7. VERIFICA
Aprire il browser all'indirizzo di installazione es. http://nomeserver.com per verificare che l'installazione sia avvenuta correttamente
8. ACCESSO AMMINISTRAZIONE
Aprire il browser all'indirizzo di installazione es. http://nomeserver.com/admin/ per accedere all'amministrazione, la prima volta si può entrare con nome utente admin e password admin.
9. CONCLUSIONE
Al termine della procedura rimuovere le cartelle "install" e "upgrade".
NOVITÀ/Spiegazioni sui punti più delicati
- nuovo modulo "Bandi e concorsi"
- nuovo modulo "Normativa"
- nuovo modulo "Pubblicazioni"
- nuovo modulo "Merchandising"
- nuovo modulo "Glossario"
- gestione dell'area riservata
- sistema di zoom sulle immagini
- nuovo sistema di gestione delle skin
- nuovo sistema di gestione dei template
- possibilità di utilizzare le ancore nei link del testo
- possibilità di inserire link ad un media all'interno del testo
- possibilità di inserire link al glossario all'interno del testo
- possibilità di inserire più link nella barra del footer
- corretto problema di encoding dei caratteri
- corretto problema di bilanciamento dei tag XHTML
- in amministrazione i campi di tipo dizionario (es. categoria, tipo, etc) vengono
disegnati con un sistema di autocompletamento che propone i valori già inseriti
nel database.
- modulo "Percorsi tematici": in visualizzazione vengono elencati i percorsi
disponibili subito nella prima pagina
- modulo "Itinerari": nelle tappe il campo ubicazione è stato aumentato
di dimensione ed è stata ridisegnata la skin.
- modulo "Itinerari": è stata rimossa la pagina di ricerca integrandola
nella pagina principale del modulo
- modulo "Rassegna stampa": è stato aggiunto il campo nazione
- modulo "Opere": nella scheda dell'opera vengono visualizzate in modo automatico
gli itinerari e i percorsi didattici che hanno linkato l'opera
- ingrandimento dell'immagine è stata inserita la didascalia
- ingrandimento dell'immagine è stato corretto problema di validazione
XHTML
- in homepage le news e gli eventi vengono visualizzate solo se presenti
- le date vengono formattate correttamente a seconda della lingua scelta
- modificata struttura del file di configurazione
- corretto problema di validazione XHTMLnella form di login
- corretto bug nel componente che disegna le barre di navigazione
- amministrazione: in fase di upload di un media è possibile inserire
tutti i valori nei campi.
- amministrazione: nelle proprietà della pagina è possibile inserire
dei valori alternativi da utilizzare come titolo della pagina quando vengono
disegnate le barre di navigazione.
- amministrazione: nella finestra di selezione delle immagini vengono visualizzate
solo le immagini
- amministrazione: nella finestra di selezione delle immagini e dei media è stato
corretto un problema di codifica dei caratteri
- amministrazione: è possibile accedere in amministrazione in italiano
o inglese
- amministrazione: riconoscimento in automatico dei pageType definiti dallo sviluppatore
- amministrazione: corretto problema quando si inserisce le virgolette nel titolo
di una pagina
- amministrazione: corretto problema nella cancellazione di un record dalla pagina
con l'elenco
- amministrazione: corretto problema nel colorPicker
- framework: definizione delle cartelle static e template per l'applicazione
- framework: classe per la gestione delle exception
- framework: aggiunte classi per la gestione del logging
- framework: modificato il riferimento al nome della pagina in esecuzione in
modo da non avere problemi con installazioni CGI
- framework: classe Request corretto problema nell'aggiunta o modifica di un
valore
- framework: aggiunte classi e compilatore per la gestione delle relazioni tra
models
- framework: riscritta la compilazione di componenti che necessitano di codice
proprio (es. glz:Sciript, glz:Import)
- framework: aggiunto supporto per skin e template in formato PHP
Sistema di zoom sulle immagini
E' possibile abilitare la funzione di zoom nelle immagini che hanno una certa
risoluzione. Per abilitare lo zoom è necessario andare in modifica dell'immagine
e selezionare il checkbox "zoom", lo zoom sarà abilitato nel sito in corrispondenza
alle immagini scelte, su queste immagini comparirà in sovrapposizione
l'icona dello zoom.
Per un corretto funzionamento dello zoom è necessario utilizzare immagini
con elevata risoluzione, per questo motivo è necessario fare attenzione
ai parametri di configurazione del proprio server, in particolar modo al parametro "memory_limit" all'interno
del PHP.INI. Questo parametro indica quanta RAM utilizzare per ogni richiesta,
se durante l'esecuzione della pagina viene usata più memoria il processo
viene chiuso generando un errore o in alcuni casi una pagina bianca.
Nuovo sistema di gestione delle skin
Le skin sono state rimosse dal pageType e sono memorizzate nella sottocartella skins del
template oppure in una cartella skins dell'applicazione (MW/skins).
Il sistema controlla prima nella cartella propria del template, nel caso la skin
non è stata definita controlla se esiste nella cartella dell'applicazione.
Nuovo sistema di gestione dei template
La gestione dei template è stata completamente riscritta per dare
maggiore flessibilità al sistema.
I template sono memorizzati all'interno della cartella static\org_minervaeurope_museoweb\templates,
ogni sottocartella contenuta può essere una cartella di un template, ma
per essere un template valido devono essere presenti i seguenti file:
- preview.jpg: anteprima del template visualizzata in amministrazione
- Template.xml: questo file viene automaticamente caricato e incluso in tutte
le pagine del sito, è possibile inserire in questo file modifiche ai pageType
standard (utilizzando glz:Modifier) oppure aggiungere dei componenti.
- TemplateAdmin.xml: file che indica i parametri di configurazione del template,
viene utilizzato per generare l'apposita sezione nell'amministrazione.
- Template.php: classe che elabora i dati salvati dell'utente e applica le opportune
modifiche al css o alle immagini.
Quest'ultimo file deve estendere la classe org_minervaeurope_museoweb_CustomTemplate
e può contenere i seguenti metodi:
processImages()
processColors()
processBoxes()
processDC()
processHiddenNavigation()
render()
I metodo vengono chiamati nell'ordine indicato sopra.
Non è obbligatorio implementare tutti i metodi, l'unico necessario è il
render() che deve passare al sistema le modifiche da apportare alla pagina.
La classe contiene le seguenti variabili membro:
$this->_owner: puntatore al componente del sistema che gestisce i template
$this->_template: array associativo contenete i valori di configurazione del
template, i nomi dei campi dipendono da quello che è specificato in TemplateAdmin.xml
$this->_currentMenu = puntatore al menù corrente
$this->_application = puntatore all'applicazione
Il metodo render per passare i valori da scrivere nella pagine deve utilizzare
questa chiamata:
$this->_owner->addOutputCode(VALORE, EDITABLE_REGION_DEL_TEMPLATE);
Le "editable regions" sono definite da chi disegna il template, però ne
esistono alcune di default:
- head: per inserire del contenuto all'interno del tag HEAD
- doctitle: per inserire il titolo della pagina
Riconoscimento in automatico dei pageType
Nelle versioni precedenti del CMS, per ogni tipo di pagina creato era necessario
modificare un file dell'amministrazione per rendere il tipo di pagina disponibile
all'utente, nella versione attuale questo processo è stato automatizzato.
Tutti i tipi di pagina presenti nella cartella MW/pageTypes vengono letti e visualizzati
in amministrazione.
Esistono dei tipi di pagina che possono essere utilizzati una sola volta all'interno
della struttura del sito, solitamente le pagine collegate ai moduli. I tipi di
pagine utilizzabili una sola volta vengono definiti in fase di startup, nella
cartella admin\MW\startup è presenta il file modules.php.
$modules = array();
$modules['Home'] =
array('name' => 'Home', 'class' => '');
$modules['Catalog'] = array('name'
=> 'Catalog', 'class' => '');
.......
org_glizy_ObjectValues::set('org.glizy', 'modules', $modules);
Viene creato un array dove viene definito il nome del modulo, che corrisponde
al nome del tipo di pagina senza estensione, e un valore class che si può lasciare
vuoto e verrà utilizzato in futuro.
Al termine della definizione dei moduli l'array viene salvato in memoria in modo
da renderlo disponibile al framework.