h1. Version 2.4.1 - 21 décembre 2012

h2. Nouvelles fonctionnalités

* *Cache* Le répertoire dans lequel le cache des tuiles de Lizmap est stocké peut être configuré via le panneau d'administration. Il faut choisir un répertoire dans lequel l'utilisateur Apache peut écrire.

h2. Correction de bugs

* *Interface admin* La taille des polices est de nouveau celle par défaut dans toute l'application. (Depuis la 2.4.0 les polices étaient trop grandes)

* *Logs* Pas de log écrit dans lizmap/var/log/messages.log lorsque curl ne renvoit pas d'erreur, sauf si le mode debug est activé dans la configuration

* *Popups* Correction de 2 bugs qui empêchaient d'afficher des images issues d'une valeur de type */media/mon/chemin/image.png* dans une colonne des attributs de la couche vectorielle.



h1. Version 2.4.0 - 14 novembre 2012

h2. Nouvelles fonctionnalités

* *Gestion des documents* :
Il est maintenant possible de *mettre à disposition des documents* à part de Lizmap. Tous les fichiers stockés dans le *répertoire media/* de chaque répertoire LizMap sont accessibles sur l'application Web. Cela permet par exemple de fournir un *lien vers un document* pdf en remplissant la propriété *Lien* d'une couche, ou bien d' *afficher des images ou du contenu HTML* dans les popups à partir des données d'une couche.

* *Popups enrichies* :
LizMap permet maintenant de configurer des popups riches à partir des couches vectorielles du projet QGIS:

 * *Choix des couches* :
Le plugin Lizmap permet de choisir pour quelles couches on souhaite proposer une fenêtre d'information (popup) sur la carte web. Une *case à cocher* permet d'activer ou de désactiver la popup pour chaque couche.
 * *Gestion des documents* :
la popup est construite avec les *valeurs des colonnes* de la couche pour l'élément cliqué. Pour chaque objet de la couche, si une colonne contient *un chemin relatif vers un document ou un fichier média* stocké dans le *répertoire /media* du répertoire LizMap, cette valeur sera remplacée par le contenu approprié : affichage d'une image, affichage du contenu d'un fichier texte ou d'un fichier HTML, affichage d'un lien vers un document pdf, etc. Cela permet de proposer des popup riches avec des colonnes créées spécifiquement dans ce but. Voir l'exemple de la couche *Tramway lines* "du projet de démonstration Montpellier":http://demo.3liz.com/lizmap/index.php/view/map?repository=montpellier&project=montpellier
 * *Modèles d'affichage de la popup* :
Pour aller plus loin, il est possible de configurer pour chaque couche *un modèle d'affichage, appelé aussi template*. Une fenêtre du plugin permet d'écrire un contenu en texte simple ou au format HTML). Les variables représentant les *noms des colonnes*, par exemple {$ma_colonne}, seront *remplacées par le contenu adéquate* : valeur de la colonne, ou contenu du fichier si la valeur est un chemin vers un fichier média ou un document. Ainsi l'utilisateur peut créer des *popups dynamiques enrichies* à partir des données de la couche. Voir l'exemple des couches *Districts* et *Bus lines* du "projet de démonstration Montpellier":http://demo.3liz.com/lizmap/index.php/view/map?repository=montpellier&project=montpellier
 * *Modèle par défaut*
Si aucun modèle d'affichage n'a été défini via le plugin, alors la popup affiche un tableau avec le nom et les valeurs des colonnes pour l'objet cliqué.


* *Interface mobile* :
L'interface de Lizmap s'adapte automatiquement aux écrans des *smartphones standards* et aux *smartphone avec écrans à haute définition* : Iphone 4 ou 5, Samsung Note, Nexus, etc.. On peut donc maintenant utiliser Lizmap pour *publier des cartes pour les appareils nomades*.
Voici les changements majeurs qui ont été apportés:

 * *mode "responsive"* : l'interface s'adapte de manière automatique lorsque on modifie la dimension de l'écran (notamment tourne l'écran d'une tablette ou d'un smartphone)
 * *une entête plus petite* pour laisser plus de place à la carte
 * *le menu légende est en plein écran*
 * *le menu légende est caché par défaut* et un lien dans la barre horizontale de menu permet de basculer entre la carte et la légende.
 * *les popups sont en quasi plein écran*. La barre d'échelle et les boutons de navigation sont masqués lorsqu'une popup est affichée
 * *la carte miniature est masquée*

h2. Améliorations

* *Carte miniature* : La carte miniature est affichée par défaut au chargement de la carte. Il est bien sûr toujours possible de la masquer en cliquant sur la flèche située à droite de la barre d'échelle.

* *Fonds de carte* : Cliquer sur le nom de la couche de fond actuelle ouvre le menu de choix du fond de carte. Il n'est plus nécessaire de cliquer sur la petite flèche située à droite. De même, pour sélectionner une couche de fond dans ce menu, un clic sur le nom d'une des couches suffit.

h2. Corrections de bugs

* *GetCapabilities* : Suppression d'un doublon dans l'entête de la réponse XML fournie par Lizmap, corrigeant un bug apparu dans la version 2.3.0.

* *Interface sur Internet Explorer 8* : modification des CSS et du JavaScript pour corriger les problèmes d'affichage de la légende et du menu.

h2. Moteur

* *Jelix*: montée de version de jelix 1.3.4 vers jelix 1.4.1.



h1. Version 2.3.0 - 30 Octobre 2012

h2. Nouvelles fonctionnalités

* *Panneau d'information pour chaque projet*: Un lien, positionné en haut à droite de chaque carte, permet d'afficher une fenêtre présentant les informations détaillées de la carte. Toutes ces informations sont issues du projet Qgis. Vous pouvez les configurer via la fenêtre de propriétés du projet QGIS, onglet OWS.

h2. Améliorations

* *Interface*: l'interface a été améliorée pour les petits écrans : l'entête avec le titre de la carte réagit mieux à un redimensionnement de la fenêtre. Cela améliore la présentation générale sur les interface mobiles : smartphones et tablettes.

* *Proxy*: Curl n'est plus utilisé par défaut pour envoyer les requêtes à QGIS Server. C'est maintenant les fonctions natives de php qui sont utilisées dans Lizmap. Il est possible de choisir dans l'administration l'outil à utiliser (curl ou php).

* *Proxy*: la réponse de la requête GetCapabilities est maintenant envoyée au format XML et non au format texte. Cela améliore la compatibilité avec les clients WMS externes.

* *Administration*: ajout d'une option *mode de débogage* dans la partie services. Elle est mise à off par défaut, mais peut être activé. Alors certaines requêtes (proxy, cache, etc.) seront enregistrées sur le serveur dans des fichiers de log de Lizmap.

h2. Corrections de bugs.

* *Configuration Lizmap (admin)* L'affichage des droits pour chaque répertoire Lizmap a été corrigé dans la liste (il n'apparaissait plus).

* *Proxy*: vérification que Curl et GD (outils PHP) sont bien installés avant de les utiliser.

* *Cache*: la configuration lizmap n'est plus passée dans la méthode de gestion du cache. Cela permet d'éviter de perdre le cache à chaque changement de la configuration Lizmap.

h2. Moteur

* *Jelix*: montée de version vers jelix 3.4.0.



h1. Version 2.2.0 - 1 Octobre 2012

h2. Nouvelles fonctionnalités

* *Cache : support du metatile*.
On peut définir via le plugin Lizmap, pour chaque couche avec le cache activé, si on souhaite paramétrer le metatile. Le principe est de demander au serveur QGIS Server une image plus grande et de la redécouper ensuite. Cela permet d'éviter les problèmes d'étiquettes tronquées ou de hachures brisées aux limites de tuiles. On peut par exemple définir "5,5".

h2. Améliorations

* *Cache* : possibilité de définir la durée d'expiration du cache *pour chaque couche*.
Si cette durée n'est pas définie au niveau de la couche, alors on utilise le paramètre par défaut (défini dans la configuration de Lizmap Web Client)
* *Cache : Détection simple du client WMS*
pour ne pas utiliser le cache et le metatile pour les clients de type logiciel SIG, car les emprises des tuiles sont alors uniques.
* Meilleur support de sqlite 2, base de données utilisée pour le stockage des paramètres de groupes et d'utilisateurs (remplacement de "group_concat" par du code PHP)

h2. Corrections de bugs

* *Cache* : meilleure gestion des arrondis pour éviter une utilisation inadéquate du cache.



h1. Version 2.1.0 - 25 Septembre 2012

h2. Améliorations

* Traduction de l'application web et de l'interface admin en *italien* (merci à Salvatore Larosa @lrssvt)

h2. Corrections de bugs

* Meilleure prise en compte des accents dans le nom des couches
* Meilleur support des projections


h1. Version 2.0.0 - Septembre 2012

h2. Gestion des cartes par répertoire

Cette fonctionnalité existait dans la version précédente et est reprise ici pour référence.

* *Possibilité de créer sur le serveur un ou plusieurs "répertoires" de projets*.
Un répertoire LizMap correspond exactement à un répertoire du serveur dans lequel on stocke un ou plusieurs projets QGIS (et les données liées).
On peut donner un titre à un répertoire (Par exemple "test" pour le chemin /home/donnees/rep_test/ qui contiendrait des projets QGIS).
LizMap permet d'accéder à une carte pour chaque projet de chaque répertoire, via une URL unique. Il est donc possible de donner un lien direct à une carte LizMap.

* *Un fichier de configuration décrit les répertoires LizMap* : chemin du répertoire sur le serveur, titre du répertoire

* *Les chemins des projets ne sont pas visible dans les URLs*.
Grâce à l'organisation par répertoire et au fichier de configuration décrivant les répertoires LizMap, l'utilisateur de LizMap n'a pas besoin de connaître le chemin sur le serveur vers le projet QGIS qu'il souhaite consulter.
Cela offre 2 avantages, le premier est d'avoir des URLs simple, le second est de cacher l'arborescence du serveur et donc de protéger le serveur.


h2. Administration

* *Ajout d'un module d'administration* qui centralise les menus de configuration de LizMap.
Pour accéder à ce module, il faut être un utilisateur enregistré et utiliser son login et mot de passe. Ce module d'administration contient :

 * *Un menu "Lizmap"*, où il est possible de modifier la configuration directement via des formulaires.

  * *services* : URL du serveur QGIS, URL d'un serveur optionnel de cache de tuiles,
  * *répertoires* : création, modification, suppression et gestion des droits d'accès.

 * *Un menu "Système"*, qui centralise les pages de gestion des utilisateurs, des groupes et des droits associés.

* *Plusieurs niveaux d'accès* :

 * *groupe "admins"* :
 les utilisateurs de ce groupe ont tous les droits. Un utilisateur *admin* (mot de passe "admin") a été créé dans ce groupe. C'est en quelque sorte le super-administrateur.
Il est possible pour les utilisateurs du groupe *admins* de créer autant de groupes que souhaité, de créer des utilisateurs, et de modifier les droits pour chaque groupe.

 * *groupe "lizadmins"* :
 les utilisateurs de ce groupe peuvent configurer LizMap : gestion des services et des répertoires de projets.
Un utilisateur *lizadmin* (mot de passe "lizadmin") a été créé dans ce groupe.


h2. Gestion des accès aux répertoires par groupe

Il est maintenant possible de protéger facilement l'accès aux projets QGIS d'un répertoire.

* Un répertoire peut être configuré via l'admin pour être visible par un ou plusieurs groupes d'utilisateur.
* Un utilisateur ne peut voir que les cartes contenues dans les répertoires accessibles pour les groupes auxquels il appartient. Les autres cartes sont protégées et non accessibles.
* Les services WMS et WFS ne sont pas accessibles aux clients externe (SIG, navigateur, etc.) en dehors de l'application LizMap.
* Il reste possible d'utiliser le service WMS via un client externe en passant les paramètres d'authentification de l'utilisateur (par exemple avec le menu de QGIS *Ajouter une couche WMS* )
* Un groupe *anonymous* représente les utilisateurs non connectés, c'est-à-dire les visiteurs sans login ni mot de passe qui vont sur l'application LizMap.
On peut donner l'accès à un ou plusieurs répertoire à ce groupe *anonymous*, ce qui revient à rendre ces répertoires accessibles à tous.

Dans la version de Lizmap fournie avec l'archive, nous avons créé par exemple un groupe *Intranet Demo Group* et un utilisateur *logintranet* (mot de passe "logintranet") appartenant à ce groupe. Nous avons créé un répertoire *intranet* et configuré son accès pour que seuls les groupes administrateurs et le groupe *Intranet Demo Group* y aient accès. Pour voir la carte *montpellier_intranet*, il faut être connecté en tant que *logintranet*. Sinon on est redirigé vers la page qui liste les projets et on ne peut accéder qu'aux cartes du répertoire *montpellier*

L'administrateur de LizMap peut ainsi créer autant de groupes thématiques qu'il souhaite. Les utilisateurs de ces groupes n'auront accès qu'aux cartes des répertoires accessibles par leur groupe.


h2. Refonte de l'interface

* *Nouvelle organisation de la carte*

 * un *panneau à gauche* présente la légende et les fonds de carte. On peut masquer ce panneau.
 * un *bandeau supérieur* contient le titre du répertoire, le titre du projet et un menu (authentification)
 * une *carte* prend la place restante (avec gestion du redimensionnement de la fenêtre)
 * une *barre d'échelle* et une *vue miniature* de la carte (si elle a été configurée) sont intégrées en bas à droite.

* Le positionnement et le style des différents éléments peuvent être facilement modifiés et adaptés en fonction des besoins, via un système de thèmes (à développer)

* *Une page liste les projets de chaque répertoire accessible à l'utilisateur* :

 * seuls les répertoires accessibles sont affichés
 * *une imagette* illustre chaque projet
 * *une description* rappelle les informations du projet : titre, description, projection, emprise.



h2. Internationalisation de l'application

* *2 langues proposées* pour l'instant : le français et l'anglais
* *détection automatique de la langue* du navigateur (bascule sur l'anglais si la langue n'est pas trouvé)
* *ajout aisé de nouvelles langues*, puisque les traductions sont enregistrées dans des fichiers textes regroupées par langue.
* *basculer sur une autre langue* en passant un paramètre (lang=fr_FR ou lang=en_EN)


h2. Fonctionnalités de la carte en lien avec QGIS server


* *Légende* : rafraîchissement de la légende de chaque couche (ou groupe de couches) à chaque changement d'échelles.

* *Fenêtre d'information d'un objet de la carte*, accessible sur simple clic.

 * affichage d'une image lorsqu'un champ de la couche contient une URL complète vers une image stockée sur internet
 * remplacement des liens http par des liens cliquables.


h2. Moteur

* *Mise à jour de Jelix* (framework PHP utilisé pour développer le moteur de LizMap) : passage à la version 1.3.3
* *Intégration de Jelix dans l'archive téléchargeable*, ce qui facilite l'installation de LizMap et les futures montées de version
* *Réorganisation du code* en plusieurs modules ("lizmap": responsable des services web, "view" : affichage des pages et de la carte, "admin": gestion de l'administration)
* *Utilisation de bootstrap* pour mettre en forme les pages non cartographiques.
* *Utilisation de jacl2 et de jauth* pour gérer respectivement les droits et l'authentification.
* *Remplacement du fichier de configuration* lizmap/var/projects.json (au format JSON) par lizmap/var/config/lizmapConfig.ini.php (au format ini) et factorisation du code pour gérer et utiliser cette configuration.

h2. Gestion des erreurs

* Redirection vers la liste des projets si le dépôt passé est incorrect
* Redirection vers la liste des projets si le projet est incorrect (fichier QGIS non présent ou configuration manquante pour ce projet)
* Erreurs conformes aux standards des services OGC si on lance une requête WMS sur un projet protégé (non accessible par l'utilisateur courant)
