Changes for form personalization
authorMartin Taal <martin.taal@openbravo.com>
Mon, 01 Aug 2011 15:05:30 +0200
changeset 13359 87854551de21
parent 13358 b9cb4efeb8fd
child 13360 dcb900f90f38
Changes for form personalization
modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_UIPERSONALIZATION.xml
modules/org.openbravo.client.application/src-db/database/model/triggers/OBUIAPP_UIPERS_MOD_TRG.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_ELEMENT.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TAB.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TABLE.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TREENODE.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_WINDOW.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/OBCLKER_TEMPLATE.xml
modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java
modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java
modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java
modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationHandler.java
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-form.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-grid.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-personalization-form.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/properties.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section-audit.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-attachments.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-notes.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-customize-form-toolbar-button.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-customize-form.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-eventhandler.js
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconButton-personalization.png
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconField.png
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconFolder.png
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconFolder_closed.png
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconFolder_open.png
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-personalization-styles.css
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-personalization-styles.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_UIPERSONALIZATION.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+  <database name="TABLE OBUIAPP_UIPERSONALIZATION">
+    <table name="OBUIAPP_UIPERSONALIZATION" primaryKey="OBUIAPP_UIPERS_KEY">
+      <column name="OBUIAPP_UIPERSONALIZATION_ID" primaryKey="true" required="true" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_CLIENT_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_ORG_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="ISACTIVE" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false">
+        <default><![CDATA[Y]]></default>
+        <onCreateDefault/>
+      </column>
+      <column name="CREATED" primaryKey="false" required="true" type="TIMESTAMP" size="7" autoIncrement="false">
+        <default><![CDATA[SYSDATE]]></default>
+        <onCreateDefault/>
+      </column>
+      <column name="CREATEDBY" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="UPDATED" primaryKey="false" required="true" type="TIMESTAMP" size="7" autoIncrement="false">
+        <default><![CDATA[SYSDATE]]></default>
+        <onCreateDefault/>
+      </column>
+      <column name="UPDATEDBY" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="DESCRIPTION" primaryKey="false" required="false" type="NVARCHAR" size="255" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_TAB_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_USER_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="VALUE" primaryKey="false" required="false" type="CLOB" size="4000" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="VISIBLEAT_CLIENT_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault><![CDATA[AD_CLIENT_ID]]></onCreateDefault>
+      </column>
+      <column name="VISIBLEAT_ORG_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault><![CDATA[AD_ORG_ID]]></onCreateDefault>
+      </column>
+      <column name="VISIBLEAT_ROLE_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_MODULE_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <foreign-key foreignTable="AD_CLIENT" name="OBUIAPP_UIPERS_CLIENT">
+        <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_CLIENT" name="OBUIAPP_UIPERS_CLIENTVIS">
+        <reference local="VISIBLEAT_CLIENT_ID" foreign="AD_CLIENT_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_MODULE" name="OBUIAPP_UIPERS_MODULE">
+        <reference local="AD_MODULE_ID" foreign="AD_MODULE_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_ORG" name="OBUIAPP_UIPERS_ORG">
+        <reference local="AD_ORG_ID" foreign="AD_ORG_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_ORG" name="OBUIAPP_UIPERS_ORGVISIBLE">
+        <reference local="VISIBLEAT_ORG_ID" foreign="AD_ORG_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_ROLE" name="OBUIAPP_UIPERS_ROLEVISIBLE">
+        <reference local="VISIBLEAT_ROLE_ID" foreign="AD_ROLE_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_TAB" name="OBUIAPP_UIPERS_TAB" onDelete="cascade">
+        <reference local="AD_TAB_ID" foreign="AD_TAB_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_USER" name="OBUIAPP_UIPERS_USER">
+        <reference local="AD_USER_ID" foreign="AD_USER_ID"/>
+      </foreign-key>
+      <check name="OBUIAPP_UIPERSO_ISACTIVE_CHECK"><![CDATA[ISACTIVE IN ('Y', 'N')]]></check>
+    </table>
+  </database>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/src-db/database/model/triggers/OBUIAPP_UIPERS_MOD_TRG.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+  <database name="TRIGGER OBUIAPP_UIPERS_MOD_TRG">
+    <trigger name="OBUIAPP_UIPERS_MOD_TRG" table="OBUIAPP_UIPERSONALIZATION" fires="before" insert="true" update="true" delete="true" foreach="row">
+      <body><![CDATA[
+
+/*************************************************************************
+* The contents of this file are subject to the Openbravo  Public  License
+* Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+* Version 1.1  with a permitted attribution clause; you may not  use this
+* file except in compliance with the License. You  may  obtain  a copy of
+* the License at http://www.openbravo.com/legal/license.html
+* Software distributed under the License  is  distributed  on  an "AS IS"
+* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+* License for the specific  language  governing  rights  and  limitations
+* under the License.
+* The Original Code is Openbravo ERP.
+* The Initial Developer of the Original Code is Openbravo SLU
+* All portions are Copyright (C) 2011 Openbravo SLU
+* All Rights Reserved.
+* Contributor(s):  ______________________________________.
+************************************************************************/
+  devTemplate NUMBER;
+  devModule   CHAR(1);
+  currentID  VARCHAR2(32);
+  currentModuleID  VARCHAR2(32);
+  vAux NUMBER;
+BEGIN
+    
+    IF AD_isTriggerEnabled()='N' THEN RETURN;
+    END IF;
+
+ --Check if trying to move object from module not in dev
+  IF (UPDATING) THEN
+    IF (COALESCE(:NEW.AD_Module_ID , '.') != COALESCE(:OLD.AD_Module_ID , '.')) THEN
+      SELECT COUNT(*) 
+        INTO vAux
+        FROM AD_MODULE
+       WHERE AD_MODULE_ID = :old.AD_Module_ID
+        AND isindevelopment = 'N';
+      IF (vAux!=0) THEN
+        RAISE_APPLICATION_ERROR(-20000, '@ChangeNotInDevModule@');
+      END IF;
+    END IF;
+  END IF;
+
+  SELECT COUNT(*)
+    INTO devTemplate
+    FROM AD_MODULE
+   WHERE IsInDevelopment = 'Y'
+     AND Type = 'T';
+     
+  IF (UPDATING OR INSERTING) THEN
+    currentID := :new.OBUIAPP_UIPERSONALIZATION_ID;
+    currentModuleID := :new.AD_Module_ID;
+  ELSE
+    currentID := :old.OBUIAPP_UIPERSONALIZATION_ID;
+    currentModuleID := :old.AD_Module_ID;
+  END IF;
+  
+  if currentModuleID is not null then
+    SELECT M.IsInDevelopment
+      INTO devModule
+      FROM AD_MODULE M
+     WHERE M.AD_MODULE_ID = currentModuleID;
+  end if;
+     
+  IF (UPDATING AND devTemplate=0 AND devModule='N' and currentModuleID is not null) THEN
+    IF (COALESCE(:NEW.AD_CLIENT_ID, '.') != COALESCE(:old.AD_CLIENT_ID, '.') OR
+        COALESCE(:NEW.AD_ORG_ID, '.') != COALESCE(:old.AD_ORG_ID, '.') OR
+        COALESCE(:NEW.ISACTIVE, '.') != COALESCE(:old.ISACTIVE, '.') OR
+        COALESCE(:NEW.AD_MODULE_ID, '.') != COALESCE(:old.AD_MODULE_ID, '.') OR
+        coalesce(:new.AD_TAB_ID, '.') != coalesce(:old.AD_TAB_ID, '.') or   
+        coalesce(:new.AD_USER_ID, '.') != coalesce(:old.AD_USER_ID, '.') or   
+        coalesce(:new.DESCRIPTION, '.') != coalesce(:old.DESCRIPTION, '.') or   
+        coalesce(:new.VALUE, '.') != coalesce(:old.VALUE, '.') or   
+        coalesce(:new.VISIBLEAT_CLIENT_ID , '.') != coalesce(:old.VISIBLEAT_CLIENT_ID , '.') or
+        coalesce(:new.VISIBLEAT_ORG_ID, '.') != coalesce(:old.VISIBLEAT_ORG_ID, '.') or   
+        coalesce(:new.VISIBLEAT_ROLE_ID, '.') != coalesce(:old.VISIBLEAT_ROLE_ID, '.')) THEN
+      RAISE_APPLICATION_ERROR(-20000, '@20532@');
+    END IF;
+  END IF;
+  
+  IF ((DELETING OR INSERTING) AND devModule='N' and currentModuleID is not null) THEN
+    RAISE_APPLICATION_ERROR(-20000, '@20533@');
+  END IF;
+END OBUIAPP_UIPERS_MOD_TRG
+]]></body>
+    </trigger>
+  </database>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -1,5 +1,39 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <data>
+<!--0060401C958644D4AA38E9226FBEE232--><AD_COLUMN>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_COLUMN_ID><![CDATA[0060401C958644D4AA38E9226FBEE232]]></AD_COLUMN_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--0060401C958644D4AA38E9226FBEE232-->  <NAME><![CDATA[Visible at Organization]]></NAME>
+<!--0060401C958644D4AA38E9226FBEE232-->  <DESCRIPTION><![CDATA[Defines Organization visibility.]]></DESCRIPTION>
+<!--0060401C958644D4AA38E9226FBEE232-->  <HELP><![CDATA[Defines which is the preference's visibility at Organization level. The preference will be visible from all organizations in the tree bellow this one. If this value is empty the preference will be visible from all Organizations.]]></HELP>
+<!--0060401C958644D4AA38E9226FBEE232-->  <COLUMNNAME><![CDATA[Visibleat_Org_ID]]></COLUMNNAME>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_REFERENCE_ID><![CDATA[18]]></AD_REFERENCE_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_REFERENCE_VALUE_ID><![CDATA[276]]></AD_REFERENCE_VALUE_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--0060401C958644D4AA38E9226FBEE232-->  <SEQNO><![CDATA[130]]></SEQNO>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_ELEMENT_ID><![CDATA[853A123F5E1E826EE040007F01015616]]></AD_ELEMENT_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--0060401C958644D4AA38E9226FBEE232-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--0060401C958644D4AA38E9226FBEE232-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--0060401C958644D4AA38E9226FBEE232-->  <POSITION><![CDATA[14]]></POSITION>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--0060401C958644D4AA38E9226FBEE232-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--0060401C958644D4AA38E9226FBEE232-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--0060401C958644D4AA38E9226FBEE232--></AD_COLUMN>
+
 <!--01893C70B2F4473CA19E67B452FEBC0A--><AD_COLUMN>
 <!--01893C70B2F4473CA19E67B452FEBC0A-->  <AD_COLUMN_ID><![CDATA[01893C70B2F4473CA19E67B452FEBC0A]]></AD_COLUMN_ID>
 <!--01893C70B2F4473CA19E67B452FEBC0A-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -35,6 +69,39 @@
 <!--01893C70B2F4473CA19E67B452FEBC0A-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--01893C70B2F4473CA19E67B452FEBC0A--></AD_COLUMN>
 
+<!--01D197C1A5A74518AFC6C77F50B7D14C--><AD_COLUMN>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_COLUMN_ID><![CDATA[01D197C1A5A74518AFC6C77F50B7D14C]]></AD_COLUMN_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <NAME><![CDATA[Updated By]]></NAME>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <DESCRIPTION><![CDATA[User who updated this records]]></DESCRIPTION>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <HELP><![CDATA[The Updated By field indicates the user who updated this record.]]></HELP>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <COLUMNNAME><![CDATA[Updatedby]]></COLUMNNAME>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_REFERENCE_ID><![CDATA[30]]></AD_REFERENCE_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <SEQNO><![CDATA[80]]></SEQNO>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_ELEMENT_ID><![CDATA[608]]></AD_ELEMENT_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <POSITION><![CDATA[8]]></POSITION>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--01D197C1A5A74518AFC6C77F50B7D14C-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--01D197C1A5A74518AFC6C77F50B7D14C--></AD_COLUMN>
+
 <!--0933E14B5EC040F7AABAF84468E1BA92--><AD_COLUMN>
 <!--0933E14B5EC040F7AABAF84468E1BA92-->  <AD_COLUMN_ID><![CDATA[0933E14B5EC040F7AABAF84468E1BA92]]></AD_COLUMN_ID>
 <!--0933E14B5EC040F7AABAF84468E1BA92-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -137,6 +204,40 @@
 <!--0BE1E79B283540A1A9CDDACF3CD969BE-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--0BE1E79B283540A1A9CDDACF3CD969BE--></AD_COLUMN>
 
+<!--0FF70EF0FE8142BFB6F980CF54DFF184--><AD_COLUMN>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_COLUMN_ID><![CDATA[0FF70EF0FE8142BFB6F980CF54DFF184]]></AD_COLUMN_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <NAME><![CDATA[Updated]]></NAME>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <DESCRIPTION><![CDATA[x not implemented]]></DESCRIPTION>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <HELP><![CDATA[The Updated field indicates the date that this record was updated.]]></HELP>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <COLUMNNAME><![CDATA[Updated]]></COLUMNNAME>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_REFERENCE_ID><![CDATA[16]]></AD_REFERENCE_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <FIELDLENGTH><![CDATA[19]]></FIELDLENGTH>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <DEFAULTVALUE><![CDATA[@#Date@]]></DEFAULTVALUE>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <SEQNO><![CDATA[70]]></SEQNO>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_ELEMENT_ID><![CDATA[607]]></AD_ELEMENT_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <POSITION><![CDATA[7]]></POSITION>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--0FF70EF0FE8142BFB6F980CF54DFF184--></AD_COLUMN>
+
 <!--1330F77151CC4A9BBC1B0151F27952B9--><AD_COLUMN>
 <!--1330F77151CC4A9BBC1B0151F27952B9-->  <AD_COLUMN_ID><![CDATA[1330F77151CC4A9BBC1B0151F27952B9]]></AD_COLUMN_ID>
 <!--1330F77151CC4A9BBC1B0151F27952B9-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -205,6 +306,41 @@
 <!--1385F28B887A4E419D8C6AC814A2268F-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--1385F28B887A4E419D8C6AC814A2268F--></AD_COLUMN>
 
+<!--1593FFD78DB544FE84B647F803900C37--><AD_COLUMN>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_COLUMN_ID><![CDATA[1593FFD78DB544FE84B647F803900C37]]></AD_COLUMN_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1593FFD78DB544FE84B647F803900C37-->  <NAME><![CDATA[Client]]></NAME>
+<!--1593FFD78DB544FE84B647F803900C37-->  <DESCRIPTION><![CDATA[Client for this installation.]]></DESCRIPTION>
+<!--1593FFD78DB544FE84B647F803900C37-->  <HELP><![CDATA[A Client is a company or a legal entity. You cannot share data between Clients.]]></HELP>
+<!--1593FFD78DB544FE84B647F803900C37-->  <COLUMNNAME><![CDATA[AD_Client_ID]]></COLUMNNAME>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_VAL_RULE_ID><![CDATA[103]]></AD_VAL_RULE_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--1593FFD78DB544FE84B647F803900C37-->  <DEFAULTVALUE><![CDATA[@AD_CLIENT_ID@]]></DEFAULTVALUE>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--1593FFD78DB544FE84B647F803900C37-->  <SEQNO><![CDATA[20]]></SEQNO>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_ELEMENT_ID><![CDATA[102]]></AD_ELEMENT_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--1593FFD78DB544FE84B647F803900C37-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--1593FFD78DB544FE84B647F803900C37-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--1593FFD78DB544FE84B647F803900C37-->  <POSITION><![CDATA[2]]></POSITION>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--1593FFD78DB544FE84B647F803900C37-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--1593FFD78DB544FE84B647F803900C37-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--1593FFD78DB544FE84B647F803900C37--></AD_COLUMN>
+
 <!--16E27153F7C94F3A94DE047D81486F75--><AD_COLUMN>
 <!--16E27153F7C94F3A94DE047D81486F75-->  <AD_COLUMN_ID><![CDATA[16E27153F7C94F3A94DE047D81486F75]]></AD_COLUMN_ID>
 <!--16E27153F7C94F3A94DE047D81486F75-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -773,6 +909,37 @@
 <!--40BF5714171243E0BF9928C4D08E1B17-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--40BF5714171243E0BF9928C4D08E1B17--></AD_COLUMN>
 
+<!--48FAAFCA11A143169FD7517D67531DD1--><AD_COLUMN>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_COLUMN_ID><![CDATA[48FAAFCA11A143169FD7517D67531DD1]]></AD_COLUMN_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <NAME><![CDATA[Obuiapp_Uipersonalization_ID]]></NAME>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <COLUMNNAME><![CDATA[Obuiapp_Uipersonalization_ID]]></COLUMNNAME>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_REFERENCE_ID><![CDATA[13]]></AD_REFERENCE_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISKEY><![CDATA[Y]]></ISKEY>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <SEQNO><![CDATA[10]]></SEQNO>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_ELEMENT_ID><![CDATA[50069593057E4B64AE1FCF29E2898A74]]></AD_ELEMENT_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <POSITION><![CDATA[1]]></POSITION>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--48FAAFCA11A143169FD7517D67531DD1-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--48FAAFCA11A143169FD7517D67531DD1--></AD_COLUMN>
+
 <!--49103BC86BD446E3AD03591FC727EEB7--><AD_COLUMN>
 <!--49103BC86BD446E3AD03591FC727EEB7-->  <AD_COLUMN_ID><![CDATA[49103BC86BD446E3AD03591FC727EEB7]]></AD_COLUMN_ID>
 <!--49103BC86BD446E3AD03591FC727EEB7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1383,6 +1550,39 @@
 <!--7908F76076C54215A06C9F3FA47C296E-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--7908F76076C54215A06C9F3FA47C296E--></AD_COLUMN>
 
+<!--7EA5AB885F84493CA2E998594BBC09C2--><AD_COLUMN>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_COLUMN_ID><![CDATA[7EA5AB885F84493CA2E998594BBC09C2]]></AD_COLUMN_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <NAME><![CDATA[Description]]></NAME>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <DESCRIPTION><![CDATA[A space to write additional related information.]]></DESCRIPTION>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <HELP><![CDATA[A description is limited to 255 characters.]]></HELP>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <COLUMNNAME><![CDATA[Description]]></COLUMNNAME>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <FIELDLENGTH><![CDATA[255]]></FIELDLENGTH>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <SEQNO><![CDATA[90]]></SEQNO>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_ELEMENT_ID><![CDATA[275]]></AD_ELEMENT_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <POSITION><![CDATA[9]]></POSITION>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--7EA5AB885F84493CA2E998594BBC09C2-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--7EA5AB885F84493CA2E998594BBC09C2--></AD_COLUMN>
+
 <!--854B307A20F04064B0CDA13C7A4DEC6E--><AD_COLUMN>
 <!--854B307A20F04064B0CDA13C7A4DEC6E-->  <AD_COLUMN_ID><![CDATA[854B307A20F04064B0CDA13C7A4DEC6E]]></AD_COLUMN_ID>
 <!--854B307A20F04064B0CDA13C7A4DEC6E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3390,6 +3590,40 @@
 <!--A890369E8CB240B3825A25E6F9C4A385-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--A890369E8CB240B3825A25E6F9C4A385--></AD_COLUMN>
 
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF--><AD_COLUMN>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_COLUMN_ID><![CDATA[ABEE9EA6CC8344789ADA2ABC532DA2FF]]></AD_COLUMN_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <NAME><![CDATA[Module]]></NAME>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <DESCRIPTION><![CDATA[Module]]></DESCRIPTION>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <HELP><![CDATA[Indicates the module the element forms part of.]]></HELP>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <COLUMNNAME><![CDATA[AD_Module_ID]]></COLUMNNAME>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_VAL_RULE_ID><![CDATA[C45CFD74FF5145B0A356E9233D49996F]]></AD_VAL_RULE_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <SEQNO><![CDATA[150]]></SEQNO>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_ELEMENT_ID><![CDATA[565E666A619A2693E040007F01002851]]></AD_ELEMENT_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <POSITION><![CDATA[16]]></POSITION>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--ABEE9EA6CC8344789ADA2ABC532DA2FF--></AD_COLUMN>
+
 <!--ACEF584A3AFB4232B8D0473A0F7F9274--><AD_COLUMN>
 <!--ACEF584A3AFB4232B8D0473A0F7F9274-->  <AD_COLUMN_ID><![CDATA[ACEF584A3AFB4232B8D0473A0F7F9274]]></AD_COLUMN_ID>
 <!--ACEF584A3AFB4232B8D0473A0F7F9274-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3558,6 +3792,39 @@
 <!--B4A0F6DE4916418DBA13952F481594FE-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--B4A0F6DE4916418DBA13952F481594FE--></AD_COLUMN>
 
+<!--B4FD9EC573F94B9096FF3A41284F338F--><AD_COLUMN>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_COLUMN_ID><![CDATA[B4FD9EC573F94B9096FF3A41284F338F]]></AD_COLUMN_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <NAME><![CDATA[User]]></NAME>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <DESCRIPTION><![CDATA[An acquaintance to reach for information related to the business partner.]]></DESCRIPTION>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <HELP><![CDATA[The User identifies a unique user in the system. This could be an internal user or a business partner contact]]></HELP>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <COLUMNNAME><![CDATA[AD_User_ID]]></COLUMNNAME>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <SEQNO><![CDATA[110]]></SEQNO>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_ELEMENT_ID><![CDATA[138]]></AD_ELEMENT_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <POSITION><![CDATA[11]]></POSITION>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--B4FD9EC573F94B9096FF3A41284F338F-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--B4FD9EC573F94B9096FF3A41284F338F--></AD_COLUMN>
+
 <!--B68B2C6EFCDA4547B0883DDEEF273B7B--><AD_COLUMN>
 <!--B68B2C6EFCDA4547B0883DDEEF273B7B-->  <AD_COLUMN_ID><![CDATA[B68B2C6EFCDA4547B0883DDEEF273B7B]]></AD_COLUMN_ID>
 <!--B68B2C6EFCDA4547B0883DDEEF273B7B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3591,6 +3858,74 @@
 <!--B68B2C6EFCDA4547B0883DDEEF273B7B-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--B68B2C6EFCDA4547B0883DDEEF273B7B--></AD_COLUMN>
 
+<!--BB39498850B942A1B29086C89163F014--><AD_COLUMN>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_COLUMN_ID><![CDATA[BB39498850B942A1B29086C89163F014]]></AD_COLUMN_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--BB39498850B942A1B29086C89163F014-->  <NAME><![CDATA[Visible at Role]]></NAME>
+<!--BB39498850B942A1B29086C89163F014-->  <DESCRIPTION><![CDATA[Defines Role visibility.]]></DESCRIPTION>
+<!--BB39498850B942A1B29086C89163F014-->  <HELP><![CDATA[Defines which is the preference's visibility at Role level. If this value is empty the preference will be visible from all Roles.]]></HELP>
+<!--BB39498850B942A1B29086C89163F014-->  <COLUMNNAME><![CDATA[Visibleat_Role_ID]]></COLUMNNAME>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_REFERENCE_ID><![CDATA[18]]></AD_REFERENCE_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_REFERENCE_VALUE_ID><![CDATA[800105]]></AD_REFERENCE_VALUE_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--BB39498850B942A1B29086C89163F014-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--BB39498850B942A1B29086C89163F014-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--BB39498850B942A1B29086C89163F014-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--BB39498850B942A1B29086C89163F014-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--BB39498850B942A1B29086C89163F014-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--BB39498850B942A1B29086C89163F014-->  <SEQNO><![CDATA[140]]></SEQNO>
+<!--BB39498850B942A1B29086C89163F014-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--BB39498850B942A1B29086C89163F014-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--BB39498850B942A1B29086C89163F014-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_ELEMENT_ID><![CDATA[853A123F5E1F826EE040007F01015616]]></AD_ELEMENT_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--BB39498850B942A1B29086C89163F014-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--BB39498850B942A1B29086C89163F014-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--BB39498850B942A1B29086C89163F014-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--BB39498850B942A1B29086C89163F014-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--BB39498850B942A1B29086C89163F014-->  <POSITION><![CDATA[15]]></POSITION>
+<!--BB39498850B942A1B29086C89163F014-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--BB39498850B942A1B29086C89163F014-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--BB39498850B942A1B29086C89163F014-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--BB39498850B942A1B29086C89163F014--></AD_COLUMN>
+
+<!--BBA0362A5E424CDDBFA2A008A942F218--><AD_COLUMN>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_COLUMN_ID><![CDATA[BBA0362A5E424CDDBFA2A008A942F218]]></AD_COLUMN_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <NAME><![CDATA[Visible at Client]]></NAME>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <DESCRIPTION><![CDATA[Defines Client visibility.]]></DESCRIPTION>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <HELP><![CDATA[Defines which is the preference's visibility at client level. If this value is empty the preference will be visible from all Clients.]]></HELP>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <COLUMNNAME><![CDATA[Visibleat_Client_ID]]></COLUMNNAME>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_REFERENCE_ID><![CDATA[18]]></AD_REFERENCE_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_REFERENCE_VALUE_ID><![CDATA[129]]></AD_REFERENCE_VALUE_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <SEQNO><![CDATA[170]]></SEQNO>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_ELEMENT_ID><![CDATA[853A123F5E20826EE040007F01015616]]></AD_ELEMENT_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <POSITION><![CDATA[13]]></POSITION>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--BBA0362A5E424CDDBFA2A008A942F218-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--BBA0362A5E424CDDBFA2A008A942F218--></AD_COLUMN>
+
 <!--C42A9A71AA1D4DCBA648182611824A21--><AD_COLUMN>
 <!--C42A9A71AA1D4DCBA648182611824A21-->  <AD_COLUMN_ID><![CDATA[C42A9A71AA1D4DCBA648182611824A21]]></AD_COLUMN_ID>
 <!--C42A9A71AA1D4DCBA648182611824A21-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3727,6 +4062,40 @@
 <!--C7D7CF78838A49048B48DBD3CAC16754-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--C7D7CF78838A49048B48DBD3CAC16754--></AD_COLUMN>
 
+<!--C9C7889EF5A9458FB611B5C37EF54813--><AD_COLUMN>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_COLUMN_ID><![CDATA[C9C7889EF5A9458FB611B5C37EF54813]]></AD_COLUMN_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <NAME><![CDATA[Creation Date]]></NAME>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <DESCRIPTION><![CDATA[The date that this record is completed.]]></DESCRIPTION>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <HELP><![CDATA[The Created field indicates the date that this record was created.]]></HELP>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <COLUMNNAME><![CDATA[Created]]></COLUMNNAME>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_REFERENCE_ID><![CDATA[16]]></AD_REFERENCE_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <FIELDLENGTH><![CDATA[19]]></FIELDLENGTH>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <DEFAULTVALUE><![CDATA[@#Date@]]></DEFAULTVALUE>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <SEQNO><![CDATA[50]]></SEQNO>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_ELEMENT_ID><![CDATA[245]]></AD_ELEMENT_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <POSITION><![CDATA[5]]></POSITION>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--C9C7889EF5A9458FB611B5C37EF54813-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--C9C7889EF5A9458FB611B5C37EF54813--></AD_COLUMN>
+
 <!--C9FF2FB2E71A4BD39716BD627603CB1F--><AD_COLUMN>
 <!--C9FF2FB2E71A4BD39716BD627603CB1F-->  <AD_COLUMN_ID><![CDATA[C9FF2FB2E71A4BD39716BD627603CB1F]]></AD_COLUMN_ID>
 <!--C9FF2FB2E71A4BD39716BD627603CB1F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3962,6 +4331,39 @@
 <!--E557067E04F1421D916AAC3467BC2C22-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--E557067E04F1421D916AAC3467BC2C22--></AD_COLUMN>
 
+<!--E5831C3A7FB243B78D6C6446D63CAF89--><AD_COLUMN>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_COLUMN_ID><![CDATA[E5831C3A7FB243B78D6C6446D63CAF89]]></AD_COLUMN_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <NAME><![CDATA[Created By]]></NAME>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <DESCRIPTION><![CDATA[User who created this records]]></DESCRIPTION>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <HELP><![CDATA[The Created By field indicates the user who created this record.]]></HELP>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <COLUMNNAME><![CDATA[Createdby]]></COLUMNNAME>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_REFERENCE_ID><![CDATA[30]]></AD_REFERENCE_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <SEQNO><![CDATA[60]]></SEQNO>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_ELEMENT_ID><![CDATA[246]]></AD_ELEMENT_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <POSITION><![CDATA[6]]></POSITION>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--E5831C3A7FB243B78D6C6446D63CAF89-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--E5831C3A7FB243B78D6C6446D63CAF89--></AD_COLUMN>
+
 <!--E8D215F7042A4209BE321D7B83AA163A--><AD_COLUMN>
 <!--E8D215F7042A4209BE321D7B83AA163A-->  <AD_COLUMN_ID><![CDATA[E8D215F7042A4209BE321D7B83AA163A]]></AD_COLUMN_ID>
 <!--E8D215F7042A4209BE321D7B83AA163A-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3995,6 +4397,76 @@
 <!--E8D215F7042A4209BE321D7B83AA163A-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--E8D215F7042A4209BE321D7B83AA163A--></AD_COLUMN>
 
+<!--EA987D7F6FB744A992C332308296DC18--><AD_COLUMN>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_COLUMN_ID><![CDATA[EA987D7F6FB744A992C332308296DC18]]></AD_COLUMN_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--EA987D7F6FB744A992C332308296DC18-->  <NAME><![CDATA[Organization]]></NAME>
+<!--EA987D7F6FB744A992C332308296DC18-->  <DESCRIPTION><![CDATA[Organizational entity within client]]></DESCRIPTION>
+<!--EA987D7F6FB744A992C332308296DC18-->  <HELP><![CDATA[An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.]]></HELP>
+<!--EA987D7F6FB744A992C332308296DC18-->  <COLUMNNAME><![CDATA[AD_Org_ID]]></COLUMNNAME>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--EA987D7F6FB744A992C332308296DC18-->  <DEFAULTVALUE><![CDATA[@AD_ORG_ID@]]></DEFAULTVALUE>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--EA987D7F6FB744A992C332308296DC18-->  <SEQNO><![CDATA[30]]></SEQNO>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_ELEMENT_ID><![CDATA[113]]></AD_ELEMENT_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--EA987D7F6FB744A992C332308296DC18-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--EA987D7F6FB744A992C332308296DC18-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--EA987D7F6FB744A992C332308296DC18-->  <POSITION><![CDATA[3]]></POSITION>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--EA987D7F6FB744A992C332308296DC18-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--EA987D7F6FB744A992C332308296DC18-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--EA987D7F6FB744A992C332308296DC18--></AD_COLUMN>
+
+<!--EBA9650CFB6A416C850135C59AB1D594--><AD_COLUMN>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_COLUMN_ID><![CDATA[EBA9650CFB6A416C850135C59AB1D594]]></AD_COLUMN_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <NAME><![CDATA[Active]]></NAME>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <DESCRIPTION><![CDATA[A flag indicating whether this record is available for use or de-activated.]]></DESCRIPTION>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <HELP><![CDATA[There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reporting. There are two reasons for de-activating and not deleting records: 
+(1) The system requires the record for auditing purposes.
+(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are existing invoices for it. By de-activating the Business Partner you prevent it from being used in future transactions.]]></HELP>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <COLUMNNAME><![CDATA[Isactive]]></COLUMNNAME>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <DEFAULTVALUE><![CDATA[Y]]></DEFAULTVALUE>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <SEQNO><![CDATA[40]]></SEQNO>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_ELEMENT_ID><![CDATA[348]]></AD_ELEMENT_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <POSITION><![CDATA[4]]></POSITION>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--EBA9650CFB6A416C850135C59AB1D594-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--EBA9650CFB6A416C850135C59AB1D594--></AD_COLUMN>
+
 <!--EE86735F0BAC4358847A7820442B0FCA--><AD_COLUMN>
 <!--EE86735F0BAC4358847A7820442B0FCA-->  <AD_COLUMN_ID><![CDATA[EE86735F0BAC4358847A7820442B0FCA]]></AD_COLUMN_ID>
 <!--EE86735F0BAC4358847A7820442B0FCA-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -4129,6 +4601,39 @@
 <!--F412626823AA4EDBBAF40BC38F6CE440-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--F412626823AA4EDBBAF40BC38F6CE440--></AD_COLUMN>
 
+<!--F7DE0BA73FA64A68B898495072729D12--><AD_COLUMN>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_COLUMN_ID><![CDATA[F7DE0BA73FA64A68B898495072729D12]]></AD_COLUMN_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <NAME><![CDATA[Tab]]></NAME>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <DESCRIPTION><![CDATA[An indication that a tab is displayed within a window.]]></DESCRIPTION>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <HELP><![CDATA[The Tab indicates a tab that displays within a window.]]></HELP>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <COLUMNNAME><![CDATA[AD_Tab_ID]]></COLUMNNAME>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <SEQNO><![CDATA[100]]></SEQNO>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_ELEMENT_ID><![CDATA[125]]></AD_ELEMENT_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <POSITION><![CDATA[10]]></POSITION>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--F7DE0BA73FA64A68B898495072729D12-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--F7DE0BA73FA64A68B898495072729D12--></AD_COLUMN>
+
 <!--FF1D7BA688EF492D9D87FA2C728A92D1--><AD_COLUMN>
 <!--FF1D7BA688EF492D9D87FA2C728A92D1-->  <AD_COLUMN_ID><![CDATA[FF1D7BA688EF492D9D87FA2C728A92D1]]></AD_COLUMN_ID>
 <!--FF1D7BA688EF492D9D87FA2C728A92D1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -4201,4 +4706,37 @@
 <!--FF1F7C161D4C43A5B34A9BAAF8FB1ED8-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--FF1F7C161D4C43A5B34A9BAAF8FB1ED8--></AD_COLUMN>
 
+<!--FF8081813157AED2013157B8620F001C--><AD_COLUMN>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_COLUMN_ID><![CDATA[FF8081813157AED2013157B8620F001C]]></AD_COLUMN_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813157AED2013157B8620F001C-->  <NAME><![CDATA[Value]]></NAME>
+<!--FF8081813157AED2013157B8620F001C-->  <DESCRIPTION><![CDATA[The value for the record.]]></DESCRIPTION>
+<!--FF8081813157AED2013157B8620F001C-->  <HELP><![CDATA[The value for the record.]]></HELP>
+<!--FF8081813157AED2013157B8620F001C-->  <COLUMNNAME><![CDATA[Value]]></COLUMNNAME>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_REFERENCE_ID><![CDATA[14]]></AD_REFERENCE_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <FIELDLENGTH><![CDATA[40000]]></FIELDLENGTH>
+<!--FF8081813157AED2013157B8620F001C-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--FF8081813157AED2013157B8620F001C-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--FF8081813157AED2013157B8620F001C-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--FF8081813157AED2013157B8620F001C-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--FF8081813157AED2013157B8620F001C-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--FF8081813157AED2013157B8620F001C-->  <SEQNO><![CDATA[160]]></SEQNO>
+<!--FF8081813157AED2013157B8620F001C-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--FF8081813157AED2013157B8620F001C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--FF8081813157AED2013157B8620F001C-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_ELEMENT_ID><![CDATA[18EA6EC150C545AE8C5E0A3BD4BD4871]]></AD_ELEMENT_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--FF8081813157AED2013157B8620F001C-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--FF8081813157AED2013157B8620F001C-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--FF8081813157AED2013157B8620F001C-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--FF8081813157AED2013157B8620F001C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813157AED2013157B8620F001C-->  <POSITION><![CDATA[12]]></POSITION>
+<!--FF8081813157AED2013157B8620F001C-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--FF8081813157AED2013157B8620F001C-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--FF8081813157AED2013157B8620F001C-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--FF8081813157AED2013157B8620F001C--></AD_COLUMN>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_ELEMENT.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_ELEMENT.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -39,6 +39,17 @@
 <!--4B3999F4700C4C93ABEA49C89A8E484E-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--4B3999F4700C4C93ABEA49C89A8E484E--></AD_ELEMENT>
 
+<!--50069593057E4B64AE1FCF29E2898A74--><AD_ELEMENT>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <AD_ELEMENT_ID><![CDATA[50069593057E4B64AE1FCF29E2898A74]]></AD_ELEMENT_ID>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <COLUMNNAME><![CDATA[Obuiapp_Uipersonalization_ID]]></COLUMNNAME>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <NAME><![CDATA[Obuiapp_Uipersonalization_ID]]></NAME>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <PRINTNAME><![CDATA[Obuiapp_Uipersonalization_ID]]></PRINTNAME>
+<!--50069593057E4B64AE1FCF29E2898A74-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--50069593057E4B64AE1FCF29E2898A74--></AD_ELEMENT>
+
 <!--5509E6BF87024E24A53DA324952D33C1--><AD_ELEMENT>
 <!--5509E6BF87024E24A53DA324952D33C1-->  <AD_ELEMENT_ID><![CDATA[5509E6BF87024E24A53DA324952D33C1]]></AD_ELEMENT_ID>
 <!--5509E6BF87024E24A53DA324952D33C1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -27,6 +27,33 @@
 <!--00E23D2E635C446B8CF23E766B232DB5-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--00E23D2E635C446B8CF23E766B232DB5--></AD_FIELD>
 
+<!--05091C569B5B403DB8DE04889ACFC4A8--><AD_FIELD>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <AD_FIELD_ID><![CDATA[05091C569B5B403DB8DE04889ACFC4A8]]></AD_FIELD_ID>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <NAME><![CDATA[Value]]></NAME>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <DESCRIPTION><![CDATA[The value for the record.]]></DESCRIPTION>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <HELP><![CDATA[The value for the record.]]></HELP>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <AD_COLUMN_ID><![CDATA[FF8081813157AED2013157B8620F001C]]></AD_COLUMN_ID>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <DISPLAYLENGTH><![CDATA[20]]></DISPLAYLENGTH>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <SEQNO><![CDATA[100]]></SEQNO>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <SORTNO><![CDATA[1]]></SORTNO>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--05091C569B5B403DB8DE04889ACFC4A8-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--05091C569B5B403DB8DE04889ACFC4A8--></AD_FIELD>
+
 <!--052ABD3C4E614FEFB43F47503BB9E89E--><AD_FIELD>
 <!--052ABD3C4E614FEFB43F47503BB9E89E-->  <AD_FIELD_ID><![CDATA[052ABD3C4E614FEFB43F47503BB9E89E]]></AD_FIELD_ID>
 <!--052ABD3C4E614FEFB43F47503BB9E89E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -134,6 +161,57 @@
 <!--13E58370460A4082AF6173313BA113C8-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--13E58370460A4082AF6173313BA113C8--></AD_FIELD>
 
+<!--1C35877D26B1432C9867E4F5EAEE17F8--><AD_FIELD>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <AD_FIELD_ID><![CDATA[1C35877D26B1432C9867E4F5EAEE17F8]]></AD_FIELD_ID>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <NAME><![CDATA[Module]]></NAME>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <DESCRIPTION><![CDATA[Module]]></DESCRIPTION>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <HELP><![CDATA[Indicates the module the element forms part of.]]></HELP>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <AD_COLUMN_ID><![CDATA[ABEE9EA6CC8344789ADA2ABC532DA2FF]]></AD_COLUMN_ID>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <SEQNO><![CDATA[20]]></SEQNO>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--1C35877D26B1432C9867E4F5EAEE17F8-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--1C35877D26B1432C9867E4F5EAEE17F8--></AD_FIELD>
+
+<!--1E6671AE3084424086FF94163D2B88A1--><AD_FIELD>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <AD_FIELD_ID><![CDATA[1E6671AE3084424086FF94163D2B88A1]]></AD_FIELD_ID>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <NAME><![CDATA[Client]]></NAME>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <DESCRIPTION><![CDATA[Client for this installation.]]></DESCRIPTION>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <HELP><![CDATA[A Client is a company or a legal entity. You cannot share data between Clients.]]></HELP>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <AD_COLUMN_ID><![CDATA[1593FFD78DB544FE84B647F803900C37]]></AD_COLUMN_ID>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISDISPLAYED><![CDATA[N]]></ISDISPLAYED>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--1E6671AE3084424086FF94163D2B88A1-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--1E6671AE3084424086FF94163D2B88A1--></AD_FIELD>
+
 <!--20904091EE1744B3B76CBCFBBB2BF3AD--><AD_FIELD>
 <!--20904091EE1744B3B76CBCFBBB2BF3AD-->  <AD_FIELD_ID><![CDATA[20904091EE1744B3B76CBCFBBB2BF3AD]]></AD_FIELD_ID>
 <!--20904091EE1744B3B76CBCFBBB2BF3AD-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -162,6 +240,32 @@
 <!--20904091EE1744B3B76CBCFBBB2BF3AD-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--20904091EE1744B3B76CBCFBBB2BF3AD--></AD_FIELD>
 
+<!--220497F9740C4949B9BB9DDFAFD8F2CD--><AD_FIELD>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <AD_FIELD_ID><![CDATA[220497F9740C4949B9BB9DDFAFD8F2CD]]></AD_FIELD_ID>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <NAME><![CDATA[User/Contact]]></NAME>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <DESCRIPTION><![CDATA[An acquaintance to reach for information related to the business partner.]]></DESCRIPTION>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <HELP><![CDATA[The User identifies a unique user in the system. This could be an internal user or a business partner contact]]></HELP>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <AD_COLUMN_ID><![CDATA[B4FD9EC573F94B9096FF3A41284F338F]]></AD_COLUMN_ID>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <SEQNO><![CDATA[60]]></SEQNO>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--220497F9740C4949B9BB9DDFAFD8F2CD--></AD_FIELD>
+
 <!--2667CF4C44DB40DAAB0EB19C2B1A864C--><AD_FIELD>
 <!--2667CF4C44DB40DAAB0EB19C2B1A864C-->  <AD_FIELD_ID><![CDATA[2667CF4C44DB40DAAB0EB19C2B1A864C]]></AD_FIELD_ID>
 <!--2667CF4C44DB40DAAB0EB19C2B1A864C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -324,6 +428,32 @@
 <!--3813306379C949A6A78A775E3130B2AB-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--3813306379C949A6A78A775E3130B2AB--></AD_FIELD>
 
+<!--39417456DC474B588BF807DF92E618CC--><AD_FIELD>
+<!--39417456DC474B588BF807DF92E618CC-->  <AD_FIELD_ID><![CDATA[39417456DC474B588BF807DF92E618CC]]></AD_FIELD_ID>
+<!--39417456DC474B588BF807DF92E618CC-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--39417456DC474B588BF807DF92E618CC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--39417456DC474B588BF807DF92E618CC-->  <NAME><![CDATA[Description]]></NAME>
+<!--39417456DC474B588BF807DF92E618CC-->  <DESCRIPTION><![CDATA[A space to write additional related information.]]></DESCRIPTION>
+<!--39417456DC474B588BF807DF92E618CC-->  <HELP><![CDATA[A description is limited to 255 characters.]]></HELP>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--39417456DC474B588BF807DF92E618CC-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--39417456DC474B588BF807DF92E618CC-->  <AD_COLUMN_ID><![CDATA[7EA5AB885F84493CA2E998594BBC09C2]]></AD_COLUMN_ID>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--39417456DC474B588BF807DF92E618CC-->  <DISPLAYLENGTH><![CDATA[255]]></DISPLAYLENGTH>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--39417456DC474B588BF807DF92E618CC-->  <SEQNO><![CDATA[40]]></SEQNO>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--39417456DC474B588BF807DF92E618CC-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--39417456DC474B588BF807DF92E618CC-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--39417456DC474B588BF807DF92E618CC-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--39417456DC474B588BF807DF92E618CC-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--39417456DC474B588BF807DF92E618CC-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--39417456DC474B588BF807DF92E618CC--></AD_FIELD>
+
 <!--39B1D24F46A34049890E6C8D84154231--><AD_FIELD>
 <!--39B1D24F46A34049890E6C8D84154231-->  <AD_FIELD_ID><![CDATA[39B1D24F46A34049890E6C8D84154231]]></AD_FIELD_ID>
 <!--39B1D24F46A34049890E6C8D84154231-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -403,6 +533,32 @@
 <!--410DFFDE2D7C4908B6CE26395A50CFF7-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--410DFFDE2D7C4908B6CE26395A50CFF7--></AD_FIELD>
 
+<!--421D1B31477E4B038E4D5A129EEBE399--><AD_FIELD>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <AD_FIELD_ID><![CDATA[421D1B31477E4B038E4D5A129EEBE399]]></AD_FIELD_ID>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <NAME><![CDATA[Tab]]></NAME>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <DESCRIPTION><![CDATA[An indication that a tab is displayed within a window.]]></DESCRIPTION>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <HELP><![CDATA[The Tab indicates a tab that displays within a window.]]></HELP>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <AD_COLUMN_ID><![CDATA[F7DE0BA73FA64A68B898495072729D12]]></AD_COLUMN_ID>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <SEQNO><![CDATA[50]]></SEQNO>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--421D1B31477E4B038E4D5A129EEBE399-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--421D1B31477E4B038E4D5A129EEBE399--></AD_FIELD>
+
 <!--4C54C83FD0D6411CBF3474C406051B26--><AD_FIELD>
 <!--4C54C83FD0D6411CBF3474C406051B26-->  <AD_FIELD_ID><![CDATA[4C54C83FD0D6411CBF3474C406051B26]]></AD_FIELD_ID>
 <!--4C54C83FD0D6411CBF3474C406051B26-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -534,6 +690,32 @@
 <!--670A10C4637A4DEFA78DA19B2CAE1CC0-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--670A10C4637A4DEFA78DA19B2CAE1CC0--></AD_FIELD>
 
+<!--67BFC51699894C3F80679B1C9B1D7DD3--><AD_FIELD>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <AD_FIELD_ID><![CDATA[67BFC51699894C3F80679B1C9B1D7DD3]]></AD_FIELD_ID>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <NAME><![CDATA[Visible at Role]]></NAME>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <DESCRIPTION><![CDATA[Defines Role visibility.]]></DESCRIPTION>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <HELP><![CDATA[Defines which is the preference's visibility at Role level. If this value is empty the preference will be visible from all Roles.]]></HELP>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <AD_COLUMN_ID><![CDATA[BB39498850B942A1B29086C89163F014]]></AD_COLUMN_ID>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <SEQNO><![CDATA[80]]></SEQNO>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--67BFC51699894C3F80679B1C9B1D7DD3-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--67BFC51699894C3F80679B1C9B1D7DD3--></AD_FIELD>
+
 <!--748D89AC034A40DAB353414EEE278C07--><AD_FIELD>
 <!--748D89AC034A40DAB353414EEE278C07-->  <AD_FIELD_ID><![CDATA[748D89AC034A40DAB353414EEE278C07]]></AD_FIELD_ID>
 <!--748D89AC034A40DAB353414EEE278C07-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -559,6 +741,32 @@
 <!--748D89AC034A40DAB353414EEE278C07-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--748D89AC034A40DAB353414EEE278C07--></AD_FIELD>
 
+<!--79F725EF00774420845FCAAEC4720CFC--><AD_FIELD>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <AD_FIELD_ID><![CDATA[79F725EF00774420845FCAAEC4720CFC]]></AD_FIELD_ID>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <NAME><![CDATA[Visible at Organization]]></NAME>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <DESCRIPTION><![CDATA[Defines Organization visibility.]]></DESCRIPTION>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <HELP><![CDATA[Defines which is the preference's visibility at Organization level. The preference will be visible from all organizations in the tree bellow this one. If this value is empty the preference will be visible from all Organizations.]]></HELP>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <AD_COLUMN_ID><![CDATA[0060401C958644D4AA38E9226FBEE232]]></AD_COLUMN_ID>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <SEQNO><![CDATA[70]]></SEQNO>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--79F725EF00774420845FCAAEC4720CFC-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--79F725EF00774420845FCAAEC4720CFC--></AD_FIELD>
+
 <!--7A4EC561701D4749B0CBF843C686EE4E--><AD_FIELD>
 <!--7A4EC561701D4749B0CBF843C686EE4E-->  <AD_FIELD_ID><![CDATA[7A4EC561701D4749B0CBF843C686EE4E]]></AD_FIELD_ID>
 <!--7A4EC561701D4749B0CBF843C686EE4E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -719,6 +927,32 @@
 <!--87DDE03149A94326BE55DC158625D244-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--87DDE03149A94326BE55DC158625D244--></AD_FIELD>
 
+<!--8E499D659EDA4527B7E179CC4C065F04--><AD_FIELD>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <AD_FIELD_ID><![CDATA[8E499D659EDA4527B7E179CC4C065F04]]></AD_FIELD_ID>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <NAME><![CDATA[Organization]]></NAME>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <DESCRIPTION><![CDATA[Organizational entity within client]]></DESCRIPTION>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <HELP><![CDATA[An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.]]></HELP>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <AD_COLUMN_ID><![CDATA[EA987D7F6FB744A992C332308296DC18]]></AD_COLUMN_ID>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <SEQNO><![CDATA[10]]></SEQNO>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--8E499D659EDA4527B7E179CC4C065F04-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--8E499D659EDA4527B7E179CC4C065F04--></AD_FIELD>
+
 <!--9496136E2E3243B49310D44322956431--><AD_FIELD>
 <!--9496136E2E3243B49310D44322956431-->  <AD_FIELD_ID><![CDATA[9496136E2E3243B49310D44322956431]]></AD_FIELD_ID>
 <!--9496136E2E3243B49310D44322956431-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1137,6 +1371,29 @@
 <!--C8569EEB8184436EA30975D4EC290B2F-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--C8569EEB8184436EA30975D4EC290B2F--></AD_FIELD>
 
+<!--C99903B9615D482EA79D7E4989CA5620--><AD_FIELD>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <AD_FIELD_ID><![CDATA[C99903B9615D482EA79D7E4989CA5620]]></AD_FIELD_ID>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <NAME><![CDATA[Obuiapp_Uipersonalization_ID]]></NAME>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <AD_COLUMN_ID><![CDATA[48FAAFCA11A143169FD7517D67531DD1]]></AD_COLUMN_ID>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISDISPLAYED><![CDATA[N]]></ISDISPLAYED>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--C99903B9615D482EA79D7E4989CA5620-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--C99903B9615D482EA79D7E4989CA5620--></AD_FIELD>
+
 <!--DAFD5B1C1F994F2FB5D743C9E6D23FF1--><AD_FIELD>
 <!--DAFD5B1C1F994F2FB5D743C9E6D23FF1-->  <AD_FIELD_ID><![CDATA[DAFD5B1C1F994F2FB5D743C9E6D23FF1]]></AD_FIELD_ID>
 <!--DAFD5B1C1F994F2FB5D743C9E6D23FF1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1187,6 +1444,32 @@
 <!--E36CB4575FDB48D8A60FBBE04693511E-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--E36CB4575FDB48D8A60FBBE04693511E--></AD_FIELD>
 
+<!--ED70A592E3B5452188644885C69C6333--><AD_FIELD>
+<!--ED70A592E3B5452188644885C69C6333-->  <AD_FIELD_ID><![CDATA[ED70A592E3B5452188644885C69C6333]]></AD_FIELD_ID>
+<!--ED70A592E3B5452188644885C69C6333-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--ED70A592E3B5452188644885C69C6333-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--ED70A592E3B5452188644885C69C6333-->  <NAME><![CDATA[Visible at Client]]></NAME>
+<!--ED70A592E3B5452188644885C69C6333-->  <DESCRIPTION><![CDATA[Defines Client visibility.]]></DESCRIPTION>
+<!--ED70A592E3B5452188644885C69C6333-->  <HELP><![CDATA[Defines which is the preference's visibility at client level. If this value is empty the preference will be visible from all Clients.]]></HELP>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--ED70A592E3B5452188644885C69C6333-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--ED70A592E3B5452188644885C69C6333-->  <AD_COLUMN_ID><![CDATA[BBA0362A5E424CDDBFA2A008A942F218]]></AD_COLUMN_ID>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--ED70A592E3B5452188644885C69C6333-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--ED70A592E3B5452188644885C69C6333-->  <SEQNO><![CDATA[65]]></SEQNO>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--ED70A592E3B5452188644885C69C6333-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--ED70A592E3B5452188644885C69C6333-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--ED70A592E3B5452188644885C69C6333-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--ED70A592E3B5452188644885C69C6333-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--ED70A592E3B5452188644885C69C6333-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--ED70A592E3B5452188644885C69C6333--></AD_FIELD>
+
 <!--F194002D518540F2AE1AB299F5B6E353--><AD_FIELD>
 <!--F194002D518540F2AE1AB299F5B6E353-->  <AD_FIELD_ID><![CDATA[F194002D518540F2AE1AB299F5B6E353]]></AD_FIELD_ID>
 <!--F194002D518540F2AE1AB299F5B6E353-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1314,4 +1597,32 @@
 <!--F9C02B45EC1544F0B4EA67504E5929C0-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--F9C02B45EC1544F0B4EA67504E5929C0--></AD_FIELD>
 
+<!--FEFA683DB9F742689C59285E583DA644--><AD_FIELD>
+<!--FEFA683DB9F742689C59285E583DA644-->  <AD_FIELD_ID><![CDATA[FEFA683DB9F742689C59285E583DA644]]></AD_FIELD_ID>
+<!--FEFA683DB9F742689C59285E583DA644-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FEFA683DB9F742689C59285E583DA644-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FEFA683DB9F742689C59285E583DA644-->  <NAME><![CDATA[Active]]></NAME>
+<!--FEFA683DB9F742689C59285E583DA644-->  <DESCRIPTION><![CDATA[A flag indicating whether this record is available for use or de-activated.]]></DESCRIPTION>
+<!--FEFA683DB9F742689C59285E583DA644-->  <HELP><![CDATA[There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reporting. There are two reasons for de-activating and not deleting records: 
+(1) The system requires the record for auditing purposes.
+(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are existing invoices for it. By de-activating the Business Partner you prevent it from being used in future transactions.]]></HELP>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--FEFA683DB9F742689C59285E583DA644-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--FEFA683DB9F742689C59285E583DA644-->  <AD_COLUMN_ID><![CDATA[EBA9650CFB6A416C850135C59AB1D594]]></AD_COLUMN_ID>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--FEFA683DB9F742689C59285E583DA644-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--FEFA683DB9F742689C59285E583DA644-->  <SEQNO><![CDATA[30]]></SEQNO>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--FEFA683DB9F742689C59285E583DA644-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--FEFA683DB9F742689C59285E583DA644-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FEFA683DB9F742689C59285E583DA644-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--FEFA683DB9F742689C59285E583DA644-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--FEFA683DB9F742689C59285E583DA644-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--FEFA683DB9F742689C59285E583DA644--></AD_FIELD>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -38,4 +38,17 @@
 <!--FF8080812EB90459012EBA72B4E7004D-->  <EM_OBUIAPP_VIEW_IMPL_ID><![CDATA[FF8080812EB90459012EBA225DDB0029]]></EM_OBUIAPP_VIEW_IMPL_ID>
 <!--FF8080812EB90459012EBA72B4E7004D--></AD_MENU>
 
+<!--FF8081813157AED2013157C149F40039--><AD_MENU>
+<!--FF8081813157AED2013157C149F40039-->  <AD_MENU_ID><![CDATA[FF8081813157AED2013157C149F40039]]></AD_MENU_ID>
+<!--FF8081813157AED2013157C149F40039-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813157AED2013157C149F40039-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813157AED2013157C149F40039-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813157AED2013157C149F40039-->  <NAME><![CDATA[UI Personalization]]></NAME>
+<!--FF8081813157AED2013157C149F40039-->  <DESCRIPTION><![CDATA[Maintains ui personalization records]]></DESCRIPTION>
+<!--FF8081813157AED2013157C149F40039-->  <ISSUMMARY><![CDATA[N]]></ISSUMMARY>
+<!--FF8081813157AED2013157C149F40039-->  <ACTION><![CDATA[W]]></ACTION>
+<!--FF8081813157AED2013157C149F40039-->  <AD_WINDOW_ID><![CDATA[FF8081813157AED2013157BE93460020]]></AD_WINDOW_ID>
+<!--FF8081813157AED2013157C149F40039-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813157AED2013157C149F40039--></AD_MENU>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -2607,4 +2607,290 @@
 <!--FF80818130FECDFE0130FEDA5DF50012-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF80818130FECDFE0130FEDA5DF50012--></AD_MESSAGE>
 
+<!--FF8081813157C86B01315A092B6C0062--><AD_MESSAGE>
+<!--FF8081813157C86B01315A092B6C0062-->  <AD_MESSAGE_ID><![CDATA[FF8081813157C86B01315A092B6C0062]]></AD_MESSAGE_ID>
+<!--FF8081813157C86B01315A092B6C0062-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813157C86B01315A092B6C0062-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813157C86B01315A092B6C0062-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813157C86B01315A092B6C0062-->  <VALUE><![CDATA[OBUIAPP_Personalization_Toolbar_Button]]></VALUE>
+<!--FF8081813157C86B01315A092B6C0062-->  <MSGTEXT><![CDATA[Click to personalize the layout of this tab.]]></MSGTEXT>
+<!--FF8081813157C86B01315A092B6C0062-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813157C86B01315A092B6C0062-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813157C86B01315A092B6C0062--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E637C30010--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E637C30010-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E637C30010]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E637C30010-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E637C30010-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E637C30010-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E637C30010-->  <VALUE><![CDATA[OBUIAPP_Client]]></VALUE>
+<!--FF8081813176E1B0013176E637C30010-->  <MSGTEXT><![CDATA[Client]]></MSGTEXT>
+<!--FF8081813176E1B0013176E637C30010-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E637C30010-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E637C30010--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E67F1A0016--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E67F1A0016-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E67F1A0016]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E67F1A0016-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E67F1A0016-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E67F1A0016-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E67F1A0016-->  <VALUE><![CDATA[OBUIAPP_Organization]]></VALUE>
+<!--FF8081813176E1B0013176E67F1A0016-->  <MSGTEXT><![CDATA[Organization]]></MSGTEXT>
+<!--FF8081813176E1B0013176E67F1A0016-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E67F1A0016-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E67F1A0016--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E6B49B001C--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E6B49B001C-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E6B49B001C]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E6B49B001C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E6B49B001C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E6B49B001C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E6B49B001C-->  <VALUE><![CDATA[OBUIAPP_Role]]></VALUE>
+<!--FF8081813176E1B0013176E6B49B001C-->  <MSGTEXT><![CDATA[Role]]></MSGTEXT>
+<!--FF8081813176E1B0013176E6B49B001C-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E6B49B001C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E6B49B001C--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E6E5AB0022--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E6E5AB0022]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <VALUE><![CDATA[OBUIAPP_User]]></VALUE>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <MSGTEXT><![CDATA[User]]></MSGTEXT>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E6E5AB0022-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E6E5AB0022--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E72C6D0027--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E72C6D0027-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E72C6D0027]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E72C6D0027-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E72C6D0027-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E72C6D0027-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E72C6D0027-->  <VALUE><![CDATA[OBUIAPP_Personalization_Colspan]]></VALUE>
+<!--FF8081813176E1B0013176E72C6D0027-->  <MSGTEXT><![CDATA[Colspan]]></MSGTEXT>
+<!--FF8081813176E1B0013176E72C6D0027-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E72C6D0027-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E72C6D0027--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E779FB002F--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E779FB002F-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E779FB002F]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E779FB002F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E779FB002F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E779FB002F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E779FB002F-->  <VALUE><![CDATA[OBUIAPP_Personalization_Rowspan]]></VALUE>
+<!--FF8081813176E1B0013176E779FB002F-->  <MSGTEXT><![CDATA[Rowspan]]></MSGTEXT>
+<!--FF8081813176E1B0013176E779FB002F-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E779FB002F-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E779FB002F--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176E7BD380036--><AD_MESSAGE>
+<!--FF8081813176E1B0013176E7BD380036-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176E7BD380036]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176E7BD380036-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176E7BD380036-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176E7BD380036-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176E7BD380036-->  <VALUE><![CDATA[OBUIAPP_Personalization_Hidden]]></VALUE>
+<!--FF8081813176E1B0013176E7BD380036-->  <MSGTEXT><![CDATA[Hidden]]></MSGTEXT>
+<!--FF8081813176E1B0013176E7BD380036-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176E7BD380036-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176E7BD380036--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176EF3A27005B--><AD_MESSAGE>
+<!--FF8081813176E1B0013176EF3A27005B-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176EF3A27005B]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176EF3A27005B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176EF3A27005B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176EF3A27005B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176EF3A27005B-->  <VALUE><![CDATA[OBUIAPP_Personalization_Startrow]]></VALUE>
+<!--FF8081813176E1B0013176EF3A27005B-->  <MSGTEXT><![CDATA[Start on new row]]></MSGTEXT>
+<!--FF8081813176E1B0013176EF3A27005B-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176EF3A27005B-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176EF3A27005B--></AD_MESSAGE>
+
+<!--FF8081813176E1B0013176F1CDFD0061--><AD_MESSAGE>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <AD_MESSAGE_ID><![CDATA[FF8081813176E1B0013176F1CDFD0061]]></AD_MESSAGE_ID>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <VALUE><![CDATA[OBUIAPP_Tab]]></VALUE>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <MSGTEXT><![CDATA[Tab]]></MSGTEXT>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813176E1B0013176F1CDFD0061-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813176E1B0013176F1CDFD0061--></AD_MESSAGE>
+
+<!--FF8081813177210501317737A9D30012--><AD_MESSAGE>
+<!--FF8081813177210501317737A9D30012-->  <AD_MESSAGE_ID><![CDATA[FF8081813177210501317737A9D30012]]></AD_MESSAGE_ID>
+<!--FF8081813177210501317737A9D30012-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813177210501317737A9D30012-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813177210501317737A9D30012-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813177210501317737A9D30012-->  <VALUE><![CDATA[OBUIAPP_Main_Group]]></VALUE>
+<!--FF8081813177210501317737A9D30012-->  <MSGTEXT><![CDATA[Main]]></MSGTEXT>
+<!--FF8081813177210501317737A9D30012-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813177210501317737A9D30012-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813177210501317737A9D30012--></AD_MESSAGE>
+
+<!--FF808181317B723B01317B780D370012--><AD_MESSAGE>
+<!--FF808181317B723B01317B780D370012-->  <AD_MESSAGE_ID><![CDATA[FF808181317B723B01317B780D370012]]></AD_MESSAGE_ID>
+<!--FF808181317B723B01317B780D370012-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B780D370012-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B780D370012-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B780D370012-->  <VALUE><![CDATA[OBUIAPP_Personalization_Toolbar_Save]]></VALUE>
+<!--FF808181317B723B01317B780D370012-->  <MSGTEXT><![CDATA[Click to save your current layout in the database and update the form layout]]></MSGTEXT>
+<!--FF808181317B723B01317B780D370012-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B723B01317B780D370012-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B780D370012--></AD_MESSAGE>
+
+<!--FF808181317B723B01317B787C6A0017--><AD_MESSAGE>
+<!--FF808181317B723B01317B787C6A0017-->  <AD_MESSAGE_ID><![CDATA[FF808181317B723B01317B787C6A0017]]></AD_MESSAGE_ID>
+<!--FF808181317B723B01317B787C6A0017-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B787C6A0017-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B787C6A0017-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B787C6A0017-->  <VALUE><![CDATA[OBUIAPP_Personalization_Toolbar_CancelEdit]]></VALUE>
+<!--FF808181317B723B01317B787C6A0017-->  <MSGTEXT><![CDATA[Cancel your current changes and go back to the saved layout]]></MSGTEXT>
+<!--FF808181317B723B01317B787C6A0017-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B723B01317B787C6A0017-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B787C6A0017--></AD_MESSAGE>
+
+<!--FF808181317B723B01317B795AED001D--><AD_MESSAGE>
+<!--FF808181317B723B01317B795AED001D-->  <AD_MESSAGE_ID><![CDATA[FF808181317B723B01317B795AED001D]]></AD_MESSAGE_ID>
+<!--FF808181317B723B01317B795AED001D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B795AED001D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B795AED001D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B795AED001D-->  <VALUE><![CDATA[OBUIAPP_Personalization_Toolbar_RefreshData]]></VALUE>
+<!--FF808181317B723B01317B795AED001D-->  <MSGTEXT><![CDATA[Update the form displayed below, in the form personalization display]]></MSGTEXT>
+<!--FF808181317B723B01317B795AED001D-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B723B01317B795AED001D-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B795AED001D--></AD_MESSAGE>
+
+<!--FF808181317B723B01317B7A489A0023--><AD_MESSAGE>
+<!--FF808181317B723B01317B7A489A0023-->  <AD_MESSAGE_ID><![CDATA[FF808181317B723B01317B7A489A0023]]></AD_MESSAGE_ID>
+<!--FF808181317B723B01317B7A489A0023-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B7A489A0023-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B7A489A0023-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B7A489A0023-->  <VALUE><![CDATA[OBUIAPP_Personalization_ConfirmClose]]></VALUE>
+<!--FF808181317B723B01317B7A489A0023-->  <MSGTEXT><![CDATA[You have changes which are not saved, you will loose your changes if you continue, do you want to continue?]]></MSGTEXT>
+<!--FF808181317B723B01317B7A489A0023-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B723B01317B7A489A0023-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B7A489A0023--></AD_MESSAGE>
+
+<!--FF808181317B723B01317B7B863E0032--><AD_MESSAGE>
+<!--FF808181317B723B01317B7B863E0032-->  <AD_MESSAGE_ID><![CDATA[FF808181317B723B01317B7B863E0032]]></AD_MESSAGE_ID>
+<!--FF808181317B723B01317B7B863E0032-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B7B863E0032-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B7B863E0032-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B7B863E0032-->  <VALUE><![CDATA[OBUIAPP_Personalization_StatusBar_Group]]></VALUE>
+<!--FF808181317B723B01317B7B863E0032-->  <MSGTEXT><![CDATA[Statusbar]]></MSGTEXT>
+<!--FF808181317B723B01317B7B863E0032-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B723B01317B7B863E0032-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B7B863E0032--></AD_MESSAGE>
+
+<!--FF808181317B723B01317B7BB9A30038--><AD_MESSAGE>
+<!--FF808181317B723B01317B7BB9A30038-->  <AD_MESSAGE_ID><![CDATA[FF808181317B723B01317B7BB9A30038]]></AD_MESSAGE_ID>
+<!--FF808181317B723B01317B7BB9A30038-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B7BB9A30038-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B7BB9A30038-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B7BB9A30038-->  <VALUE><![CDATA[OBUIAPP_Personalization_Main_Group]]></VALUE>
+<!--FF808181317B723B01317B7BB9A30038-->  <MSGTEXT><![CDATA[Main]]></MSGTEXT>
+<!--FF808181317B723B01317B7BB9A30038-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B723B01317B7BB9A30038-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B7BB9A30038--></AD_MESSAGE>
+
+<!--FF808181317B7C2B01317B84E94E0004--><AD_MESSAGE>
+<!--FF808181317B7C2B01317B84E94E0004-->  <AD_MESSAGE_ID><![CDATA[FF808181317B7C2B01317B84E94E0004]]></AD_MESSAGE_ID>
+<!--FF808181317B7C2B01317B84E94E0004-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B7C2B01317B84E94E0004-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B7C2B01317B84E94E0004-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B7C2B01317B84E94E0004-->  <VALUE><![CDATA[OBUIAPP_Personalize_TitlePrefix]]></VALUE>
+<!--FF808181317B7C2B01317B84E94E0004-->  <MSGTEXT><![CDATA[Personalize - %0]]></MSGTEXT>
+<!--FF808181317B7C2B01317B84E94E0004-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317B7C2B01317B84E94E0004-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B7C2B01317B84E94E0004--></AD_MESSAGE>
+
+<!--FF808181317F5351013180238B8C001F--><AD_MESSAGE>
+<!--FF808181317F5351013180238B8C001F-->  <AD_MESSAGE_ID><![CDATA[FF808181317F5351013180238B8C001F]]></AD_MESSAGE_ID>
+<!--FF808181317F5351013180238B8C001F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317F5351013180238B8C001F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317F5351013180238B8C001F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317F5351013180238B8C001F-->  <VALUE><![CDATA[OBUIAPP_Personalization_PropertiesFormEmptyMessage]]></VALUE>
+<!--FF808181317F5351013180238B8C001F-->  <MSGTEXT><![CDATA[Select a field shown in the left pane, to edit its properties in this pane.]]></MSGTEXT>
+<!--FF808181317F5351013180238B8C001F-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317F5351013180238B8C001F-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317F5351013180238B8C001F--></AD_MESSAGE>
+
+<!--FF808181317F535101318024DE3F0026--><AD_MESSAGE>
+<!--FF808181317F535101318024DE3F0026-->  <AD_MESSAGE_ID><![CDATA[FF808181317F535101318024DE3F0026]]></AD_MESSAGE_ID>
+<!--FF808181317F535101318024DE3F0026-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317F535101318024DE3F0026-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317F535101318024DE3F0026-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317F535101318024DE3F0026-->  <VALUE><![CDATA[OBUIAPP_Personalization_FirstFocus]]></VALUE>
+<!--FF808181317F535101318024DE3F0026-->  <MSGTEXT><![CDATA[First Focus in Form]]></MSGTEXT>
+<!--FF808181317F535101318024DE3F0026-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317F535101318024DE3F0026-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317F535101318024DE3F0026--></AD_MESSAGE>
+
+<!--FF808181317F5351013180253175002B--><AD_MESSAGE>
+<!--FF808181317F5351013180253175002B-->  <AD_MESSAGE_ID><![CDATA[FF808181317F5351013180253175002B]]></AD_MESSAGE_ID>
+<!--FF808181317F5351013180253175002B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317F5351013180253175002B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317F5351013180253175002B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317F5351013180253175002B-->  <VALUE><![CDATA[OBUIAPP_Personalization_ShowInStatusBar]]></VALUE>
+<!--FF808181317F5351013180253175002B-->  <MSGTEXT><![CDATA[Show in status bar]]></MSGTEXT>
+<!--FF808181317F5351013180253175002B-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317F5351013180253175002B-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317F5351013180253175002B--></AD_MESSAGE>
+
+<!--FF808181317F5351013180357C9B003C--><AD_MESSAGE>
+<!--FF808181317F5351013180357C9B003C-->  <AD_MESSAGE_ID><![CDATA[FF808181317F5351013180357C9B003C]]></AD_MESSAGE_ID>
+<!--FF808181317F5351013180357C9B003C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317F5351013180357C9B003C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317F5351013180357C9B003C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317F5351013180357C9B003C-->  <VALUE><![CDATA[OBUIAPP_Personalization_Statusbar_Close]]></VALUE>
+<!--FF808181317F5351013180357C9B003C-->  <MSGTEXT><![CDATA[Close the personalize form view and go back to the previous view.]]></MSGTEXT>
+<!--FF808181317F5351013180357C9B003C-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181317F5351013180357C9B003C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317F5351013180357C9B003C--></AD_MESSAGE>
+
+<!--FF808181318397C5013183FBF4F90013--><AD_MESSAGE>
+<!--FF808181318397C5013183FBF4F90013-->  <AD_MESSAGE_ID><![CDATA[FF808181318397C5013183FBF4F90013]]></AD_MESSAGE_ID>
+<!--FF808181318397C5013183FBF4F90013-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181318397C5013183FBF4F90013-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181318397C5013183FBF4F90013-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181318397C5013183FBF4F90013-->  <VALUE><![CDATA[OBUIAPP_Personalization_PropertiesForm_DynamicStatusBarField]]></VALUE>
+<!--FF808181318397C5013183FBF4F90013-->  <MSGTEXT><![CDATA[The field you selected is also present on the form, its properties can not be edited on ]]></MSGTEXT>
+<!--FF808181318397C5013183FBF4F90013-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181318397C5013183FBF4F90013-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181318397C5013183FBF4F90013--></AD_MESSAGE>
+
+<!--FF808181318397C501318415E7B80025--><AD_MESSAGE>
+<!--FF808181318397C501318415E7B80025-->  <AD_MESSAGE_ID><![CDATA[FF808181318397C501318415E7B80025]]></AD_MESSAGE_ID>
+<!--FF808181318397C501318415E7B80025-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181318397C501318415E7B80025-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181318397C501318415E7B80025-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181318397C501318415E7B80025-->  <VALUE><![CDATA[OBUIAPP_Personalization_RemoveFromStatusBar]]></VALUE>
+<!--FF808181318397C501318415E7B80025-->  <MSGTEXT><![CDATA[Remove from statusbar]]></MSGTEXT>
+<!--FF808181318397C501318415E7B80025-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF808181318397C501318415E7B80025-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181318397C501318415E7B80025--></AD_MESSAGE>
+
+<!--FF8081813185119C0131852355420018--><AD_MESSAGE>
+<!--FF8081813185119C0131852355420018-->  <AD_MESSAGE_ID><![CDATA[FF8081813185119C0131852355420018]]></AD_MESSAGE_ID>
+<!--FF8081813185119C0131852355420018-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813185119C0131852355420018-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813185119C0131852355420018-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813185119C0131852355420018-->  <VALUE><![CDATA[OBUIAPP_Personalization_ConfirmDelete]]></VALUE>
+<!--FF8081813185119C0131852355420018-->  <MSGTEXT><![CDATA[You want to delete your personalized form layout? After removal you will use the standard or a default form layout, you will be redirected to the standard window view.]]></MSGTEXT>
+<!--FF8081813185119C0131852355420018-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813185119C0131852355420018-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813185119C0131852355420018--></AD_MESSAGE>
+
+<!--FF8081813185119C01318523CEE7001D--><AD_MESSAGE>
+<!--FF8081813185119C01318523CEE7001D-->  <AD_MESSAGE_ID><![CDATA[FF8081813185119C01318523CEE7001D]]></AD_MESSAGE_ID>
+<!--FF8081813185119C01318523CEE7001D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813185119C01318523CEE7001D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813185119C01318523CEE7001D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813185119C01318523CEE7001D-->  <VALUE><![CDATA[OBUIAPP_Personalization_ConfirmCancel]]></VALUE>
+<!--FF8081813185119C01318523CEE7001D-->  <MSGTEXT><![CDATA[You have made one or more changes to the form layout, you want to cancel these changes?]]></MSGTEXT>
+<!--FF8081813185119C01318523CEE7001D-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081813185119C01318523CEE7001D-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813185119C01318523CEE7001D--></AD_MESSAGE>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TAB.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TAB.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -151,4 +151,29 @@
 <!--FF8080812EFBEA81012EFBED3F58000C-->  <SHOWPARENTBUTTONS><![CDATA[Y]]></SHOWPARENTBUTTONS>
 <!--FF8080812EFBEA81012EFBED3F58000C--></AD_TAB>
 
+<!--FF8081813157AED2013157BF6D810023--><AD_TAB>
+<!--FF8081813157AED2013157BF6D810023-->  <AD_TAB_ID><![CDATA[FF8081813157AED2013157BF6D810023]]></AD_TAB_ID>
+<!--FF8081813157AED2013157BF6D810023-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813157AED2013157BF6D810023-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813157AED2013157BF6D810023-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813157AED2013157BF6D810023-->  <NAME><![CDATA[UI Personalization]]></NAME>
+<!--FF8081813157AED2013157BF6D810023-->  <DESCRIPTION><![CDATA[Maintains ui personalization records]]></DESCRIPTION>
+<!--FF8081813157AED2013157BF6D810023-->  <HELP><![CDATA[Maintains record for user interface personalization]]></HELP>
+<!--FF8081813157AED2013157BF6D810023-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--FF8081813157AED2013157BF6D810023-->  <AD_WINDOW_ID><![CDATA[FF8081813157AED2013157BE93460020]]></AD_WINDOW_ID>
+<!--FF8081813157AED2013157BF6D810023-->  <SEQNO><![CDATA[10]]></SEQNO>
+<!--FF8081813157AED2013157BF6D810023-->  <TABLEVEL><![CDATA[0]]></TABLEVEL>
+<!--FF8081813157AED2013157BF6D810023-->  <ISSINGLEROW><![CDATA[N]]></ISSINGLEROW>
+<!--FF8081813157AED2013157BF6D810023-->  <ISINFOTAB><![CDATA[N]]></ISINFOTAB>
+<!--FF8081813157AED2013157BF6D810023-->  <ISTRANSLATIONTAB><![CDATA[N]]></ISTRANSLATIONTAB>
+<!--FF8081813157AED2013157BF6D810023-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--FF8081813157AED2013157BF6D810023-->  <HASTREE><![CDATA[N]]></HASTREE>
+<!--FF8081813157AED2013157BF6D810023-->  <PROCESSING><![CDATA[N]]></PROCESSING>
+<!--FF8081813157AED2013157BF6D810023-->  <IMPORTFIELDS><![CDATA[N]]></IMPORTFIELDS>
+<!--FF8081813157AED2013157BF6D810023-->  <ISSORTTAB><![CDATA[N]]></ISSORTTAB>
+<!--FF8081813157AED2013157BF6D810023-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813157AED2013157BF6D810023-->  <UIPATTERN><![CDATA[STD]]></UIPATTERN>
+<!--FF8081813157AED2013157BF6D810023-->  <SHOWPARENTBUTTONS><![CDATA[Y]]></SHOWPARENTBUTTONS>
+<!--FF8081813157AED2013157BF6D810023--></AD_TAB>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TABLE.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TABLE.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -193,4 +193,25 @@
 <!--E6F29F8A30BC4603B1D1195051C4F3A6-->  <AD_PACKAGE_ID><![CDATA[BA250A68426F4D71BACAE830EF4EC696]]></AD_PACKAGE_ID>
 <!--E6F29F8A30BC4603B1D1195051C4F3A6--></AD_TABLE>
 
+<!--FF8081813157AED2013157B1F75F0007--><AD_TABLE>
+<!--FF8081813157AED2013157B1F75F0007-->  <AD_TABLE_ID><![CDATA[FF8081813157AED2013157B1F75F0007]]></AD_TABLE_ID>
+<!--FF8081813157AED2013157B1F75F0007-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813157AED2013157B1F75F0007-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813157AED2013157B1F75F0007-->  <NAME><![CDATA[OBUIAPP_UIPersonalization]]></NAME>
+<!--FF8081813157AED2013157B1F75F0007-->  <DESCRIPTION><![CDATA[Contains records which maintain the personalized user interface]]></DESCRIPTION>
+<!--FF8081813157AED2013157B1F75F0007-->  <TABLENAME><![CDATA[OBUIAPP_UIPersonalization]]></TABLENAME>
+<!--FF8081813157AED2013157B1F75F0007-->  <CLASSNAME><![CDATA[UIPersonalization]]></CLASSNAME>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISVIEW><![CDATA[N]]></ISVIEW>
+<!--FF8081813157AED2013157B1F75F0007-->  <ACCESSLEVEL><![CDATA[7]]></ACCESSLEVEL>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISSECURITYENABLED><![CDATA[N]]></ISSECURITYENABLED>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISDELETEABLE><![CDATA[Y]]></ISDELETEABLE>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISHIGHVOLUME><![CDATA[N]]></ISHIGHVOLUME>
+<!--FF8081813157AED2013157B1F75F0007-->  <IMPORTTABLE><![CDATA[N]]></IMPORTTABLE>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISCHANGELOG><![CDATA[N]]></ISCHANGELOG>
+<!--FF8081813157AED2013157B1F75F0007-->  <ISDEFAULTACCT><![CDATA[N]]></ISDEFAULTACCT>
+<!--FF8081813157AED2013157B1F75F0007-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--FF8081813157AED2013157B1F75F0007-->  <AD_PACKAGE_ID><![CDATA[BA250A68426F4D71BACAE830EF4EC696]]></AD_PACKAGE_ID>
+<!--FF8081813157AED2013157B1F75F0007--></AD_TABLE>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TREENODE.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TREENODE.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -11,6 +11,17 @@
 <!--258D19F188E94196936EF06CF608664C-->  <SEQNO><![CDATA[40]]></SEQNO>
 <!--258D19F188E94196936EF06CF608664C--></AD_TREENODE>
 
+<!--76DC645312694D7A8E686BF48C3B490C--><AD_TREENODE>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <AD_TREENODE_ID><![CDATA[76DC645312694D7A8E686BF48C3B490C]]></AD_TREENODE_ID>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <AD_TREE_ID><![CDATA[10]]></AD_TREE_ID>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <NODE_ID><![CDATA[FF8081813157AED2013157C149F40039]]></NODE_ID>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <PARENT_ID><![CDATA[161]]></PARENT_ID>
+<!--76DC645312694D7A8E686BF48C3B490C-->  <SEQNO><![CDATA[250]]></SEQNO>
+<!--76DC645312694D7A8E686BF48C3B490C--></AD_TREENODE>
+
 <!--8AB1608C49C946D99AFB540DD2EE3543--><AD_TREENODE>
 <!--8AB1608C49C946D99AFB540DD2EE3543-->  <AD_TREENODE_ID><![CDATA[8AB1608C49C946D99AFB540DD2EE3543]]></AD_TREENODE_ID>
 <!--8AB1608C49C946D99AFB540DD2EE3543-->  <AD_TREE_ID><![CDATA[10]]></AD_TREE_ID>
@@ -30,7 +41,7 @@
 <!--9E88163FFD3D4B41E040007F01005CF5-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--9E88163FFD3D4B41E040007F01005CF5-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9E88163FFD3D4B41E040007F01005CF5-->  <PARENT_ID><![CDATA[161]]></PARENT_ID>
-<!--9E88163FFD3D4B41E040007F01005CF5-->  <SEQNO><![CDATA[280]]></SEQNO>
+<!--9E88163FFD3D4B41E040007F01005CF5-->  <SEQNO><![CDATA[240]]></SEQNO>
 <!--9E88163FFD3D4B41E040007F01005CF5--></AD_TREENODE>
 
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_WINDOW.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_WINDOW.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -34,4 +34,20 @@
 <!--EBA40241D46D4FA4A24E4A09C61994AA-->  <ISTHREADSAFE><![CDATA[N]]></ISTHREADSAFE>
 <!--EBA40241D46D4FA4A24E4A09C61994AA--></AD_WINDOW>
 
+<!--FF8081813157AED2013157BE93460020--><AD_WINDOW>
+<!--FF8081813157AED2013157BE93460020-->  <AD_WINDOW_ID><![CDATA[FF8081813157AED2013157BE93460020]]></AD_WINDOW_ID>
+<!--FF8081813157AED2013157BE93460020-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081813157AED2013157BE93460020-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081813157AED2013157BE93460020-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081813157AED2013157BE93460020-->  <NAME><![CDATA[UI Personalization]]></NAME>
+<!--FF8081813157AED2013157BE93460020-->  <DESCRIPTION><![CDATA[Maintains ui personalization records]]></DESCRIPTION>
+<!--FF8081813157AED2013157BE93460020-->  <HELP><![CDATA[Maintains UI Personalization records]]></HELP>
+<!--FF8081813157AED2013157BE93460020-->  <WINDOWTYPE><![CDATA[M]]></WINDOWTYPE>
+<!--FF8081813157AED2013157BE93460020-->  <ISSOTRX><![CDATA[N]]></ISSOTRX>
+<!--FF8081813157AED2013157BE93460020-->  <PROCESSING><![CDATA[N]]></PROCESSING>
+<!--FF8081813157AED2013157BE93460020-->  <ISDEFAULT><![CDATA[N]]></ISDEFAULT>
+<!--FF8081813157AED2013157BE93460020-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081813157AED2013157BE93460020-->  <ISTHREADSAFE><![CDATA[Y]]></ISTHREADSAFE>
+<!--FF8081813157AED2013157BE93460020--></AD_WINDOW>
+
 </data>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/OBCLKER_TEMPLATE.xml	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/OBCLKER_TEMPLATE.xml	Mon Aug 01 15:05:30 2011 +0200
@@ -216,4 +216,17 @@
 <!--DA488BBACB294198AA36A93F03F9561B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--DA488BBACB294198AA36A93F03F9561B--></OBCLKER_TEMPLATE>
 
+<!--FF808181317B723B01317B7453E90006--><OBCLKER_TEMPLATE>
+<!--FF808181317B723B01317B7453E90006-->  <OBCLKER_TEMPLATE_ID><![CDATA[FF808181317B723B01317B7453E90006]]></OBCLKER_TEMPLATE_ID>
+<!--FF808181317B723B01317B7453E90006-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181317B723B01317B7453E90006-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181317B723B01317B7453E90006-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF808181317B723B01317B7453E90006-->  <NAME><![CDATA[Personalization Form]]></NAME>
+<!--FF808181317B723B01317B7453E90006-->  <DESCRIPTION><![CDATA[The template for generating the demo form used in form personalization]]></DESCRIPTION>
+<!--FF808181317B723B01317B7453E90006-->  <TEMPLATECLASSPATHLOCATION><![CDATA[/org/openbravo/client/application/templates/ob-view-personalization-form.js.ftl]]></TEMPLATECLASSPATHLOCATION>
+<!--FF808181317B723B01317B7453E90006-->  <TEMPLATE_LANGUAGE><![CDATA[OBCLFRE_Freemarker]]></TEMPLATE_LANGUAGE>
+<!--FF808181317B723B01317B7453E90006-->  <COMPONENT_TYPE><![CDATA[OBUIAPP_ViewImplementation]]></COMPONENT_TYPE>
+<!--FF808181317B723B01317B7453E90006-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181317B723B01317B7453E90006--></OBCLKER_TEMPLATE>
+
 </data>
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java	Mon Aug 01 15:05:30 2011 +0200
@@ -223,6 +223,24 @@
         "web/org.openbravo.client.application/js/alert-management/ob-alert-management-view.js",
         false));
 
+    // personalization
+    globalResources.add(createStaticResource(
+        "web/org.openbravo.userinterface.smartclient/openbravo/skins/"
+            + KernelConstants.SKIN_PARAMETER
+            + "/org.openbravo.client.application/ob-personalization-styles.js", false));
+
+    globalResources.add(createStaticResource(
+        "web/org.openbravo.client.application/js/personalization/ob-personalization.js", false));
+    globalResources.add(createStaticResource(
+        "web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js",
+        false));
+    globalResources.add(createStaticResource(
+        "web/org.openbravo.client.application/js/personalization/ob-customize-form.js", false));
+    globalResources
+        .add(createStaticResource(
+            "web/org.openbravo.client.application/js/personalization/ob-customize-form-toolbar-button.js",
+            false));
+
     // Styling
     globalResources.add(createStyleSheetResource(
         "web/org.openbravo.userinterface.smartclient/openbravo/skins/"
@@ -327,6 +345,17 @@
     globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/utilities/ob-history-manager.js", false));
 
+    // personalization
+    globalResources.add(createStyleSheetResource(
+        "web/org.openbravo.userinterface.smartclient/openbravo/skins/"
+            + KernelConstants.SKIN_PARAMETER
+            + "/org.openbravo.client.application/ob-personalization-styles.css", false));
+
+    globalResources.add(createStaticResource(
+        "web/org.openbravo.userinterface.smartclient/openbravo/skins/"
+            + KernelConstants.SKIN_PARAMETER
+            + "/org.openbravo.client.application/ob-personalization-styles.js", false));
+
     return globalResources;
   }
 
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java	Mon Aug 01 15:05:30 2011 +0200
@@ -21,9 +21,12 @@
 import java.util.Map;
 
 import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.codehaus.jettison.json.JSONObject;
 import org.openbravo.base.exception.OBException;
+import org.openbravo.client.application.personalization.PersonalizationHandler;
 import org.openbravo.client.kernel.BaseActionHandler;
 import org.openbravo.client.kernel.StaticResourceComponent;
 import org.openbravo.dal.core.OBContext;
@@ -41,6 +44,10 @@
  */
 @ApplicationScoped
 public class WindowSettingsActionHandler extends BaseActionHandler {
+  private static final Logger log4j = Logger.getLogger(PersonalizationHandler.class);
+
+  @Inject
+  private PersonalizationHandler personalizationHandler;
 
   protected JSONObject execute(Map<String, Object> parameters, String data) {
 
@@ -64,6 +71,13 @@
           OBContext.getOBContext().getUser(), OBContext.getOBContext().getRole(), window);
       json.put("autoSave", "Y".equals(autoSaveStr));
 
+      try {
+        json.put("personalization", personalizationHandler.getPersonalizationForWindow(window));
+      } catch (Throwable t) {
+        // be robust about errors in the personalization settings
+        log4j.error("Error for window " + window, t);
+      }
+
       final String showConfirmationStr = Preferences.getPreferenceValue("ShowConfirmationDefault",
           false, OBContext.getOBContext().getCurrentClient(), OBContext.getOBContext()
               .getCurrentOrganization(), OBContext.getOBContext().getUser(), OBContext
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,112 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2011 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.client.application.personalization;
+
+import java.util.Map;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+
+import org.codehaus.jettison.json.JSONObject;
+import org.openbravo.base.exception.OBException;
+import org.openbravo.client.application.UIPersonalization;
+import org.openbravo.client.application.window.OBViewFormComponent;
+import org.openbravo.client.kernel.BaseActionHandler;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.model.ad.ui.Tab;
+
+/**
+ * Is the entry point for the UI to store and retrieve personalization settings and form definition.
+ * 
+ * @author mtaal
+ */
+@RequestScoped
+public class PersonalizationActionHandler extends BaseActionHandler {
+
+  private static final String TEMPLATE_ID = "FF808181317B723B01317B7453E90006";
+
+  private static final String ACTION = "action";
+  private static final String ACTION_STORE = "store";
+  private static final String ACTION_DELETE = "delete";
+  private static final String ACTION_FORM = "getFormDefinition";
+  private static final String PERSONALIZATIONID = "personalizationId";
+  private static final String TARGET = "target";
+  private static final String CLIENTID = "clientId";
+  private static final String ORGID = "orgId";
+  private static final String ROLEID = "roleId";
+  private static final String USERID = "userId";
+  private static final String TABID = "tabId";
+
+  @Inject
+  private PersonalizationHandler personalizationHandler;
+
+  @Inject
+  private OBViewFormComponent viewFormComponent;
+
+  protected JSONObject execute(Map<String, Object> parameters, String data) {
+
+    try {
+      OBContext.setAdminMode();
+      if (!parameters.containsKey(ACTION)) {
+        throw new IllegalStateException("Mandatory parameter " + ACTION + " not present");
+      }
+      if (!parameters.containsKey(PERSONALIZATIONID) && !parameters.containsKey(TABID)) {
+        throw new IllegalStateException("Mandatory parameter " + TABID + " not present");
+      }
+      final String action = (String) parameters.get(ACTION);
+      final String tabId = (String) parameters.get(TABID);
+      if (action.equals(ACTION_DELETE)) {
+        final String persId = (String) parameters.get(PERSONALIZATIONID);
+        final UIPersonalization uiPersonalization = OBDal.getInstance().get(
+            UIPersonalization.class, persId);
+        OBDal.getInstance().remove(uiPersonalization);
+        return new JSONObject().put("result", "success");
+      } else if (action.equals(ACTION_STORE)) {
+        final UIPersonalization uiPersonalization = personalizationHandler.storePersonalization(
+            (String) parameters.get(PERSONALIZATIONID), (String) parameters.get(CLIENTID),
+            (String) parameters.get(ORGID), (String) parameters.get(ROLEID),
+            (String) parameters.get(USERID), tabId, (String) parameters.get(TARGET), data);
+        final JSONObject result = new JSONObject();
+        if (uiPersonalization.getUser() != null
+            && uiPersonalization.getUser().getId()
+                .equals(OBContext.getOBContext().getUser().getId())) {
+          result.put("canDelete", true);
+        }
+        result.put("personalizationId", uiPersonalization.getId());
+        return result;
+      } else if (action.equals(ACTION_FORM)) {
+        viewFormComponent.setParameters(parameters);
+        viewFormComponent.setTemplateId(TEMPLATE_ID);
+        viewFormComponent.setTab(OBDal.getInstance().get(Tab.class, tabId));
+        final String formJS = viewFormComponent.generate();
+        final JSONObject formProps = new JSONObject(formJS);
+        return formProps;
+      } else {
+        throw new IllegalStateException("Action " + parameters.get(ACTION) + " not supported");
+      }
+    } catch (IllegalStateException e) {
+      throw e;
+    } catch (Exception e) {
+      throw new OBException(e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationHandler.java	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,404 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2010-2011 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+
+package org.openbravo.client.application.personalization;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.enterprise.context.RequestScoped;
+
+import org.apache.log4j.Logger;
+import org.codehaus.jettison.json.JSONObject;
+import org.openbravo.base.exception.OBException;
+import org.openbravo.base.provider.OBProvider;
+import org.openbravo.client.application.UIPersonalization;
+import org.openbravo.dal.core.DalUtil;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBQuery;
+import org.openbravo.model.ad.access.Role;
+import org.openbravo.model.ad.access.User;
+import org.openbravo.model.ad.system.Client;
+import org.openbravo.model.ad.ui.Tab;
+import org.openbravo.model.ad.ui.Window;
+import org.openbravo.model.common.enterprise.Organization;
+
+/**
+ * Handles personalization settings, stores them and retrieves them, taking into account priority
+ * order.
+ * 
+ */
+@RequestScoped
+public class PersonalizationHandler {
+  private static final Logger log4j = Logger.getLogger(PersonalizationHandler.class);
+
+  /**
+   * Returns all the personalization settings in an object keyed by tabid. The current client, org,
+   * role and user are taken into account to find the correct personalization entry. If no
+   * personalization record is present then null is returned for that specific tab.
+   * 
+   * @param window
+   *          the window for which the personalization settings are to be returned.
+   * @return the personalization settings in a json object for a window.
+   */
+  public JSONObject getPersonalizationForWindow(Window window) {
+    OBContext.setAdminMode();
+    try {
+      final JSONObject result = new JSONObject();
+      for (Tab tab : window.getADTabList()) {
+        final UIPersonalization uiPersonalization = getPersonalizationForTab(tab);
+        if (uiPersonalization == null || uiPersonalization.getValue() == null) {
+          result.put(tab.getId(), (Object) null);
+        } else {
+          final JSONObject persJSON = new JSONObject(uiPersonalization.getValue());
+          // if on user level then allow delete
+          if (uiPersonalization.getUser() != null) {
+            persJSON.put("canDelete", true);
+          }
+          persJSON.put("personalizationId", uiPersonalization.getId());
+          result.put(tab.getId(), persJSON);
+        }
+      }
+      return result;
+    } catch (Exception e) {
+      throw new OBException("Exception when getting personalization settings for window " + window,
+          e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
+  /**
+   * Returns all the personalization settings for a tab. The current client, org, role and user are
+   * taken into account to find the correct personalization entry. If no personalization entries are
+   * present then null is returned.
+   * 
+   * @param tab
+   *          the tab for which the personalization settings are to be returned.
+   * @return the personalization settings in a json object for this tab.
+   */
+  public UIPersonalization getPersonalizationForTab(Tab tab) {
+    OBContext.setAdminMode();
+    try {
+      return getPersonalization(OBContext.getOBContext().getCurrentClient().getId(), OBContext
+          .getOBContext().getCurrentOrganization().getId(), OBContext.getOBContext().getRole()
+          .getId(), OBContext.getOBContext().getUser().getId(), tab.getId(), false);
+    } catch (Exception e) {
+      throw new OBException("Exception when getting personalization settings for tab " + tab, e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
+  public UIPersonalization getPersonalization(String clientId, String orgId, String roleId,
+      String userId, String tabId, boolean exactMatch) {
+    OBContext.setAdminMode();
+    try {
+      final List<UIPersonalization> pers = getPersonalizations(clientId, orgId, userId, roleId,
+          tabId, exactMatch);
+      if (pers.isEmpty()) {
+        return null;
+      }
+      if (exactMatch) {
+        if (pers.size() > 0) {
+          log4j.warn("There are is more than one ui personalization record "
+              + "for a certain exact match, ignoring it, just picking the first one: "
+              + pers.get(0));
+        }
+        return pers.get(0);
+      }
+
+      // find the best match
+      UIPersonalization selectedUIPersonalization = null;
+      List<String> parentTree = null;
+      if (orgId != null) {
+        parentTree = OBContext.getOBContext().getOrganizationStructureProvider(clientId)
+            .getParentList(orgId, true);
+      }
+      for (UIPersonalization uiPersonalization : pers) {
+        // select the highest priority or raise exception in case of conflict
+        if (selectedUIPersonalization == null) {
+          selectedUIPersonalization = uiPersonalization;
+          continue;
+        }
+        int higherPriority = isHigherPriority(selectedUIPersonalization, uiPersonalization,
+            parentTree);
+        switch (higherPriority) {
+        case 1:
+          // do nothing, selected one has higher priority
+          break;
+        case 2:
+          selectedUIPersonalization = uiPersonalization;
+          break;
+        default:
+          // conflict ignore
+          break;
+        }
+      }
+      return selectedUIPersonalization;
+    } catch (Exception e) {
+      // TODO: add param values to message
+      throw new OBException(e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
+  /**
+   * Stores the personalization json object for a certain level, if there is no current record then
+   * a new one is created and persisted. If the pers
+   * 
+   * @param persId
+   *          if a specific personalization id is set then the system updates that record and
+   *          ignores the other parameters.
+   * @param clientId
+   *          the client, maybe null
+   * @param orgId
+   *          the organization id, maybe null
+   * @param roleId
+   *          the role id, maybe null
+   * @param userId
+   *          the user id, maybe null
+   * @param tabId
+   *          the tab id, may not be null
+   * @param target
+   *          the personalization target, is either form or grid
+   * @param value
+   *          the value, a json string
+   * @return the persisted record
+   */
+  public UIPersonalization storePersonalization(String persId, String clientId, String orgId,
+      String roleId, String userId, String tabId, String target, String value) {
+    OBContext.setAdminMode();
+    try {
+      UIPersonalization uiPersonalization;
+      if (persId != null) {
+        uiPersonalization = OBDal.getInstance().get(UIPersonalization.class, persId);
+        if (uiPersonalization == null) {
+          throw new IllegalArgumentException("UI Personalization with id " + persId + " not found");
+        }
+      } else {
+        uiPersonalization = getPersonalization(clientId, orgId, roleId, userId, tabId, true);
+      }
+
+      if (uiPersonalization == null) {
+        uiPersonalization = OBProvider.getInstance().get(UIPersonalization.class);
+        uiPersonalization.setClient(OBDal.getInstance().get(Client.class, "0"));
+        uiPersonalization.setOrganization(OBDal.getInstance().get(Organization.class, "0"));
+
+        if (clientId != null) {
+          uiPersonalization.setVisibleAtClient(OBDal.getInstance().get(Client.class, clientId));
+          // also store it in that client
+          uiPersonalization.setClient(uiPersonalization.getVisibleAtClient());
+        }
+        if (orgId != null) {
+          uiPersonalization.setVisibleAtOrganization(OBDal.getInstance().get(Organization.class,
+              orgId));
+        }
+
+        if (roleId != null) {
+          uiPersonalization.setVisibleAtRole(OBDal.getInstance().get(Role.class, roleId));
+        }
+
+        if (userId != null) {
+          uiPersonalization.setUser(OBDal.getInstance().get(User.class, userId));
+        }
+        uiPersonalization.setTab(OBDal.getInstance().get(Tab.class, tabId));
+      }
+      final JSONObject jsonValue = new JSONObject(value);
+      JSONObject jsonObject;
+      if (uiPersonalization.getValue() != null) {
+        jsonObject = new JSONObject(uiPersonalization.getValue());
+      } else {
+        jsonObject = new JSONObject();
+      }
+      jsonObject.put(target, (Object) jsonValue);
+      uiPersonalization.setValue(jsonObject.toString());
+      OBDal.getInstance().save(uiPersonalization);
+      return uiPersonalization;
+    } catch (Exception e) {
+      // TODO: add param values to message
+      throw new OBException(e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
+  private static List<UIPersonalization> getPersonalizations(String clientId, String orgId,
+      String userId, String roleId, String tabId, boolean exactMatch) {
+
+    List<Object> parameters = new ArrayList<Object>();
+    StringBuilder hql = new StringBuilder();
+    hql.append(" as p ");
+    hql.append(" where ");
+    if (exactMatch) {
+      if (clientId != null) {
+        hql.append(" p.visibleAtClient.id = ? ");
+        parameters.add(clientId);
+      } else {
+        hql.append(" p.visibleAtClient is null");
+      }
+
+      if (orgId != null) {
+        hql.append(" and p.visibleAtOrganization.id = ? ");
+        parameters.add(orgId);
+      } else {
+        hql.append(" and p.visibleAtOrganization is null ");
+      }
+
+      if (userId != null) {
+        hql.append(" and p.user.id = ? ");
+        parameters.add(userId);
+      } else {
+        hql.append(" and p.user is null ");
+      }
+
+      if (roleId != null) {
+        hql.append(" and p.visibleAtRole.id = ? ");
+        parameters.add(roleId);
+      } else {
+        hql.append(" and p.visibleAtRole is null");
+      }
+    } else {
+      if (clientId != null) {
+        hql.append(" (p.visibleAtClient.id = ? or ");
+        parameters.add(clientId);
+      } else {
+        hql.append(" (");
+      }
+      hql.append(" coalesce(p.visibleAtClient, '0')='0') ");
+
+      if (roleId != null) {
+        hql.append(" and   (p.visibleAtRole.id = ? or ");
+        parameters.add(roleId);
+      } else {
+        hql.append(" and (");
+      }
+      hql.append(" p.visibleAtRole is null) ");
+
+      // note orgId != null is handled below
+      if (orgId == null) {
+        hql.append(" and (coalesce(p.visibleAtOrganization, '0')='0'))");
+      }
+
+      if (userId != null) {
+        hql.append("  and (p.user.id = ? or ");
+        parameters.add(userId);
+      } else {
+        hql.append(" and (");
+      }
+      hql.append(" p.user is null) ");
+    }
+
+    hql.append(" and  p.tab.id = ? ");
+    parameters.add(tabId);
+
+    OBQuery<UIPersonalization> qPers = OBDal.getInstance().createQuery(UIPersonalization.class,
+        hql.toString());
+    qPers.setParameters(parameters);
+    List<UIPersonalization> personalizations = qPers.list();
+
+    if (orgId != null && !exactMatch) {
+      // Remove from list organization that are not visible
+      final Organization org = OBDal.getInstance().get(Organization.class, orgId);
+      List<String> parentTree = OBContext.getOBContext()
+          .getOrganizationStructureProvider((String) DalUtil.getId(org.getClient()))
+          .getParentList(orgId, true);
+      List<UIPersonalization> auxPersonalizations = new ArrayList<UIPersonalization>();
+      for (UIPersonalization pers : personalizations) {
+        if (pers.getVisibleAtOrganization() == null
+            || parentTree.contains(pers.getVisibleAtOrganization().getId())) {
+          auxPersonalizations.add(pers);
+        }
+      }
+      return auxPersonalizations;
+    } else {
+      return personalizations;
+    }
+  }
+
+  /**
+   * Determines which of the 2 personalizations has higher visibility priority.
+   * 
+   * @param pers1
+   *          First personalization to compare
+   * @param pers2
+   *          Second personalization to compare
+   * @param parentTree
+   *          Parent tree of organizations including the current one, used to assign more priority
+   *          to organizations nearer in the tree.
+   * @return <ul>
+   *         <li>1 in case pers1 is more visible than pers2
+   *         <li>2 in case pers2 is more visible than pers1
+   *         <li>0 in case of conflict (both have identical visibility and value)
+   *         </ul>
+   */
+  private static int isHigherPriority(UIPersonalization pers1, UIPersonalization pers2,
+      List<String> parentTree) {
+    // Check priority by client
+    if ((pers2.getVisibleAtClient() == null || pers2.getVisibleAtClient().getId().equals("0"))
+        && pers1.getVisibleAtClient() != null && !pers1.getVisibleAtClient().getId().equals("0")) {
+      return 1;
+    }
+
+    // Check priority by organization
+    Organization org1 = pers1.getVisibleAtOrganization();
+    Organization org2 = pers2.getVisibleAtOrganization();
+    if (org1 != null && org2 == null) {
+      return 1;
+    }
+
+    if ((org1 == null && org2 != null)) {
+      return 2;
+    }
+
+    if (org1 != null && org2 != null) {
+      int depth1 = parentTree.indexOf(org1.getId());
+      int depth2 = parentTree.indexOf(org2.getId());
+
+      if (depth1 < depth2) {
+        return 1;
+      } else if (depth1 > depth2) {
+        return 2;
+      }
+    }
+
+    // Check priority by user
+    if (pers1.getUser() != null && pers2.getUser() == null) {
+      return 1;
+    }
+
+    if (pers1.getUser() == null && pers2.getUser() != null) {
+      return 2;
+    }
+
+    // Check priority by role
+    if (pers1.getVisibleAtRole() != null && pers2.getVisibleAtRole() == null) {
+      return 1;
+    }
+
+    if (pers1.getVisibleAtRole() == null && pers2.getVisibleAtRole() != null) {
+      return 2;
+    }
+
+    // Actual conflict
+    return 0;
+  }
+}
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -1,3 +1,4 @@
+<#--
 /*
  *************************************************************************
  * The contents of this file are subject to the Openbravo  Public  License
@@ -16,6 +17,7 @@
  * Contributor(s):  ______________________________________.
  ************************************************************************
 */
+-->
 // contains the code for creating a class reflecting the standard window
 //jslint
 // tell the view manager what got loaded...
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -1,3 +1,4 @@
+<#--
 /*
  *************************************************************************
  * The contents of this file are subject to the Openbravo  Public  License
@@ -16,6 +17,7 @@
  * Contributor(s):  ______________________________________.
  ************************************************************************
 */
+-->
 
 <#macro createField fieldDefinition>
     {
@@ -30,6 +32,7 @@
         rowSpan: ${fieldDefinition.rowSpan},
         startRow: ${fieldDefinition.startRow?string},
         endRow: ${fieldDefinition.endRow?string},
+        personalizable: ${fieldDefinition.personalizable?string},
         <#if fieldDefinition.standardField>
         columnName: '${fieldDefinition.columnName?string}',
         inpColumnName: '${fieldDefinition.inpColumnName?string}',
@@ -58,7 +61,7 @@
             
             OB.Utilities.fixNull250(currentValues);
 
-            return context && (${fieldDefinition.showIf});
+            return !this.hiddenInForm && context && (${fieldDefinition.showIf});
           },          
           </#if>
           <#if fieldDefinition.searchField>
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-form.js.ftl	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-form.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -1,3 +1,4 @@
+<#--
 /*
  *************************************************************************
  * The contents of this file are subject to the Openbravo  Public  License
@@ -16,8 +17,8 @@
  * Contributor(s):  ______________________________________.
  ************************************************************************
 */
-
-isc.OBViewForm.create({
+-->
+{
     fields: [
     <#list data.fields as field>
       <@createField field/><#if field_has_next>,</#if>
@@ -53,4 +54,4 @@
         </#list>
       }
     }
-})
+}
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-grid.js.ftl	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-grid.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -1,3 +1,4 @@
+<#--
 /*
  *************************************************************************
  * The contents of this file are subject to the Openbravo  Public  License
@@ -16,6 +17,7 @@
  * Contributor(s):  ______________________________________.
  ************************************************************************
 */
+-->
 
 isc.OBViewGrid.create({
     uiPattern: '${data.uiPattern}', 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-personalization-form.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,72 @@
+<#--
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+-->
+{
+    fields: [
+    <#list data.fields as fieldDefinition>
+      {
+        name: '${fieldDefinition.name?js_string}',
+        title: '${fieldDefinition.label?js_string}',
+        type: '${fieldDefinition.type}',
+        colSpan: ${fieldDefinition.colSpan},
+        rowSpan: ${fieldDefinition.rowSpan},
+        startRow: ${fieldDefinition.startRow?string},
+        endRow: ${fieldDefinition.endRow?string},
+        personalizable: ${fieldDefinition.personalizable?string},
+        disabled: true,
+        showDisabled: false,
+        <#if !fieldDefinition.displayed>
+        width: '',
+        <#else>
+        width: '*',
+        </#if>
+        <#if fieldDefinition.standardField>
+            <#if !fieldDefinition.displayed>
+                editorType: 'HiddenItem',
+                alwaysTakeSpace: false,
+                displayed: false,
+            </#if>
+            required: ${fieldDefinition.required?string},
+            <#if fieldDefinition.searchField>
+                showPickerIcon: ${(!fieldDefinition.parentProperty)?string},
+            </#if>
+        </#if>
+        <#if fieldDefinition.type = "OBSectionItem" || fieldDefinition.type = "OBNoteSectionItem" || fieldDefinition.type = "OBLinkedItemSectionItem"  || fieldDefinition.type = "OBAttachmentsSectionItem" || fieldDefinition.type = "OBAuditSectionItem">
+          <#if !fieldDefinition.displayed>
+          visible: false,
+          </#if>
+          defaultValue: '${fieldDefinition.label?js_string}',
+          itemIds: [
+            <#list fieldDefinition.children as childField>
+                '${childField.name?js_string}'<#if childField_has_next>,</#if>
+            </#list>
+            ]
+        </#if>
+    }
+      <#if fieldDefinition_has_next>,</#if>
+    </#list>    
+    ],
+
+    statusBarFields: [
+    <#list data.statusBarFields as sbf>
+      '${sbf?js_string}'<#if sbf_has_next>,</#if>
+    </#list>
+    ]
+}
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -1,3 +1,4 @@
+<#--
 /*
  *************************************************************************
  * The contents of this file are subject to the Openbravo  Public  License
@@ -16,6 +17,7 @@
  * Contributor(s):  ______________________________________.
  ************************************************************************
 */
+-->
 <@createView data/>      
 
 <#macro createView tabComponent>    
@@ -106,7 +108,7 @@
     </#if>
     initWidget: function() {
         this.dataSource = ${tabComponent.dataSourceJavaScript};
-        this.viewForm = ${tabComponent.viewForm}; 
+        this.viewForm = isc.OBViewForm.create(${tabComponent.viewForm}); 
         this.viewGrid = ${tabComponent.viewGrid};
         this.Super('initWidget', arguments);
       },
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/properties.js.ftl	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/properties.js.ftl	Mon Aug 01 15:05:30 2011 +0200
@@ -1,3 +1,4 @@
+<#--
 /*
  *************************************************************************
  * The contents of this file are subject to the Openbravo  Public  License
@@ -16,6 +17,7 @@
  * Contributor(s):  ______________________________________.
  ************************************************************************
 */
+-->
 
 /* jslint */
 OB.Properties = {
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java	Mon Aug 01 15:05:30 2011 +0200
@@ -25,6 +25,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.enterprise.context.RequestScoped;
+
 import org.apache.log4j.Logger;
 import org.openbravo.base.model.Property;
 import org.openbravo.base.model.domaintype.ForeignKeyDomainType;
@@ -49,6 +51,7 @@
  * @author mtaal
  * @author iperdomo
  */
+@RequestScoped
 public class OBViewFormComponent extends BaseTemplateComponent {
 
   private static final String TEMPLATE_ID = "C1D176407A354A40815DC46D24D70EB8";
@@ -66,8 +69,10 @@
   private Tab tab;
   private List<String> statusBarFields = new ArrayList<String>();
 
+  private String templateId = TEMPLATE_ID;
+
   protected Template getComponentTemplate() {
-    return OBDal.getInstance().get(Template.class, TEMPLATE_ID);
+    return OBDal.getInstance().get(Template.class, templateId);
   }
 
   public Tab getTab() {
@@ -223,6 +228,7 @@
     if (!auditFields.isEmpty()) {
       final OBViewFieldGroup viewFieldGroup = new OBViewFieldGroup();
       viewFieldGroup.setType("OBAuditSectionItem");
+      viewFieldGroup.setPersonalizable(false);
       fields.add(viewFieldGroup);
       viewFieldGroup.setFieldGroup(OBDal.getInstance().get(FieldGroup.class, AUDIT_GROUP_ID));
       viewFieldGroup.addChildren(auditFields);
@@ -300,6 +306,8 @@
 
     public boolean getStandardField();
 
+    public boolean isPersonalizable();
+
     public String getFieldProperties();
 
     public String getInpColumnName();
@@ -422,6 +430,10 @@
       return false;
     }
 
+    public boolean isPersonalizable() {
+      return false;
+    }
+
     @Override
     public boolean isParentProperty() {
       return false;
@@ -489,9 +501,18 @@
       return property.isUpdatable();
     }
 
+    public boolean isPersonalizable() {
+      return true;
+    }
+
     public boolean isParentProperty() {
       if (isParentProperty == null) {
-        isParentProperty = OBViewFormComponent.this.getParentProperty().equals(property.getName());
+        if (OBViewFormComponent.this.getParentProperty() == null) {
+          isParentProperty = false;
+        } else {
+          isParentProperty = OBViewFormComponent.this.getParentProperty()
+              .equals(property.getName());
+        }
       }
       return isParentProperty;
     }
@@ -703,6 +724,10 @@
       return false;
     }
 
+    public boolean isPersonalizable() {
+      return false;
+    }
+
     public String getInpColumnName() {
       return "";
     }
@@ -771,11 +796,16 @@
     private FieldGroup fieldGroup;
     private String label;
     private List<OBViewFieldDefinition> children = new ArrayList<OBViewFieldDefinition>();
+    private boolean personalizable = true;
 
     public OBViewFieldGroup() {
       type = "OBSectionItem";
     }
 
+    public boolean isPersonalizable() {
+      return personalizable;
+    }
+
     public String getLabel() {
       // compute the label
       if (label == null) {
@@ -841,6 +871,10 @@
       }
       return false;
     }
+
+    public void setPersonalizable(boolean personalizable) {
+      this.personalizable = personalizable;
+    }
   }
 
   public class AttachmentsCanvasField extends DefaultVirtualField {
@@ -1041,6 +1075,10 @@
 
   public class OBViewFieldSpacer implements OBViewFieldDefinition {
 
+    public boolean isPersonalizable() {
+      return false;
+    }
+
     public long getColSpan() {
       return 1;
     }
@@ -1150,4 +1188,8 @@
   public void setParentProperty(String parentProperty) {
     this.parentProperty = parentProperty;
   }
+
+  public void setTemplateId(String templateId) {
+    this.templateId = templateId;
+  }
 }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js	Mon Aug 01 15:05:30 2011 +0200
@@ -83,6 +83,10 @@
     this.currentYear = String(currentTime.getFullYear());
 
     this.Super('init', arguments);
+    
+    if (this.showDisabled === false) {
+      this.textField.showDisabled = false;
+    }
   },
 
   // compare while ignoring milli difference
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section-audit.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section-audit.js	Mon Aug 01 15:05:30 2011 +0200
@@ -20,3 +20,7 @@
 //== OBAuditSectionItem ==
 isc.ClassFactory.defineClass('OBAuditSectionItem', OBSectionItem);
 
+isc.OBAuditSectionItem.addProperties({
+  // this field group does not participate in formbuilding
+  personalizable: false
+});
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-section.js	Mon Aug 01 15:05:30 2011 +0200
@@ -52,7 +52,7 @@
 
     for(i = 0; i < this.itemIds.length; i++) {
       item = f.getItem(this.itemIds[i]);
-      if(item && item.editorType !== 'HiddenItem') {
+      if(item && item.editorType !== 'HiddenItem' && !item.hiddenInForm) {
         item.alwaysTakeSpace = flag;
       }
     }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js	Mon Aug 01 15:05:30 2011 +0200
@@ -170,6 +170,23 @@
 
     this.leftStatusBar = isc.OBStatusBarLeftBar.create( {});
     this.leftStatusBar.addMember(this.contentLabel);
+    
+    this.buttonBar = isc.OBStatusBarIconButtonBar.create( {});
+    this.addCreateButtons();
+    
+    this.savedIcon = isc.Img.create(this.savedIconDefaults);
+    this.newIcon = isc.Img.create(this.newIconDefaults);
+    this.editIcon = isc.Img.create(this.editIconDefaults);
+    this.spacer = isc.LayoutSpacer.create( {
+      width : 14
+    });
+    this.leftStatusBar.addMember(this.spacer, 0);
+
+    this.addMembers( [ this.leftStatusBar, this.buttonBar ]);
+    this.Super('initWidget', arguments);
+  },
+  
+  addCreateButtons: function() {
 
     this.previousButton = isc.OBStatusBarIconButton.create( {
       view : this.view,
@@ -207,7 +224,6 @@
       forceKeyboardShortcut : true,
       keyboardShortcutId : 'StatusBar_Maximize-Restore'
     });
-    this.buttonBar = isc.OBStatusBarIconButtonBar.create( {});
 
     var buttonSpacer = isc.HLayout.create( {
       width : this.iconButtonGroupSpacerWidth
@@ -222,17 +238,6 @@
             this.buttonBar.members[i]);
       }
     }
-
-    this.savedIcon = isc.Img.create(this.savedIconDefaults);
-    this.newIcon = isc.Img.create(this.newIconDefaults);
-    this.editIcon = isc.Img.create(this.editIconDefaults);
-    this.spacer = isc.LayoutSpacer.create( {
-      width : 14
-    });
-    this.leftStatusBar.addMember(this.spacer, 0);
-
-    this.addMembers( [ this.leftStatusBar, this.buttonBar ]);
-    this.Super('initWidget', arguments);
   },
 
   draw: function(){
@@ -300,7 +305,7 @@
     }
   },
 
-  setContentLabel : function(icon, statusCode, arrayTitleField) {
+  setContentLabel: function(icon, statusCode, arrayTitleField) {
     var msg = '', i;
     if (statusCode) {
       msg += '<span class="' + (this.statusLabelStyle?this.statusLabelStyle:'') + '">' + OB.I18N.getLabel(statusCode) + '</span>';
@@ -311,7 +316,7 @@
           msg += '<span class="' + (this.separatorLabelStyle?this.separatorLabelStyle:'') + '">' + '&nbsp;&nbsp;|&nbsp;&nbsp;' + '</span>';
         }
         msg += '<span class="' + (this.titleLabelStyle?this.titleLabelStyle:'') + '">' + arrayTitleField[0][i] + ': ' + '</span>';
-        msg += '<span class="' + (this.fieldLabelStyle?this.fieldLabelStyle:'') + '">' + arrayTitleField[1][i] + '</span>';
+        msg += '<span class="' + (this.fieldLabelStyle?this.fieldLabelStyle:'') + '">' + this.getValidValue(arrayTitleField[1][i]) + '</span>';
       }
     }
     if (this.labelOverflowHidden) {
@@ -323,6 +328,14 @@
     } else {
       this.removeIcon(icon);
     }
+  },
+  
+  getValidValue: function(value) {
+    var undef;
+    if (value === null || value === undef) {
+      return '&nbsp;&nbsp;&nbsp;';
+    }
+    return value;
   }
 
 });
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-attachments.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-attachments.js	Mon Aug 01 15:05:30 2011 +0200
@@ -32,7 +32,9 @@
   // width: '100%',
   // height: '100%',
   
-  
+  // this field group does not participate in personalization
+  personalizable: false,
+
   canFocus: true,
   
   // don't expand as a default
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js	Mon Aug 01 15:05:30 2011 +0200
@@ -34,6 +34,9 @@
   
   overflow: 'hidden',
   
+  // this field group does not participate in personalization
+  personalizable: false,
+
   canFocus: true,
   
   // don't expand as a default
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-notes.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-notes.js	Mon Aug 01 15:05:30 2011 +0200
@@ -38,6 +38,9 @@
   canvasItem : null,
 
   visible : true,
+ 
+  // this field group does not participate in personalization
+  personalizable: false,
 
   // note formitems don't have an initWidget but an init method
   init : function() {
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js	Mon Aug 01 15:05:30 2011 +0200
@@ -75,9 +75,6 @@
   // Name of the fields shown in status bar
   statusBarFields: [],
 
-  // Last returned array of function getStatusBarFields
-  statusBarFieldsJSArray: [],
-
   // is set in the OBNoteSectionItem.initWidget
   noteSection: null,
   
@@ -94,6 +91,10 @@
     // are re-used for inline grid editing
     isc.addProperties(this, this.obFormProperties);
 
+    // is used to keep track of the original simple objects
+    // used to create fields
+    this._originalFields = isc.shallowClone(this.fields);
+    
     this.Super('initWidget', arguments);
 
     length = this.getItems().length;
@@ -135,7 +136,6 @@
         statusBarFields[1].push(value);
       }
     }
-    this.statusBarFieldsJSArray = statusBarFields;
     return statusBarFields;
   },
   
@@ -144,7 +144,7 @@
     this.view.updateTabTitle();
     if (value && !this.isNew && this.view.statusBar.mode !== 'EDIT') {
       this.view.statusBar.mode = "EDIT";
-      this.view.statusBar.setContentLabel(this.view.statusBar.editIcon, 'OBUIAPP_Editing', this.statusBarFieldsJSArray);
+      this.view.statusBar.setContentLabel(this.view.statusBar.editIcon, 'OBUIAPP_Editing', this.getStatusBarFields());
     }
     
     if (value) {
@@ -1343,6 +1343,9 @@
   
   // overridden to show the error when hovering over items
   titleHoverHTML: function(item){
+    if (!item.isVisible()) {
+      return null;
+    }
     var errs = item.getErrors();
     if (!errs) {
       return this.Super('titleHoverHTML', arguments);
@@ -1351,6 +1354,9 @@
   },
   
   itemHoverHTML: function(item){
+    if (!item.isVisible()) {
+      return null;
+    }
     var errs = item.getErrors();
     if (!errs) {
       return this.Super('itemHoverHTML', arguments);
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js	Mon Aug 01 15:05:30 2011 +0200
@@ -1198,7 +1198,7 @@
       document.title = 'Openbravo - ' + tab.title;
     }
   },
-  
+    
   isViewVisible: function(){
     // this prevents data requests for minimized tabs
     // note this.tab.isVisible is done as the tab is visible earlier than
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js	Mon Aug 01 15:05:30 2011 +0200
@@ -51,8 +51,6 @@
   dirtyEditForm: null,
   
   initWidget: function(){
-    var standardWindow = this;
-    
     this.views = [];
     
     this.toolBarLayout = isc.HLayout.create({
@@ -87,18 +85,32 @@
     
     // retrieve user specific window settings from the server
     // they are stored at class level to only do the call once
+    // note this if is not done inside the method as this 
+    // method is also called explicitly from the personalization window
     if (!this.getClass().windowSettingsRead) {
-      OB.RemoteCallManager.call('org.openbravo.client.application.WindowSettingsActionHandler', null, {
-        windowId: this.windowId
-      }, function(response, data, request){
-        standardWindow.setWindowSettings(data);
-      });
+      this.readWindowSettings();
     }
   },
   
+  readWindowSettings: function() {
+    var standardWindow = this;
+    
+    OB.RemoteCallManager.call('org.openbravo.client.application.WindowSettingsActionHandler', null, {
+      windowId: this.windowId
+    }, function(response, data, request){
+      standardWindow.setWindowSettings(data);
+    });    
+  },
+  
   // set window specific user settings, purposely set on class level
   setWindowSettings: function(data) {
     var i;
+    
+    // do the personalization part always
+    if (data) {
+      OB.Personalization.personalizeWindow(data.personalization, this);
+    }
+    
     if (this.getClass().windowSettingsRead) {
       return;
     }
@@ -532,6 +544,11 @@
     this.targetRecordId = recordId;
     OB.Layout.HistoryManager.updateHistory();
   },
+  
+  getView: function(tabId) {
+    // find is a SC extension on arrays
+    return this.views.find('tabId', tabId);
+  },
 
   storeViewState: function(){
     var result = {}, i;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js	Mon Aug 01 15:05:30 2011 +0200
@@ -391,8 +391,12 @@
       autoFocus: true,
       overflow: 'visible',
       width: '100%',
-      titleSuffix: '',
-      requiredTitleSuffix: '',
+      titleSuffix: '</b>',
+      titlePrefix: '<b>',
+      requiredTitleSuffix: ' *</b>',
+      requiredRightTitlePrefix: '<b>* ',
+      rightTitlePrefix: '<b>',
+      rightTitleSuffix: '</b>',
       numCols: 1,
       errorOrientation: 'right',
       
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-customize-form-toolbar-button.js	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,53 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s): ___________
+ ************************************************************************
+ */
+
+// Registers a button to open the form layout manager
+
+// put within a function to hide local vars etc.
+(function () {
+  
+  var personalizationButtonProperties = {
+    action: function() {
+      var tabTitle, customizeForm;
+      if (this.view === this.view.standardWindow.view) {
+        tabTitle = this.view.tabTitle;
+      } else {
+        tabTitle = this.view.standardWindow.tabTitle + ' - ' + this.view.tabTitle;
+      }
+      
+      customizeForm = isc.OBCustomizeFormLayout.create({
+        form: this.view.viewForm,
+        openedInForm: true,
+        tabTitle: tabTitle,
+        tabId: this.view.tabId
+      });
+      customizeForm.doOpen();
+    },
+    disabled: false,
+    buttonType: 'personalization',
+    prompt: OB.I18N.getLabel('OBUIAPP_Personalization_Toolbar_Button'),
+    updateState: function(){
+      this.show();
+    },
+    keyboardShortcutId: 'ToolBar_Personalization'
+  };
+  
+  OB.ToolbarRegistry.registerButton(personalizationButtonProperties.buttonType, isc.OBToolbarIconButton, personalizationButtonProperties, 310, null);
+    
+}());
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-customize-form.js	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,776 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distribfuted  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+
+isc.ClassFactory.defineClass('OBCustomizeFormLayout', isc.VLayout);
+
+isc.OBCustomizeFormLayout.addProperties({
+
+  tabTitle: null,
+  contextTitle: null,
+
+  // is set when called from the personalization grid
+  personalizationId: null,
+  
+  clientIdentifier: null,
+  orgIdentifier: null,
+  roleIdentifier: null,
+  userIdentifier: null,
+  
+  clientId:null,
+  orgId: null,
+  roleId: null,
+  userId: null,
+
+  isNew: false,
+  isChanged: false,
+  isSaved: false,
+  
+  hasBeenSaved: false,
+  
+  // the form instance shown to the user
+  demoForm: null,
+  // retrieved from the server
+  demoFormProperties: null,
+  
+  initWidget: function() {
+    
+    // if no personalization data then we need to compute it from the form
+    if (!this.personalizationData) {
+      this.personalizationData = OB.Personalization.getDataStructureFromForm(this.form);
+    }
+
+    if (this.personalizationData) {
+      this.isNew = !this.personalizationData.personalizationId;
+    }
+    
+    this.createAddToolbar();
+    this.createAddStatusbar();
+    this.createAddMainLayout();
+    this.Super('initWidget', arguments);
+  },
+
+  createAddMainLayout: function() {
+    var data, mainLayout = isc.VLayout.create({}, OB.Styles.Personalization.MainLayout), 
+        fieldsLayout = isc.Layout.create({height: '100%'}, OB.Styles.Personalization.FieldsLayout);
+    
+    this.creatingMainLayout = true;
+    
+    this.managementLayout = isc.HLayout.create({height: '100%', width: '100%'}, OB.Styles.Personalization.ManagementLayout);
+    
+    data = this.personalizationData;
+    
+    if (data.form) {
+      data = data.form;
+    }
+    if (data.fields) {
+      data = data.fields;
+    }
+
+    this.fieldsTreeGrid = isc.OBPersonalizationTreeGrid.create({
+      fieldData: data,
+      customizeForm: this,
+      selectionUpdated: function(record, recordList) {
+        this.customizeForm.selectionUpdated(record, recordList);
+      }
+    });
+    
+    fieldsLayout.addMember(this.fieldsTreeGrid);
+    this.managementLayout.addMember(fieldsLayout);
+    this.managementLayout.addMember(this.createPropertiesLayout());
+    mainLayout.addMember(this.managementLayout);
+    this.mainLayout = mainLayout;
+    this.addMember(mainLayout);
+    delete this.creatingMainLayout;
+  },
+
+  createPropertiesLayout: function() {
+    var NumericField, CheckboxField, 
+      propertiesLayout = 
+        isc.Layout.create(OB.Styles.Personalization.PropertiesLayout);
+    
+    // a backpointer
+    propertiesLayout.customizeForm = this;
+      
+    CheckboxField = function(props){
+      if (props) {
+        isc.addProperties(this, props);
+      }
+    };
+    CheckboxField.prototype = {
+      cellStyle: OB.Styles.OBFormField.DefaultCheckbox.cellStyle,
+      alwaysTakeSpace: false,
+      titleStyle: OB.Styles.OBFormField.DefaultCheckbox.titleStyle,
+      textBoxStyle: OB.Styles.OBFormField.DefaultCheckbox.textBoxStyle,
+      showValueIconOver: OB.Styles.OBFormField.DefaultCheckbox.showValueIconOver,
+      showValueIconFocused: OB.Styles.OBFormField.DefaultCheckbox.showValueIconFocused,
+      showFocused: OB.Styles.OBFormField.DefaultCheckbox.showFocused,
+      defaultValue: OB.Styles.OBFormField.DefaultCheckbox.defaultValue,
+      checkedImage: OB.Styles.OBFormField.DefaultCheckbox.checkedImage,
+      uncheckedImage: OB.Styles.OBFormField.DefaultCheckbox.uncheckedImage,
+      titleOrientation: 'right',
+      editorType: 'checkbox'
+    };
+    
+    NumericField = function(props){
+      if (props) {
+        isc.addProperties(this, props);
+      }
+    };
+    NumericField.prototype = {
+      showFocused: true,
+      alwaysTakeSpace: false,
+      required: true,
+      validateOnExit: true,
+      showIcons: false,
+      width: '*',
+      titleOrientation: 'top',
+      titleSuffix: '</b>',
+      titlePrefix: '<b>',
+      requiredTitleSuffix: ' *</b>',
+      requiredRightTitlePrefix: '<b>* ',
+      rightTitlePrefix: '<b>',
+      rightTitleSuffix: '</b>',
+      keyPressFilterNumeric: '[0-9]',
+      editorType: 'OBTextItem'
+    };
+
+    propertiesLayout.formLayout = isc.VStack.create({
+        align: 'center',
+        overflow: 'visible',
+        height: 1,
+        visible: false,
+        width: '100%'
+      });
+    
+    propertiesLayout.formLayout.Title = isc.Label.create({
+      width: '100%',
+      height: 1,
+      overflow: 'visible',
+      baseStyle: OB.Styles.OBFormField.DefaultTextItem.titleStyle,
+      contents: ''
+    });
+    
+    propertiesLayout.formLayout.addMember(propertiesLayout.formLayout.Title);
+
+    propertiesLayout.formLayout.form = isc.DynamicForm.create({
+      customizeForm: this,
+      overflow: 'visible',
+      numCols: 1,
+      width: '100%',
+     
+      titleSuffix: '</b>',
+      titlePrefix: '<b>',
+      requiredTitleSuffix: ' *</b>',
+      requiredRightTitlePrefix: '<b>* ',
+      rightTitlePrefix: '<b>',
+      rightTitleSuffix: '</b>',
+     
+      errorsPreamble: '',
+      showErrorIcons: false,
+      showErrorStyle: true,
+      showInlineErrors: true,
+      fields: [
+         new NumericField({
+           name: 'colSpan',
+           title: OB.I18N.getLabel('OBUIAPP_Personalization_Colspan')
+         }),
+         new NumericField({
+           name: 'rowSpan',
+           required: true,
+           title: OB.I18N.getLabel('OBUIAPP_Personalization_Rowspan')
+         }),
+         new CheckboxField({
+           name: 'startRow',
+           title: OB.I18N.getLabel('OBUIAPP_Personalization_Startrow')
+         }),
+        new CheckboxField({
+          name: 'hiddenInForm',
+          title: OB.I18N.getLabel('OBUIAPP_Personalization_Hidden')
+        }),
+        new CheckboxField({
+          name: 'firstFocus',
+          title: OB.I18N.getLabel('OBUIAPP_Personalization_FirstFocus')
+        })
+      ],
+      
+      setRecord: function(record) {
+        this.record = record;
+        var i = 0;
+        for (i = 0; i < this.getFields().length; i++) {
+          this.setValue(this.getFields()[i].name, record[this.getFields()[i].name]);
+        }
+        
+        // hide some fields
+        if (record.isStaticStatusBarField) {
+          this.hideItem('colSpan');
+          this.hideItem('rowSpan');
+          this.hideItem('firstFocus');
+          this.hideItem('startRow');
+        } else {
+          this.showItem('colSpan');
+          this.showItem('rowSpan');
+          this.showItem('firstFocus');
+          this.showItem('startRow');
+        }
+        
+        this.rememberValues();
+      },
+      
+      doSave: function() {
+        var i, allNodes;
+        this.validate();
+        if (this.hasErrors()) {
+          return;
+        }
+        // first get rid of all first focus if it was set now
+        if (this.getValue('firstFocus')) {
+          allNodes = this.customizeForm.fieldsTreeGrid.data.getAllNodes();
+          for (i = 0; i < allNodes.length; i++) {
+            if (allNodes[i].firstFocus) {
+              allNodes[i].firstFocus = false;
+            }
+          }
+        }
+        
+        // now it will be set, maximum one field will have 
+        // the focus now
+        isc.addProperties(this.record, this.getValues());        
+        this.buttons.changeButtonState(false);
+        this.rememberValues();
+        this.focus();
+        
+        // items may have been hidden, which changes their colour
+        this.customizeForm.fieldsTreeGrid.markForRedraw();
+
+        // this will reset everything
+        this.customizeForm.changed();
+      },
+      
+      doCancel: function() {
+        this.reset();
+        this.focus();
+        this.buttons.changeButtonState(false);
+      },
+      
+      itemChanged: function(item, newValue) {
+        this.buttons.changeButtonState(true);
+      }
+    });
+    
+    propertiesLayout.formLayout.addMembers(propertiesLayout.formLayout.form);
+    // and the button bar
+    propertiesLayout.formLayout.buttons = isc.HStack.create({
+      layoutTopMargin: 10,
+      membersMargin: 10,
+      align: 'center',
+      overflow: 'visible',
+      height: 1,
+      width: '100%',
+      
+      changeButtonState: function(state) {
+        var i = 0;
+        for (i = 0; i < this.members.length; i++) {
+          if (state) {
+            this.members[i].enable();
+          } else {
+            this.members[i].disable();            
+          }
+        }
+      }
+    });
+    propertiesLayout.formLayout.buttons.addMembers(isc.OBFormButton.create({
+      container: propertiesLayout.formLayout.buttons,
+      disabled: true,
+      form: propertiesLayout.formLayout.form,
+      title: OB.I18N.getLabel('OBUIAPP_Apply'),
+      click: function(){
+        this.form.doSave();
+      }
+    }));
+    propertiesLayout.formLayout.buttons.addMembers(isc.OBFormButton.create({
+      container: propertiesLayout.formLayout.buttons,
+      form: propertiesLayout.formLayout.form,
+      disabled: true,
+      title: OB.I18N.getLabel('UINAVBA_Cancel'),
+      click: function(){
+        this.form.doCancel();
+      }
+    }));
+    
+    propertiesLayout.formLayout.form.buttons = propertiesLayout.formLayout.buttons;
+    propertiesLayout.formLayout.addMembers(propertiesLayout.formLayout.buttons);
+    
+    propertiesLayout.emptyMessage = isc.Label.create({
+      width: '100%',
+      height: 1,
+      overflow: 'visible',
+      contents: OB.I18N.getLabel('OBUIAPP_Personalization_PropertiesFormEmptyMessage')
+    });
+    
+    propertiesLayout.addMember(propertiesLayout.formLayout);
+    propertiesLayout.addMember(propertiesLayout.emptyMessage);
+    propertiesLayout.hideMember(propertiesLayout.formLayout);
+    propertiesLayout.showMember(propertiesLayout.emptyMessage);
+    
+    propertiesLayout.updatePropertiesDisplay = function(record) {
+      var newRecord;
+      if (!record) {
+        this.hideMember(this.formLayout);
+        this.emptyMessage.show();
+      } else if (record.isDynamicStatusBarField) {
+        newRecord = this.customizeForm.fieldsTreeGrid.data.find('name', record.originalName);
+        this.updatePropertiesDisplay(newRecord);
+      } else {
+        this.formLayout.Title.setContents(record.title);
+        this.formLayout.form.setRecord(record);
+        this.formLayout.form.buttons.changeButtonState(false);
+        this.hideMember(this.emptyMessage);
+        this.showMember(propertiesLayout.formLayout);
+        this.formLayout.form.focus();
+      }
+    };
+    
+    this.propertiesLayout = propertiesLayout;
+    
+    return propertiesLayout;
+  },
+  
+  createAddStatusbar: function() {
+    var owner = this;
+    this.statusBar = isc.OBStatusBar.create({
+      view: this,
+
+      addCreateButtons: function() {
+        this.buttonBar.setWidth(1);
+        this.buttonBar.setOverflow('visible');
+        this.buttonBar.defaultLayoutAlign = 'center';
+        var closeButton = isc.OBStatusBarIconButton.create({
+          view: this.view,
+          buttonType: 'close',
+          keyboardShortcutId: 'StatusBar_Close',
+          prompt: OB.I18N
+              .getLabel('OBUIAPP_Personalization_Statusbar_Close'),
+          action: function() {
+            owner.doClose();
+          }
+        }, OB.Styles.Personalization.closeButtonProperties);
+        this.buttonBar.addMembers([ closeButton ]);
+      }
+    });
+    this.addMember(this.statusBar);
+    
+    this.setStatusBarInformation();
+  },
+
+  createAddToolbar: function() {
+    var saveButtonProperties, deleteButtonProperties, cancelButtonProperties;
+
+    saveButtonProperties = {
+      action: function() {
+        this.view.save();
+      },
+      disabled: true,
+      buttonType: 'save',
+      prompt: OB.I18N.getLabel('OBUIAPP_Personalization_Toolbar_Save'),
+      updateState: function() {
+        this.setDisabled(this.view.hasNotChanged());
+      },
+      keyboardShortcutId: 'ToolBar_Save'
+    };
+
+    deleteButtonProperties = {
+        action: function(){
+          this.view.deletePersonalization();
+        },
+        disabled: true,
+        buttonType: 'eliminate',
+        prompt: OB.I18N.getLabel('OBUIAPP_Personalization_Toolbar_Delete'),
+        updateState: function(){
+          this.setDisabled(!this.view.personalizationData.canDelete);
+        },
+        keyboardShortcutId: 'ToolBar_Eliminate'
+      };
+    
+    cancelButtonProperties = {
+      action: function() {
+        this.view.cancel();
+      },
+      disabled: true,
+      buttonType: 'undo',
+      prompt: OB.I18N.getLabel('OBUIAPP_Personalization_Toolbar_CancelEdit'),
+      updateState: function() {
+        this.setDisabled(this.view.hasNotChanged());
+      },
+      keyboardShortcutId: 'ToolBar_Undo'
+    };
+
+    this.toolBar = isc.OBToolbar.create({
+      view: this,
+      leftMembers: [ isc.OBToolbarIconButton.create(saveButtonProperties),
+          isc.OBToolbarIconButton.create(deleteButtonProperties),
+          isc.OBToolbarIconButton.create(cancelButtonProperties) ],
+      rightMembers: []
+    });
+    this.addMember(this.toolBar);
+  },
+
+  // toolbar logic
+  save: function() {
+    var params, me = this;
+    this.isNew = false;
+    this.isSaved = true;
+    this.isChanged = false;
+    this.hasBeenSaved = true;
+    this.setStatusBarInformation();
+
+    // store it!
+    if (this.personalizationData.personalizationId) {
+      params = {
+          action: 'store',
+          target: 'form',
+          personalizationId: this.personalizationData.personalizationId
+      };
+      
+    } else {
+      params = {
+          action: 'store',
+          target: 'form',
+          clientId: this.clientId,
+          orgId: this.orgId,
+          roleId: this.roleId,
+          userId: this.userId,
+          tabId: this.tabId
+      };
+    }
+
+    // create it here
+    if (!this.personalizationData) {
+      this.personalizationData = {};
+    }
+    this.personalizationData.form = this.getPersonalizationData();
+    
+    // store the data
+    OB.RemoteCallManager.call(
+        'org.openbravo.client.application.personalization.PersonalizationActionHandler', 
+        this.getPersonalizationData(), params,
+        function(resp, data, req){
+          if (data && data.canDelete) {
+            me.personalizationData.canDelete = true;            
+          }
+          if (data && data.personalizationId) {
+            me.personalizationData.personalizationId = data.personalizationId;            
+          }
+          
+          me.toolBar.updateButtonState();
+          
+          // show the new data in the demo form
+          me.refresh();
+        });
+  },
+
+  deletePersonalization: function(confirmed) {
+    var me = this;
+    if (!this.personalizationData.personalizationId) {
+      return;
+    }
+
+    if (!confirmed) {
+      callback = function(ok) {
+        if (ok) {
+          me.deletePersonalization(true);
+        }
+      };
+      
+      isc.ask(OB.I18N.getLabel('OBUIAPP_Personalization_ConfirmDelete'), callback);
+      return;
+    }
+
+    OB.RemoteCallManager.call(
+        'org.openbravo.client.application.personalization.PersonalizationActionHandler', 
+        {}, 
+        { 
+          personalizationId: this.personalizationData.personalizationId,
+          action: 'delete'
+        },
+        function(resp, data, req){
+          me.hasBeenDeleted = true;
+          // close when returned
+          me.doClose(true);
+        }
+     );
+  },
+  
+  cancel: function(confirmed) {
+    var me = this;
+    if (!confirmed) {
+      callback = function(ok) {
+        if (ok) {
+          me.cancel(true);
+        }
+      };
+      
+      isc.ask(OB.I18N.getLabel('OBUIAPP_Personalization_ConfirmCancel'), callback);
+      return;
+    }
+
+    this.isChanged = false;
+    this.isSaved = false;
+    this.removeMember(this.mainLayout);
+    this.mainLayout = null;
+    this.setStatusBarInformation();
+    this.createAddMainLayout();
+    this.buildDemoForm();
+  },
+
+  // shows the settings in the demo form
+  refresh: function() {
+    this.buildDemoForm();
+  },
+
+  changed: function() {
+    // nothing to do here yet
+    if (!this.demoForm || this.creatingMainLayout) {
+      return;
+    }
+    this.isChanged = true;
+    this.isSaved = false;
+    this.setStatusBarInformation();
+    this.buildDemoForm();
+  },
+  
+  hasNotChanged: function() {
+    return !this.isChanged;
+  },
+  
+  buildDemoForm: function() {
+    var statusBar, i, fld, itemClick, me = this;
+    
+    if (this.formLayout) {
+      this.managementLayout.removeMember(this.formLayout);
+    }
+    this.formLayout = isc.VLayout.create({ height: '100%', width: '100%'}, OB.Styles.Personalization.FormLayout);
+    
+    // add a status bar to the formlayout
+    statusBar = isc.OBStatusBar.create({
+      addCreateButtons: function() {
+      }
+    });
+    this.formLayout.addMember(statusBar);
+    
+    // create the form and add it to the formLayout
+    this.demoForm = isc.OBViewForm.create(this.demoFormProperties, {
+      preventAllEvents: true,
+      statusBar: statusBar,
+      customizeForm: this,
+      isDemoForm: true,
+      
+      // overridden to prevent js errors when switching views
+      visibilityChange: function() {}, 
+      
+      titleHoverHTML: function(item){
+        return this.customizeForm.getHoverHTML(item);
+      },
+      
+      itemHoverHTML: function(item){
+        return this.customizeForm.getHoverHTML(item);
+      },
+      
+      // overridden to always show a statusbar field with some spaces
+      getStatusBarFields: function() {
+        var statusBarFields = [[],[]], i, item, value, tmpValue;
+        for(i = 0; i < this.statusBarFields.length; i++) {
+          item = this.getItem(this.statusBarFields[i]);
+          statusBarFields[0].push(item.getTitle());
+          statusBarFields[1].push('&nbsp;&nbsp&nbsp;');
+       }
+        return statusBarFields;
+      }
+
+    });
+    
+    itemClick = function(item) {
+      if (item.parentItem) {
+        me.doHandleDemoFormItemClick(item.parentItem);
+      } else {
+        me.doHandleDemoFormItemClick(item);
+      }
+    };
+    
+    var persData = this.getPersonalizationData();
+    OB.Personalization.personalizeForm(persData, this.demoForm);
+    
+    // expand by default
+    for (i = 0; i < this.demoForm.getFields().length; i++) {
+      fld = this.demoForm.getFields()[i];
+      
+      fld.showFocused = false;
+      
+      if (fld.personalizable) {
+        if (isc.isA.SectionItem(fld)) {
+          fld.sectionExpanded = true;
+        } else {
+          // replace some methods so that clicking a field in the form
+          // will select it on the left
+          fld.handleClick = itemClick;
+          fld.iconClick = itemClick;
+          fld.handleTitleClick = itemClick;
+          fld.linkButtonClick = itemClick;
+        }
+      }
+    }
+    
+    this.formLayout.addMember(this.demoForm);
+    
+    this.managementLayout.addMember(this.formLayout, 1);
+  },
+  
+  doHandleDemoFormItemClick: function(item) {
+    // select the node in the tree 
+    var treeNode = this.fieldsTreeGrid.data.find('name', item.name);
+    this.fieldsTreeGrid.deselectAllRecords();
+    this.fieldsTreeGrid.selectRecord(treeNode);
+  },
+
+  selectionUpdated: function(record, recordList) {
+    if (record && !record.isSection && recordList.length === 1) {
+      this.propertiesLayout.updatePropertiesDisplay(record);
+    } else {
+      this.propertiesLayout.updatePropertiesDisplay(null);
+    }
+  },
+  
+  doClose: function(confirmed) {
+    var callback, me = this, 
+      persData = this.getPersonalizationData();
+    // ask for confirmation
+    if (this.isChanged && !confirmed) {
+      callback = function(ok) {
+        if (ok) {
+          // do it with a small delay so that any mouse events are processed
+          // by the button itself and not by the standard view below it
+          me.delayCall('doClose', [true], 100);
+        }
+      };
+      
+      isc.ask(OB.I18N.getLabel('OBUIAPP_Personalization_ConfirmClose'), callback);
+      return;
+    }
+    
+    if (this.openedInForm) {
+      if (this.hasBeenSaved || this.hasBeenDeleted) {
+        // reread the window settings
+        this.form.view.standardWindow.readWindowSettings();
+      }
+      var window = this.form.view.standardWindow;
+      window.removeMember(this);
+      
+      // restores the tabtitle
+      window.view.updateTabTitle();
+      
+      window.toolBarLayout.show();
+      window.view.show();
+    }
+  },
+
+  doOpen: function(retrievedInitialData) {
+    var me = this;
+    if (!retrievedInitialData) {
+      OB.RemoteCallManager.call('org.openbravo.client.application.personalization.PersonalizationActionHandler', {}, {action: 'getFormDefinition', tabId: this.tabId}, 
+          function(resp, data, req){
+        me.demoFormProperties = data;
+        me.doOpen(true);
+      });
+      return;
+    }
+    
+    this.buildDemoForm();
+    
+    if (this.openedInForm) {
+      var window = this.form.view.standardWindow;
+      window.toolBarLayout.hide();
+      window.view.hide();
+      window.addMember(this);
+      
+      this.roleId = OB.User.roleId;
+      this.clientId = OB.User.clientId;
+      this.orgId = OB.User.organizationId;
+      this.userId = OB.User.id;
+      
+      tabSet = OB.MainView.TabSet;
+      tab = OB.MainView.TabSet.getTab(window.view.viewTabId);
+      tabSet.setTabTitle(tab, OB.I18N.getLabel('OBUIAPP_Personalize_TitlePrefix', [this.form.view.tabTitle])); 
+    }
+  },
+  
+  getHoverHTML: function(item) {
+    // TODO: show information about the item being hovered...
+    return null;
+//    return title + '<br/>' + 'give me more!';
+  },
+  
+  // reads the data from the tree grid and returns it in the expected
+  // format
+  getPersonalizationData: function() {
+    return {fields: this.fieldsTreeGrid.data.getAllNodes()};
+  },
+  
+  setStatusBarInformation: function() {
+    this.toolBar.updateButtonState();
+    
+    var statusBarFields = null, barFieldValues = [], barFieldTitles = [], label, icon = null, statusCode = null;
+    if (this.isNew) {
+      icon = this.statusBar.newIcon;
+      label = 'OBUIAPP_New';
+    } else if (this.isChanged) {
+      icon = this.statusBar.editIcon;
+      label = 'OBUIAPP_Editing';
+    } else if (this.isSaved) {
+      icon =  this.statusBar.savedIcon;
+      label = 'OBUIAPP_Saved';
+    }
+    
+    if (this.clientIdentifier) {
+      barFieldTitles.push(OB.I18N.getLabel('OBUIAPP_Client'));
+      barFieldValues.push(this.clientIdentifier);
+    }
+    if (this.orgIdentifier) {
+      barFieldTitles.push(OB.I18N.getLabel('OBUIAPP_Organization'));
+      barFieldValues.push(this.orgIdentifier);
+    }
+    if (this.roleIdentifier) {
+      barFieldTitles.push(OB.I18N.getLabel('OBUIAPP_Role'));
+      barFieldValues.push(this.roleIdentifier);
+    }
+    if (this.userIdentifier) {
+      barFieldTitles.push(OB.I18N.getLabel('OBUIAPP_User'));
+      barFieldValues.push(this.userIdentifier);
+    }
+    if (this.tabTitle) {
+      barFieldTitles.push(OB.I18N.getLabel('OBUIAPP_Tab'));
+      barFieldValues.push(this.tabTitle);
+    }
+    
+    if (barFieldTitles.length > 0) {
+      statusBarFields = [];
+      statusBarFields.push(barFieldTitles);
+      statusBarFields.push(barFieldValues);
+    }
+    this.statusBar.setContentLabel(icon, label, statusBarFields);
+  }
+});
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,243 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s): ___________
+ ************************************************************************
+ */
+
+// = Defines the OBPersonalizationTree =
+// The type of the tree shown on the left for ordering and grouping
+// of fields.
+isc.ClassFactory.defineClass('OBPersonalizationTreeGrid', isc.TreeGrid);
+
+isc.OBPersonalizationTreeGrid.addProperties({
+  showHeader: false,
+  canEdit: true,
+  canReorderRecords: true,
+  canAcceptDroppedRecords: true,
+  leaveScrollbarGap: false,
+  showCellContextMenus: true,
+
+  bodyStyleName: 'OBGridBody',
+  baseStyle: 'OBPersonalizationTreeGridCell',
+
+  showOpener: false,
+  // eventhough showOpener is false, still space is taken for an opener
+  // icon, set to a small number, should be > 0 (otherwise it it not used)
+  openerIconSize: 2,
+  nodeIcon: OB.Styles.Personalization.Icons.field,
+  folderIcon: OB.Styles.Personalization.Icons.fieldGroup,
+  showDropIcons: true,
+  showOpenIcons: true,
+  dropIconSuffix: 'open',
+  closedIconSuffix: 'closed',
+  openIconSuffix: 'open',
+  
+  width: '100%',
+  indentSize: 15,
+  
+  showHeaderContextMenu: false,
+  fields: [
+    {name: 'title', canHover: true, showHover: true, 
+      treeField: true,
+      showTitle: false, type: 'text', width: '100%', canEdit: false}
+//    {name: 'colSpan', title: OB.I18N.getLabel('OBUIAPP_Personalization_Colspan'), type: 'number', editorType: 'TextItem', keyPressFilterNumeric: '[0-9]'}, 
+//    {name: 'rowSpan', title: OB.I18N.getLabel('OBUIAPP_Personalization_Rowspan'),  type: 'number', editorType: 'TextItem', keyPressFilterNumeric: '[0-9]'}, 
+//    {name: 'startRow', title: OB.I18N.getLabel('OBUIAPP_Personalization_Startrow'), type: 'boolean'}, 
+//    {name: 'hiddenInForm', title: OB.I18N.getLabel('OBUIAPP_Personalization_Hidden'), type: 'boolean'}
+    ],
+    
+  initWidget: function() {
+    var i = 0, me = this, changedFunction = function() {
+      me.customizeForm.changed();
+    };
+
+    this.fields[0].hoverHTML = function(record, value) {
+      return me.customizeForm.getHoverHTML(me.fields[0].name, value);
+    };
+    
+    for (i = 0; i < this.fields.length; i++) {
+      this.fields[i].changed = changedFunction;
+    }
+    
+   this.data = isc.Tree.create({
+     modelType: 'parent',
+     idField: 'name',
+     parentIdField: 'parentName',
+     data: this.fieldData,
+     dataChanged: function() {
+       me.customizeForm.changed();
+     }
+   });
+   
+//   this.data.getRoot().canAcceptDrop = false;
+   
+//   this.data.openAll();
+   
+   this.Super('initWidget', arguments);
+  },
+  
+  folderClick: function (viewer, folder, recordNum) {
+    if (this.data.isOpen(folder)) {
+      this.closeFolder(folder);
+    } else {
+      this.openFolder(folder);
+    }
+  },
+  
+  // overridden to copy a node when it is dragged to the status bar
+  // from the outside, in all other cases assume standard behavior
+  folderDrop : function (nodes, folder, index, sourceWidget, callback) {
+    var i, oldNode, oldValue, newCallback;
+    
+    // if the statusbar group has nothing to do with this all
+    // then ignore it
+    if (folder.name !== OB.Personalization.STATUSBAR_GROUPNAME) {
+      
+      // check if the nodes are valid
+      for (i = 0; i < nodes.length; i++) {
+        if (nodes[i].parentName === OB.Personalization.STATUSBAR_GROUPNAME) {
+          // can not move status bar fields out of the status bar group
+          return;
+        }
+      }
+      
+      this.transferNodes(nodes, folder, index, sourceWidget, newCallback);
+      return;
+    }
+    
+    if (!nodes) {
+      return;
+    }
+    
+    // copy the ones which are from the outside
+    for (i = 0; i < nodes.length; i++) {
+      if (nodes[i].parentName !== OB.Personalization.STATUSBAR_GROUPNAME) {
+        oldNode = nodes[i];
+        nodes[i] = {
+            name: oldNode.name + '_statusbar',
+            title: oldNode.title,
+            originalName: oldNode.name,
+            isDynamicStatusBarField: true
+        };
+      }
+    }
+    
+    this.transferNodes(nodes, folder, index, sourceWidget, newCallback);
+  },
+  
+  // show hidden items in a different style
+  getBaseStyle: function (record, rowNum, colNum) {
+    if (record.hiddenInForm) {
+      return this.baseStyle + 'Hidden';
+    }
+    return this.baseStyle;
+  },
+  
+  // no context menu on folders
+  folderContextClick: function(me, record, recordNum) {
+    return false;
+  },
+  
+  // overridden to create context menu items specific 
+  // for the clicked record
+  cellContextClick: function(record, rowNum, colNum) {
+    // select when right clicking, this has some side effects
+    // focus and menus appearing/disappearing
+    //    this.deselectAllRecords();
+    //    this.selectRecord(record);
+    
+    // create the context items for the clicked record
+    this.cellContextItems = this.createCellContextItems(record);
+    // continue with normal behavior
+    return true;
+  },
+  
+  // overridden to be able to do specific actions in the tree
+  createCellContextItems: function(record){
+    var menuItems = [], updatePropertyFunction, me = this,
+      customizeForm = this.customizeForm;
+    
+    updatePropertyFunction = function(record, property, value) {
+      record[property] = value;
+      
+      // make sure only one record has first focus
+      if (record.firstFocus) {
+        allNodes = customizeForm.fieldsTreeGrid.data.getAllNodes();
+        for (i = 0; i < allNodes.length; i++) {
+          if (allNodes[i].firstFocus) {
+            allNodes[i].firstFocus = false;
+          }
+        }
+        record.firstFocus = true;
+      }
+
+      // items may have been hidden, which changes their colour
+      customizeForm.fieldsTreeGrid.markForRedraw();
+
+      // this will reset everything
+      customizeForm.changed();
+    };
+    
+    if (record.isStaticStatusBarField) {
+      menuItems.add({
+        title: OB.I18N.getLabel('OBUIAPP_Personalization_Hidden'),
+        checked: record.hiddenInForm,
+        click: function() {
+          updatePropertyFunction(record, 'hiddenInForm', !record.hiddenInForm);
+        }        
+      });
+    } else if (record.isDynamicStatusBarField) {
+      menuItems.add({
+        title: OB.I18N.getLabel('OBUIAPP_Personalization_RemoveFromStatusBar'),
+        click: function() {
+          me.removeData(record);
+        }        
+      });
+    } else {
+      menuItems.add({
+        title: OB.I18N.getLabel('OBUIAPP_Personalization_Startrow'),
+        checked: record.startRow,
+        click: function() {
+          updatePropertyFunction(record, 'startRow', !record.startRow);
+        }        
+      });
+      menuItems.add({
+        title: OB.I18N.getLabel('OBUIAPP_Personalization_Hidden'),
+        checked: record.hiddenInForm,
+        click: function() {
+          updatePropertyFunction(record, 'hiddenInForm', !record.hiddenInForm);
+        }        
+      });
+      menuItems.add({
+        title: OB.I18N.getLabel('OBUIAPP_Personalization_FirstFocus'),
+        checked: record.firstFocus,
+        click: function() {
+          updatePropertyFunction(record, 'firstFocus', !record.firstFocus);
+        }        
+      });
+    }
+
+    return menuItems;
+  },
+  
+  // for group items checkboxes are displayed, prevent that
+  getValueIcon: function (field, value, record, rowNum) {
+    if (record[this.recordEditProperty] === false) {
+      return null;
+    }
+    return this.Super('getValueIcon', arguments);
+  }
+});
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,325 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s): ___________
+ ************************************************************************
+ */
+
+// = Personalization Utilities =
+// Contains utility methods for window personalization, for example
+// to create the datastructure used by the formbuilder from a form
+// or apply the datastructure to a form.
+OB.Personalization = {
+  STATUSBAR_GROUPNAME : '_statusBar',
+  MAIN_GROUPNAME : '_main'
+};
+
+// ** {{{OB.Personalization.getDataStructureFromForm}}} **
+// Creates the data structure used by the form builder and stored
+// as personalized form information in the UI personaliz
+OB.Personalization.getDataStructureFromForm = function(form) {
+  // just return the personalization data which was used on the 
+  // form, we can not reconstruct it completely from the form fields
+  // as we don't store extra personalization data in the form fields
+  // them selve
+  if (form.view && form.view.personalizationData) {
+    return form.view.personalizationData;
+  }
+  
+  var fld, j, record, i, k, addedToStatusBar;
+  dataFields = [];
+
+  dataFields.push({
+    isFolder : true,
+    title : OB.I18N.getLabel('OBUIAPP_Personalization_StatusBar_Group'),
+    name : OB.Personalization.STATUSBAR_GROUPNAME,
+    isSection : true,
+    canSelect: false,
+    _canEdit : false
+  });
+
+//  dataFields.push({
+//    isFolder : true,
+//    title : OB.I18N.getLabel('OBUIAPP_Personalization_Main_Group'),
+//    name : OB.Personalization.MAIN_GROUPNAME,
+//    isSection : true,
+//    _canEdit : false
+//  });
+
+  for (i = 0; i < form.getFields().length; i++) {
+    fld = form.getFields()[i];
+
+    if (fld.personalizable === false) {
+      continue;
+    }
+
+    if (isc.isA.SectionItem(fld)) {
+      record = {
+        isFolder : true,
+        _canEdit : false,
+        canDrag : false,
+        isSection : true,
+        childNames : fld.itemIds,
+        title : fld.title,
+        canSelect: false,
+        name : fld.name
+      };
+    } else {
+      record = {
+        title : fld.title,
+        name : fld.name,
+        hiddenInForm : fld.hiddenInForm,
+        startRow : fld.startRow,
+        colSpan : fld.colSpan,
+        rowSpan : fld.rowSpan
+      };
+    }
+    if (fld.displayed === false) {
+      record.displayed = false;
+    } else {
+      record.displayed = true;
+    }
+    dataFields.push(record);
+  }
+
+  // now resolve the parent names
+  for (i = 0; i < dataFields.length; i++) {
+    record = dataFields[i];
+    // can only have one level of parents
+    if (record.childNames) {
+      continue;
+    }
+    for (j = 0; j < dataFields.length; j++) {
+      if (dataFields[j].childNames) {
+        for (k = 0; k < dataFields[j].childNames.length; k++) {
+          if (dataFields[j].childNames[k] === record.name) {
+            record.parentName = dataFields[j].name;
+            break;
+          }
+        }
+      }
+      if (record.parentName) {
+        break;
+      }
+    }
+  }
+
+  // add to the status bar fields
+  addedToStatusBar = false;
+  for (j = 0; j < form.statusBarFields.length; j++) {
+    record = dataFields.find('name', form.statusBarFields[j]);
+    fld = form.getFields().find('name', form.statusBarFields[j]);
+    if (record && !record.parentName) {
+      record.parentName = OB.Personalization.STATUSBAR_GROUPNAME;
+      // these items can not be moved from the statusbar
+      record.isStaticStatusBarField = true;
+      addedToStatusBar = true;
+    }
+  }
+  
+  // remove the status bar group, if there is nothing there
+  if (!addedToStatusBar) {
+    record = dataFields.find('name', OB.Personalization.STATUSBAR_GROUPNAME);
+    dataFields.remove(record);
+  }
+
+  for (j = 0; j < dataFields.length; j++) {
+    // do not consider the not-displayed ones which are not
+    // part of the statusbar
+    if (!dataFields[j].parentName && dataFields[j].displayed === false) {
+      dataFields.removeAt(j);
+    }
+  }
+
+  if (form.firstFocusedField) {
+    record = dataFields.find('name', form.firstFocusedField);
+    if (record) {
+      record.firstFocus = true;
+    }
+  }
+
+  return { form: {
+      fields : dataFields
+    }
+  };
+};
+
+// ** {{{OB.Personalization.personalizeWindow}}} **
+// Applies the data structure which contains the personalization settings to
+// a complete window (an instance of ob-standard-window).
+OB.Personalization.personalizeWindow = function(data, window) {
+  var tabId, personalizationData, form, view, i, viewsToReset = [], done;
+
+  // no personalization, nothing to do
+  if (!data) {
+    return;
+  }
+
+  for (i = 0; i < window.views.length; i++) {
+    if (window.views[i].personalizationData) {
+      viewsToReset.push({tabId: window.views[i].tabId});
+    }
+    delete window.views[i].personalizationData;
+  }
+  
+  for (tabId in data) {
+    if (data.hasOwnProperty(tabId)) {
+      personalizationData = data[tabId];
+      view = window.getView(tabId);
+      
+      done = viewsToReset.find('tabId', tabId);
+      if (done) {
+        viewsToReset.remove(done);
+      }
+
+      // note, the personalization for a tab maybe null
+      // view can be null if a personalization setting
+      // is not in sync anymore with the window
+      if (personalizationData && view) {
+        view.personalizationData = personalizationData;
+        OB.Personalization.personalizeForm(personalizationData, view.viewForm);
+      }
+    }
+  }
+  
+  // set all removed personalizations, reset those 
+  for (i = 0; i < viewsToReset.length; i++) {
+    view = window.getView(viewsToReset[i].tabId);
+    view.viewForm.setFields(isc.shallowClone(view.viewForm._originalFields));
+    view.viewForm.markForRedraw();
+  }
+};
+
+// ** {{{OB.Personalization.personalizeForm}}} **
+// Applies the data structure which contains the personalization settings to a
+// form.
+OB.Personalization.personalizeForm = function(data, form) {
+  var persId, i, j, fld, fldDef, childFld, newField, newFields = [], record, allChildFieldsHidden, statusBarFields = [];
+  
+  // work further with the fields themselves
+  if (data.form) {
+    data = data.form;
+  }
+  if (data.fields) {
+    data = data.fields;
+  }
+  
+  for (i = 0; i < data.length; i++) {
+    record = data[i];
+
+    // original name is used when a field is visible in the status bar
+    // and also on the form
+    fld = form.getField(record.originalName || record.name);
+    // use the original.fields as we are then sure
+    // that we do not get ready build form items
+    // but just the original simple objects
+    // with properties
+    fldDef = form._originalFields.find('name', record.originalName || record.name);
+    if (!fld || !fldDef) {
+      // main group for example
+      continue;
+    }
+
+    // for the demo form get rid of all non-personalizable stuff
+    if (form.isDemoForm && !fldDef.personalizable) {
+      continue;
+    }
+    
+    // set the first focused field
+    if (record.firstFocus) {
+      form.firstFocusedField = record.name;
+    }
+
+    // work with a clone
+    newField = isc.shallowClone(fldDef);
+
+    if (record.isSection) {
+      newField.itemIds = [];
+      // find the child items and set them
+      allChildFieldsHidden = true;
+      for (j = 0; j < data.length; j++) {
+        if (data[j].parentName && data[j].parentName === newField.name) {
+          newField.itemIds.push(data[j].name);
+          allChildFieldsHidden = allChildFieldsHidden && data[j].hiddenInForm;
+        }
+      }
+      // if all fields are hidden then don't show the section item either
+      if (allChildFieldsHidden) {
+        newField.hiddenInForm = true;
+        newField.visible = false;
+        newField.alwaysTakeSpace = false;
+      } else {
+        newField.alwaysTakeSpace = true;
+        delete newField.hiddenInForm;
+        delete newField.visible;
+      }
+    } else if (record.isDynamicStatusBarField || record.isStaticStatusBarField) {
+      if (!record.hiddenInForm) {
+        statusBarFields.push(record.originalName || record.name);
+      }
+    } else {
+      // only copy the things we want to copy
+      newField.startRow = record.startRow;
+      newField.colSpan = record.colSpan;
+      newField.rowSpan = record.rowSpan;
+
+      if (record.hiddenInForm) {
+        newField.hiddenInForm = true;
+        newField.visible = false;
+        newField.alwaysTakeSpace = false;
+      } else {
+        newField.alwaysTakeSpace = true;
+        delete newField.hiddenInForm;
+        delete newField.visible;
+      }
+    }
+
+    // the dynamic status bar field already exist on the form
+    if (!record.isDynamicStatusBarField) {
+      newFields.push(newField);
+    }
+  }
+
+  // now add the ones which we did not manage through the
+  // formbuilder
+  if (!form.isDemoForm) {
+    for (i = 0; i < form.getFields().length; i++) {
+      record = data.find('name', form.getFields()[i].name);
+      // use the original.fields as we are then sure
+      // that we do not get ready build form items
+      // but just the original simple objects
+      // with properties
+      fldDef = form._originalFields.find('name', form.getFields()[i].name);
+      if (!record && fldDef) {
+        // clone the fieldDef
+        newFields.push(isc.shallowClone(fldDef));
+      }
+    }    
+  }
+
+  // set the fields
+  form.statusBarFields = statusBarFields;
+  form.setFields(newFields);
+
+  // and show me the stuff!
+  form.markForRedraw();
+  if (form.statusBar) {
+    // the demo form has a direct reference to the statusbar
+    form.statusBar.setContentLabel(null, null, form.getStatusBarFields());
+  } else if (form.view && form.view.statusBar) {
+    // when opened directly from a form
+    form.view.statusBar.setContentLabel(null, null, form.getStatusBarFields());
+  }
+};
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js	Mon Aug 01 15:05:30 2011 +0200
@@ -987,6 +987,11 @@
     }
 
     var buttons = this.getRightMembers(), buttonContexts = [], currentContext, buttonsByContext = [];
+
+    if (buttons.length === 0) {
+      return;
+    }
+    
     for (i = 0; i < buttons.length; i++) {
       if (!currentContext || currentContext !== buttons[i].contextView) {
         // Adding new context
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-eventhandler.js	Mon Aug 01 14:18:10 2011 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-eventhandler.js	Mon Aug 01 15:05:30 2011 +0200
@@ -84,7 +84,7 @@
         }
         
         do {
-          if (target.view && target.view.setAsActiveView) {
+          if (target.view && target.view.setAsActiveView && target.view.isVisible()) {
             // don't do this if already activec
             if (target.view.isActiveView()) {
               onClickTarget = null;
Binary file modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconButton-personalization.png has changed
Binary file modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconField.png has changed
Binary file modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconFolder.png has changed
Binary file modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconFolder_closed.png has changed
Binary file modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/personalization/iconFolder_open.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-personalization-styles.css	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,76 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an 'AS IS'
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+.OBToolbarIconButton_icon_personalization {
+  background-repeat: no-repeat;
+  background-position: center center;
+  background-image: url(./images/personalization/iconButton-personalization.png);
+}
+
+.OBPersonalization_FieldsLayout {
+  border-right: 1px solid #72ab10;
+}
+
+.OBPersonalization_FormLayout {
+  border-top: 1px solid #72ab10;
+  border-right: 1px solid #72ab10;
+}
+
+.OBPersonalizationTreeGridCell,
+.OBPersonalizationTreeGridCellOver,
+.OBPersonalizationTreeGridCellSelected,
+.OBPersonalizationTreeGridCellSelectedOver,
+.OBPersonalizationTreeGridCellDisabled,
+
+.OBPersonalizationTreeGridCellHidden,
+.OBPersonalizationTreeGridCellHiddenOver,
+.OBPersonalizationTreeGridCellHiddenSelected,
+.OBPersonalizationTreeGridCellHiddenSelectedOver,
+.OBPersonalizationTreeGridCellHiddenDisabled {
+  font-family: arial, sans-serif;
+  vertical-align: middle;
+}
+
+.OBPersonalizationTreeGridCellHidden,
+.OBPersonalizationTreeGridCellHiddenOver,
+.OBPersonalizationTreeGridCellHiddenSelected,
+.OBPersonalizationTreeGridCellHiddenSelectedOver,
+.OBPersonalizationTreeGridCellHiddenDisabled {
+  color: #aaaaaa;
+}
+
+.OBPersonalizationTreeGridCellSelected,
+.OBPersonalizationTreeGridCellHiddenSelected {
+  background-color: #ffe1c0; /* Orange for active grid, for non active grid: #b8d587 */
+}
+
+.OBPersonalizationTreeGridCellOver,
+.OBPersonalizationTreeGridCellHiddenOver,
+.OBPersonalizationTreeGridCellSelectedOver,
+.OBPersonalizationTreeGridCellHiddenSelectedOver {
+  cursor: pointer;
+  background-color: #e1e1e1;
+}
+
+.OBPersonalizationTreeGridCellSelectedOver,
+.OBPersonalizationTreeGridCellSelectedHiddenOver {
+  background-color: #ffe1c0;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-personalization-styles.js	Mon Aug 01 15:05:30 2011 +0200
@@ -0,0 +1,44 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2010 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+OB.Styles.Personalization = {};
+
+OB.Styles.Personalization.Icons = {
+  fieldGroup: OB.Styles.skinsPath + 'Default/org.openbravo.client.application/images/personalization/iconFolder.png',
+  field:  OB.Styles.skinsPath + 'Default/org.openbravo.client.application/images/personalization/iconField.png'
+};
+
+OB.Styles.Personalization.closeButtonProperties = {
+  width: 18,
+  height: 18
+};
+
+OB.Styles.Personalization.FieldsLayout = {
+  width: 175,
+  styleName: 'OBPersonalization_FieldsLayout'
+};
+
+OB.Styles.Personalization.FormLayout = {
+  styleName: 'OBPersonalization_FormLayout'
+};
+
+OB.Styles.Personalization.PropertiesLayout = {
+  width: 175,
+  margin: 10
+};
\ No newline at end of file