Passaggio dalla Versione 1.1.1.a al 2.0
Moderatore: roby
Passaggio dalla Versione 1.1.1.a al 2.0
Salve,
quale è la procedura per passare al 2.0 senza perdere i dati del 1.1.1.1a?
quale è la procedura per passare al 2.0 senza perdere i dati del 1.1.1.1a?
Ti consiglio di seguire questa procedura:
1) fai il dump dei dati per avere il backup disponibile per ogni evenienza
2) scaricati l'ultimo aggiornamento pubblicato
3) applica l'aggiornamento al db
4) applica l'aggiornamento al client e admin
5) entra in admin e da "superuser->configura sito" imposta le variabili di configurazione secondo le tue necessita'
6) Se utilizzi i collegi, devi fare una modifica a mano perche' il tipo consultazione "Provinciali" e' tornato ad essere standard, cioe' senza collegi. Ora il tipo Provinciali con collegi è disponibile tra i tipi standard. Quindi devi cambiare a mano l'associazione al tipo di consultazione: nella tabella soraldo_ele_consultazione trova il record delle provinciali e nel campo "tipo_cons" sostituisci al valore "1" ora presente il valore "12".
In "Administrator->Consultazioni" puoi impostare la consultazione predefinita per il singolo comune.
Roberto
1) fai il dump dei dati per avere il backup disponibile per ogni evenienza
2) scaricati l'ultimo aggiornamento pubblicato
3) applica l'aggiornamento al db
4) applica l'aggiornamento al client e admin
5) entra in admin e da "superuser->configura sito" imposta le variabili di configurazione secondo le tue necessita'
6) Se utilizzi i collegi, devi fare una modifica a mano perche' il tipo consultazione "Provinciali" e' tornato ad essere standard, cioe' senza collegi. Ora il tipo Provinciali con collegi è disponibile tra i tipi standard. Quindi devi cambiare a mano l'associazione al tipo di consultazione: nella tabella soraldo_ele_consultazione trova il record delle provinciali e nel campo "tipo_cons" sostituisci al valore "1" ora presente il valore "12".
In "Administrator->Consultazioni" puoi impostare la consultazione predefinita per il singolo comune.
Roberto
Anch'io dovrei passare dalla versione 1 alla versione 2, mantenendo i dati presenti, e vorrei approfittarne visto che è uscita la versione 2.0.a.
Dopo aver scaricato l'archivio ZIP dal sito, devo decomprimerlo sulla directory che attualmente contiene la versione 1?
Oppure devo decomprimerlo in una directory "pulita"?
E in quest'ultimo caso, oltre ai loghi dei Comuni presenti in \client\modules\Elezioni\images\, ci sono altri file da recuperare dalla vecchia installazione?
Per quanto riguarda i punti 3) "Applica l'aggiornamento al db" e 4) "Applica l'aggiornamento al client e admin", come devo procedere?
Dove si trovano questi aggiornamenti?
Devo lanciare (da web) il file install.php, oppure sono degli script SQL da applicare a mano?
I parametri presenti nei file "config.php" (delle parti Client e Admin) vengono mantenuti, oppure - anche in caso di upgrade dalla 1 alla 2 - è come se fosse una reinstallazione e riconfigurazione da zero?
Riguardo al punto 6), come faccio a sapere se utilizzo i collegi? Da dove posso vederlo?
(Io sono un informatico, non uso direttamente il programma; in ogni caso, non abbiamo ancora gestito una consultazione Provinciale da quando usiamo Eleonline).
Grazie mille,
Daniele
Dopo aver scaricato l'archivio ZIP dal sito, devo decomprimerlo sulla directory che attualmente contiene la versione 1?
Oppure devo decomprimerlo in una directory "pulita"?
E in quest'ultimo caso, oltre ai loghi dei Comuni presenti in \client\modules\Elezioni\images\, ci sono altri file da recuperare dalla vecchia installazione?
Per quanto riguarda i punti 3) "Applica l'aggiornamento al db" e 4) "Applica l'aggiornamento al client e admin", come devo procedere?
Dove si trovano questi aggiornamenti?
Devo lanciare (da web) il file install.php, oppure sono degli script SQL da applicare a mano?
I parametri presenti nei file "config.php" (delle parti Client e Admin) vengono mantenuti, oppure - anche in caso di upgrade dalla 1 alla 2 - è come se fosse una reinstallazione e riconfigurazione da zero?
Riguardo al punto 6), come faccio a sapere se utilizzo i collegi? Da dove posso vederlo?
(Io sono un informatico, non uso direttamente il programma; in ogni caso, non abbiamo ancora gestito una consultazione Provinciale da quando usiamo Eleonline).
Grazie mille,
Daniele
Decomprimi in una directory pulita, dalla vecchia installazione copiati i config.php di client e admin. E' meglio se lasci solo le righe di connessione al db, qualcosa come questo :
<?php
/************************************************************************/
/* Eleonline - Raccolta e diffusione dei dati elettorali */
/* by Roberto Gigli & Luciano Apolito */
/* http://www.eleonline.it */
/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
/************************************************************************/
/* Config */
/* Amministrazione */
/************************************************************************/
if (strstr($_SERVER['PHP_SELF'],"config.php")) {
Header("Location: index.php");
die();
}
$dbhost ="localhost";
$dbuname ="ele";
$dbpass ="ele";
$dbname ="eleonline";
$prefix ="soraldo";
?>
####################
i loghi dei comuni ora vanno nel db, accedi in admin al menu comuni e li importi cercandoli nella dir della vecchia installazione.
Per il punto 3 avrei bisogno di sapere la versione precisa che hai installata (1.0 oppure 1.2 o altro?)
Per il 4, se hai scaricato la 2.0a non devi applicare altro (per il momento
NON devi lanciare il file install.php
Per il punto 6 usi i collegi solo se li hai configurati a mano, cambiando il tipo consultazione. Lo ha fatto solo qualche comune e dopo averci chiesto come fare. Quindi direi che tu non li usi e non devi fare niente.
<?php
/************************************************************************/
/* Eleonline - Raccolta e diffusione dei dati elettorali */
/* by Roberto Gigli & Luciano Apolito */
/* http://www.eleonline.it */
/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
/************************************************************************/
/* Config */
/* Amministrazione */
/************************************************************************/
if (strstr($_SERVER['PHP_SELF'],"config.php")) {
Header("Location: index.php");
die();
}
$dbhost ="localhost";
$dbuname ="ele";
$dbpass ="ele";
$dbname ="eleonline";
$prefix ="soraldo";
?>
####################
i loghi dei comuni ora vanno nel db, accedi in admin al menu comuni e li importi cercandoli nella dir della vecchia installazione.
Per il punto 3 avrei bisogno di sapere la versione precisa che hai installata (1.0 oppure 1.2 o altro?)
Per il 4, se hai scaricato la 2.0a non devi applicare altro (per il momento

NON devi lanciare il file install.php
Per il punto 6 usi i collegi solo se li hai configurati a mano, cambiando il tipo consultazione. Lo ha fatto solo qualche comune e dopo averci chiesto come fare. Quindi direi che tu non li usi e non devi fare niente.
Ultima modifica di roby il mer feb 24, 2010 4:21 pm, modificato 1 volta in totale.
dalla 1.1.1a alla 2.0
La richiesta era per la 1.1.1a e mi era sfuggito, va inviato a mysql il file: aggiornamento-2.0-20090611.sql
presente nel pacchetto.
Roberto
presente nel pacchetto.
Roberto
Da verificare
E' opportuno, considerati i molteplici e diversi update della versione 1.x, verificare la tabella "soraldo_ele_config", consiglio di farne il drop e ricrearla, il codice è questo:
DROP TABLE IF EXISTS `soraldo_config`;
CREATE TABLE `soraldo_config` (
`sitename` varchar(255) NOT NULL default '',
`siteurl` varchar(255) NOT NULL default '',
`site_logo` varchar(255) NOT NULL default '',
`slogan` varchar(255) NOT NULL default '',
`startdate` varchar(50) NOT NULL default '',
`adminmail` varchar(255) NOT NULL default '',
`tema` varchar(25) NOT NULL,
`foot` text NOT NULL,
`language` varchar(3) NOT NULL,
`blocco` enum('0','1') NOT NULL,
`testata` blob,
`nome_testata` varchar(50) NOT NULL,
`fileout` varchar(255) NOT NULL,
`copyright` text NOT NULL,
`Versione` int(3) NOT NULL,
`patch` int(3) NOT NULL,
`siteistat` int(11) NOT NULL,
`multicomune` enum('0','1') NOT NULL,
`flash` enum('0','1') NOT NULL,
`displayerrors` enum('0','1') NOT NULL,
`gkey` varchar(100) NOT NULL,
`googlemaps` enum('0','1') NOT NULL,
`editor` enum('0','1') NOT NULL default '1',
`tema_on` enum('0','1') NOT NULL default '1',
`ed_user` varchar(25) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `soraldo_config`
--
/*!40000 ALTER TABLE `soraldo_config` DISABLE KEYS */;
LOCK TABLES `soraldo_config` WRITE;
INSERT INTO `soraldo_config` VALUES ('','http://','','Sito istituzionale','Maggio 2009','admin@localhost','facebook','<b>Comune di </b><br>\r\nvia - \r\nTel: Fax: \r\n<hr>','it','1','','','','Gpl v3',2,0,1,'1','1','','','0','1','1','Admin');
UNLOCK TABLES;
/*!40000 ALTER TABLE `soraldo_config` ENABLE KEYS */;
DROP TABLE IF EXISTS `soraldo_config`;
CREATE TABLE `soraldo_config` (
`sitename` varchar(255) NOT NULL default '',
`siteurl` varchar(255) NOT NULL default '',
`site_logo` varchar(255) NOT NULL default '',
`slogan` varchar(255) NOT NULL default '',
`startdate` varchar(50) NOT NULL default '',
`adminmail` varchar(255) NOT NULL default '',
`tema` varchar(25) NOT NULL,
`foot` text NOT NULL,
`language` varchar(3) NOT NULL,
`blocco` enum('0','1') NOT NULL,
`testata` blob,
`nome_testata` varchar(50) NOT NULL,
`fileout` varchar(255) NOT NULL,
`copyright` text NOT NULL,
`Versione` int(3) NOT NULL,
`patch` int(3) NOT NULL,
`siteistat` int(11) NOT NULL,
`multicomune` enum('0','1') NOT NULL,
`flash` enum('0','1') NOT NULL,
`displayerrors` enum('0','1') NOT NULL,
`gkey` varchar(100) NOT NULL,
`googlemaps` enum('0','1') NOT NULL,
`editor` enum('0','1') NOT NULL default '1',
`tema_on` enum('0','1') NOT NULL default '1',
`ed_user` varchar(25) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `soraldo_config`
--
/*!40000 ALTER TABLE `soraldo_config` DISABLE KEYS */;
LOCK TABLES `soraldo_config` WRITE;
INSERT INTO `soraldo_config` VALUES ('','http://','','Sito istituzionale','Maggio 2009','admin@localhost','facebook','<b>Comune di </b><br>\r\nvia - \r\nTel: Fax: \r\n<hr>','it','1','','','','Gpl v3',2,0,1,'1','1','','','0','1','1','Admin');
UNLOCK TABLES;
/*!40000 ALTER TABLE `soraldo_config` ENABLE KEYS */;
Confermo che la versione è la 1.1.1a: ho sempre installato tutti gli aggiornamenti della v1 ogni volta che uscivano.
Nel mio DB, la tabella "soraldo_config" dovrebbe essere al momento inutilizzata, visto che contiene un solo record, e non è uno dei Comuni gestiti (ci sono i dati del Comune di Guidonia Montecelio).
Immagino che questa tabella conterrà quei dati che mi hai detto di togliere dai file "config.php", giusto?
Faccio l'aggiornamento di un DB di test, prima di procedere con il DB di produzione.
Daniele
Nel mio DB, la tabella "soraldo_config" dovrebbe essere al momento inutilizzata, visto che contiene un solo record, e non è uno dei Comuni gestiti (ci sono i dati del Comune di Guidonia Montecelio).
Immagino che questa tabella conterrà quei dati che mi hai detto di togliere dai file "config.php", giusto?
Faccio l'aggiornamento di un DB di test, prima di procedere con il DB di produzione.
Daniele
tabella config
La tabella era stata inserita con le versioni precedenti ma non era utilizzata, così è probabile che non sia aggiornata. Ti confermo che dovresti dropparla e ricrearla.
Roberto
Roberto
Avendo PHP 5.0.4 e MySQL 4.1, ho dovuto commentare le linee che contengono questa istruzione:
che richiedono PHP >= 5.2.3 e MySQL >= 5.0.7.
La mancanza dell'istruzione non sembra comunque dare problemi.
Ho poi confrontato la struttura del vecchio DB con quella del nuovo (usando lo script per la creazione del DB): per chi ne avesse bisogno, o anche per gli autori del software (se volete fare uno script SQL che faccia tutti gli aggiornamenti necessari), vi elenco i passi che ho seguito.
Bisogna ricreare la tabella soraldo_config, come da precedente messaggio, e lanciare il file SQL aggiornamento-2.0-20090611.sql (che ricrea la tabella soraldo_ele_tipo, popolandola con i valori aggiornati).
Bisogna creare la tabella soraldo_doc_cons:
Alcuni campi della tabella soraldo_ele_candidati vanno modificati:
Vanno aggiunti dei campi alla tabella soraldo_ele_comuni:
La tabella soraldo_ele_conf è abbastanza diversa rispetto alla precedente, pertanto l'ho eliminata (c'era solo un record, contentente degli zeri) e ricreata, popolandola con i valori indicati dallo script:
Vanno aggiunti dei campi alla tabella soraldo_ele_cons_comune:
Bisogna creare la tabella soraldo_ele_documenti:
Alcuni campi della tabella soraldo_ele_sede vanno modificati:
Bisogna creare la tabella soraldo_ele_temi:
Vanno modificati alcuni campi della tabella soraldo_ele_tipo:
Daniele
Codice: Seleziona tutto
mysql_set_charset('utf8', $dbi);
La mancanza dell'istruzione non sembra comunque dare problemi.
Ho poi confrontato la struttura del vecchio DB con quella del nuovo (usando lo script per la creazione del DB): per chi ne avesse bisogno, o anche per gli autori del software (se volete fare uno script SQL che faccia tutti gli aggiornamenti necessari), vi elenco i passi che ho seguito.
Bisogna ricreare la tabella soraldo_config, come da precedente messaggio, e lanciare il file SQL aggiornamento-2.0-20090611.sql (che ricrea la tabella soraldo_ele_tipo, popolandola con i valori aggiornati).
Bisogna creare la tabella soraldo_doc_cons:
Codice: Seleziona tutto
CREATE TABLE `soraldo_doc_cons` (
`id_cons` int(11) NOT NULL,
`id_doc` int(11) NOT NULL,
`tabella` varchar(25) NOT NULL,
KEY `id_cons` (`id_cons`,`id_doc`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `soraldo_doc_cons`
--
/*!40000 ALTER TABLE `soraldo_doc_cons` DISABLE KEYS */;
LOCK TABLES `soraldo_doc_cons` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `soraldo_doc_cons` ENABLE KEYS */;
Codice: Seleziona tutto
ALTER TABLE `soraldo_ele_candidati` MODIFY `cognome` varchar(50) default NULL;
ALTER TABLE `soraldo_ele_candidati` MODIFY `nome` varchar(50) default NULL;
Codice: Seleziona tutto
ALTER TABLE `soraldo_ele_comuni` ADD `simbolo` text;
ALTER TABLE `soraldo_ele_comuni` ADD `stemma` blob;
ALTER TABLE `soraldo_ele_comuni` ADD `id_cons` int(11) default '0';
Codice: Seleziona tutto
DROP TABLE IF EXISTS `soraldo_ele_conf`;
CREATE TABLE `soraldo_ele_conf` (
`id_conf` int(11) NOT NULL auto_increment,
`descrizione` varchar(50) NOT NULL,
`limite` int(2) NOT NULL,
`consin` enum('0','1') NOT NULL default '1',
`infpremio` int(3) NOT NULL,
`supsbarramento` int(3) NOT NULL,
`suppremio` int(3) NOT NULL,
`listinfsbar` int(3) NOT NULL default '1',
`listinfconta` enum('0','1') NOT NULL default '1',
`listsupconta` enum('0','1') NOT NULL default '1',
`supminpremio` int(3) NOT NULL,
`infminpremio` int(3) NOT NULL,
PRIMARY KEY (`id_conf`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `soraldo_ele_conf`
--
/*!40000 ALTER TABLE `soraldo_ele_conf` DISABLE KEYS */;
LOCK TABLES `soraldo_ele_conf` WRITE;
INSERT INTO `soraldo_ele_conf` VALUES (1,'Legge Italiana 267/2000',3,'1',67,3,60,3,'1','1',40,40),(2,'Regione Sicilia precedente al 2008',2,'0',67,3,60,3,'1','1',40,40),(3,'Regione Sicilia Legge n. 22 del 16/12/2008',2,'0',67,5,60,3,'1','0',40,40);
UNLOCK TABLES;
/*!40000 ALTER TABLE `soraldo_ele_conf` ENABLE KEYS */;
Codice: Seleziona tutto
ALTER TABLE `soraldo_ele_cons_comune` ADD `id_conf` int(11) NOT NULL default '0';
ALTER TABLE `soraldo_ele_cons_comune` ADD `preferita` enum('0','1') NOT NULL default '0';
Codice: Seleziona tutto
CREATE TABLE `soraldo_ele_documenti` (
`id_doc` int(11) NOT NULL auto_increment,
`descrizione` varchar(50) NOT NULL,
`nomedoc` varchar(25) NOT NULL,
`filedoc` blob NOT NULL,
PRIMARY KEY (`id_doc`),
KEY `descrizione` (`descrizione`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `soraldo_ele_documenti`
--
/*!40000 ALTER TABLE `soraldo_ele_documenti` DISABLE KEYS */;
LOCK TABLES `soraldo_ele_documenti` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `soraldo_ele_documenti` ENABLE KEYS */;
Codice: Seleziona tutto
ALTER TABLE `soraldo_ele_sede` MODIFY `indirizzo` varchar(60) default NULL;
ALTER TABLE `soraldo_ele_sede` MODIFY `mappa` mediumblob NOT NULL;
Codice: Seleziona tutto
CREATE TABLE `soraldo_ele_temi` (
`tema` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `soraldo_ele_temi`
--
/*!40000 ALTER TABLE `soraldo_ele_temi` DISABLE KEYS */;
LOCK TABLES `soraldo_ele_temi` WRITE;
INSERT INTO `soraldo_ele_temi` VALUES ('default'),('altro'),('blog'),('stylized'),('tour'),('yellowblu'),('facebook');
UNLOCK TABLES;
/*!40000 ALTER TABLE `soraldo_ele_temi` ENABLE KEYS */;
Codice: Seleziona tutto
ALTER TABLE `soraldo_ele_tipo` MODIFY `descrizione` varchar(30) default NULL;
ALTER TABLE `soraldo_ele_tipo` MODIFY `lingua` varchar(2) NOT NULL default '0';
La soluzione proposta da Tolaini per il charset ha superato tutti i test che abbiamo fatto, anche se a volte ci ha richiesto di entrare in modifica per reinserire il carattere accentato. Vedrò di trovare una soluzione anche per le versioni precedenti di php e mysql.
Per le modifiche al DB, grazie del lavoro che hai fatto. Avevo pensato anche di farne uno script completo, ma la situazione degli aggiornamenti non è affatto omogenea quindi credo che la cosa migliore sia di farli a mano verificandoli uno per uno.
Con l'utilizzo di svn per la gestione delle versioni dovremmo riuscire a dare un pò d'ordine allo sviluppo ed evitare, da oggi in poi, questi problemi.
Roberto
Per le modifiche al DB, grazie del lavoro che hai fatto. Avevo pensato anche di farne uno script completo, ma la situazione degli aggiornamenti non è affatto omogenea quindi credo che la cosa migliore sia di farli a mano verificandoli uno per uno.
Con l'utilizzo di svn per la gestione delle versioni dovremmo riuscire a dare un pò d'ordine allo sviluppo ed evitare, da oggi in poi, questi problemi.
Roberto
gestione charset
Per chi ha dovuto commentare la riga:
mysql_set_charset('utf8', $dbi);
e se la sente di fare un test, potrebbe sostituirla con :
mysql_query("SET NAMES 'utf8'", $dbi);
che è disponibile già dalla versione mysql 3.2, e magari fare un report delle prove,
io l'ho testata con mysql 5.1.37 e php 5.2.10 su ubuntu e va perfettamente.
Roberto
mysql_set_charset('utf8', $dbi);
e se la sente di fare un test, potrebbe sostituirla con :
mysql_query("SET NAMES 'utf8'", $dbi);
che è disponibile già dalla versione mysql 3.2, e magari fare un report delle prove,
io l'ho testata con mysql 5.1.37 e php 5.2.10 su ubuntu e va perfettamente.
Roberto
L'ho testato, modificando i seguenti file:
- admin/admin.php
- admin/index.php
- client/file.php
- client/modules.php
Ho dovuto aggiungere, nella mia configurazione di Apache, la direttiva:
"AddDefaultCharset utf-8"
in modo che le pagine escano già con la codifica corretta.
Direi che funziona: le lettere accentate vengono lette correttamente, e salvate correttamente nel DB.
Daniele
- admin/admin.php
- admin/index.php
- client/file.php
- client/modules.php
Ho dovuto aggiungere, nella mia configurazione di Apache, la direttiva:
"AddDefaultCharset utf-8"
in modo che le pagine escano già con la codifica corretta.
Direi che funziona: le lettere accentate vengono lette correttamente, e salvate correttamente nel DB.
Daniele
Nella configurazione globale di Apache avevo "AddDefaultCharset ISO-8859-1", e avevo aggiunto "uft-8" solo nella sezione VirtualHost dedicata a EleOnLine.
Facendo come hai detto tu (unica direttiva "AddDefaultCharset off" per tutto il server Apache) funziona, e quindi per ora tengo questa configurazione (così è anche più "pulita").
Grazie mille,
Daniele
Facendo come hai detto tu (unica direttiva "AddDefaultCharset off" per tutto il server Apache) funziona, e quindi per ora tengo questa configurazione (così è anche più "pulita").
Grazie mille,
Daniele