h1. Version 2.4.1 - 21 november 2012

h2. New features

* *Cache* The directory where Lizmap stores the tiles cache can be configured in the Admin pannel, Lizmap Configuration > Services. The Apache user must have write access to the chosen cache root directory.

h2. Bug fixing

* *Admin interface* The font size is back to normal.

* *Logs* No log are written for curl requests when there is no errors.

* *Popups* : fixed 2 bugs which prevented Lizmap to display images in the popups when using */media/my/path/one_image/png* as a value in one of the column of the attribute table of a vector layer.


h1. Version 2.4.0 - 14 november 2012

h2. New features

* *Media management*:
Add a method which provides web acces to *documents and media files stored in the media/ folder* of each repository. The files stored in this folder can be used in the *layer link property*, and in the *layer columns values* to display text content or local images in the popup.

* *Rich and configurable popups*:

 * *Choose the layers with popups*:
The user can configure via Lizmap Plugin for which layers of the project a popup will be shown when clicking on the map. *Only the user defined layers* respond to a clic on the map.
 * *Media management*:
If a path to a local media file has been defined as the content of a column for each layer feature, it will be automatically replaced by the appropriate content depending of the media type : images are displayed, documents are linked, the content of text files with plain text or with html content is displayed in the popup. See the layer *Tramway lines* for an example of how to configure this option.
 * *Full customisation of popup throug the plugin*:
For each layer of the QGIS project, the user can write a template which will be used by Lizmap Web Client to display the popup content. The popup content will be dynamically created by replacing each column variable (e.g. {$mycolumn}) by the appropriate content (column value, or media content if the value of the column is a path to a local media file). See the layers *Districts* and *Bus lines* in the Montpellier example project provided.

* *Responsive design*:
Lizmap Web Client interface has been adapted to fit well on *classical smartphones* with small screens and *high definition smartphone screens* (Samsung Note, Samsung Nexus, Iphone 4+, etc.). You can now use Lizmap Web Client to *publish maps for mobile devices*. Here are the major changes made to achieve this goal:

 * *a smaller header* wich leaves more space for the map
 * *fullscreen legend menu*
 * *baselayer selector* allow clicking on text to select a layer
 * *toggle legend off by default* and add a menu item to show the legend or return back to the map
 * *almost fullscreen popups* in mobile mode
 * *hide overview map*
 * *when a popup is displayed*, hide the navigation bar and the overview map


h2. Improvements

* *Overview Map*: The overview map is displayed by default when loading the map. You can still hide it via the small arrow right to the scale bar.

* *Baselayers* : the user can click on the name of the current baselayer to open the baselayer selector. No need to click on the small triangle anymore. The baselayers shown in the selector can also be activated by clicking on the name instead of the radio button.


h2. Bug fixing

* *GetCapabilities*: Remove duplicated XML header introduced in version 2.3.0 which prevented Lizmap to work on some systems.

* *Interface on Internet Explorer 8*: Adapt CSS and javascript to correct some bugs under IE8

h2. Engine

* *Jelix (php framework)*: Upgrade from version 1.3.4 to version 1.4.1



h1. Version 2.3.0 - 30 October 2012

h2. New features

* *Information panel per project*: add a full screen information panel with project properties. To show it, just click on the link *Information* in the top right menu, or double-click on the header. All the information are taken from the QGIS project properties. You can edit them in the OWS tab of the project properties dialogue in QGIS.

h2. Improvements

* *Interface*: enhance interface for small screens. The header adapts better on small screens, like mobile devices (smart-phone, tablet computers, etc.)

* *Proxy*: do not use CURL any more by default to send the requests to QGIS Server, but built-in PHP methods. Add an option in the admin panel to choose between curl and php.

* *Proxy*: the GetCapabilities response is now sent as text/xml by Lizmap proxy instead of plain text

* *Admin*: add an option *debug mode* to the services, in order to log some actions (proxy, cache) in files to help debugging. Set to off by default.

h2. Bug fixing

* *Admin Lizmap configuration* Correctly display rights for groups on each repository in the admin Lizmap configuration page.

* *Proxy*: check that CURL (if used) and GD are installed before using them.

* *Cache*: remove the lizmap config parameter in the cache method to avoid cache loss (or duplicate) every time the Lizmap configuration changed.

h2. Engine

* *Jelix*: upgrade to version 3.4.0.




h1. Version 2.2.0 - 1 octobre 2012

h2. New features

* *Cache: support metatile option*
The user can now choose for each cached layer if he wants to use metatiling or not. Activating metatile will request larger tiles from QGIS Server, and split them up. This will avoid to have map tiles with truncated and redondent labels. The user defines the metatile size in Lizmap plugin, for example "5,5" which will ask for images 5 times larger.

h2. Improvements

* *Cache* : the cache expiration time can now be set *layer per layer*, by using the Lizmap plugin.
If not set, Lizmap Web Client will use the default one set in lizmap configuration (Admin back-end -> Services)
* *Cache : simple detection of wms client type*
We try to avoid using cache and metatile options when the client is not a web client as OpenLayers, but a generic Gis software which will ask for image of arbitrary size. For now, cached layers shall preferentially not been requested by external WMS clients (or the cache size will increase unnecessarily in the server)
* *Better support for sqlite2*, the database in which we store groups and users, by avoiding the use of "group_concat" method (available only for sqlite3)

h2. Bug fixing

* *Cache* : round bbox parameters with 6 digits after the comma to avoid double or triple cache for the same tiles.



h1. Version 2.1.0 - 25 Septembre 2012

h2. Improvements

* Translation of the web application and the administration back-end in *Italian* (thanks to Salvatore Larosa @lrssvt)

h2. Bug fixing

* Better handling of accentuated layers and groups names
* Better support for spatial projections


h1. Version 2.0.0 - September 2012

h2. Manage project map with repositories

This feature exists since version 1. It is explained here again to help understand the new related features.

* *Lizmap Repositories: group QGIS project files by folders*
A Lizmap repository is a shortcut to a given path in the server, where QGIS projects and data are stored.
A repository is described by a key, a title and a path. For example the repository "test", titled with "My Test" represents the folder /home/data/test_folder/ on the server. The user can put 3 QGIS project files here to publish 3 maps in the repository "test".
Lizmap Web Client gives access to all the maps of a given repository through a unique URL.

* *The data related to the repositories is stored in a configuration file*

* *The complete paths of the project files are not visible in the URL*
Since LizMap Web Client acts as a proxy to QGIS Server WMS, the real path of the QGIS project file for each map is hidden to the user.
This is good for security reasons and it helps the user by providing simple URL with only 2 parameters: the repository key and the name of the project.


h2. Administration

* *A new admin module has been added* to provide access to Lizmap Configuration
This module can be accessed only by authenticated users with admin rights. This administration back-end contains:

 * *A "Lizmap" menu* to easily modify Lizmap configuration via simple forms. No need to manually edit a configuration file any more.

  * *services* : URL of QGIS Server fcgi, URL of an optionally tile cache server, default repository.
  * *repositories* : create, modify, delete and manage access rights.

 * *A "System" menu* : manage users, groups and associated rights.

* *Access levels*

 * *group "admins"*
 The users of this group own all rights. A user *admin* (password "admin") has been created in this group. This is somehow the "super administrator".
The admins can create as many groups as needed, create users and modify the rights for each group.

 * *group "lizadmins"*
 The users of this group have access to Lizmap configuration menu. They can manage Lizmap services and repositories.
A user *lizadmin* (password "lizadmin") has been created in this group.

h2. Access rights per repository

Lizmap administrators can now easily restrict access to repositories' maps per group.

* In Lizmap configuration, the access to each repository is determined for a set of groups
* A user can only access the repositories visible for his group(s). The maps contained in the other repositories are protected and not visible.
* The WMS and WFS services provided by Lizmap are not accessible to external clients (GIS, web browsers, etc.).
* You can still access Lizmap services with an external client by passing the authentication parameters (for example with QGIS WMS client, just set the user and password )
* A group called *anonymous* represents the unauthenticated users. They can still have access to some repositories. To do so, the administrator just has to give the rights to view these repositories to the group *anonymous*.

In Lizmap V2 release, we created another group called *Intranet Demo Group*, containing a user *logintranet* (password "logintranet") as an example provided to show how repositories, groups, users and rights work in Lizmap. A repository called *intranet* has been created, and we configured it so that only admins, lizadmins and *Intranet Demo Group* have access rights to it. So if a user wants to see the map *montpellier_intranet* of the repository *intranet*, he must be logged as *logintranet* (or admin or lizadmin).

Lizmap administrators can create many other groups to fit their needs and distribute maps to different groups of users.



h2. Brand new interface

* New mock-up

 * a *left panel* shows the layers legend and the base layers. This panel can be hidden to extend the map size.
 * a *top menu* contains the repository title, the project title and a small menu on the right (authentication)
 * a *map* fills the remaining space (responsive mode: real time adaptation to the window size)
 * a *scale bar* and a *map overview* (if configured) are visible over the map, at bottom right

* Size and position of these items can be easily modified and adapted, as they are CSS based. A theming system is under development to provide an easy way to choose among different themes.

* *A home page* shows a list of projects ordered by repositories.

 * Only repositories accessible to the current user are visible
 * A thumbnail can easily be added to illustrate each project
 * A small description of each project is written under the thumbnail: title, abstract, projection, extent, etc.


h2. Internationalisation

* *2 languages proposed* : English and French
* *automatic detection of the browser language*
* *easy addition of new languages* as the translations are stored in text files grouped by language.
* *change language during a session* by adding a parameter: lang=fr_FR or lang=en_EN for example.


h2. Features related to QGIS Server

* *Legend*: the legend of each group of layers is refreshed on each level change if needed. It shows only the visible layers of the group.

* *Information pop-up* when clicking on a map object

 * an image is displayed when one of the selected feature fields contains a full URL to a web image
 * a clickable link replaces any html link contained in each field.


h2. Lizmap Engine

* *Jelix framework upgrade* This php framework has been upgraded to version 1.3.3.
* *Jelix has been integrated into the archive released* This wil facilitate the distribution of Lizmap Web Client and the future upgrades.
* *Code reorganisation and re-factoring*: 3 separated modules ("lizmap" for the web services, "view" which displays the map and pages, "admin" which handles the administration back-end).
* *Bootstrap* has been chosen to manage the CSS and provide an easy way to produce application themes.
* *jAcl2 and jAuth* (jelix modules) to manage rights and authentication.
* *Replacement of the configuration file*: lizmap/var/projects.json has been replaced by lizmap/var/config/lizmapConfig.ini.php to store Lizmap Web Client configuration. The ini format is much more readable and Jelix/Php provide tools to manage ini files.

h2. Error handling

* Redirect to the project list if the repository is wrong or inaccessible
* Standard OGC errors are sent to the clients if a protected WMS service is accessed.
