Because each user has different needs, they all need a different personal configuration. This results in a different xml file for each user. These files can all be found under the data/ggis/users directory. Since each user requires such a file, and since each user's name is unique, we have coupled the username to the filename. For the "guest" user for example, this file will be "guest.xml". In other words a user's personal configuration will be stored in a file called [username].xml.
?xml version="1.0" encoding="UTF-8"?>
<mc:user xmlns:mc="http://www.majas.org/schema/2006/configuration/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="http://www.w3.org/1999/xhtml"
xmlns:ns="http://www.majas.org/schema/2006/configuration/"
xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty"
xsi:schemaLocation="http://www.majas.org/schema/2006/configuration/ file://xsd/majas-user.xsd">
<id>5</id>
<application ref="test">
<layerFilters>
<layerFilter layer="1" filter="(CITY == "Brussels")" />
<layerFilter layer="2" filter="(FEATURE WITHIN GEOMETRY.1(CITY == "Brussels"))" />
<layerFilter layer="3" filter="(FEATURE WITHIN GEOMETRY.1(CITY == "Brussels"))" />
</layerFilters>
<initialMapExtent maxX="200000" maxY="230000" minX="50000" minY="170000"/>
<maxMapExtent maxX="260000" maxY="245000" minX="20000" minY="150000"/>
<bookmarks>
<bookmark maxX="200000" maxY="225000" minX="5000" minY="165000" name="initial"/>
</bookmarks>
</application>
<application>
...
</application>
</mc:user>The xml file above is an example of such a user configuration. This user has a configuration for an application called "test" (among others). Time to pause! There are typically 2 names asociated with an application. There is the parameter you use in the url to access a certain application, and there is the actual name of the application. What "test" here denotes, is the actual name of the application. Now in some cases the actual name and the url parameter might be the same, but let this confuse you. "test" is the string that has been filled in the application's configuration as the real name. Btw as you can see, a user can have configurations for many applications. This only has any use if that user is actualy registered for that application. But for each application that has this user registered, it is absolutely necessary to have an application configuration in here. Furthermore, for each application, we see 4 elements:
layerFilters: This is a list of filters that apply for this user. For each layer that is defined in the application, there can be a filters that applies only on this user. If we look at the example, we see that for layer number 1, the user is only allowed to request/see features that have the 'CITY' attribute equal to "Brussels" (This probobly is a layer with cities :p). For layer 2 and 3 we see that only features that have theire geometry inside the polygon of Brussels may be requested. More information on filters can be found elsewhere in this document.
initialMapExtent: A MapExtent is an axis aligned bounding box that has it's coordinates in the same crs as the application. This initial map extent is the view this user will have when he long in to the application.
maxMapExtent: This is the maximum extent the user is allowed to visit. He is not allowed outside these borders.
bookmarks: A bookmark is basically a map extent with a name. Since users can manage these bookmarks themselves there is no need to do this for them in advance. Still we put one bookmark in the example for show.