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/22 14:55] 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 369: Line 387:
  
 ===== Personalizzazione ===== ===== Personalizzazione =====
 +
 +In generale le personalizzazioni vanno nella directory **''config/common/''**, i file **%%*.js%%** e **%%*.css%%** in questa directory vengono automaticamente inclusi dal principale **''map_default.phtml''**. Se le personalizzazioni non riguardano l'intero applicativo p.mapper, ma solo una determinata configurazione, i file vanno salvati in **''config/<config_name>/''**.
  
 ==== PHP ==== ==== PHP ====
  
-  * **''config/default/custom.php''**+  * **''config/common/custom.php''** 
 +  * **''%%incphp/<filename>.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''
 + 
 +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 ====
  
-  * **''config/default/custom.js''**+  * **''config/common/custom.js''**
  
 ==== CSS ==== ==== CSS ====
  
- * **''config/default/custom.css''**+ * **''config/common/custom.css''**
  
 In generale vengono inclusi tutti i file *.css che si trovano nella directory. L'inclusione avviene in ''map_default.phtml'', dopo tutti gli altri fogli di stile. In generale vengono inclusi tutti i file *.css che si trovano nella directory. L'inclusione avviene in ''map_default.phtml'', dopo tutti gli altri fogli di stile.
  
 ==== 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.1277211324.txt.gz · Last modified: 2010/06/22 14:55 by niccolo