Mise en production
- Minifier le projet avec JsTools, si pas de minification du projet utiliser la version minifier d'OpenLayers
<script type="text/javascript" src="lib/OpenLayers/OpenLayers.js"></script>
- Désactiver le mode debug :
<!-- <script src="lib/OpenLayers/lib/Firebug/firebug.js"></script> -->

Information sur le snapping d'OpenLayers
. tolerance - {Float} The distance (in pixels) at which snapping may occur.
Default is 10. => à une distance de <= 10 pixel, l'aimantation est possible.
. nodeTolerance - {Float} Optional distance at which snapping may occur
for nodes specifically. If none is provided, <tolerance> will be used.
. vertexTolerance - {Float} Optional distance at which snapping may occur
for vertices specifically. If none is provided, <tolerance> will be used.
. edgeTolerance - {Float} Optional distance at which snapping may occur
for edges specifically. If none is provided, <tolerance> will be used.

Ces paramètres sont configurables.

Génération de la documentation avec Naturals docs
http://www.naturaldocs.org/download.html
http://trac.osgeo.org/openlayers/browser/sandbox/camptocamp/canvas/openlayers/doc_config?rev=10448
http://trac.osgeo.org/openlayers/wiki/NaturalDocs

jstools
- Explication include et requires :
To specify that a target files must be included before a given source file, include a comment of the following format:
// @requires <file path>
e.g.
// @requires Geo/DataSource.js

To specify that a target file must be included at any place in the merged build - before or after a given source file - include a comment in the source file of the following format:
// @include <file path>
e.g.
// @include Geo/DataSource.js
Note that the "exclude" list in a configuration file will override dependencies specified by the @requires and @include comment directives described above.
- Il faut utiliser Pyhton 2.5 32 bit

Internet Explorer
- Avec IE 10, OpenLayers plante, pour résoudre le problème il faut ajouter la balise :
<meta http-equiv="X-UA-Compatible" content="IE=9" />
- L'affichage du PanPanel avec Internet Explorer masque l'event hover sur les features,
il est donc impossible de déplacer les features. Un problème de z-index (custoStyles.css .olControlPanPanel).
Le PanPanel n'est pas affiché sous IE (en attente de trouver une solution).

Exemples
Pour les exemples d'utilisation de la brique, les fichiers de la brique modifiés sont :
- Config.js
- Brique.js
- Print.js
- context.xml
- viewer.html
- *.yaml

Impression PDF
- si bug pour générer pdf de type X connection to localhost:10.0 broken dans log tomcat (= crash tomcat), ou dans page erreur pdf java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment
The issue was resolved by explicitly setting the JVM option to "-Djava.awt.headless=true"
- si problème pour faire remonter la légende de ma carte "Pour info, j’ai résolut mon problème en passant à la version 1.2 de la servlet d’impression et en passant de la version 5.5 de tomcat à la version 6".
- pour insérer un saut de page avant d'insérer la légende, utilisé l'attribut addNextPage à true sur le bloc legends.
- passage du format A4 à A3, multiplier par 420/297 (rapport mesures A3/A4) les coordonnées.
- les images doivent être des URL (ex: http://brgm.fr/mon_image.png).
- log : /WEB-INF/classes/log4j.properties
- autorisation : pour autoriser tous les serveur WMS (sans avoir a renseigner le host/ip de chaque serveur WMS), dans le fichier yaml :
hosts:
- !ipMatch
host:0.0.0.0
mask:0.0.0.0
(http://lists.mapfish.org/pipermail/users/2011-March/003224.html)
- il faut utiliser Adobe Reader pour avoir toutes les fonctionnalités du PDF ainsi qu'un rendu correct.

OpenLayers et GeoSIE Drupal
Y a 2 erreurs OpenLayers quand on intégre GeoSIE dans Drupal, liée à Drupal et au chargement du Javascript en defer :
- erreur de ce type "openlayers Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" quand annule un requête GET
OpenLayers/Request/XMLHttpRequest.js ligne : this._object.send(vData); faut mettre un catch
try { this._object.send(vData); } catch (e) {}
cf http://osgeo-org.1803224.n2.nabble.com/SOLVED-Firefox-nsIXMLHttpRequest-send-throwing-0xc1f30001-NS-ERROR-NOT-INITIALIZED-td5903108.html
- sous IE 7, gros crach au chargement \OpenLayers\Renderer\VML.js sur la méthode initialize, il faut encore ajouter un catch :

    initialize: function(containerID) {
        if (!this.supported()) { 
            return; 
        }
        if (!document.namespaces.olv) {
          try{  document.namespaces.add("olv", this.xmlns);
            var style = document.createStyleSheet();
            var shapes = ['shape','rect', 'oval', 'fill', 'stroke', 'imagedata', 'group','textbox']; 
            for (var i = 0, len = shapes.length; i < len; i++) {

                style.addRule('olv\\:' + shapes[i], "behavior: url(#default#VML); " +
                              "position: absolute; display: inline-block;");
            }
    }
          catch(e){
          OpenLayers.Console.log('VML error');
    }            
        }

        OpenLayers.Renderer.Elements.prototype.initialize.apply(this, 
                                                                arguments);
    },

Ajout futur documentation

Gestion du bloc résultat
Suite au retour d’expérience de Maël :

Voila l'exemple donné dans la doc :
<gml:featureMember>
<ms:SIE_POINT fid="SIE_POINT.35">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326"><gml:coordinates>2.709943,46.363310 2.709943,46.363310</gml:coordinates></gml:Box>
</gml:boundedBy>
<ms:msGeometry>
...
</ms:SIE_POINT>
</gml:featureMember>

Et voila mon GML :

<gml:featureMember>
<ms:velov>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326"><gml:coordinates>4.867283,45.746770 4.867283,45.746770</gml:coordinates></gml:Box>
</gml:boundedBy>
<ms:msGeometry>
...
</ms:velov>
</gml:featureMember>

Le template cherche un fid, qui n'existe pas forcement dans un gml...
J'ai ajouté gml_featureid dans le mapfile.