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/05/04 12:05] 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 282: Line 300:
  
 Per le geometrie **non puntuali** si può impostare nello stesso file di configurazione il parametro **shapeQueryBuffer**: se è maggiore di zero indica la frazione della bounding box da utilizzare come buffer. Ad esempio con un valore di 0.50 si ottiene un buffer attorno alla geometria di circa la metà delle dimensioni della bounding box stessa. Per le geometrie **non puntuali** si può impostare nello stesso file di configurazione il parametro **shapeQueryBuffer**: se è maggiore di zero indica la frazione della bounding box da utilizzare come buffer. Ad esempio con un valore di 0.50 si ottiene un buffer attorno alla geometria di circa la metà delle dimensioni della bounding box stessa.
 +
 +Lo **shapeQueryBuffer** non ha effetto sullo zoom effettuato con lo strumento //Cerca per...//, cioè con i criteri di ricerca definiti tramite **''<searchitem>''** in ''config_default.xml''.
  
 ==== Rotellina del mouse ==== ==== Rotellina del mouse ====
Line 353: Line 373:
 $_SESSION['pmHeading'  = "Rigacci.Org - <i>Webmapping</i>"; $_SESSION['pmHeading'  = "Rigacci.Org - <i>Webmapping</i>";
 </code> </code>
 +
 +In **''config/default/js_config.php''** si può scegliere il tema per la **toolbar** (vedere varie immagini contenute nelle directory **''images/buttons/''**):
 +
 +<code javascript>
 +PM.buttonsDefault = {
 +    toolbarid:'toolBar',
 +    options: {orientation:'v',
 +              css:{height:'440px'},
 +              theme:'theme2',
 +              imagetype:'gif'
 +             },
 +</code>
 +
 +===== 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 ====
 +
 +  * **''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 ====
 +
 +  * **''config/common/custom.js''**
 +
 +==== 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.
 +
 +==== 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 =====
Line 361: Line 453:
  
 ==== p.mapper ==== ==== p.mapper ====
-  * Come usare **PHPSESSID** differenti per **p.mapper diversi installati sullo stesso host**. Con l'installazione predefinita è necessario eliminare il cookie per passare da un p.mapper ad un altro. 
-  * Pannello layer/legenda con tab: come si fa? 
-  * Come modificare addPOI in modo che salvi sul server (PostgGIS?). 
  
 +  * Pannello layer/legenda con tab: come si fa?
doc/appunti/linux/lezioni/pmapper.1272967503.txt.gz · Last modified: 2010/05/04 12:05 by niccolo