diff --git a/doc/specs.md b/doc/specs.md
index e1209f531fe629248f40e588b95a3526b8bae15c..2fbd59bf03a465ac85175b2ea3b7c40cdb69a52d 100644
--- a/doc/specs.md
+++ b/doc/specs.md
@@ -99,7 +99,7 @@ Le formulaire est disposé de la sorte :
 Général
 * Nom : texte avec espaces, accents etc. à afficher sur l'interface
 * Source de donnée : non modifiable
-* wms_id : (non visible) texte sans accents ni espaces généré automatiquement [Nom]_[id]
+* flux_id : (non visible) texte sans accents ni espaces généré automatiquement [Nom]_[id]
 * Source : liste déroulante avec possibilité d'ajout
 * Interrogeable (oui/non)
 
@@ -118,7 +118,6 @@ Fonctionnalités d'interrogation
     * Mode de recherche
 * Disponible en sélection cartographique (Oui/Non)
     * Buffer de sélection
-    * Champ à afficher pour la sélection multiple
 * Disponible en tableau attributaire (Oui/Non)
     * Liste des clés/valeurs à afficher sur le tableau attributaire
 * Disponible en saisie
@@ -129,6 +128,7 @@ Fonctionnalités d'interrogation
 * Édition multiple (Oui/Non)
 * Clonnable (Oui/Non)
 * Édition automatique (Oui/Non)
+* Champ à afficher pour la sélection multiple
 
 
 #### 2.2.2. Section symbologie
@@ -143,10 +143,12 @@ Les champs sont les suivants
     * Couleur du texte
     * Épaisseur de contour : 0 par défaut
     * Couleur de contour
+    * Opacité
 * Géométrie (Oui/Non)
     * Épaisseur/Taille
     * Couleur de fond
     * Couleur de contour
+    * Opacité
 
 * Icones ????
 
diff --git a/mcd/vmap_2019.dbm b/mcd/vmap_2019.dbm
new file mode 100644
index 0000000000000000000000000000000000000000..0b4a07a26be160423eea72469e9a56c5ffc4eb82
--- /dev/null
+++ b/mcd/vmap_2019.dbm
@@ -0,0 +1,6184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+CAUTION: Do not modify this file unless you know what you are doing.
+         Unexpected results may occur if the code is changed deliberately.
+-->
+<dbmodel pgmodeler-ver="0.9.2" last-position="3392,0" last-zoom="1" max-obj-count="288"
+	 default-schema="public" default-owner="postgres">
+<role name="admin"
+      createrole="true"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="u_vitis"
+      createrole="true"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+	<roles names="postgres" role-type="member" />
+</role>
+
+<role name="u_scheduler"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="gtf_scheduler"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="u_scheduler" role-type="member" />
+</role>
+
+<role name="armand"
+      createrole="true"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="test"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="extraction_admin"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand" role-type="member" />
+</role>
+
+<role name="eclairage_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand" role-type="member" />
+</role>
+
+<role name="eclairage_admin"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand" role-type="member" />
+</role>
+
+<role name="extraction"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="test_user"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="test_user2"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="test_user3"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="vitis_domain_10"
+      inherit="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="vmap_admin"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin" role-type="member" />
+</role>
+
+<role name="vm4ms_admin"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin" role-type="member" />
+</role>
+
+<role name="u_vmap_public_data"
+      inherit="true"
+      login="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="vmap_cadastre_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin" role-type="member" />
+</role>
+
+<role name="vmap_cadastre_light_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="vmap_cadastre_medium_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="anc_admin"
+      inherit="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="anc_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+</role>
+
+<role name="vmap_anomalies_admin"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin" role-type="member" />
+</role>
+
+<role name="vmap_anomalies_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin" role-type="member" />
+</role>
+
+<role name="vmap_anomalies_light_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin" role-type="member" />
+</role>
+
+<role name="vitis_admin"
+      createrole="true"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin,u_vitis,armand" role-type="member" />
+</role>
+
+<role name="vitis_shared"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand" role-type="member" />
+</role>
+
+<role name="gtf_author"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand" role-type="member" />
+</role>
+
+<role name="gtf_admin"
+      createrole="true"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand" role-type="member" />
+</role>
+
+<role name="extraction_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="armand,extraction" role-type="member" />
+</role>
+
+<role name="vmap_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin,vmap_admin" role-type="member" />
+</role>
+
+<role name="vmap_public_data_reader"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="vmap_user,u_vmap_public_data" role-type="member" />
+</role>
+
+<role name="vitis_user"
+      inherit="true"
+      encrypted="true"
+      password="********">
+	<roles names="admin,u_vitis,vitis_admin,armand,extraction,test_user,test_user2,test_user3" role-type="member" />
+</role>
+
+<database name="vmap" encoding="UTF8" lc-collate="C" lc-ctype="fr_FR.UTF-8" is-template="false" allow-conns="true">
+	<role name="u_vitis"/>
+	<tablespace name="pg_default"/>
+</database>
+
+<schema name="public" layer="0" rect-visible="true" fill-color="#e1e1e1" sql-disabled="true">
+</schema>
+
+<schema name="s_vitis" layer="0" rect-visible="true" fill-color="#5f6d17">
+	<role name="u_vitis"/>
+</schema>
+
+<function name="create_role_if_not_exists"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="postgres"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="text" length="1"/>
+	</return-type>
+	<parameter name="rolename">
+		<type name="name" length="0"/>
+	</parameter>
+	<parameter name="rights">
+		<type name="text" length="0"/>
+	</parameter>
+	<definition><![CDATA[ BEGIN    IF NOT EXISTS (SELECT * FROM pg_roles WHERE rolname = rolename) THEN        EXECUTE 'CREATE ROLE ' || rolename|| ' ' || rights;        RETURN 'CREATE ROLE';    ELSE        RETURN format('ROLE ''%I'' ALREADY EXISTS', rolename);    END IF; END; ]]></definition>
+</function>
+
+<function name="f_add_col"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="boolean" length="1"/>
+	</return-type>
+	<parameter name="_tbl" in="true">
+		<type name="regclass" length="0"/>
+	</parameter>
+	<parameter name="_col" in="true">
+		<type name="text" length="0"/>
+	</parameter>
+	<parameter name="_type" in="true">
+		<type name="regtype" length="0"/>
+	</parameter>
+	<parameter name="success" out="true">
+		<type name="boolean" length="0"/>
+	</parameter>
+	<definition><![CDATA[ BEGIN IF EXISTS (SELECT 1 FROM pg_attribute WHERE  attrelid = _tbl AND    attname = _col   AND    NOT attisdropped) THEN   success := FALSE; ELSE   EXECUTE 'ALTER TABLE ' || _tbl || ' ADD COLUMN ' || quote_ident(_col) || ' ' || _type; success := TRUE; END IF; END ]]></definition>
+</function>
+
+<function name="f_add_unique_index"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="boolean" length="1"/>
+	</return-type>
+	<parameter name="_schema" in="true">
+		<type name="text" length="0"/>
+	</parameter>
+	<parameter name="_table" in="true">
+		<type name="text" length="0"/>
+	</parameter>
+	<parameter name="_col" in="true">
+		<type name="text" length="0"/>
+	</parameter>
+	<parameter name="_name" in="true">
+		<type name="text" length="0"/>
+	</parameter>
+	<parameter name="success" out="true">
+		<type name="boolean" length="0"/>
+	</parameter>
+	<definition><![CDATA[ BEGIN IF EXISTS (SELECT 1 FROM pg_class c JOIN   pg_namespace n ON n.oid = c.relnamespace WHERE  c.relname  = _name  AND   n.nspname = _schema ) THEN  success := FALSE; ELSE EXECUTE ' CREATE UNIQUE INDEX ' || _name || ' ON ' || _schema || '.' || _table || ' (lower(' || _col || '));' ; success := TRUE; END IF; END ]]></definition>
+</function>
+
+<function name="s2hms"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="character varying" length="1"/>
+	</return-type>
+	<parameter name="_param1">
+		<type name="integer" length="0"/>
+	</parameter>
+	<definition><![CDATA[ declare nDureeSeconde ALIAS for $1; sDureeChaine varchar(10) ; nHeures int ; nMinutes int ; nSecondes int ; nHeures2 varchar(2) ; nMinutes2 varchar(2) ; nSecondes2 varchar(2) ; BEGIN nHeures := nDureeSeconde / 3600 ; nMinutes := (nDureeSeconde %% 3600) / 60 ; nSecondes := nDureeSeconde %% 60 ; if nHeures < 10 then nHeures2:= 0 || cast(nHeures as text) ; else nHeures2:= cast(nHeures as text)  ; end if; if nMinutes < 10 then nMinutes2:= 0 || cast(nMinutes as text) ; else nMinutes2:= cast(nMinutes as text)  ; end if; if nSecondes < 10 then nSecondes2:= 0 || cast(nSecondes as text) ; else nSecondes2:= cast(nSecondes as text)  ; end if; sDureeChaine := nHeures2 || ':' || nMinutes2 || ':' || nSecondes2; RETURN sDureeChaine; END; ]]></definition>
+</function>
+
+<sequence name="seq_common" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="vm_translation" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="400" y="60"/>
+	<column name="translation_id" not-null="true">
+		<type name="character varying" length="60"/>
+	</column>
+	<column name="lang" not-null="true">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="translation">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="pk_vm_translation" type="pk-constr" table="s_vitis.vm_translation">
+		<columns names="translation_id,lang" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="group" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<comment><![CDATA[User group having the same access rights to workspaces and inboxes]]></comment>
+	<position x="740" y="60"/>
+	<column name="group_id" not-null="true" sequence="s_vitis.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="50"/>
+	</column>
+	<constraint name="pk_group_id" type="pk-constr" table="s_vitis.&quot;group&quot;">
+		<columns names="group_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="user_group" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1020" y="60"/>
+	<column name="user_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="group_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="pk_user_group" type="uq-constr" table="s_vitis.user_group">
+		<columns names="group_id,user_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="user" layer="0" collapse-mode="2" max-obj-count="20">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="60" y="60"/>
+	<column name="user_id" not-null="true" sequence="s_vitis.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="login">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="80"/>
+	</column>
+	<column name="ip_constraint">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="email">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="company">
+		<type name="character varying" length="80"/>
+	</column>
+	<column name="department">
+		<type name="character varying" length="80"/>
+	</column>
+	<column name="last_connection">
+		<type name="timestamp with time zone" length="0" with-timezone="true"/>
+	</column>
+	<column name="domain_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="restriction">
+		<type name="text" length="0"/>
+	</column>
+	<column name="dataencrypt" default-value="false">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="secretkey">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="billinggroup_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="timezone_id" not-null="true" default-value="'Europe/Paris'">
+		<type name="character varying" length="40"/>
+	</column>
+	<column name="formatdate_id" default-value="'YYYY-MM-DDT'">
+		<type name="character varying" length="11"/>
+	</column>
+	<column name="phone">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="acceptnotification" default-value="false">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="pk_user_id" type="pk-constr" table="s_vitis.&quot;user&quot;">
+		<columns names="user_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="uk_user_login" type="uq-constr" table="s_vitis.&quot;user&quot;">
+		<columns names="login" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="check_u_vitis" type="ck-constr" table="s_vitis.&quot;user&quot;">
+			<expression><![CDATA[((name)::text <> 'u_vitis'::text)]]></expression>
+	</constraint>
+	<constraint name="check_postgres" type="ck-constr" table="s_vitis.&quot;user&quot;">
+			<expression><![CDATA[((name)::text <> 'postgres'::text)]]></expression>
+	</constraint>
+</table>
+
+<table name="domain" layer="0" collapse-mode="2" max-obj-count="18">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<comment><![CDATA[Ms Active Directory domain]]></comment>
+	<position x="1300" y="60"/>
+	<column name="domain_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="domain">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="alias">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="server">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="port">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="dn_search_user">
+		<type name="character varying" length="255"/>
+		<comment><![CDATA[Distinguished Name for users root node ]]></comment>
+	</column>
+	<column name="filter_user">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="dn_search_group">
+		<type name="character varying" length="255"/>
+		<comment><![CDATA[Distinguished Name for groups root node ]]></comment>
+	</column>
+	<column name="filter_group">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="login">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="password">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="type">
+		<type name="character varying" length="10"/>
+	</column>
+	<column name="verify_rights" default-value="true">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="checkcert" default-value="true">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="encrypttype">
+		<type name="character varying" length="10"/>
+	</column>
+	<constraint name="pk_domain_id" type="pk-constr" table="s_vitis.domain">
+		<columns names="domain_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="privileges" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="60" y="540"/>
+	<column name="rolname" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="pk_privileges" type="pk-constr" table="s_vitis.privileges">
+		<columns names="rolname" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<sequence name="seq_translation" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<sequence name="seq_vm" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<view name="v_group" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="60" y="1520"/>
+	<reference>
+		<expression><![CDATA[ SELECT
+        CASE
+            WHEN (user_group.nb_members IS NULL) THEN (0)::bigint
+            ELSE user_group.nb_members
+        END AS nb_members,
+    "group".group_id,
+    "group".name
+   FROM (s_vitis."group"
+     LEFT JOIN ( SELECT count(*) AS nb_members,
+            user_group_1.group_id
+           FROM s_vitis.user_group user_group_1
+          GROUP BY user_group_1.group_id) user_group ON (("group".group_id = user_group.group_id)));]]></expression>
+	<column name="nb_members">
+		<type name="bigint" length="0"/>
+	</column>
+	<column name="group_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="50"/>
+	</column>
+		<reftable name="s_vitis.&quot;group&quot;"/>
+		<reftable name="s_vitis.user_group"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_group_group" type="reltv" layer="0"
+	 custom-color="#95c96f"
+	 src-table="s_vitis.v_group"
+	 dst-table="s_vitis.&quot;group&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_group_user_group" type="reltv" layer="0"
+	 custom-color="#c4da46"
+	 src-table="s_vitis.v_group"
+	 dst-table="s_vitis.user_group"
+	 src-required="false" dst-required="false"/>
+
+<table name="vm_application_module" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="380" y="540"/>
+	<column name="application_name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="module_name" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<constraint name="fk_application_module_name" type="pk-constr" table="s_vitis.vm_application_module">
+		<columns names="application_name,module_name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_mode" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="760" y="540"/>
+	<column name="mode_id" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="module_id">
+		<type name="character varying" length="50"/>
+	</column>
+	<constraint name="pk_vm_mode" type="pk-constr" table="s_vitis.vm_mode">
+		<columns names="mode_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_mode_rolname" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1080" y="540"/>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="mode_id" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rolname" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="pk_vm_mode_rolname" type="pk-constr" table="s_vitis.vm_mode_rolname">
+		<columns names="rolname,mode_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_mode" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="380" y="1520"/>
+	<reference>
+		<expression><![CDATA[ SELECT DISTINCT vm_mode.mode_id,
+    vm_application_module.application_name,
+    vm_mode_rolname.index,
+    vm_application_module.module_name
+   FROM ((((s_vitis.vm_mode
+     LEFT JOIN s_vitis.vm_application_module ON (((vm_mode.module_id)::text = (vm_application_module.module_name)::text)))
+     LEFT JOIN s_vitis.vm_mode_rolname ON (((vm_mode.mode_id)::text = (vm_mode_rolname.mode_id)::text)))
+     JOIN pg_group ON ((pg_group.groname = (vm_mode_rolname.rolname)::name)))
+     JOIN pg_user ON (((pg_user.usesysid = ANY (pg_group.grolist)) AND ((pg_user.usename)::text = ("current_user"())::text))));]]></expression>
+	<column name="mode_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="application_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="module_name">
+		<type name="character varying" length="50"/>
+	</column>
+		<reftable name="s_vitis.vm_application_module"/>
+		<reftable name="s_vitis.vm_mode"/>
+		<reftable name="s_vitis.vm_mode_rolname"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_mode_vm_application_module" type="reltv" layer="0"
+	 custom-color="#bf4838"
+	 src-table="s_vitis.v_mode"
+	 dst-table="s_vitis.vm_application_module"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_mode_vm_mode" type="reltv" layer="0"
+	 custom-color="#2e5b68"
+	 src-table="s_vitis.v_mode"
+	 dst-table="s_vitis.vm_mode"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_mode_vm_mode_rolname" type="reltv" layer="0"
+	 custom-color="#e03619"
+	 src-table="s_vitis.v_mode"
+	 dst-table="s_vitis.vm_mode_rolname"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_ra_members_group" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="680" y="1520"/>
+	<reference>
+		<expression><![CDATA[ SELECT count(*) AS nb_members,
+    user_group.group_id
+   FROM s_vitis.user_group
+  GROUP BY user_group.group_id;]]></expression>
+	<column name="nb_members">
+		<type name="bigint" length="0"/>
+	</column>
+	<column name="group_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vitis.user_group"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_ra_members_group_user_group" type="reltv" layer="0"
+	 custom-color="#eb3a4a"
+	 src-table="s_vitis.v_ra_members_group"
+	 dst-table="s_vitis.user_group"
+	 src-required="false" dst-required="false"/>
+
+<table name="vm_section" layer="0" collapse-mode="2" max-obj-count="10">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1400" y="540"/>
+	<column name="section_id" not-null="true" sequence="s_vitis.seq_vm">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="label_id">
+		<type name="character varying" length="60"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="event">
+		<type name="text" length="0"/>
+	</column>
+	<column name="tab_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="template">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="module">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="pk_vm_section" type="pk-constr" table="s_vitis.vm_section">
+		<columns names="section_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_tab" layer="0" collapse-mode="2" max-obj-count="13">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="60" y="820"/>
+	<column name="tab_id" not-null="true" sequence="s_vitis.seq_vm">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="event" not-null="true">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="index" not-null="true" default-value="0">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="mode_id" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="label_id" not-null="true">
+		<type name="character varying" length="60"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="edit_column">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="show_column">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="sorted_by">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="sorted_dir" default-value="'ASC'">
+		<type name="character varying" length="4"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="pk_tab_id" type="pk-constr" table="s_vitis.vm_tab">
+		<columns names="tab_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="uk_vm_tab_name" type="uq-constr" table="s_vitis.vm_tab">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_section" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="900" y="1520"/>
+	<reference>
+		<expression><![CDATA[ SELECT vm_section.tab_id,
+    vm_section.section_id,
+    vm_section.event,
+    vm_section.index,
+    vm_translation.translation AS label,
+    vm_translation.lang,
+    vm_section.name,
+    vm_section.template,
+    vm_section.ressource_id,
+    vm_section.module AS module_name,
+    vm_tab.name AS tab_name,
+    vm_tab.mode_id
+   FROM ((s_vitis.vm_section
+     LEFT JOIN s_vitis.vm_translation ON (((vm_section.label_id)::text = (vm_translation.translation_id)::text)))
+     LEFT JOIN s_vitis.vm_tab ON (((vm_section.tab_id)::text = (vm_tab.tab_id)::text)));]]></expression>
+	<column name="tab_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="section_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="event">
+		<type name="text" length="0"/>
+	</column>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="label">
+		<type name="text" length="0"/>
+	</column>
+	<column name="lang">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="template">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="module_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="tab_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="mode_id">
+		<type name="character varying" length="100"/>
+	</column>
+		<reftable name="s_vitis.vm_translation"/>
+		<reftable name="s_vitis.vm_section"/>
+		<reftable name="s_vitis.vm_tab"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_section_vm_translation" type="reltv" layer="0"
+	 custom-color="#789785"
+	 src-table="s_vitis.v_section"
+	 dst-table="s_vitis.vm_translation"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_section_vm_section" type="reltv" layer="0"
+	 custom-color="#9b883e"
+	 src-table="s_vitis.v_section"
+	 dst-table="s_vitis.vm_section"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_section_vm_tab" type="reltv" layer="0"
+	 custom-color="#537d73"
+	 src-table="s_vitis.v_section"
+	 dst-table="s_vitis.vm_tab"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_tab" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1200" y="1520"/>
+	<reference>
+		<expression><![CDATA[ SELECT vm_tab.tab_id,
+    vm_tab.event,
+    vm_tab.index,
+    vm_tab.mode_id,
+    vm_translation.translation AS label,
+    vm_translation.lang,
+    vm_tab.ressource_id,
+    vm_tab.edit_column,
+    vm_tab.show_column,
+    vm_tab.sorted_by,
+    vm_tab.sorted_dir,
+    vm_tab.name
+   FROM (s_vitis.vm_tab
+     LEFT JOIN s_vitis.vm_translation ON (((vm_tab.label_id)::text = (vm_translation.translation_id)::text)));]]></expression>
+	<column name="tab_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="event">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="mode_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="label">
+		<type name="text" length="0"/>
+	</column>
+	<column name="lang">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="edit_column">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="show_column">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="sorted_by">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="sorted_dir">
+		<type name="character varying" length="4"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+		<reftable name="s_vitis.vm_translation"/>
+		<reftable name="s_vitis.vm_tab"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_tab_vm_translation" type="reltv" layer="0"
+	 custom-color="#bd8f9b"
+	 src-table="s_vitis.v_tab"
+	 dst-table="s_vitis.vm_translation"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_tab_vm_tab" type="reltv" layer="0"
+	 custom-color="#3621c8"
+	 src-table="s_vitis.v_tab"
+	 dst-table="s_vitis.vm_tab"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_user_group" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="60" y="1780"/>
+	<reference>
+		<expression><![CDATA[ SELECT user_group.group_id,
+    user_group.user_id
+   FROM ((s_vitis.user_group
+     LEFT JOIN s_vitis."user" ON ((user_group.user_id = "user".user_id)))
+     LEFT JOIN s_vitis."group" ON (("group".group_id = user_group.group_id)))
+  WHERE ((("user".login)::name)::text = ("current_user"())::text);]]></expression>
+	<column name="group_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="user_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vitis.&quot;user&quot;"/>
+		<reftable name="s_vitis.&quot;group&quot;"/>
+		<reftable name="s_vitis.user_group"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_user_group_user" type="reltv" layer="0"
+	 custom-color="#628a83"
+	 src-table="s_vitis.v_user_group"
+	 dst-table="s_vitis.&quot;user&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_group_group" type="reltv" layer="0"
+	 custom-color="#f35067"
+	 src-table="s_vitis.v_user_group"
+	 dst-table="s_vitis.&quot;group&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_group_user_group" type="reltv" layer="0"
+	 custom-color="#6c7bf1"
+	 src-table="s_vitis.v_user_group"
+	 dst-table="s_vitis.user_group"
+	 src-required="false" dst-required="false"/>
+
+<table name="version" layer="0" collapse-mode="2" max-obj-count="4">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="400" y="820"/>
+	<column name="version" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="build" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="date" not-null="true">
+		<type name="timestamp with time zone" length="0" with-timezone="true"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="pk_version" type="pk-constr" table="s_vitis.version">
+		<columns names="version" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_application" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="720" y="820"/>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="pk_name" type="pk-constr" table="s_vitis.vm_application">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_module" layer="0" collapse-mode="2" max-obj-count="6">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1020" y="820"/>
+	<column name="module_id" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="version" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="label">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="type">
+		<type name="character varying" length="3"/>
+	</column>
+	<constraint name="pk_vm_module" type="pk-constr" table="s_vitis.vm_module">
+		<columns names="module_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="uk_label" type="uq-constr" table="s_vitis.vm_module">
+		<columns names="label" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_string" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1340" y="820"/>
+	<column name="string">
+		<type name="text" length="0"/>
+	</column>
+	<column name="string_id" not-null="true">
+		<type name="character varying" length="60"/>
+	</column>
+	<constraint name="pk_string_id" type="pk-constr" table="s_vitis.vm_string">
+		<columns names="string_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_table_button" layer="0" collapse-mode="2" max-obj-count="7">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="60" y="1140"/>
+	<column name="button_class">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="table_button_id" not-null="true" sequence="s_vitis.seq_vm">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="event" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="label_id">
+		<type name="character varying" length="60"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="tab_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="pk_table_button_id" type="pk-constr" table="s_vitis.vm_table_button">
+		<columns names="table_button_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="vm_table_field" layer="0" collapse-mode="2" max-obj-count="14">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="400" y="1140"/>
+	<column name="table_field_id" not-null="true" sequence="s_vitis.seq_vm">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="200"/>
+	</column>
+	<column name="sortable" default-value="true">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="resizeable" default-value="false">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="width">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="align" not-null="true" default-value="'left'">
+		<type name="character varying" length="6"/>
+	</column>
+	<column name="label_id">
+		<type name="character varying" length="60"/>
+	</column>
+	<column name="module">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="template">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="tab_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="pk_table_field_id" type="pk-constr" table="s_vitis.vm_table_field">
+		<columns names="table_field_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<index name="fki_login" table="s_vitis.&quot;user&quot;"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="login"/>
+		</idxelement>
+</index>
+
+<index name="fki_user_restriction" table="s_vitis.&quot;user&quot;"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="restriction"/>
+		</idxelement>
+</index>
+
+<index name="uk_domain" table="s_vitis.domain"
+	 concurrent="false" unique="true" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<expression><![CDATA[lower((domain)::text)]]></expression>
+		</idxelement>
+</index>
+
+<index name="uk_login" table="s_vitis.&quot;user&quot;"
+	 concurrent="false" unique="true" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<expression><![CDATA[lower((login)::text)]]></expression>
+		</idxelement>
+</index>
+
+<index name="uk_mode_id" table="s_vitis.vm_mode_rolname"
+	 concurrent="false" unique="true" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="rolname"/>
+		</idxelement>
+		<idxelement use-sorting="false">
+			<expression><![CDATA[lower((mode_id)::text)]]></expression>
+		</idxelement>
+</index>
+
+<index name="uk_name_group" table="s_vitis.&quot;group&quot;"
+	 concurrent="false" unique="true" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<expression><![CDATA[lower((name)::text)]]></expression>
+		</idxelement>
+</index>
+
+<rule name="delete_v_group" event-type="ON DELETE" exec-type="INSTEAD"
+ table="s_vitis.v_group">
+		<commands><![CDATA[DELETE FROM s_vitis."group"
+  WHERE ("group".group_id = old.group_id)]]></commands>
+</rule>
+
+<rule name="delete_v_user_group" event-type="ON DELETE" exec-type="INSTEAD"
+ table="s_vitis.v_user_group">
+		<commands><![CDATA[DELETE FROM s_vitis.user_group
+  WHERE (user_group.group_id = old.group_id)]]></commands>
+</rule>
+
+<rule name="insert_v_group" event-type="ON INSERT" exec-type="INSTEAD"
+ table="s_vitis.v_group">
+		<commands><![CDATA[INSERT INTO s_vitis."group" (group_id, name)
+  VALUES (new.group_id, new.name)]]></commands>
+</rule>
+
+<rule name="update_v_group" event-type="ON UPDATE" exec-type="INSTEAD"
+ table="s_vitis.v_group">
+		<commands><![CDATA[UPDATE s_vitis."group" SET name = new.name
+  WHERE ("group".group_id = new.group_id)]]></commands>
+</rule>
+
+<function name="insertjointure"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="void" length="1"/>
+	</return-type>
+	<parameter name="arrayjointure">
+		<type name="text" length="0"/>
+	</parameter>
+	<parameter name="value1">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="tableschema">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="jointuretable">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="key1">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="key2">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<definition><![CDATA[ DECLARE item varchar(255); request text; BEGIN FOREACH item IN ARRAY string_to_array(arrayJointure, '|') LOOP request = 'INSERT INTO '|| tableSchema ||'.'|| jointureTable ||' ('|| key1 ||', '|| key2 ||')VALUES('; IF pg_typeof(value1)::text = 'integer' THEN request = request || value1 || ', '; ELSE request = request || '''' || value1 || ''', '; END IF; IF pg_typeof(item)::text = 'integer' THEN request = request || item || ');'; ELSE request = request || '''' || item || ''');'; END IF; EXECUTE request; END LOOP; RETURN; END ]]></definition>
+</function>
+
+<function name="wabinsertstate"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="void" length="1"/>
+	</return-type>
+	<parameter name="schemametier">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="tablestatus">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="statusname">
+		<type name="character varying" length="0"/>
+	</parameter>
+	<parameter name="progress">
+		<type name="integer" length="0"/>
+	</parameter>
+	<definition><![CDATA[ DECLARE request text; rowData integer; Id integer; BEGIN EXECUTE 'SELECT status_id FROM ' || schemaMetier || '.' || tableStatus || ' WHERE name = '''||statusName||''';' INTO rowData; IF rowData IS NOT NULL THEN RAISE NOTICE '%', rowData;request = 'UPDATE ' || schemaMetier || '.' || tableStatus || ' SET progress = '|| progress ||' WHERE name = '''||statusName||''';'; ELSE EXECUTE 'SELECT MAX(status_id) FROM  '||schemaMetier||'.'||tableStatus|| ';' INTO Id; IF Id IS NOT NULL THEN 	RAISE NOTICE '%',  Id;	Id:= Id + 1; else	Id:=1;	RAISE NOTICE '%',  Id;end if;request = 'INSERT INTO ' || schemaMetier || '.' || tableStatus || ' (status_id, name, progress) VALUES (' || Id || ',''' || statusName|| ''', ' || progress || ');'; END IF; RAISE NOTICE '%', request;EXECUTE request; RETURN; END ]]></definition>
+</function>
+
+<sequence name="feature_style_feature_style_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="feature_style" layer="0" collapse-mode="2" max-obj-count="21">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="740" y="1140"/>
+	<column name="feature_style_id" not-null="true" sequence="s_vitis.feature_style_feature_style_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="draw_color">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="draw_outline_color">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="draw_size">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="draw_dash">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="draw_symbol">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_font">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_color">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_outline_color">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_size">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_outline_size">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_offset_x">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_offset_y">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_rotation">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="text_text">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="feature_type">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="image">
+		<type name="text" length="0"/>
+	</column>
+	<column name="draw_rotation">
+		<type name="character varying" length="50"/>
+	</column>
+	<constraint name="feature_style_pkey" type="pk-constr" table="s_vitis.feature_style">
+		<columns names="feature_style_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<function name="is_vitis_admin"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="boolean" length="1"/>
+	</return-type>
+	<definition><![CDATA[ declare total boolean; BEGIN SELECT(SELECT count(*) FROM information_schema.applicable_roles WHERE role_name='vitis_admin') > 0 INTO total; RETURN total; END; ]]></definition>
+</function>
+
+<view name="v_user_group_by_rights" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="320" y="1780"/>
+	<reference>
+		<expression><![CDATA[ SELECT user_group.user_id,
+    user_group.group_id
+   FROM ((s_vitis.user_group
+     LEFT JOIN s_vitis."user" ON ((user_group.user_id = "user".user_id)))
+     LEFT JOIN s_vitis."group" ON (("group".group_id = user_group.group_id)))
+  WHERE (((("user".login)::name)::text = ("current_user"())::text) OR s_vitis.is_vitis_admin());]]></expression>
+	<column name="user_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="group_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vitis.&quot;user&quot;"/>
+		<reftable name="s_vitis.&quot;group&quot;"/>
+		<reftable name="s_vitis.user_group"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_user_group_by_rights_user" type="reltv" layer="0"
+	 custom-color="#5aa55d"
+	 src-table="s_vitis.v_user_group_by_rights"
+	 dst-table="s_vitis.&quot;user&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_group_by_rights_group" type="reltv" layer="0"
+	 custom-color="#c1c4f2"
+	 src-table="s_vitis.v_user_group_by_rights"
+	 dst-table="s_vitis.&quot;group&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_group_by_rights_user_group" type="reltv" layer="0"
+	 custom-color="#4df4cb"
+	 src-table="s_vitis.v_user_group_by_rights"
+	 dst-table="s_vitis.user_group"
+	 src-required="false" dst-required="false"/>
+
+<rule name="update_v_user_group_by_rights" event-type="ON DELETE" exec-type="INSTEAD"
+ table="s_vitis.v_user_group_by_rights">
+		<commands><![CDATA[DELETE FROM s_vitis.user_group
+  WHERE ((user_group.group_id = old.group_id) AND (user_group.user_id = old.user_id))]]></commands>
+</rule>
+
+<rule name="insert_v_user_group_by_rights" event-type="ON INSERT" exec-type="INSTEAD"
+ table="s_vitis.v_user_group_by_rights">
+		<commands><![CDATA[INSERT INTO s_vitis.user_group (user_id, group_id)
+  VALUES (new.user_id, new.group_id)]]></commands>
+</rule>
+
+<function name="insert_author_date"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="trigger" length="1"/>
+	</return-type>
+	<definition><![CDATA[ BEGIN NEW.author = current_user; NEW.create_date = now(); RETURN NEW;	END; ]]></definition>
+</function>
+
+<function name="update_modifier_date"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="trigger" length="1"/>
+	</return-type>
+	<definition><![CDATA[ BEGIN     NEW.modifier = current_user;	 NEW.update_date = now();    RETURN NEW;	END;]]></definition>
+</function>
+
+<index name="index_vm_translation_lang" table="s_vitis.vm_translation"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="lang"/>
+		</idxelement>
+</index>
+
+<index name="index_vm_translation" table="s_vitis.vm_translation"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="translation_id"/>
+		</idxelement>
+</index>
+
+<sequence name="billinggroup_billinggroup_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="billinggroup" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1060" y="1140"/>
+	<column name="billinggroup_id" not-null="true" sequence="s_vitis.billinggroup_billinggroup_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="billinggroup" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="pk_billinggroup_id" type="pk-constr" table="s_vitis.billinggroup">
+		<columns names="billinggroup_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_billinggroup" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="640" y="1780"/>
+	<reference>
+		<expression><![CDATA[ SELECT billinggroup.billinggroup_id,
+    billinggroup.billinggroup,
+    billinggroup.description
+   FROM s_vitis.billinggroup;]]></expression>
+	<column name="billinggroup_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="billinggroup">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+		<reftable name="s_vitis.billinggroup"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_billinggroup_billinggroup" type="reltv" layer="0"
+	 custom-color="#7742e2"
+	 src-table="s_vitis.v_billinggroup"
+	 dst-table="s_vitis.billinggroup"
+	 src-required="false" dst-required="false"/>
+
+<rule name="delete_v_billinggroup" event-type="ON DELETE" exec-type="INSTEAD"
+ table="s_vitis.v_billinggroup">
+		<commands><![CDATA[DELETE FROM s_vitis.billinggroup
+  WHERE (billinggroup.billinggroup_id = old.billinggroup_id)]]></commands>
+</rule>
+
+<rule name="insert_v_billinggroup" event-type="ON INSERT" exec-type="INSTEAD"
+ table="s_vitis.v_billinggroup">
+		<commands><![CDATA[INSERT INTO s_vitis.billinggroup (billinggroup_id, billinggroup, description)
+  VALUES (new.billinggroup_id, new.billinggroup, new.description)]]></commands>
+</rule>
+
+<rule name="update_v_billinggroup" event-type="ON UPDATE" exec-type="INSTEAD"
+ table="s_vitis.v_billinggroup">
+		<commands><![CDATA[UPDATE s_vitis.billinggroup SET billinggroup = new.billinggroup, description = new.description
+  WHERE (billinggroup.billinggroup_id = new.billinggroup_id)]]></commands>
+</rule>
+
+<table name="rt_formatdate" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1400" y="1140"/>
+	<column name="formatdate_id" not-null="true">
+		<type name="character varying" length="11"/>
+	</column>
+	<column name="formatdate">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="pk_formatdate_id" type="pk-constr" table="s_vitis.rt_formatdate">
+		<columns names="formatdate_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_user" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<position x="1000" y="1780"/>
+	<reference>
+		<expression><![CDATA[ SELECT "user".user_id,
+    "user".login,
+    "user".name,
+    "user".email,
+    "user".company,
+    "user".department,
+    "user".ip_constraint,
+    domain.domain,
+    "user".domain_id,
+    "user".last_connection,
+    "user".restriction,
+        CASE
+            WHEN ((array_to_string(ARRAY( SELECT pg_group.groname
+               FROM (pg_group
+                 JOIN pg_roles ON ((pg_roles.oid = ANY (pg_group.grolist))))
+              WHERE ((("user".login)::name = pg_roles.rolname) AND ((pg_group.groname = 'vitis_admin'::name) OR (pg_group.groname = 'vitis_user'::name)))), '|'::text) = 'vitis_user|vitis_admin'::text) OR (array_to_string(ARRAY( SELECT pg_group.groname
+               FROM (pg_group
+                 JOIN pg_roles ON ((pg_roles.oid = ANY (pg_group.grolist))))
+              WHERE ((("user".login)::name = pg_roles.rolname) AND ((pg_group.groname = 'vitis_admin'::name) OR (pg_group.groname = 'vitis_user'::name)))), '|'::text) = 'vitis_admin|vitis_user'::text)) THEN 'admin'::text
+            WHEN (array_to_string(ARRAY( SELECT pg_group.groname
+               FROM (pg_group
+                 JOIN pg_roles ON ((pg_roles.oid = ANY (pg_group.grolist))))
+              WHERE ((("user".login)::name = pg_roles.rolname) AND ((pg_group.groname = 'vitis_admin'::name) OR (pg_group.groname = 'vitis_user'::name)))), '|'::text) = 'vitis_user'::text) THEN 'user'::text
+            ELSE ''::text
+        END AS role,
+    "user".dataencrypt,
+    "user".secretkey,
+    "user".billinggroup_id,
+    billinggroup.billinggroup,
+    "user".phone,
+    "user".acceptnotification,
+    "user".timezone_id,
+    "user".formatdate_id,
+    rt_formatdate.formatdate
+   FROM (((s_vitis."user"
+     LEFT JOIN s_vitis.domain ON (("user".domain_id = domain.domain_id)))
+     LEFT JOIN s_vitis.billinggroup ON (("user".billinggroup_id = billinggroup.billinggroup_id)))
+     LEFT JOIN s_vitis.rt_formatdate ON ((("user".formatdate_id)::text = (rt_formatdate.formatdate_id)::text)))
+  WHERE ((("user".login)::name = "current_user"()) OR s_vitis.is_vitis_admin());]]></expression>
+	<column name="user_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="login">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="80"/>
+	</column>
+	<column name="email">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="company">
+		<type name="character varying" length="80"/>
+	</column>
+	<column name="department">
+		<type name="character varying" length="80"/>
+	</column>
+	<column name="ip_constraint">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="domain">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="domain_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="last_connection">
+		<type name="timestamp with time zone" length="0" with-timezone="true"/>
+	</column>
+	<column name="restriction">
+		<type name="text" length="0"/>
+	</column>
+	<column name="role">
+		<type name="text" length="0"/>
+	</column>
+	<column name="dataencrypt">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="secretkey">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="billinggroup_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="billinggroup">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="phone">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="acceptnotification">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="timezone_id">
+		<type name="character varying" length="40"/>
+	</column>
+	<column name="formatdate_id">
+		<type name="character varying" length="11"/>
+	</column>
+	<column name="formatdate">
+		<type name="character varying" length="100"/>
+	</column>
+		<reftable name="s_vitis.&quot;user&quot;"/>
+		<reftable name="s_vitis.domain"/>
+		<reftable name="s_vitis.billinggroup"/>
+		<reftable name="s_vitis.rt_formatdate"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_user_user" type="reltv" layer="0"
+	 custom-color="#3d0668"
+	 src-table="s_vitis.v_user"
+	 dst-table="s_vitis.&quot;user&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_domain" type="reltv" layer="0"
+	 custom-color="#16b69b"
+	 src-table="s_vitis.v_user"
+	 dst-table="s_vitis.domain"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_billinggroup" type="reltv" layer="0"
+	 custom-color="#3784c0"
+	 src-table="s_vitis.v_user"
+	 dst-table="s_vitis.billinggroup"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_rt_formatdate" type="reltv" layer="0"
+	 custom-color="#b77859"
+	 src-table="s_vitis.v_user"
+	 dst-table="s_vitis.rt_formatdate"
+	 src-required="false" dst-required="false"/>
+
+<rule name="delete_v_user" event-type="ON DELETE" exec-type="INSTEAD"
+ table="s_vitis.v_user">
+		<commands><![CDATA[DELETE FROM s_vitis."user"
+  WHERE ("user".user_id = old.user_id)]]></commands>
+</rule>
+
+<rule name="insert_v_user" event-type="ON INSERT" exec-type="INSTEAD"
+ table="s_vitis.v_user">
+		<commands><![CDATA[INSERT INTO s_vitis."user" (user_id, login, domain_id, name, email, company, department, ip_constraint, restriction, dataencrypt, secretkey, billinggroup_id, phone, acceptnotification, timezone_id, formatdate_id)
+  VALUES (new.user_id, new.login, new.domain_id, new.name, new.email, new.company, new.department, new.ip_constraint, new.restriction, new.dataencrypt, new.secretkey, new.billinggroup_id, new.phone, new.acceptnotification, new.timezone_id, new.formatdate_id)]]></commands>
+</rule>
+
+<rule name="update_v_user" event-type="ON UPDATE" exec-type="INSTEAD"
+ table="s_vitis.v_user">
+		<commands><![CDATA[( UPDATE s_vitis."user" SET name = new.name, email = new.email, company = new.company, department = new.department, last_connection = new.last_connection, phone = new.phone, acceptnotification = new.acceptnotification, dataencrypt = new.dataencrypt, secretkey = new.secretkey, timezone_id = new.timezone_id, formatdate_id = new.formatdate_id
+  WHERE ((NOT s_vitis.is_vitis_admin()) AND ((new.login)::name = "current_user"()) AND ("user".user_id = ( SELECT user_1.user_id
+           FROM s_vitis."user" user_1
+          WHERE ((user_1.login)::name = "current_user"()))));
+ UPDATE s_vitis."user" SET name = new.name, email = new.email, company = new.company, department = new.department, ip_constraint = new.ip_constraint, domain_id = new.domain_id, last_connection = new.last_connection, restriction = new.restriction, dataencrypt = new.dataencrypt, secretkey = new.secretkey, billinggroup_id = new.billinggroup_id, phone = new.phone, acceptnotification = new.acceptnotification, timezone_id = new.timezone_id, formatdate_id = new.formatdate_id
+  WHERE (s_vitis.is_vitis_admin() AND ("user".user_id = new.user_id));
+)]]></commands>
+</rule>
+
+<function name="format_date"
+		window-func="false"
+		returns-setof="false"
+		behavior-type="CALLED ON NULL INPUT"
+		function-type="VOLATILE"
+		security-type="SECURITY INVOKER"
+		execution-cost="100"
+		row-amount="0">
+	<schema name="s_vitis"/>
+	<role name="u_vitis"/>
+	<language name="plpgsql" sql-disabled="true"/>
+	<return-type>
+	<type name="text" length="1"/>
+	</return-type>
+	<parameter name="input_date">
+		<type name="timestamp" length="0"/>
+	</parameter>
+	<definition><![CDATA[ BEGIN RETURN to_char(input_date, (SELECT formatdate_id || ' HH24:MI:SS' as "formatdate" from s_vitis.user WHERE login = "current_user"())); END; ]]></definition>
+</function>
+
+<extension name="postgis" cur-version="3.0.0">
+	<schema name="public"/>
+	<comment><![CDATA[PostGIS geometry, geography, and raster spatial types and functions]]></comment>
+</extension>
+
+<schema name="s_vmap" layer="0" rect-visible="true" fill-color="#6b17e2">
+	<role name="u_vitis"/>
+</schema>
+
+<sequence name="seq_common" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="version" layer="0" collapse-mode="2" max-obj-count="4">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="60"/>
+	<column name="version" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="build" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="date" not-null="true">
+		<type name="timestamp with time zone" length="0" with-timezone="true"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="pk_version" type="pk-constr" table="s_vmap.version">
+		<columns names="version" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="rt_service_type" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2060" y="60"/>
+	<column name="service_type_id" not-null="true">
+		<type name="character varying" length="30"/>
+		<comment><![CDATA[tilewms, bing, osm etc...]]></comment>
+	</column>
+	<constraint name="rt_service_type_pkey" type="pk-constr" table="s_vmap.rt_service_type">
+		<columns names="service_type_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="service" layer="0" collapse-mode="2" max-obj-count="20">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2400" y="60"/>
+	<column name="service_id" not-null="true" sequence="s_vmap.seq_common">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[service name]]></comment>
+	</column>
+	<column name="service_type_id" not-null="true">
+		<type name="character varying" length="30"/>
+		<comment><![CDATA[tilewms, bing, osm etc...]]></comment>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+		<comment><![CDATA[service description]]></comment>
+	</column>
+	<column name="url">
+		<type name="text" length="0"/>
+		<comment><![CDATA[service url]]></comment>
+	</column>
+	<column name="key">
+		<type name="character varying" length="255"/>
+		<comment><![CDATA[service key (bing maps, geoportail etc..)]]></comment>
+	</column>
+	<column name="service_type_version">
+		<type name="character varying" length="20"/>
+		<comment><![CDATA[wms version (ex: "1.1.0")]]></comment>
+	</column>
+	<column name="thumbnail">
+		<type name="text" length="0"/>
+	</column>
+	<column name="lang">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="imagery">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_type_type">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="service_options">
+		<type name="text" length="0"/>
+	</column>
+	<column name="service_vm4ms">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="service_login">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_password">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="xyz_min_zoom">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="xyz_max_zoom">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="service_pkey" type="pk-constr" table="s_vmap.service">
+		<columns names="service_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="rt_crs" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2760" y="60"/>
+	<column name="crs_id" not-null="true">
+		<type name="character varying" length="20"/>
+		<comment><![CDATA[EPSG system code (ex EPSG:2154)]]></comment>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[name of the projection system (ex: lambert 93)]]></comment>
+	</column>
+	<constraint name="rt_crs_pkey" type="pk-constr" table="s_vmap.rt_crs">
+		<columns names="crs_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="layertheme" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="3040" y="60"/>
+	<column name="layertheme_id" not-null="true" sequence="s_vmap.seq_common">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[theme name]]></comment>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+		<comment><![CDATA[theme description]]></comment>
+	</column>
+	<constraint name="theme_pkey" type="pk-constr" table="s_vmap.layertheme">
+		<columns names="layertheme_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="map_group" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="440"/>
+	<column name="map_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="group_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="map_group_pkey" type="pk-constr" table="s_vmap.map_group">
+		<columns names="map_id,group_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="map_layer" layer="0" collapse-mode="2" max-obj-count="6">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2040" y="440"/>
+	<column name="map_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layer_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layer_index" default-value="0">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[Allows to manage the layer order in to the map]]></comment>
+	</column>
+	<column name="layer_visible" default-value="true">
+		<type name="boolean" length="0"/>
+		<comment><![CDATA[Allows to manage the visibility of the layer in to the map]]></comment>
+	</column>
+	<column name="layer_opacity" default-value="100">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[Allows to manage the opacity of the layer in to the map]]></comment>
+	</column>
+	<constraint name="map_layer_pkey" type="pk-constr" table="s_vmap.map_layer">
+		<columns names="map_id,layer_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="layer" layer="0" collapse-mode="2" max-obj-count="20">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2320" y="440"/>
+	<column name="layer_id" not-null="true" sequence="s_vmap.seq_common">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[layer name]]></comment>
+	</column>
+	<column name="layertheme_id">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[theme id]]></comment>
+	</column>
+	<column name="service_id" not-null="true">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[service name]]></comment>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+		<comment><![CDATA[layer description]]></comment>
+	</column>
+	<column name="layer_list">
+		<type name="text" length="0"/>
+		<comment><![CDATA[wms, bing etc.. layer list, can be multiple for wms services only (ex: "zone_activite_audelor,za_terrain_audelor")]]></comment>
+	</column>
+	<column name="crs_list">
+		<type name="text" length="0"/>
+		<comment><![CDATA[getCapabilities CRS (ex: "EPSG:2154|EPSG:3857|CRS:84"). Available coordinates systems for the layer]]></comment>
+	</column>
+	<column name="bo_id">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[DEPRECATED]]></comment>
+	</column>
+	<column name="is_dynamic">
+		<type name="boolean" length="0"/>
+		<comment><![CDATA[true to avoid caches]]></comment>
+	</column>
+	<column name="is_filtered">
+		<type name="boolean" length="0"/>
+		<comment><![CDATA[true to use layer filter]]></comment>
+	</column>
+	<column name="matrix_set">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="layer_style">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="layer_format">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="layer_options">
+		<type name="text" length="0"/>
+	</column>
+	<column name="is_bo_filtered">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="is_queryable_getfeatureinfo">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="is_dynamic_legend">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="layer_pkey" type="pk-constr" table="s_vmap.layer">
+		<columns names="layer_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="event" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2680" y="440"/>
+	<column name="event_id" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="event_pkey" type="pk-constr" table="s_vmap.event">
+		<columns names="event_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="layer_event" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2980" y="440"/>
+	<column name="layer_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="event_id" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<constraint name="layer_event_pkey" type="pk-constr" table="s_vmap.layer_event">
+		<columns names="layer_id,event_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<sequence name="maptheme_maptheme_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="maptheme" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="820"/>
+	<column name="maptheme_id" not-null="true" sequence="s_vmap.maptheme_maptheme_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[theme name]]></comment>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+		<comment><![CDATA[theme description]]></comment>
+	</column>
+	<constraint name="maptheme_pkey" type="pk-constr" table="s_vmap.maptheme">
+		<columns names="maptheme_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="map" layer="0" collapse-mode="2" max-obj-count="9">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2040" y="820"/>
+	<column name="map_id" not-null="true" sequence="s_vmap.seq_common">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[map name]]></comment>
+	</column>
+	<column name="crs_id" not-null="true">
+		<type name="character varying" length="20"/>
+		<comment><![CDATA[EPSG system code (ex EPSG:2154)]]></comment>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+		<comment><![CDATA[map description]]></comment>
+	</column>
+	<column name="extent" not-null="true">
+		<type name="character varying" length="225"/>
+		<comment><![CDATA[extent of the map]]></comment>
+	</column>
+	<column name="catalog_index">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[index in the catalog]]></comment>
+	</column>
+	<column name="thumbnail">
+		<type name="text" length="0"/>
+	</column>
+	<column name="maptheme_id">
+		<type name="integer" length="0"/>
+		<comment><![CDATA[theme]]></comment>
+	</column>
+	<constraint name="map_pkey" type="pk-constr" table="s_vmap.map">
+		<columns names="map_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="module" layer="0" collapse-mode="2" max-obj-count="6">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<comment><![CDATA[La gestion des droits sur chacun des modules se fait grâce aux privilèges.Les privilèges sont les roles groupes de Postgres]]></comment>
+	<position x="2380" y="820"/>
+	<column name="module_id" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="label">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="rolname" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rolname_list">
+		<type name="character varying" length="255"/>
+	</column>
+	<constraint name="module_pkey" type="pk-constr" table="s_vmap.module">
+		<columns names="module_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<sequence name="printtemplate_printtemplate_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="printtemplate" layer="0" collapse-mode="2" max-obj-count="12">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2720" y="820"/>
+	<column name="printtemplate_id" not-null="true" sequence="s_vmap.printtemplate_printtemplate_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rt_format_id" not-null="true">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="rt_orientation_id" not-null="true">
+		<type name="character varying" length="8"/>
+	</column>
+	<column name="definition" not-null="true">
+		<type name="text" length="0"/>
+	</column>
+	<column name="outputformats_id" not-null="true">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="sql">
+		<type name="text" length="0"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="business_object_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="printtemplate_order">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="printtemplate_pkey" type="pk-constr" table="s_vmap.printtemplate">
+		<columns names="printtemplate_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="printtemplate_name_key" type="uq-constr" table="s_vmap.printtemplate">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="printtemplate_group" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="3100" y="820"/>
+	<column name="printtemplate_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="group_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="printtemplate_group_pkey" type="pk-constr" table="s_vmap.printtemplate_group">
+		<columns names="printtemplate_id,group_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="rt_format" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="1140"/>
+	<column name="rt_format_id" not-null="true">
+		<type name="character varying" length="2"/>
+	</column>
+	<constraint name="rt_format_pkey" type="pk-constr" table="s_vmap.rt_format">
+		<columns names="rt_format_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="rt_orientation" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2060" y="1140"/>
+	<column name="rt_orientation_id" not-null="true">
+		<type name="character varying" length="8"/>
+	</column>
+	<constraint name="rt_orientation_pkey" type="pk-constr" table="s_vmap.rt_orientation">
+		<columns names="rt_orientation_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<sequence name="printparameter_printparameter_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="printparameter" layer="0" collapse-mode="2" max-obj-count="8">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2400" y="1140"/>
+	<column name="printparameter_id" not-null="true" sequence="s_vmap.printparameter_printparameter_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="printtemplate_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="editable">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="label">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="placeholder">
+		<type name="text" length="0"/>
+	</column>
+	<column name="defaultvalue">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="printparameter_pkey" type="pk-constr" table="s_vmap.printparameter">
+		<columns names="printparameter_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="rt_outputformats" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2760" y="1140"/>
+	<column name="outputformats_id" not-null="true">
+		<type name="character varying" length="255"/>
+	</column>
+	<constraint name="rt_outputformats_pkey" type="pk-constr" table="s_vmap.rt_outputformats">
+		<columns names="outputformats_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<sequence name="printstyle_printstyle_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="printstyle" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="3120" y="1140"/>
+	<column name="printstyle_id" not-null="true" sequence="s_vmap.printstyle_printstyle_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="printstyle_pkey" type="pk-constr" table="s_vmap.printstyle">
+		<columns names="printstyle_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="printstyle_name_key" type="uq-constr" table="s_vmap.printstyle">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="user_printstyle" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="1360"/>
+	<column name="printstyle_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="user_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="user_printstyle_pkey" type="pk-constr" table="s_vmap.user_printstyle">
+		<columns names="printstyle_id,user_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="business_object" layer="0" collapse-mode="2" max-obj-count="40">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<comment><![CDATA[contains the parameters of elements to show when making a layer query]]></comment>
+	<position x="2040" y="1360"/>
+	<column name="business_object_id" not-null="true">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[ex: "veremes_cadastre_commune"]]></comment>
+	</column>
+	<column name="title">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="id_field">
+		<type name="character varying" length="30"/>
+		<comment><![CDATA[unique id field of the table]]></comment>
+	</column>
+	<column name="database">
+		<type name="character varying" length="30"/>
+		<comment><![CDATA[database where find the data of the business object]]></comment>
+	</column>
+	<column name="schema">
+		<type name="character varying" length="30"/>
+		<comment><![CDATA[schema where find the data of the business object]]></comment>
+	</column>
+	<column name="table">
+		<type name="character varying" length="63"/>
+		<comment><![CDATA[table where find the data of the business object]]></comment>
+	</column>
+	<column name="sql_summary">
+		<type name="text" length="0"/>
+		<comment><![CDATA[sql request to get the infos showed on first (example popup)]]></comment>
+	</column>
+	<column name="sql_list">
+		<type name="text" length="0"/>
+		<comment><![CDATA[sql request to get the infos to show on detail mode]]></comment>
+	</column>
+	<column name="sorted_by">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[sorted_by sql attr]]></comment>
+	</column>
+	<column name="geom_column">
+		<type name="character varying" length="30"/>
+		<comment><![CDATA[column witch contains the geometry of the BO]]></comment>
+	</column>
+	<column name="search_field">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="result_field">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="search_use_strict">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="event_id">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="add_form_size">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="edit_form_size">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="display_form_size">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="selection_buffer">
+		<type name="double precision" length="0"/>
+	</column>
+	<column name="formtitle">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="summarytitle">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="max_edition_scale">
+		<type name="numeric" length="255" precision="0"/>
+	</column>
+	<column name="min_edition_scale">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="enable_selection">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="enable_location">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="location_placeholder">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="enable_clone">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="enable_automatically_edit">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="enable_multi_edit">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="multipopup_field">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="table_header">
+		<type name="text" length="0"/>
+	</column>
+	<column name="enable_requester">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="enable_geom_selection">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="enable_geom_updater">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="business_object_pkey" type="pk-constr" table="s_vmap.business_object">
+		<columns names="business_object_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_map" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="1960"/>
+	<reference>
+		<expression><![CDATA[ SELECT maptheme.name AS theme_name,
+    maptheme.description AS theme_description,
+    rt_crs.name AS crs_name,
+    map.map_id,
+    map.crs_id,
+    map.name,
+    map.description,
+    map.extent,
+    map.catalog_index,
+    map.thumbnail,
+    map.maptheme_id
+   FROM ((s_vmap.maptheme
+     RIGHT JOIN s_vmap.map ON ((maptheme.maptheme_id = map.maptheme_id)))
+     JOIN s_vmap.rt_crs ON (((map.crs_id)::text = (rt_crs.crs_id)::text)));]]></expression>
+	<column name="theme_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="theme_description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="crs_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="map_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="crs_id">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="extent">
+		<type name="character varying" length="225"/>
+	</column>
+	<column name="catalog_index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="thumbnail">
+		<type name="text" length="0"/>
+	</column>
+	<column name="maptheme_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vmap.rt_crs"/>
+		<reftable name="s_vmap.maptheme"/>
+		<reftable name="s_vmap.map"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_map_rt_crs" type="reltv" layer="0"
+	 custom-color="#a337b1"
+	 src-table="s_vmap.v_map"
+	 dst-table="s_vmap.rt_crs"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_map_maptheme" type="reltv" layer="0"
+	 custom-color="#b9b29a"
+	 src-table="s_vmap.v_map"
+	 dst-table="s_vmap.maptheme"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_map_map" type="reltv" layer="0"
+	 custom-color="#97846c"
+	 src-table="s_vmap.v_map"
+	 dst-table="s_vmap.map"
+	 src-required="false" dst-required="false"/>
+
+<index name="rt_crs_name" table="s_vmap.rt_crs"
+	 concurrent="false" unique="true" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="name"/>
+		</idxelement>
+</index>
+
+<view name="v_print_parameter" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2060" y="1960"/>
+	<reference>
+		<expression><![CDATA[ SELECT printparameter.printparameter_id,
+    printparameter.printtemplate_id,
+    printparameter.name,
+    printparameter.editable,
+    printparameter.label,
+    printparameter.placeholder,
+    printparameter.defaultvalue,
+    printtemplate.name AS print_template
+   FROM (s_vmap.printparameter
+     LEFT JOIN s_vmap.printtemplate ON ((printparameter.printtemplate_id = printtemplate.printtemplate_id)));]]></expression>
+	<column name="printparameter_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="printtemplate_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="editable">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="label">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="placeholder">
+		<type name="text" length="0"/>
+	</column>
+	<column name="defaultvalue">
+		<type name="text" length="0"/>
+	</column>
+	<column name="print_template">
+		<type name="character varying" length="100"/>
+	</column>
+		<reftable name="s_vmap.printtemplate"/>
+		<reftable name="s_vmap.printparameter"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_print_parameter_printtemplate" type="reltv" layer="0"
+	 custom-color="#ec882c"
+	 src-table="s_vmap.v_print_parameter"
+	 dst-table="s_vmap.printtemplate"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_print_parameter_printparameter" type="reltv" layer="0"
+	 custom-color="#4403ce"
+	 src-table="s_vmap.v_print_parameter"
+	 dst-table="s_vmap.printparameter"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_user_printstyle" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2380" y="1960"/>
+	<reference>
+		<expression><![CDATA[ SELECT printstyle.printstyle_id,
+    printstyle.name,
+    printstyle.definition
+   FROM s_vmap.printstyle
+  WHERE (printstyle.printstyle_id IN ( SELECT user_printstyle.printstyle_id
+           FROM s_vmap.user_printstyle
+          WHERE (user_printstyle.user_id = ( SELECT "user".user_id
+                   FROM s_vitis."user"
+                  WHERE (("user".login)::text = CURRENT_USER)))));]]></expression>
+	<column name="printstyle_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+		<reftable name="s_vitis.&quot;user&quot;"/>
+		<reftable name="s_vmap.printstyle"/>
+		<reftable name="s_vmap.user_printstyle"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_user_printstyle_user" type="reltv" layer="0"
+	 custom-color="#5b3a88"
+	 src-table="s_vmap.v_user_printstyle"
+	 dst-table="s_vitis.&quot;user&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_printstyle_printstyle" type="reltv" layer="0"
+	 custom-color="#e45682"
+	 src-table="s_vmap.v_user_printstyle"
+	 dst-table="s_vmap.printstyle"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_printstyle_user_printstyle" type="reltv" layer="0"
+	 custom-color="#a17870"
+	 src-table="s_vmap.v_user_printstyle"
+	 dst-table="s_vmap.user_printstyle"
+	 src-required="false" dst-required="false"/>
+
+<sequence name="printreport_printreport_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="printreport" layer="0" collapse-mode="2" max-obj-count="12">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2420" y="1360"/>
+	<column name="printreport_id" not-null="true" sequence="s_vmap.printreport_printreport_id_seq">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rt_format_id" not-null="true">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="rt_orientation_id" not-null="true">
+		<type name="character varying" length="8"/>
+	</column>
+	<column name="outputformats_id" not-null="true">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="business_object_id" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="htmldefinition" not-null="true">
+		<type name="text" length="0"/>
+	</column>
+	<column name="jsonobjects" not-null="true">
+		<type name="text" length="0"/>
+	</column>
+	<column name="multiobject" not-null="true">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="active_style">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="printreport_pkey" type="pk-constr" table="s_vmap.printreport">
+		<columns names="printreport_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="printreport_name_key" type="uq-constr" table="s_vmap.printreport">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_printreport" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2660" y="1960"/>
+	<reference>
+		<expression><![CDATA[ SELECT printreport.printreport_id,
+    printreport.name,
+    printreport.rt_format_id,
+    printreport.rt_orientation_id,
+    printreport.outputformats_id,
+    printreport.business_object_id,
+    printreport.htmldefinition,
+    printreport.jsonobjects,
+    printreport.multiobject,
+    business_object.title AS business_object_title,
+    business_object.id_field AS business_object_id_field,
+    business_object.database AS business_object_database,
+    business_object.schema AS business_object_schema,
+    business_object."table" AS business_object_table,
+    business_object.geom_column AS business_object_geom_column,
+    printreport.active_style
+   FROM ((((s_vmap.business_object
+     JOIN s_vmap.printreport ON (((business_object.business_object_id)::text = (printreport.business_object_id)::text)))
+     JOIN s_vmap.rt_orientation ON (((printreport.rt_orientation_id)::text = (rt_orientation.rt_orientation_id)::text)))
+     JOIN s_vmap.rt_format ON (((printreport.rt_format_id)::text = (rt_format.rt_format_id)::text)))
+     JOIN s_vmap.rt_outputformats ON (((printreport.outputformats_id)::text = (rt_outputformats.outputformats_id)::text)));]]></expression>
+	<column name="printreport_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rt_format_id">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="rt_orientation_id">
+		<type name="character varying" length="8"/>
+	</column>
+	<column name="outputformats_id">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="business_object_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="htmldefinition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="jsonobjects">
+		<type name="text" length="0"/>
+	</column>
+	<column name="multiobject">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="business_object_title">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="business_object_id_field">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="business_object_database">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="business_object_schema">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="business_object_table">
+		<type name="character varying" length="63"/>
+	</column>
+	<column name="business_object_geom_column">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="active_style">
+		<type name="boolean" length="0"/>
+	</column>
+		<reftable name="s_vmap.rt_format"/>
+		<reftable name="s_vmap.rt_orientation"/>
+		<reftable name="s_vmap.rt_outputformats"/>
+		<reftable name="s_vmap.business_object"/>
+		<reftable name="s_vmap.printreport"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_printreport_rt_format" type="reltv" layer="0"
+	 custom-color="#3b7a73"
+	 src-table="s_vmap.v_printreport"
+	 dst-table="s_vmap.rt_format"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_printreport_rt_orientation" type="reltv" layer="0"
+	 custom-color="#c4812d"
+	 src-table="s_vmap.v_printreport"
+	 dst-table="s_vmap.rt_orientation"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_printreport_rt_outputformats" type="reltv" layer="0"
+	 custom-color="#d2cbb8"
+	 src-table="s_vmap.v_printreport"
+	 dst-table="s_vmap.rt_outputformats"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_printreport_business_object" type="reltv" layer="0"
+	 custom-color="#cc53db"
+	 src-table="s_vmap.v_printreport"
+	 dst-table="s_vmap.business_object"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_printreport_printreport" type="reltv" layer="0"
+	 custom-color="#7c1cc3"
+	 src-table="s_vmap.v_printreport"
+	 dst-table="s_vmap.printreport"
+	 src-required="false" dst-required="false"/>
+
+<table name="layer_businessobject" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2800" y="1360"/>
+	<column name="layer_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="business_object_id" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="layer_businessobject_pkey" type="pk-constr" table="s_vmap.layer_businessobject">
+		<columns names="layer_id,business_object_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="3040" y="1960"/>
+	<reference>
+		<expression><![CDATA[ SELECT layer.layer_id,
+    layer.layertheme_id,
+    layer.service_id,
+    layer.name,
+    layer.description,
+    layer.layer_list,
+    layer.crs_list,
+    layer.is_dynamic,
+    layer.is_filtered,
+    layer.matrix_set,
+    layer.layer_style,
+    layer.layer_format,
+    layer.layer_options,
+    layertheme.name AS theme_name,
+    service.name AS service_name,
+    service.service_type_id,
+    service.url AS service_url,
+    service.key AS service_key,
+    service.service_type_version,
+    service.thumbnail AS service_thumbnail,
+    service.lang AS service_lang,
+    service.imagery AS service_imagery,
+    service.service_type_type,
+    service.service_options,
+    string_agg(DISTINCT (layer_businessobject.business_object_id)::text, '|'::text) AS bo_id_list,
+    service.service_login,
+    service.service_password,
+    layer.is_bo_filtered,
+    service.service_vm4ms,
+    layer.is_queryable_getfeatureinfo,
+    layer.is_dynamic_legend,
+    string_agg(DISTINCT (map.name)::text, ' / '::text) AS maps,
+    service.xyz_min_zoom AS service_xyz_min_zoom,
+    service.xyz_max_zoom AS service_xyz_max_zoom
+   FROM ((((((s_vmap.layer
+     LEFT JOIN s_vmap.layer_businessobject ON ((layer.layer_id = layer_businessobject.layer_id)))
+     LEFT JOIN s_vmap.business_object ON (((layer_businessobject.business_object_id)::text = (business_object.business_object_id)::text)))
+     LEFT JOIN s_vmap.layertheme ON ((layer.layertheme_id = layertheme.layertheme_id)))
+     LEFT JOIN s_vmap.map_layer ON ((layer.layer_id = map_layer.layer_id)))
+     LEFT JOIN s_vmap.map ON ((map_layer.map_id = map.map_id)))
+     JOIN s_vmap.service ON ((layer.service_id = service.service_id)))
+  GROUP BY layer.layer_id, layertheme.name, service.name, service.service_type_id, service.url, service.key, service.service_type_version, service.thumbnail, service.lang, service.imagery, service.service_type_type, service.service_options, service.service_login, service.service_password, service.service_vm4ms, service.xyz_min_zoom, service.xyz_max_zoom;]]></expression>
+	<column name="layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layertheme_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="service_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="layer_list">
+		<type name="text" length="0"/>
+	</column>
+	<column name="crs_list">
+		<type name="text" length="0"/>
+	</column>
+	<column name="is_dynamic">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="is_filtered">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="matrix_set">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="layer_style">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="layer_format">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="layer_options">
+		<type name="text" length="0"/>
+	</column>
+	<column name="theme_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_type_id">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="service_url">
+		<type name="text" length="0"/>
+	</column>
+	<column name="service_key">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="service_type_version">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="service_thumbnail">
+		<type name="text" length="0"/>
+	</column>
+	<column name="service_lang">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_imagery">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_type_type">
+		<type name="character varying" length="30"/>
+	</column>
+	<column name="service_options">
+		<type name="text" length="0"/>
+	</column>
+	<column name="bo_id_list">
+		<type name="text" length="0"/>
+	</column>
+	<column name="service_login">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="service_password">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="is_bo_filtered">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="service_vm4ms">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="is_queryable_getfeatureinfo">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="is_dynamic_legend">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="maps">
+		<type name="text" length="0"/>
+	</column>
+	<column name="service_xyz_min_zoom">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="service_xyz_max_zoom">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vmap.service"/>
+		<reftable name="s_vmap.layertheme"/>
+		<reftable name="s_vmap.map_layer"/>
+		<reftable name="s_vmap.layer"/>
+		<reftable name="s_vmap.map"/>
+		<reftable name="s_vmap.business_object"/>
+		<reftable name="s_vmap.layer_businessobject"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_layer_service" type="reltv" layer="0"
+	 custom-color="#6f6ff0"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.service"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_layer_layertheme" type="reltv" layer="0"
+	 custom-color="#31b9da"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.layertheme"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_layer_map_layer" type="reltv" layer="0"
+	 custom-color="#e0805a"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.map_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_layer_layer" type="reltv" layer="0"
+	 custom-color="#f42aeb"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_layer_map" type="reltv" layer="0"
+	 custom-color="#0606a0"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.map"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_layer_business_object" type="reltv" layer="0"
+	 custom-color="#ba564e"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.business_object"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_layer_layer_businessobject" type="reltv" layer="0"
+	 custom-color="#ec5d04"
+	 src-table="s_vmap.v_layer"
+	 dst-table="s_vmap.layer_businessobject"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_map_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="1740" y="2540"/>
+	<reference>
+		<expression><![CDATA[ SELECT v_layer.layer_id,
+    v_layer.name,
+    v_layer.theme_name,
+    map_layer.layer_visible,
+    map_layer.map_id,
+    map_layer.layer_index,
+    map_layer.layer_opacity,
+    v_layer.layertheme_id,
+    v_layer.service_id
+   FROM s_vmap.v_layer,
+    s_vmap.map_layer
+  WHERE (v_layer.layer_id = map_layer.layer_id);]]></expression>
+	<column name="layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="theme_name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="layer_visible">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="map_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layer_index">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layer_opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layertheme_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="service_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vmap.map_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_map_layer_map_layer" type="reltv" layer="0"
+	 custom-color="#1c91d7"
+	 src-table="s_vmap.v_map_layer"
+	 dst-table="s_vmap.map_layer"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_template" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2040" y="2540"/>
+	<reference>
+		<expression><![CDATA[ SELECT printtemplate.printtemplate_id,
+    printtemplate.name,
+    printtemplate.rt_format_id,
+    printtemplate.rt_orientation_id,
+    printtemplate.definition,
+    printtemplate.outputformats_id,
+    printtemplate.sql,
+    printtemplate.ressource_id,
+    printtemplate.business_object_id,
+    business_object.title AS business_object,
+    printtemplate.printtemplate_order
+   FROM (s_vmap.printtemplate
+     LEFT JOIN s_vmap.business_object ON (((printtemplate.business_object_id)::text = (business_object.business_object_id)::text)));]]></expression>
+	<column name="printtemplate_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rt_format_id">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="rt_orientation_id">
+		<type name="character varying" length="8"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="outputformats_id">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="sql">
+		<type name="text" length="0"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="business_object_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="business_object">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="printtemplate_order">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vmap.printtemplate"/>
+		<reftable name="s_vmap.business_object"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_template_printtemplate" type="reltv" layer="0"
+	 custom-color="#bf72ae"
+	 src-table="s_vmap.v_template"
+	 dst-table="s_vmap.printtemplate"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_template_business_object" type="reltv" layer="0"
+	 custom-color="#705071"
+	 src-table="s_vmap.v_template"
+	 dst-table="s_vmap.business_object"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_user_template" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2360" y="2540"/>
+	<reference>
+		<expression><![CDATA[ SELECT DISTINCT printtemplate.printtemplate_id,
+    printtemplate.name,
+    printtemplate.rt_format_id,
+    printtemplate.rt_orientation_id,
+    printtemplate.definition,
+    printtemplate.outputformats_id,
+    printtemplate.sql,
+    printtemplate.ressource_id,
+    printtemplate.business_object_id,
+    business_object.title AS business_object,
+    printtemplate_group.group_id,
+    printtemplate.printtemplate_order
+   FROM ((s_vmap.printtemplate
+     LEFT JOIN s_vmap.printtemplate_group ON ((printtemplate.printtemplate_id = printtemplate_group.printtemplate_id)))
+     LEFT JOIN s_vmap.business_object ON (((printtemplate.business_object_id)::text = (business_object.business_object_id)::text)));]]></expression>
+	<column name="printtemplate_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="rt_format_id">
+		<type name="character varying" length="2"/>
+	</column>
+	<column name="rt_orientation_id">
+		<type name="character varying" length="8"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="outputformats_id">
+		<type name="character varying" length="255"/>
+	</column>
+	<column name="sql">
+		<type name="text" length="0"/>
+	</column>
+	<column name="ressource_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="business_object_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="business_object">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="group_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="printtemplate_order">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vmap.printtemplate"/>
+		<reftable name="s_vmap.printtemplate_group"/>
+		<reftable name="s_vmap.business_object"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_user_template_printtemplate" type="reltv" layer="0"
+	 custom-color="#a40be9"
+	 src-table="s_vmap.v_user_template"
+	 dst-table="s_vmap.printtemplate"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_template_printtemplate_group" type="reltv" layer="0"
+	 custom-color="#400d37"
+	 src-table="s_vmap.v_user_template"
+	 dst-table="s_vmap.printtemplate_group"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_template_business_object" type="reltv" layer="0"
+	 custom-color="#1606b9"
+	 src-table="s_vmap.v_user_template"
+	 dst-table="s_vmap.business_object"
+	 src-required="false" dst-required="false"/>
+
+<index name="layer_name" table="s_vmap.layer"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="name"/>
+		</idxelement>
+</index>
+
+<index name="service_name" table="s_vmap.service"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="name"/>
+		</idxelement>
+</index>
+
+<index name="map_name" table="s_vmap.map"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="name"/>
+		</idxelement>
+</index>
+
+<index name="maptheme_name" table="s_vmap.maptheme"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="name"/>
+		</idxelement>
+</index>
+
+<index name="theme_name" table="s_vmap.layertheme"
+	 concurrent="false" unique="false" fast-update="false" buffering="false"
+	 index-type="btree" factor="90">
+		<idxelement use-sorting="false">
+			<column name="name"/>
+		</idxelement>
+</index>
+
+<table name="user_defaultmap" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="3200" y="1360"/>
+	<column name="user_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="map_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="extent">
+		<type name="character varying" length="225"/>
+	</column>
+	<constraint name="user_defaultmap_pkey" type="pk-constr" table="s_vmap.user_defaultmap">
+		<columns names="user_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_user_defaultmap" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vmap"/>
+	<role name="u_vitis"/>
+	<position x="2680" y="2540"/>
+	<reference>
+		<expression><![CDATA[ SELECT user_defaultmap.map_id,
+    user_defaultmap.user_id,
+    user_defaultmap.extent
+   FROM s_vmap.user_defaultmap
+  WHERE (user_defaultmap.user_id = ( SELECT "user".user_id
+           FROM s_vitis."user"
+          WHERE (("user".login)::name = CURRENT_USER)));]]></expression>
+	<column name="map_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="user_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="extent">
+		<type name="character varying" length="225"/>
+	</column>
+		<reftable name="s_vitis.&quot;user&quot;"/>
+		<reftable name="s_vmap.user_defaultmap"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_user_defaultmap_user" type="reltv" layer="0"
+	 custom-color="#a9f432"
+	 src-table="s_vmap.v_user_defaultmap"
+	 dst-table="s_vitis.&quot;user&quot;"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_user_defaultmap_user_defaultmap" type="reltv" layer="0"
+	 custom-color="#800113"
+	 src-table="s_vmap.v_user_defaultmap"
+	 dst-table="s_vmap.user_defaultmap"
+	 src-required="false" dst-required="false"/>
+
+<schema name="s_vm4ms" layer="0" rect-visible="true" fill-color="#2f2377">
+	<role name="u_vitis"/>
+</schema>
+
+<sequence name="seq_common" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+</sequence>
+
+<table name="connection" layer="0" collapse-mode="2" max-obj-count="9">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3520" y="60"/>
+	<column name="connection_id" not-null="true" sequence="s_vm4ms.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="private" not-null="true" default-value="false">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="server">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="port">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="database">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="user">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="password">
+		<type name="character varying" length="64"/>
+	</column>
+	<constraint name="connection_name_key" type="uq-constr" table="s_vm4ms.connection">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="connection_pkey" type="pk-constr" table="s_vm4ms.connection">
+		<columns names="connection_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="coordsys" layer="0" collapse-mode="2" max-obj-count="6">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3860" y="60"/>
+	<column name="coordsys_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="label">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="epsg">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="epsg_definition">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="coordsys_pkey" type="pk-constr" table="s_vm4ms.coordsys">
+		<columns names="coordsys_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="ms_layer" layer="0" collapse-mode="2" max-obj-count="19">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4160" y="60"/>
+	<column name="ms_layer_id" not-null="true" sequence="s_vm4ms.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[Contient uniquement des caractères simples (sans accent), sans espace. le caractère _ est autorisé. Champ non modifiable. Ce champ est construit automatiquement lors de la saisie de title mais il est modifiable en mode insertion.]]></comment>
+	</column>
+	<column name="title" not-null="true">
+		<type name="text" length="0"/>
+		<comment><![CDATA[Nom en clair de la couche avec espaces et accents si nécéssaire. Toujours modifiable.]]></comment>
+	</column>
+	<column name="coordsys_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="source_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="connection_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="tableschema">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="tablename">
+		<type name="character varying" length="64"/>
+	</column>
+	<column name="tableidfield">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active" not-null="true" default-value="true">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="ms_layertype_id" not-null="true">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="datemaj" not-null="true" default-value="now()">
+		<type name="timestamp" length="0"/>
+	</column>
+	<column name="definitiontmp">
+		<type name="text" length="0"/>
+	</column>
+	<column name="metadata_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="layer_pkey" type="pk-constr" table="s_vm4ms.ms_layer">
+		<columns names="ms_layer_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="uk_name" type="uq-constr" table="s_vm4ms.ms_layer">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="ms_layertype" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4520" y="60"/>
+	<column name="ms_layertype_id" not-null="true">
+		<type name="character varying" length="20"/>
+		<comment><![CDATA[Valeurs : POINT, LINE, POLYGON, RASTER...]]></comment>
+	</column>
+	<constraint name="layertype_pkey" type="pk-constr" table="s_vm4ms.ms_layertype">
+		<columns names="ms_layertype_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="msdebuglevel" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4860" y="60"/>
+	<column name="msdebuglevel_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="label_id" not-null="true">
+		<type name="character varying" length="60"/>
+	</column>
+	<constraint name="msdebuglevel_pkey" type="pk-constr" table="s_vm4ms.msdebuglevel">
+		<columns names="msdebuglevel_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="source" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3520" y="480"/>
+	<column name="source_id" not-null="true" sequence="s_vm4ms.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<constraint name="source_name_key" type="uq-constr" table="s_vm4ms.source">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="source_pkey" type="pk-constr" table="s_vm4ms.source">
+		<columns names="source_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_msdebuglevel" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3860" y="680"/>
+	<reference>
+		<expression><![CDATA[ SELECT msdebuglevel.msdebuglevel_id,
+    msdebuglevel.label_id,
+    vm_translation.translation,
+    vm_translation.lang
+   FROM (s_vm4ms.msdebuglevel
+     LEFT JOIN s_vitis.vm_translation ON (((vm_translation.translation_id)::text = (msdebuglevel.label_id)::text)));]]></expression>
+	<column name="msdebuglevel_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="label_id">
+		<type name="character varying" length="60"/>
+	</column>
+	<column name="translation">
+		<type name="text" length="0"/>
+	</column>
+	<column name="lang">
+		<type name="character varying" length="2"/>
+	</column>
+		<reftable name="s_vitis.vm_translation"/>
+		<reftable name="s_vm4ms.msdebuglevel"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_msdebuglevel_vm_translation" type="reltv" layer="0"
+	 custom-color="#60c3f4"
+	 src-table="s_vm4ms.v_msdebuglevel"
+	 dst-table="s_vitis.vm_translation"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_msdebuglevel_msdebuglevel" type="reltv" layer="0"
+	 custom-color="#470eab"
+	 src-table="s_vm4ms.v_msdebuglevel"
+	 dst-table="s_vm4ms.msdebuglevel"
+	 src-required="false" dst-required="false"/>
+
+<table name="web" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3860" y="480"/>
+	<column name="web_id" not-null="true" sequence="s_vm4ms.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="web_name_key" type="uq-constr" table="s_vm4ms.web">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="web_pkey" type="pk-constr" table="s_vm4ms.web">
+		<columns names="web_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="wmsservice" layer="0" collapse-mode="2" max-obj-count="6">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4180" y="480"/>
+	<column name="wmsservice_id" not-null="true">
+		<type name="character varying" length="100"/>
+		<comment><![CDATA[Contient uniquement des caractères simples (sans accent), sans espace. le caractère _ est autorisé. Champ non modifiable. Si le flux est de type privé wmsservice vaut "private".]]></comment>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="web_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="msdebuglevel_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="wmsservice_pkey" type="pk-constr" table="s_vm4ms.wmsservice">
+		<columns names="wmsservice_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_private_wms_service" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4160" y="680"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice.wmsservice_id,
+    wmsservice.description,
+    wmsservice.definition,
+    wmsservice.web_id,
+    web.name AS web_name,
+    wmsservice.msdebuglevel_id
+   FROM (s_vm4ms.wmsservice
+     LEFT JOIN s_vm4ms.web ON ((web.web_id = wmsservice.web_id)))
+  WHERE ((wmsservice.wmsservice_id)::text = 'private'::text);]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="web_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="web_name">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="msdebuglevel_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.web"/>
+		<reftable name="s_vm4ms.wmsservice"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_private_wms_service_web" type="reltv" layer="0"
+	 custom-color="#92aea0"
+	 src-table="s_vm4ms.v_private_wms_service"
+	 dst-table="s_vm4ms.web"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_private_wms_service_wmsservice" type="reltv" layer="0"
+	 custom-color="#51f2b3"
+	 src-table="s_vm4ms.v_private_wms_service"
+	 dst-table="s_vm4ms.wmsservice"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_public_wms_service" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4460" y="680"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice.wmsservice_id,
+    wmsservice.description,
+    wmsservice.definition,
+    wmsservice.web_id,
+    web.name AS web_name,
+    wmsservice.msdebuglevel_id
+   FROM (s_vm4ms.wmsservice
+     LEFT JOIN s_vm4ms.web ON ((web.web_id = wmsservice.web_id)))
+  WHERE ((wmsservice.wmsservice_id)::text <> 'private'::text);]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="web_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="web_name">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="msdebuglevel_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.web"/>
+		<reftable name="s_vm4ms.wmsservice"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_public_wms_service_web" type="reltv" layer="0"
+	 custom-color="#b3de13"
+	 src-table="s_vm4ms.v_public_wms_service"
+	 dst-table="s_vm4ms.web"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_public_wms_service_wmsservice" type="reltv" layer="0"
+	 custom-color="#e26aa2"
+	 src-table="s_vm4ms.v_public_wms_service"
+	 dst-table="s_vm4ms.wmsservice"
+	 src-required="false" dst-required="false"/>
+
+<table name="wmsservice_ms_layer" layer="0" collapse-mode="2" max-obj-count="4">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4520" y="480"/>
+	<column name="wmsservice_ms_layer_id" not-null="true" sequence="s_vm4ms.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="wmsservice_id" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="ms_layer_id" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="uk_wmsservice_layer" type="uq-constr" table="s_vm4ms.wmsservice_ms_layer">
+		<columns names="wmsservice_id,ms_layer_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="wmsservice_layer_pkey" type="pk-constr" table="s_vm4ms.wmsservice_ms_layer">
+		<columns names="wmsservice_ms_layer_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_public_wms_service_layers" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4760" y="680"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice_layer.wmsservice_id,
+    wmsservice_layer.ms_layer_id AS layer_id,
+    layer.name,
+    layer.title,
+    layer.active,
+    layer.opacity,
+    COALESCE(connection.private, false) AS "coalesce"
+   FROM ((s_vm4ms.wmsservice_ms_layer wmsservice_layer
+     LEFT JOIN s_vm4ms.ms_layer layer ON ((layer.ms_layer_id = wmsservice_layer.ms_layer_id)))
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = layer.connection_id)))
+  WHERE ((connection.private = false) OR (connection.private IS NULL));]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="coalesce">
+		<type name="boolean" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+		<reftable name="s_vm4ms.wmsservice_ms_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_public_wms_service_layers_connection" type="reltv" layer="0"
+	 custom-color="#d5c3d7"
+	 src-table="s_vm4ms.v_public_wms_service_layers"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_public_wms_service_layers_ms_layer" type="reltv" layer="0"
+	 custom-color="#c3895e"
+	 src-table="s_vm4ms.v_public_wms_service_layers"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_public_wms_service_layers_wmsservice_ms_layer" type="reltv" layer="0"
+	 custom-color="#7e6fbe"
+	 src-table="s_vm4ms.v_public_wms_service_layers"
+	 dst-table="s_vm4ms.wmsservice_ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_public_wms_service_ms_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3520" y="880"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice_ms_layer.wmsservice_id,
+    wmsservice_ms_layer.ms_layer_id,
+    ms_layer.name,
+    ms_layer.title,
+    ms_layer.active,
+    ms_layer.opacity,
+    COALESCE(connection.private, false) AS "coalesce"
+   FROM ((s_vm4ms.wmsservice_ms_layer
+     LEFT JOIN s_vm4ms.ms_layer ON ((ms_layer.ms_layer_id = wmsservice_ms_layer.ms_layer_id)))
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id)))
+  WHERE ((connection.private = false) OR (connection.private IS NULL));]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="ms_layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="coalesce">
+		<type name="boolean" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+		<reftable name="s_vm4ms.wmsservice_ms_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_public_wms_service_ms_layer_connection" type="reltv" layer="0"
+	 custom-color="#4116ee"
+	 src-table="s_vm4ms.v_public_wms_service_ms_layer"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_public_wms_service_ms_layer_ms_layer" type="reltv" layer="0"
+	 custom-color="#438de0"
+	 src-table="s_vm4ms.v_public_wms_service_ms_layer"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_public_wms_service_ms_layer_wmsservice_ms_layer" type="reltv" layer="0"
+	 custom-color="#c3bad1"
+	 src-table="s_vm4ms.v_public_wms_service_ms_layer"
+	 dst-table="s_vm4ms.wmsservice_ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_wms_service" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3820" y="880"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice.wmsservice_id,
+    wmsservice.description,
+    wmsservice.definition,
+    wmsservice.web_id,
+    web.name AS web_name,
+    wmsservice.msdebuglevel_id
+   FROM (s_vm4ms.wmsservice
+     LEFT JOIN s_vm4ms.web ON ((web.web_id = wmsservice.web_id)));]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="description">
+		<type name="text" length="0"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="web_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="web_name">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="msdebuglevel_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.web"/>
+		<reftable name="s_vm4ms.wmsservice"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_wms_service_web" type="reltv" layer="0"
+	 custom-color="#0ce640"
+	 src-table="s_vm4ms.v_wms_service"
+	 dst-table="s_vm4ms.web"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_wms_service_wmsservice" type="reltv" layer="0"
+	 custom-color="#bc6dd9"
+	 src-table="s_vm4ms.v_wms_service"
+	 dst-table="s_vm4ms.wmsservice"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_wms_service_layers" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4120" y="880"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice_layer.wmsservice_id,
+    wmsservice_layer.ms_layer_id AS layer_id,
+    layer.name,
+    layer.title,
+    layer.active,
+    layer.opacity,
+    connection.private
+   FROM ((s_vm4ms.wmsservice_ms_layer wmsservice_layer
+     LEFT JOIN s_vm4ms.ms_layer layer ON ((layer.ms_layer_id = wmsservice_layer.ms_layer_id)))
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = layer.connection_id)));]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="private">
+		<type name="boolean" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+		<reftable name="s_vm4ms.wmsservice_ms_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_wms_service_layers_connection" type="reltv" layer="0"
+	 custom-color="#985ed7"
+	 src-table="s_vm4ms.v_wms_service_layers"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_wms_service_layers_ms_layer" type="reltv" layer="0"
+	 custom-color="#a3e902"
+	 src-table="s_vm4ms.v_wms_service_layers"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_wms_service_layers_wmsservice_ms_layer" type="reltv" layer="0"
+	 custom-color="#a36d29"
+	 src-table="s_vm4ms.v_wms_service_layers"
+	 dst-table="s_vm4ms.wmsservice_ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_wms_service_ms_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4420" y="880"/>
+	<reference>
+		<expression><![CDATA[ SELECT wmsservice_ms_layer.wmsservice_id,
+    wmsservice_ms_layer.ms_layer_id,
+    ms_layer.name,
+    ms_layer.title,
+    ms_layer.active,
+    ms_layer.opacity,
+    connection.private
+   FROM ((s_vm4ms.wmsservice_ms_layer
+     LEFT JOIN s_vm4ms.ms_layer ON ((ms_layer.ms_layer_id = wmsservice_ms_layer.ms_layer_id)))
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id)));]]></expression>
+	<column name="wmsservice_id">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="ms_layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="private">
+		<type name="boolean" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+		<reftable name="s_vm4ms.wmsservice_ms_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_wms_service_ms_layer_connection" type="reltv" layer="0"
+	 custom-color="#2b50c0"
+	 src-table="s_vm4ms.v_wms_service_ms_layer"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_wms_service_ms_layer_ms_layer" type="reltv" layer="0"
+	 custom-color="#b0bc74"
+	 src-table="s_vm4ms.v_wms_service_ms_layer"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_wms_service_ms_layer_wmsservice_ms_layer" type="reltv" layer="0"
+	 custom-color="#526463"
+	 src-table="s_vm4ms.v_wms_service_ms_layer"
+	 dst-table="s_vm4ms.wmsservice_ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<table name="version" layer="0" collapse-mode="2" max-obj-count="4">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4940" y="480"/>
+	<column name="version" not-null="true">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="build" not-null="true">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="date" not-null="true">
+		<type name="timestamp with time zone" length="0" with-timezone="true"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<constraint name="pk_version" type="pk-constr" table="s_vm4ms.version">
+		<columns names="version" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="metadata" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3520" y="680"/>
+	<column name="metadata_id" not-null="true" sequence="s_vm4ms.seq_common">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name" not-null="true">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<constraint name="metadata_pkey" type="pk-constr" table="s_vm4ms.metadata">
+		<columns names="metadata_id" ref-type="src-columns"/>
+	</constraint>
+	<constraint name="metadata_name_key" type="uq-constr" table="s_vm4ms.metadata">
+		<columns names="name" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<view name="v_ms_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4720" y="880"/>
+	<reference>
+		<expression><![CDATA[ SELECT ms_layer.ms_layer_id,
+    ms_layer.name,
+    ms_layer.title,
+    ms_layer.coordsys_id,
+    coordsys.label AS coordsys_label,
+    ms_layer.source_id,
+    ms_layer.connection_id,
+    ms_layer.tableschema,
+    ms_layer.tablename,
+    ms_layer.tableidfield,
+    ms_layer.definition,
+    ms_layer.active,
+    ms_layer.opacity,
+    ms_layer.ms_layertype_id,
+    COALESCE(connection.private, false) AS private_connection,
+    connection.name AS connection_label,
+    source.name AS source_label,
+    ms_layer.definitiontmp,
+    ms_layer.metadata_id
+   FROM (((s_vm4ms.ms_layer
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id)))
+     LEFT JOIN s_vm4ms.source ON ((source.source_id = ms_layer.source_id)))
+     LEFT JOIN s_vm4ms.coordsys ON ((coordsys.coordsys_id = ms_layer.coordsys_id)));]]></expression>
+	<column name="ms_layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="coordsys_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="coordsys_label">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="source_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="connection_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="tableschema">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="tablename">
+		<type name="character varying" length="64"/>
+	</column>
+	<column name="tableidfield">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="ms_layertype_id">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="private_connection">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="connection_label">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="source_label">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="definitiontmp">
+		<type name="text" length="0"/>
+	</column>
+	<column name="metadata_id">
+		<type name="integer" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.coordsys"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+		<reftable name="s_vm4ms.source"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_ms_layer_connection" type="reltv" layer="0"
+	 custom-color="#68c4cd"
+	 src-table="s_vm4ms.v_ms_layer"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_ms_layer_coordsys" type="reltv" layer="0"
+	 custom-color="#a78f75"
+	 src-table="s_vm4ms.v_ms_layer"
+	 dst-table="s_vm4ms.coordsys"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_ms_layer_ms_layer" type="reltv" layer="0"
+	 custom-color="#c69a88"
+	 src-table="s_vm4ms.v_ms_layer"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_ms_layer_source" type="reltv" layer="0"
+	 custom-color="#310475"
+	 src-table="s_vm4ms.v_ms_layer"
+	 dst-table="s_vm4ms.source"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_private_ms_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3520" y="1240"/>
+	<reference>
+		<expression><![CDATA[ SELECT ms_layer.ms_layer_id,
+    ms_layer.name,
+    ms_layer.title,
+    ms_layer.coordsys_id,
+    ms_layer.source_id,
+    ms_layer.connection_id,
+    ms_layer.tableschema,
+    ms_layer.tablename,
+    ms_layer.tableidfield,
+    ms_layer.definition,
+    ms_layer.active,
+    ms_layer.opacity,
+    ms_layer.ms_layertype_id,
+    connection.private AS private_connection,
+    'private'::text AS wmsservice_id
+   FROM (s_vm4ms.ms_layer
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id)))
+  WHERE (connection.private = true);]]></expression>
+	<column name="ms_layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="coordsys_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="source_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="connection_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="tableschema">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="tablename">
+		<type name="character varying" length="64"/>
+	</column>
+	<column name="tableidfield">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="ms_layertype_id">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="private_connection">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="wmsservice_id">
+		<type name="text" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_private_ms_layer_connection" type="reltv" layer="0"
+	 custom-color="#7085cd"
+	 src-table="s_vm4ms.v_private_ms_layer"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_private_ms_layer_ms_layer" type="reltv" layer="0"
+	 custom-color="#dd8360"
+	 src-table="s_vm4ms.v_private_ms_layer"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_public_ms_layer" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="3840" y="1240"/>
+	<reference>
+		<expression><![CDATA[ SELECT ms_layer.ms_layer_id,
+    ms_layer.name,
+    ms_layer.title,
+    ms_layer.coordsys_id,
+    ms_layer.source_id,
+    ms_layer.connection_id,
+    ms_layer.tableschema,
+    ms_layer.tablename,
+    ms_layer.tableidfield,
+    ms_layer.definition,
+    ms_layer.active,
+    ms_layer.opacity,
+    ms_layer.ms_layertype_id,
+    COALESCE(connection.private, false) AS private_connection
+   FROM (s_vm4ms.ms_layer
+     LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id)))
+  WHERE ((connection.private = false) OR (connection.private IS NULL));]]></expression>
+	<column name="ms_layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="coordsys_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="source_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="connection_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="tableschema">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="tablename">
+		<type name="character varying" length="64"/>
+	</column>
+	<column name="tableidfield">
+		<type name="character varying" length="50"/>
+	</column>
+	<column name="definition">
+		<type name="text" length="0"/>
+	</column>
+	<column name="active">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="opacity">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="ms_layertype_id">
+		<type name="character varying" length="20"/>
+	</column>
+	<column name="private_connection">
+		<type name="boolean" length="0"/>
+	</column>
+		<reftable name="s_vm4ms.connection"/>
+		<reftable name="s_vm4ms.ms_layer"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_public_ms_layer_connection" type="reltv" layer="0"
+	 custom-color="#402399"
+	 src-table="s_vm4ms.v_public_ms_layer"
+	 dst-table="s_vm4ms.connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_public_ms_layer_ms_layer" type="reltv" layer="0"
+	 custom-color="#141867"
+	 src-table="s_vm4ms.v_public_ms_layer"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<view name="v_ms_layer_name" layer="0" collapse-mode="2" max-obj-count="1">
+	<schema name="s_vm4ms"/>
+	<role name="u_vitis"/>
+	<position x="4160" y="1240"/>
+	<reference>
+		<expression><![CDATA[ SELECT ms_layer.ms_layer_id,
+    ms_layer.name,
+    ms_layer.title,
+    source.name AS source_label
+   FROM (s_vm4ms.ms_layer
+     LEFT JOIN s_vm4ms.source ON ((source.source_id = ms_layer.source_id)));]]></expression>
+	<column name="ms_layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="name">
+		<type name="character varying" length="100"/>
+	</column>
+	<column name="title">
+		<type name="text" length="0"/>
+	</column>
+	<column name="source_label">
+		<type name="character varying" length="100"/>
+	</column>
+		<reftable name="s_vm4ms.ms_layer"/>
+		<reftable name="s_vm4ms.source"/>
+	</reference>
+</view>
+
+<relationship name="rel_v_ms_layer_name_ms_layer" type="reltv" layer="0"
+	 custom-color="#f68448"
+	 src-table="s_vm4ms.v_ms_layer_name"
+	 dst-table="s_vm4ms.ms_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_v_ms_layer_name_source" type="reltv" layer="0"
+	 custom-color="#58f953"
+	 src-table="s_vm4ms.v_ms_layer_name"
+	 dst-table="s_vm4ms.source"
+	 src-required="false" dst-required="false"/>
+
+<constraint name="fk_domain_id" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.domain" table="s_vitis.&quot;user&quot;">
+	<columns names="domain_id" ref-type="src-columns"/>
+	<columns names="domain_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_billinggroup_id" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.billinggroup" table="s_vitis.&quot;user&quot;">
+	<columns names="billinggroup_id" ref-type="src-columns"/>
+	<columns names="billinggroup_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_formatdate_id" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.rt_formatdate" table="s_vitis.&quot;user&quot;">
+	<columns names="formatdate_id" ref-type="src-columns"/>
+	<columns names="formatdate_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_string_id_translation" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_string" table="s_vitis.vm_translation">
+	<columns names="translation_id" ref-type="src-columns"/>
+	<columns names="string_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_group_id_user" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.&quot;group&quot;" table="s_vitis.user_group">
+	<columns names="group_id" ref-type="src-columns"/>
+	<columns names="group_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_user_id_group" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.&quot;user&quot;" table="s_vitis.user_group">
+	<columns names="user_id" ref-type="src-columns"/>
+	<columns names="user_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_application_name" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.vm_application" table="s_vitis.vm_application_module">
+	<columns names="application_name" ref-type="src-columns"/>
+	<columns names="name" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_module_name" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.vm_module" table="s_vitis.vm_application_module">
+	<columns names="module_name" ref-type="src-columns"/>
+	<columns names="module_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_module_id" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_module" table="s_vitis.vm_mode">
+	<columns names="module_id" ref-type="src-columns"/>
+	<columns names="module_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_mode_id" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_mode" table="s_vitis.vm_mode_rolname">
+	<columns names="mode_id" ref-type="src-columns"/>
+	<columns names="mode_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_rolname" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.privileges" table="s_vitis.vm_mode_rolname">
+	<columns names="rolname" ref-type="src-columns"/>
+	<columns names="rolname" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_string_section" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_section">
+	<columns names="label_id" ref-type="src-columns"/>
+	<columns names="string_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_vm_tab_section" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_tab" table="s_vitis.vm_section">
+	<columns names="tab_id" ref-type="src-columns"/>
+	<columns names="tab_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_module_vm_section" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_module" table="s_vitis.vm_section">
+	<columns names="module" ref-type="src-columns"/>
+	<columns names="module_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_mode_id_tab" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_mode" table="s_vitis.vm_tab">
+	<columns names="mode_id" ref-type="src-columns"/>
+	<columns names="mode_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_string_id_tab" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_tab">
+	<columns names="label_id" ref-type="src-columns"/>
+	<columns names="string_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_label_id_button" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_table_button">
+	<columns names="label_id" ref-type="src-columns"/>
+	<columns names="string_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_vm_tab_button" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_tab" table="s_vitis.vm_table_button">
+	<columns names="tab_id" ref-type="src-columns"/>
+	<columns names="tab_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_label_id" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_table_field">
+	<columns names="label_id" ref-type="src-columns"/>
+	<columns names="string_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_vm_tab_button" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_tab" table="s_vitis.vm_table_field">
+	<columns names="tab_id" ref-type="src-columns"/>
+	<columns names="tab_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_rt_service_service_type" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.rt_service_type" table="s_vmap.service">
+	<columns names="service_type_id" ref-type="src-columns"/>
+	<columns names="service_type_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_map_group_group" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.&quot;group&quot;" table="s_vmap.map_group">
+	<columns names="group_id" ref-type="src-columns"/>
+	<columns names="group_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_map_group_map" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.map" table="s_vmap.map_group">
+	<columns names="map_id" ref-type="src-columns"/>
+	<columns names="map_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_map_layer_layer" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.layer" table="s_vmap.map_layer">
+	<columns names="layer_id" ref-type="src-columns"/>
+	<columns names="layer_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_map_layer_map" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.map" table="s_vmap.map_layer">
+	<columns names="map_id" ref-type="src-columns"/>
+	<columns names="map_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_service" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.service" table="s_vmap.layer">
+	<columns names="service_id" ref-type="src-columns"/>
+	<columns names="service_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fklayer_even735484" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.layer" table="s_vmap.layer_event">
+	<columns names="layer_id" ref-type="src-columns"/>
+	<columns names="layer_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fklayer_even639107" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.event" table="s_vmap.layer_event">
+	<columns names="event_id" ref-type="src-columns"/>
+	<columns names="event_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_map_rt_crs" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.rt_crs" table="s_vmap.map">
+	<columns names="crs_id" ref-type="src-columns"/>
+	<columns names="crs_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_map_maptheme" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.maptheme" table="s_vmap.map">
+	<columns names="maptheme_id" ref-type="src-columns"/>
+	<columns names="maptheme_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_module_privilege" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.privileges" table="s_vmap.module">
+	<columns names="rolname" ref-type="src-columns"/>
+	<columns names="rolname" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fkprinttempl680758" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_format" table="s_vmap.printtemplate">
+	<columns names="rt_format_id" ref-type="src-columns"/>
+	<columns names="rt_format_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fkprinttempl340779" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_orientation" table="s_vmap.printtemplate">
+	<columns names="rt_orientation_id" ref-type="src-columns"/>
+	<columns names="rt_orientation_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fkprinttempl395374" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_outputformats" table="s_vmap.printtemplate">
+	<columns names="outputformats_id" ref-type="src-columns"/>
+	<columns names="outputformats_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_printtemplate_group_group" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.&quot;group&quot;" table="s_vmap.printtemplate_group">
+	<columns names="group_id" ref-type="src-columns"/>
+	<columns names="group_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fkprinttempl72315" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.printtemplate" table="s_vmap.printtemplate_group">
+	<columns names="printtemplate_id" ref-type="src-columns"/>
+	<columns names="printtemplate_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fkprintparam828463" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.printtemplate" table="s_vmap.printparameter">
+	<columns names="printtemplate_id" ref-type="src-columns"/>
+	<columns names="printtemplate_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_user_printstyle_user" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.&quot;user&quot;" table="s_vmap.user_printstyle">
+	<columns names="user_id" ref-type="src-columns"/>
+	<columns names="user_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fkuser_print429318" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.printstyle" table="s_vmap.user_printstyle">
+	<columns names="printstyle_id" ref-type="src-columns"/>
+	<columns names="printstyle_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_printreport_rt_format" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_format" table="s_vmap.printreport">
+	<columns names="rt_format_id" ref-type="src-columns"/>
+	<columns names="rt_format_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_printreport_rt_orientation" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_orientation" table="s_vmap.printreport">
+	<columns names="rt_orientation_id" ref-type="src-columns"/>
+	<columns names="rt_orientation_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_printreport_rt_outputformats" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_outputformats" table="s_vmap.printreport">
+	<columns names="outputformats_id" ref-type="src-columns"/>
+	<columns names="outputformats_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_printreport_business_object" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.business_object" table="s_vmap.printreport">
+	<columns names="business_object_id" ref-type="src-columns"/>
+	<columns names="business_object_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_id_layer_businessobject" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.layer" table="s_vmap.layer_businessobject">
+	<columns names="layer_id" ref-type="src-columns"/>
+	<columns names="layer_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_business_object_id_layer_businessobject" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vmap.business_object" table="s_vmap.layer_businessobject">
+	<columns names="business_object_id" ref-type="src-columns"/>
+	<columns names="business_object_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_user_defaultmap_user" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.&quot;user&quot;" table="s_vmap.user_defaultmap">
+	<columns names="user_id" ref-type="src-columns"/>
+	<columns names="user_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_user_defaultmap_map" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.map" table="s_vmap.user_defaultmap">
+	<columns names="map_id" ref-type="src-columns"/>
+	<columns names="map_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_connection" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.connection" table="s_vm4ms.ms_layer">
+	<columns names="connection_id" ref-type="src-columns"/>
+	<columns names="connection_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_coordsys" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.coordsys" table="s_vm4ms.ms_layer">
+	<columns names="coordsys_id" ref-type="src-columns"/>
+	<columns names="coordsys_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_layertype" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.ms_layertype" table="s_vm4ms.ms_layer">
+	<columns names="ms_layertype_id" ref-type="src-columns"/>
+	<columns names="ms_layertype_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_source" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="NO ACTION" ref-table="s_vm4ms.source" table="s_vm4ms.ms_layer">
+	<columns names="source_id" ref-type="src-columns"/>
+	<columns names="source_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_metadata" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="CASCADE" del-action="SET NULL" ref-table="s_vm4ms.metadata" table="s_vm4ms.ms_layer">
+	<columns names="metadata_id" ref-type="src-columns"/>
+	<columns names="metadata_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_string_msdebuglevel" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vm4ms.msdebuglevel">
+	<columns names="label_id" ref-type="src-columns"/>
+	<columns names="string_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_wmsservice_web" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.web" table="s_vm4ms.wmsservice">
+	<columns names="web_id" ref-type="src-columns"/>
+	<columns names="web_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_wmsservice_layer_layer" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.ms_layer" table="s_vm4ms.wmsservice_ms_layer">
+	<columns names="ms_layer_id" ref-type="src-columns"/>
+	<columns names="ms_layer_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_wmsservice_layer_wmsservice" type="fk-constr" comparison-type="MATCH SIMPLE"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.wmsservice" table="s_vm4ms.wmsservice_ms_layer">
+	<columns names="wmsservice_id" ref-type="src-columns"/>
+	<columns names="wmsservice_id" ref-type="dst-columns"/>
+</constraint>
+
+<relationship name="rel_user_domain" type="relfk" layer="0"
+	 custom-color="#965e06"
+	 src-table="s_vitis.&quot;user&quot;"
+	 dst-table="s_vitis.domain" reference-fk="fk_domain_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_billinggroup" type="relfk" layer="0"
+	 custom-color="#9e3f49"
+	 src-table="s_vitis.&quot;user&quot;"
+	 dst-table="s_vitis.billinggroup" reference-fk="fk_billinggroup_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_rt_formatdate" type="relfk" layer="0"
+	 custom-color="#1ce719"
+	 src-table="s_vitis.&quot;user&quot;"
+	 dst-table="s_vitis.rt_formatdate" reference-fk="fk_formatdate_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_translation_vm_string" type="relfk" layer="0"
+	 custom-color="#a86a6b"
+	 src-table="s_vitis.vm_translation"
+	 dst-table="s_vitis.vm_string" reference-fk="fk_string_id_translation"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_group_group" type="relfk" layer="0"
+	 custom-color="#c5010f"
+	 src-table="s_vitis.user_group"
+	 dst-table="s_vitis.&quot;group&quot;" reference-fk="fk_group_id_user"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_group_user" type="relfk" layer="0"
+	 custom-color="#2a6862"
+	 src-table="s_vitis.user_group"
+	 dst-table="s_vitis.&quot;user&quot;" reference-fk="fk_user_id_group"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_application_module_vm_application" type="relfk" layer="0"
+	 custom-color="#c591c5"
+	 src-table="s_vitis.vm_application_module"
+	 dst-table="s_vitis.vm_application" reference-fk="fk_application_name"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_application_module_vm_module" type="relfk" layer="0"
+	 custom-color="#f1e8e5"
+	 src-table="s_vitis.vm_application_module"
+	 dst-table="s_vitis.vm_module" reference-fk="fk_module_name"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_mode_vm_module" type="relfk" layer="0"
+	 custom-color="#f74e4b"
+	 src-table="s_vitis.vm_mode"
+	 dst-table="s_vitis.vm_module" reference-fk="fk_module_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_mode_rolname_vm_mode" type="relfk" layer="0"
+	 custom-color="#f7d8dd"
+	 src-table="s_vitis.vm_mode_rolname"
+	 dst-table="s_vitis.vm_mode" reference-fk="fk_mode_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_mode_rolname_privileges" type="relfk" layer="0"
+	 custom-color="#c4b758"
+	 src-table="s_vitis.vm_mode_rolname"
+	 dst-table="s_vitis.privileges" reference-fk="fk_rolname"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_section_vm_string" type="relfk" layer="0"
+	 custom-color="#12b900"
+	 src-table="s_vitis.vm_section"
+	 dst-table="s_vitis.vm_string" reference-fk="fk_string_section"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_section_vm_tab" type="relfk" layer="0"
+	 custom-color="#7958b2"
+	 src-table="s_vitis.vm_section"
+	 dst-table="s_vitis.vm_tab" reference-fk="fk_vm_tab_section"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_section_vm_module" type="relfk" layer="0"
+	 custom-color="#fd5315"
+	 src-table="s_vitis.vm_section"
+	 dst-table="s_vitis.vm_module" reference-fk="fk_module_vm_section"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_tab_vm_mode" type="relfk" layer="0"
+	 custom-color="#c2f4a8"
+	 src-table="s_vitis.vm_tab"
+	 dst-table="s_vitis.vm_mode" reference-fk="fk_mode_id_tab"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_tab_vm_string" type="relfk" layer="0"
+	 custom-color="#d987fd"
+	 src-table="s_vitis.vm_tab"
+	 dst-table="s_vitis.vm_string" reference-fk="fk_string_id_tab"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_table_button_vm_string" type="relfk" layer="0"
+	 custom-color="#0ed122"
+	 src-table="s_vitis.vm_table_button"
+	 dst-table="s_vitis.vm_string" reference-fk="fk_label_id_button"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_table_button_vm_tab" type="relfk" layer="0"
+	 custom-color="#5964d9"
+	 src-table="s_vitis.vm_table_button"
+	 dst-table="s_vitis.vm_tab" reference-fk="fk_vm_tab_button"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_table_field_vm_string" type="relfk" layer="0"
+	 custom-color="#01b378"
+	 src-table="s_vitis.vm_table_field"
+	 dst-table="s_vitis.vm_string" reference-fk="fk_label_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_vm_table_field_vm_tab" type="relfk" layer="0"
+	 custom-color="#0f07f4"
+	 src-table="s_vitis.vm_table_field"
+	 dst-table="s_vitis.vm_tab" reference-fk="fk_vm_tab_button"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_service_rt_service_type" type="relfk" layer="0"
+	 custom-color="#9abf20"
+	 src-table="s_vmap.service"
+	 dst-table="s_vmap.rt_service_type" reference-fk="fk_rt_service_service_type"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_map_group_group" type="relfk" layer="0"
+	 custom-color="#806f73"
+	 src-table="s_vmap.map_group"
+	 dst-table="s_vitis.&quot;group&quot;" reference-fk="fk_map_group_group"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_map_group_map" type="relfk" layer="0"
+	 custom-color="#e3094c"
+	 src-table="s_vmap.map_group"
+	 dst-table="s_vmap.map" reference-fk="fk_map_group_map"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_map_layer_layer" type="relfk" layer="0"
+	 custom-color="#8b3c2f"
+	 src-table="s_vmap.map_layer"
+	 dst-table="s_vmap.layer" reference-fk="fk_map_layer_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_map_layer_map" type="relfk" layer="0"
+	 custom-color="#52814c"
+	 src-table="s_vmap.map_layer"
+	 dst-table="s_vmap.map" reference-fk="fk_map_layer_map"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_layer_service" type="relfk" layer="0"
+	 custom-color="#20984f"
+	 src-table="s_vmap.layer"
+	 dst-table="s_vmap.service" reference-fk="fk_layer_service"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_layer_event_layer" type="relfk" layer="0"
+	 custom-color="#b9aec0"
+	 src-table="s_vmap.layer_event"
+	 dst-table="s_vmap.layer" reference-fk="fklayer_even735484"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_layer_event_event" type="relfk" layer="0"
+	 custom-color="#69f657"
+	 src-table="s_vmap.layer_event"
+	 dst-table="s_vmap.event" reference-fk="fklayer_even639107"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_map_rt_crs" type="relfk" layer="0"
+	 custom-color="#8176b3"
+	 src-table="s_vmap.map"
+	 dst-table="s_vmap.rt_crs" reference-fk="fk_map_rt_crs"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_map_maptheme" type="relfk" layer="0"
+	 custom-color="#c038eb"
+	 src-table="s_vmap.map"
+	 dst-table="s_vmap.maptheme" reference-fk="fk_map_maptheme"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_module_privileges" type="relfk" layer="0"
+	 custom-color="#b1a0ee"
+	 src-table="s_vmap.module"
+	 dst-table="s_vitis.privileges" reference-fk="fk_module_privilege"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printtemplate_rt_format" type="relfk" layer="0"
+	 custom-color="#f59302"
+	 src-table="s_vmap.printtemplate"
+	 dst-table="s_vmap.rt_format" reference-fk="fkprinttempl680758"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printtemplate_rt_orientation" type="relfk" layer="0"
+	 custom-color="#8320e4"
+	 src-table="s_vmap.printtemplate"
+	 dst-table="s_vmap.rt_orientation" reference-fk="fkprinttempl340779"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printtemplate_rt_outputformats" type="relfk" layer="0"
+	 custom-color="#313de6"
+	 src-table="s_vmap.printtemplate"
+	 dst-table="s_vmap.rt_outputformats" reference-fk="fkprinttempl395374"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printtemplate_group_group" type="relfk" layer="0"
+	 custom-color="#15b749"
+	 src-table="s_vmap.printtemplate_group"
+	 dst-table="s_vitis.&quot;group&quot;" reference-fk="fk_printtemplate_group_group"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printtemplate_group_printtemplate" type="relfk" layer="0"
+	 custom-color="#a7d91f"
+	 src-table="s_vmap.printtemplate_group"
+	 dst-table="s_vmap.printtemplate" reference-fk="fkprinttempl72315"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printparameter_printtemplate" type="relfk" layer="0"
+	 custom-color="#6d40e3"
+	 src-table="s_vmap.printparameter"
+	 dst-table="s_vmap.printtemplate" reference-fk="fkprintparam828463"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_printstyle_user" type="relfk" layer="0"
+	 custom-color="#9fefec"
+	 src-table="s_vmap.user_printstyle"
+	 dst-table="s_vitis.&quot;user&quot;" reference-fk="fk_user_printstyle_user"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_printstyle_printstyle" type="relfk" layer="0"
+	 custom-color="#9ae221"
+	 src-table="s_vmap.user_printstyle"
+	 dst-table="s_vmap.printstyle" reference-fk="fkuser_print429318"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printreport_rt_format" type="relfk" layer="0"
+	 custom-color="#7588e6"
+	 src-table="s_vmap.printreport"
+	 dst-table="s_vmap.rt_format" reference-fk="fk_printreport_rt_format"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printreport_rt_orientation" type="relfk" layer="0"
+	 custom-color="#0b3e6d"
+	 src-table="s_vmap.printreport"
+	 dst-table="s_vmap.rt_orientation" reference-fk="fk_printreport_rt_orientation"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printreport_rt_outputformats" type="relfk" layer="0"
+	 custom-color="#c39e21"
+	 src-table="s_vmap.printreport"
+	 dst-table="s_vmap.rt_outputformats" reference-fk="fk_printreport_rt_outputformats"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_printreport_business_object" type="relfk" layer="0"
+	 custom-color="#3a9251"
+	 src-table="s_vmap.printreport"
+	 dst-table="s_vmap.business_object" reference-fk="fk_printreport_business_object"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_layer_businessobject_layer" type="relfk" layer="0"
+	 custom-color="#0fe175"
+	 src-table="s_vmap.layer_businessobject"
+	 dst-table="s_vmap.layer" reference-fk="fk_layer_id_layer_businessobject"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_layer_businessobject_business_object" type="relfk" layer="0"
+	 custom-color="#7fc9a4"
+	 src-table="s_vmap.layer_businessobject"
+	 dst-table="s_vmap.business_object" reference-fk="fk_business_object_id_layer_businessobject"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_defaultmap_user" type="relfk" layer="0"
+	 custom-color="#e884fc"
+	 src-table="s_vmap.user_defaultmap"
+	 dst-table="s_vitis.&quot;user&quot;" reference-fk="fk_user_defaultmap_user"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_user_defaultmap_map" type="relfk" layer="0"
+	 custom-color="#36d874"
+	 src-table="s_vmap.user_defaultmap"
+	 dst-table="s_vmap.map" reference-fk="fk_user_defaultmap_map"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_ms_layer_connection" type="relfk" layer="0"
+	 custom-color="#ccc700"
+	 src-table="s_vm4ms.ms_layer"
+	 dst-table="s_vm4ms.connection" reference-fk="fk_layer_connection"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_ms_layer_coordsys" type="relfk" layer="0"
+	 custom-color="#e7c131"
+	 src-table="s_vm4ms.ms_layer"
+	 dst-table="s_vm4ms.coordsys" reference-fk="fk_layer_coordsys"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_ms_layer_ms_layertype" type="relfk" layer="0"
+	 custom-color="#67d00c"
+	 src-table="s_vm4ms.ms_layer"
+	 dst-table="s_vm4ms.ms_layertype" reference-fk="fk_layer_layertype"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_ms_layer_source" type="relfk" layer="0"
+	 custom-color="#b9d993"
+	 src-table="s_vm4ms.ms_layer"
+	 dst-table="s_vm4ms.source" reference-fk="fk_layer_source"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_ms_layer_metadata" type="relfk" layer="0"
+	 custom-color="#cb3404"
+	 src-table="s_vm4ms.ms_layer"
+	 dst-table="s_vm4ms.metadata" reference-fk="fk_layer_metadata"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_msdebuglevel_vm_string" type="relfk" layer="0"
+	 custom-color="#d90c74"
+	 src-table="s_vm4ms.msdebuglevel"
+	 dst-table="s_vitis.vm_string" reference-fk="fk_string_msdebuglevel"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_wmsservice_web" type="relfk" layer="0"
+	 custom-color="#ae9fc5"
+	 src-table="s_vm4ms.wmsservice"
+	 dst-table="s_vm4ms.web" reference-fk="fk_wmsservice_web"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_wmsservice_ms_layer_ms_layer" type="relfk" layer="0"
+	 custom-color="#53efc7"
+	 src-table="s_vm4ms.wmsservice_ms_layer"
+	 dst-table="s_vm4ms.ms_layer" reference-fk="fk_wmsservice_layer_layer"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_wmsservice_ms_layer_wmsservice" type="relfk" layer="0"
+	 custom-color="#7e8165"
+	 src-table="s_vm4ms.wmsservice_ms_layer"
+	 dst-table="s_vm4ms.wmsservice" reference-fk="fk_wmsservice_layer_wmsservice"
+	 src-required="false" dst-required="false"/>
+
+<permission>
+	<object name="s_vitis" type="schema"/>
+	<roles names="u_vitis"/>
+	<privileges create="true" usage="true"/>
+</permission>
+<permission>
+	<object name="s_vitis" type="schema"/>
+	<roles names="vitis_admin"/>
+	<privileges usage="true"/>
+</permission>
+<permission>
+	<object name="s_vitis" type="schema"/>
+	<roles names="vitis_user"/>
+	<privileges usage="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.&quot;user&quot;" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.&quot;user&quot;" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_translation" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_translation" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_translation" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.&quot;group&quot;" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.&quot;group&quot;" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.&quot;group&quot;" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.user_group" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.user_group" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.domain" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.domain" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.domain" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.privileges" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.privileges" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.privileges" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_group" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_group" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_group" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_application_module" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_application_module" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_application_module" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_mode" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_mode" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_mode" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_mode_rolname" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_mode_rolname" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_mode_rolname" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_mode" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_mode" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_mode" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_ra_members_group" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_ra_members_group" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_ra_members_group" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_section" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_section" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_section" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_tab" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_tab" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_tab" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_section" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_section" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_section" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_tab" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_tab" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_tab" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user_group" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user_group" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user_group" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_application" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_application" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_application" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_module" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_module" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_module" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_string" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_string" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_string" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_table_button" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_table_button" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_table_button" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_table_field" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_table_field" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.vm_table_field" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.feature_style" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.feature_style" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.feature_style" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user_group_by_rights" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user_group_by_rights" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user_group_by_rights" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.billinggroup" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.billinggroup" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_billinggroup" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_billinggroup" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_billinggroup" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user" type="view"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.v_user" type="view"/>
+	<roles names="vitis_user"/>
+	<privileges select="true" update="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.rt_formatdate" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.rt_formatdate" type="table"/>
+	<roles names="vitis_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vitis.rt_formatdate" type="table"/>
+	<roles names="vitis_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap" type="schema"/>
+	<roles names="u_vitis"/>
+	<privileges create="true" usage="true"/>
+</permission>
+<permission>
+	<object name="s_vmap" type="schema"/>
+	<roles names="vmap_admin"/>
+	<privileges usage="true"/>
+</permission>
+<permission>
+	<object name="s_vmap" type="schema"/>
+	<roles names="vmap_user"/>
+	<privileges usage="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.version" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.version" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.version" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_service_type" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_service_type" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_service_type" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.service" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.service" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.service" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_crs" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_crs" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_crs" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layertheme" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layertheme" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layertheme" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map_group" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map_group" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map_group" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map_layer" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map_layer" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map_layer" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.event" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.event" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.event" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer_event" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer_event" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer_event" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.maptheme" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.maptheme" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.maptheme" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.map" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.module" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.module" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.module" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printtemplate" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printtemplate" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printtemplate" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printtemplate_group" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printtemplate_group" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printtemplate_group" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_format" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_format" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_format" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_orientation" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_orientation" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_orientation" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printparameter" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printparameter" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printparameter" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_outputformats" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_outputformats" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.rt_outputformats" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printstyle" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printstyle" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printstyle" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.user_printstyle" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.user_printstyle" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.user_printstyle" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.business_object" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.business_object" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.business_object" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_map" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_map" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_map" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_print_parameter" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_print_parameter" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_print_parameter" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_printstyle" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_printstyle" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_printstyle" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printreport" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printreport" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.printreport" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_printreport" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_printreport" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_printreport" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer_businessobject" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer_businessobject" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.layer_businessobject" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_layer" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_layer" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_map_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_map_layer" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_map_layer" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_template" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_template" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_template" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_template" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_template" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_template" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.user_defaultmap" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.user_defaultmap" type="table"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.user_defaultmap" type="table"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_defaultmap" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_defaultmap" type="view"/>
+	<roles names="vmap_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vmap.v_user_defaultmap" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms" type="schema"/>
+	<roles names="u_vitis"/>
+	<privileges create="true" usage="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms" type="schema"/>
+	<roles names="vm4ms_admin"/>
+	<privileges usage="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms" type="schema"/>
+	<roles names="vmap_user"/>
+	<privileges usage="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.connection" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.connection" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.coordsys" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.coordsys" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.ms_layer" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.ms_layer" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.ms_layertype" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.ms_layertype" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.msdebuglevel" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.msdebuglevel" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.source" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.source" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_msdebuglevel" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_msdebuglevel" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.web" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.web" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.wmsservice" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.wmsservice" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_private_wms_service" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_private_wms_service" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_wms_service" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_wms_service" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.wmsservice_ms_layer" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.wmsservice_ms_layer" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_wms_service_layers" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_wms_service_layers" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_wms_service_ms_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_wms_service_ms_layer" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_wms_service" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_wms_service" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_wms_service_layers" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_wms_service_layers" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_wms_service_ms_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_wms_service_ms_layer" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.version" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.version" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.metadata" type="table"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.metadata" type="table"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_ms_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_ms_layer" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_ms_layer" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_private_ms_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_private_ms_layer" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_ms_layer" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_public_ms_layer" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_ms_layer_name" type="view"/>
+	<roles names="u_vitis"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_ms_layer_name" type="view"/>
+	<roles names="vm4ms_admin"/>
+	<privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/>
+</permission>
+<permission>
+	<object name="s_vm4ms.v_ms_layer_name" type="view"/>
+	<roles names="vmap_user"/>
+	<privileges select="true"/>
+</permission>
+</dbmodel>
diff --git a/mcd/mcd.dbm b/mcd/vmap_2021.dbm
similarity index 66%
rename from mcd/mcd.dbm
rename to mcd/vmap_2021.dbm
index cf1d9d98d7980f22c0dc6f978137162173a29573..30ae9e0e4634e9fbae5f97d4bdcabd7fbe747277 100644
--- a/mcd/mcd.dbm
+++ b/mcd/vmap_2021.dbm
@@ -3,20 +3,24 @@
 CAUTION: Do not modify this file unless you know what you are doing.
          Unexpected results may occur if the code is changed deliberately.
 -->
-<dbmodel pgmodeler-ver="0.9.2-beta1_snapshot20190718" last-position="42,64" last-zoom="1.1" max-obj-count="9"
-	 default-schema="public" default-owner="postgres">
+<dbmodel pgmodeler-ver="0.9.2" last-position="89,0" last-zoom="1" max-obj-count="14"
+	 default-owner="postgres">
 <database name="new_database" is-template="false" allow-conns="true">
 </database>
 
 <schema name="public" layer="0" fill-color="#e1e1e1" sql-disabled="true">
 </schema>
 
+<schema name="s_vmap_2021" layer="0" rect-visible="true" fill-color="#ffff00">
+	<role name="postgres"/>
+</schema>
+
 <table name="datasource" layer="0" collapse-mode="2" max-obj-count="20">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
 	<position x="120" y="80"/>
-	<column name="datasource_id">
-		<type name="smallint" length="0"/>
+	<column name="datasource_id" not-null="true">
+		<type name="serial" length="0"/>
 	</column>
 	<column name="name">
 		<type name="smallint" length="0"/>
@@ -67,16 +71,19 @@ CAUTION: Do not modify this file unless you know what you are doing.
 	<column name="flux_password">
 		<type name="smallint" length="0"/>
 	</column>
+	<constraint name="pk_datasource_id" type="pk-constr" table="s_vmap_2021.datasource">
+		<columns names="datasource_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
 <table name="layer" layer="0" collapse-mode="2" max-obj-count="55">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
 	<position x="460" y="80"/>
-	<column name="layer_id">
-		<type name="smallint" length="0"/>
+	<column name="layer_id" not-null="true">
+		<type name="serial" length="0"/>
 	</column>
-	<column name="wms_id">
+	<column name="flux_id">
 		<type name="smallint" length="0"/>
 		<comment><![CDATA[Sans espace, sans accent...]]></comment>
 	</column>
@@ -216,13 +223,16 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	<column name="is_background_layer">
 		<type name="boolean" length="0"/>
 	</column>
+	<constraint name="pk_layer_id" type="pk-constr" table="s_vmap_2021.layer">
+		<columns names="layer_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
 <table name="map" layer="0" collapse-mode="2" max-obj-count="7">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
-	<position x="1240" y="160"/>
-	<column name="map_id">
+	<position x="1560" y="160"/>
+	<column name="map_id" not-null="true">
 		<type name="smallint" length="0"/>
 	</column>
 	<column name="name">
@@ -240,26 +250,32 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	<column name="thumbnail">
 		<type name="smallint" length="0"/>
 	</column>
+	<constraint name="map_pk" type="pk-constr" table="s_vmap_2021.map">
+		<columns names="map_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
 <table name="source" layer="0" collapse-mode="2" max-obj-count="2">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
 	<position x="140" y="480"/>
-	<column name="source_id">
-		<type name="smallint" length="0"/>
+	<column name="source_id" not-null="true">
+		<type name="serial" length="0"/>
 	</column>
 	<column name="name">
 		<type name="smallint" length="0"/>
 	</column>
+	<constraint name="source_pk" type="pk-constr" table="s_vmap_2021.source">
+		<columns names="source_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
 <table name="coordsys" layer="0" collapse-mode="2" max-obj-count="6">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
-	<position x="840" y="740"/>
-	<column name="coordsys_id">
-		<type name="smallint" length="0"/>
+	<position x="900" y="700"/>
+	<column name="coordsys_id" not-null="true">
+		<type name="serial" length="0"/>
 	</column>
 	<column name="definition">
 		<type name="smallint" length="0"/>
@@ -273,14 +289,17 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	<column name="epsg_definition">
 		<type name="smallint" length="0"/>
 	</column>
+	<constraint name="coordsys_pk" type="pk-constr" table="s_vmap_2021.coordsys">
+		<columns names="coordsys_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
 <table name="wms_srs" layer="0" collapse-mode="2" max-obj-count="3">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
-	<position x="1160" y="620"/>
-	<column name="wms_srs_id">
-		<type name="smallint" length="0"/>
+	<position x="900" y="520"/>
+	<column name="wms_srs_id" not-null="true">
+		<type name="serial" length="0"/>
 	</column>
 	<column name="layer_id">
 		<type name="smallint" length="0"/>
@@ -288,21 +307,36 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	<column name="coordsys_id">
 		<type name="smallint" length="0"/>
 	</column>
+	<constraint name="wms_srs_pk" type="pk-constr" table="s_vmap_2021.wms_srs">
+		<columns names="wms_srs_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
-<table name="ms_geomtype" layer="0" collapse-mode="2" max-obj-count="1">
+<table name="ms_geomtype" layer="0" collapse-mode="2" max-obj-count="3">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
-	<position x="980" y="400"/>
-	<column name="ms_geomtype_id">
-		<type name="smallint" length="0"/>
+	<position x="900" y="360"/>
+	<column name="ms_geomtype_id" not-null="true">
+		<type name="serial" length="0"/>
+	</column>
+	<column name="label">
+		<type name="varchar" length="255"/>
+	</column>
+	<column name="key">
+		<type name="varchar" length="255"/>
 	</column>
+	<constraint name="ms_geomtype_pk" type="pk-constr" table="s_vmap_2021.ms_geomtype">
+		<columns names="ms_geomtype_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
-<table name="layer_map" layer="0" collapse-mode="2" max-obj-count="6">
+<table name="layer_map" layer="0" collapse-mode="2" max-obj-count="7">
 	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
-	<position x="900" y="160"/>
+	<position x="1200" y="160"/>
+	<column name="layer_map_id" not-null="true">
+		<type name="serial" length="0"/>
+	</column>
 	<column name="layer_id">
 		<type name="smallint" length="0"/>
 	</column>
@@ -318,11 +352,73 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	<column name="layer_visible">
 		<type name="smallint" length="0"/>
 	</column>
+	<constraint name="layer_map_pk" type="pk-constr" table="s_vmap_2021.layer_map">
+		<columns names="layer_map_id" ref-type="src-columns"/>
+	</constraint>
 </table>
 
-<schema name="s_vmap_2021" layer="0" rect-visible="true" fill-color="#ffff00">
+<table name="msservice" layer="0" collapse-mode="2" max-obj-count="8">
+	<schema name="s_vmap_2021"/>
 	<role name="postgres"/>
-</schema>
+	<position x="1560" y="420"/>
+	<column name="msservice_id" not-null="true">
+		<type name="serial" length="0"/>
+	</column>
+	<column name="name">
+		<type name="varchar" length="255"/>
+	</column>
+	<column name="definition_json">
+		<type name="text" length="0"/>
+	</column>
+	<column name="definition_mapserver">
+		<type name="text" length="0"/>
+	</column>
+	<column name="public" default-value="true">
+		<type name="boolean" length="0"/>
+	</column>
+	<column name="msdebuglevel_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="coordsys_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="pk_msservice_id" type="pk-constr" table="s_vmap_2021.msservice">
+		<columns names="msservice_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="msservice_layer" layer="0" collapse-mode="2" max-obj-count="3">
+	<schema name="s_vmap_2021"/>
+	<role name="postgres"/>
+	<position x="1200" y="420"/>
+	<column name="msservice_layer_id" not-null="true">
+		<type name="serial" length="0"/>
+	</column>
+	<column name="msservice_id">
+		<type name="integer" length="0"/>
+	</column>
+	<column name="layer_id">
+		<type name="integer" length="0"/>
+	</column>
+	<constraint name="pk_msservice_layer_id" type="pk-constr" table="s_vmap_2021.msservice_layer">
+		<columns names="msservice_layer_id" ref-type="src-columns"/>
+	</constraint>
+</table>
+
+<table name="msdebuglevel" layer="0" collapse-mode="2" max-obj-count="2">
+	<schema name="s_vmap_2021"/>
+	<role name="postgres"/>
+	<position x="1560" y="660"/>
+	<column name="msdebuglevel_id" not-null="true">
+		<type name="serial" length="0"/>
+	</column>
+	<column name="label">
+		<type name="varchar" length="255"/>
+	</column>
+	<constraint name="pk_msdebuglevel_id" type="pk-constr" table="s_vmap_2021.msdebuglevel">
+		<columns names="msdebuglevel_id" ref-type="src-columns"/>
+	</constraint>
+</table>
 
 <constraint name="fk_datasource_id" type="fk-constr" comparison-type="MATCH FULL"
 	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.datasource" table="s_vmap_2021.layer">
@@ -372,6 +468,30 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	<columns names="map_id" ref-type="dst-columns"/>
 </constraint>
 
+<constraint name="fk_msdebuglevel_id" type="fk-constr" comparison-type="MATCH FULL"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.msdebuglevel" table="s_vmap_2021.msservice">
+	<columns names="msdebuglevel_id" ref-type="src-columns"/>
+	<columns names="msdebuglevel_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_coordsys_id" type="fk-constr" comparison-type="MATCH FULL"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.coordsys" table="s_vmap_2021.msservice">
+	<columns names="coordsys_id" ref-type="src-columns"/>
+	<columns names="coordsys_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_msservice_id" type="fk-constr" comparison-type="MATCH FULL"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.msservice" table="s_vmap_2021.msservice_layer">
+	<columns names="msservice_id" ref-type="src-columns"/>
+	<columns names="msservice_id" ref-type="dst-columns"/>
+</constraint>
+
+<constraint name="fk_layer_id" type="fk-constr" comparison-type="MATCH FULL"
+	 upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.layer" table="s_vmap_2021.msservice_layer">
+	<columns names="layer_id" ref-type="src-columns"/>
+	<columns names="layer_id" ref-type="dst-columns"/>
+</constraint>
+
 <relationship name="rel_layer_datasource" type="relfk" layer="0"
 	 src-table="s_vmap_2021.layer"
 	 dst-table="s_vmap_2021.datasource" reference-fk="fk_datasource_id"
@@ -387,7 +507,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	 dst-table="s_vmap_2021.coordsys" reference-fk="fk_coordsys_id"
 	 src-required="false" dst-required="false"/>
 
-<relationship name="rel_layer_ms_layertype" type="relfk" layer="0"
+<relationship name="rel_layer_ms_geomtype" type="relfk" layer="0"
 	 src-table="s_vmap_2021.layer"
 	 dst-table="s_vmap_2021.ms_geomtype" reference-fk="fk_geomtype_id"
 	 src-required="false" dst-required="false"/>
@@ -412,4 +532,24 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c
 	 dst-table="s_vmap_2021.map" reference-fk="fk_map_id"
 	 src-required="false" dst-required="false"/>
 
+<relationship name="rel_msservice_layer_msservice" type="relfk" layer="0"
+	 src-table="s_vmap_2021.msservice_layer"
+	 dst-table="s_vmap_2021.msservice" reference-fk="fk_msservice_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_msservice_layer_layer" type="relfk" layer="0"
+	 src-table="s_vmap_2021.msservice_layer"
+	 dst-table="s_vmap_2021.layer" reference-fk="fk_layer_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_msservice_msdebuglevel" type="relfk" layer="0"
+	 src-table="s_vmap_2021.msservice"
+	 dst-table="s_vmap_2021.msdebuglevel" reference-fk="fk_msdebuglevel_id"
+	 src-required="false" dst-required="false"/>
+
+<relationship name="rel_msservice_coordsys" type="relfk" layer="0"
+	 src-table="s_vmap_2021.msservice"
+	 dst-table="s_vmap_2021.coordsys" reference-fk="fk_coordsys_id"
+	 src-required="false" dst-required="false"/>
+
 </dbmodel>