User Tools

Site Tools


doc:appunti:linux:lezioni:pmapper

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:lezioni:pmapper [2010/06/23 15:46] niccolodoc:appunti:linux:lezioni:pmapper [2011/05/31 16:08] (current) – [Dubbi da risolvere] niccolo
Line 96: Line 96:
  
 === Disabilitare i cookie di sessione === === Disabilitare i cookie di sessione ===
 +
 +FIXME Probabilmente questo accorgimento non è più necessario (23 maggio 2011), vedere questo [[http://sourceforge.net/mailarchive/message.php?msg_id=27544648|messaggio]].
  
 In generale **la sessione p.mapper viene salvata tramite un cookie** associato all'indirizzo IP del server. Se lo stesso server ospita diverse installazioni p.mapper può essere un problema, perché istanze diverse di p.mapper useranno le stesse impostazioni sui layer attivi, zoom sulla mappa, ecc. In generale **la sessione p.mapper viene salvata tramite un cookie** associato all'indirizzo IP del server. Se lo stesso server ospita diverse installazioni p.mapper può essere un problema, perché istanze diverse di p.mapper useranno le stesse impostazioni sui layer attivi, zoom sulla mappa, ecc.
Line 104: Line 106:
 <Directory "/var/www/pmapper/"> <Directory "/var/www/pmapper/">
     php_flag session.use_cookies off     php_flag session.use_cookies off
 +    php_flag session.use_only_cookies off
 </Directory> </Directory>
 </file> </file>
Line 113: Line 116:
 Questa impostazione a livello dell'intero server web potrebbe **creare dei problemi** con altri applicativi PHP, ad esempio con Dokuwiki non funziona più correttamente l'autenticazione degli utenti. Questa impostazione a livello dell'intero server web potrebbe **creare dei problemi** con altri applicativi PHP, ad esempio con Dokuwiki non funziona più correttamente l'autenticazione degli utenti.
  
 +=== PHP error_reporting ===
 +
 +Con alcune versioni di PHP (es. 5.3.3) potrebbero essere generati dei warning che - se inclusi nell'output - possono corrompere le pagine web oppure il risultato di alcune chiamate AJAX (ad esempio il risultato di una query).
 +
 +Per evitare il problema conviene sopprimere i messaggi ''DEPRECATED'' e ''NOTICE'', mettendo in ''/etc/php5/apache2/php.ini'':
 +
 +<file>
 +error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
 +</file>
 +
 +Ancora più drastico è sopprimere la stampa degli errori:
 +
 +<file>
 +display_errors = Off
 +</file>
 ==== Note su config_default.xml ==== ==== Note su config_default.xml ====
  
Line 379: Line 397:
 Per definire nuove funzioni PHP da utilizzare nell'interfaccia web, la via più semplice è creare un file in **''config/common/custom.php''**. Questo file viene automaticamente incluso da ''map_default.phtml'' via ''incphp/init/init.php'', dopo l'inclusione di ''incphp/globals.php''. Per definire nuove funzioni PHP da utilizzare nell'interfaccia web, la via più semplice è creare un file in **''config/common/custom.php''**. Questo file viene automaticamente incluso da ''map_default.phtml'' via ''incphp/init/init.php'', dopo l'inclusione di ''incphp/globals.php''.
  
-Se invece si ha bisogno di definire funzioni che verranno usate anche in altre circostanze (ad esempio da blocchi di codice eseguiti da chiamate AJAX) è più adeguato creare un file apposito in **''incphp/''**. Sarà necessario includere esplicitamente tale file in tutti i sorgenti che ne fanno uso.+Attenzione: questo file non viene eseguito in occasione delle chiamate AJAX, quindi - ad esempio - non è il posto adatto per modificare l'oggetto **''$map''**. 
 + 
 +Se si ha bisogno di definire funzioni che verranno usate anche in altre circostanze (ad esempio da blocchi di codice eseguiti da chiamate AJAX) è più adeguato creare un file apposito in **''incphp/''**. Sarà necessario includere esplicitamente tale file in tutti i sorgenti che ne fanno uso.
  
 ==== JavaScript ==== ==== JavaScript ====
Line 392: Line 412:
  
 ==== AJAX ==== ==== AJAX ====
 +
 +===== Legenda per layer WMS =====
 +
 +Un layer WMS è un semplice raster, aggiungerlo al progetto p.mapper non produce automaticamente una legenda nel TOC. È possibile tuttavia definire la classificazione opportuna nel LAYER per ottenere l'effetto desiderato:
 +
 +<file>
 +LAYER
 +  TYPE RASTER
 +  CONNECTIONTYPE WMS
 +  ...
 +  CLASS
 +     NAME "Wood"
 +     COLOR 155 211 127
 +     OUTLINECOLOR 146 185 127
 +  END
 +  CLASS
 +     NAME "Bush"
 +     COLOR 203 242 127
 +     OUTLINECOLOR 146 185 127
 +  END
 +  ...
 +</file>
 +
 +In questo caso vengono generate al volo le icone per ogni classe. In alternativa con il tag KEYIMAGE è possibile specificare una icona personalizzata:
 +
 +<file>
 +  CLASS
 +     NAME "Wood"
 +     KEYIMAGE "images/legend/wood.png"
 +  END
 +</file>
 +
 +Nel ''NAME'' è possibile utilizzare tag HTML per andare a capo, aggiungere spazi, ecc.
  
 ===== Dubbi da risolvere ===== ===== Dubbi da risolvere =====
doc/appunti/linux/lezioni/pmapper.1277300772.txt.gz · Last modified: 2010/06/23 15:46 by niccolo