Merge production-development branch.
authorGorka Ion Damián <gorkaion.damian@openbravo.com>
Wed, 21 Dec 2011 13:14:28 +0100
changeset 15037 07fdd857d4a5
parent 15036 e16b730d49af (current diff)
parent 14948 222a1f0084c5 (diff)
child 15051 86f7285ab59e
Merge production-development branch.
modules/org.openbravo.v3/src-db/database/configScript.xml
src-db/database/sourcedata/AD_COLUMN.xml
src-db/database/sourcedata/AD_ELEMENT.xml
src-db/database/sourcedata/AD_FIELD.xml
src-db/database/sourcedata/AD_MESSAGE.xml
src-db/database/sourcedata/AD_REF_LIST.xml
src-db/database/sourcedata/AD_TEXTINTERFACES.xml
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></NAME>
-<!--A918E3331C404B889D69AA9BFAFB23AC-->  <VERSION><![CDATA[3.0.14860]]></VERSION>
+<!--A918E3331C404B889D69AA9BFAFB23AC-->  <VERSION><![CDATA[3.0.14891]]></VERSION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <DESCRIPTION><![CDATA[Managing your finances with an ERP does not have to be difficult. Enjoy a radically improved user experience that combines the power of an enterprise grade financial application with the simplicity and ease of a web 2.0 personal accounting service.]]></DESCRIPTION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <HELP><![CDATA[Advanced Payables and Receivables Management simplifies and automates the business processes around the management of financial accounts, from the receipt and issue of payment, to the reconciliation of those events with bank statements.
 If you would like to help shape this module you are welcome to take part in the forum discussions or register feature requests or issues in the corresponding (Forum and Bug Tracking) sections in the Advanced Payables and Receivable project in the OB Forge.]]></HELP>
--- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID>
-<!--89326AE95DAD449D85DFAB2C5B1C6683-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--89326AE95DAD449D85DFAB2C5B1C6683-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Selector]]></DEPENDANT_MODULE_NAME>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--B97FC854C6DD41E692161585645A900F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B97FC854C6DD41E692161585645A900F-->  <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--B97FC854C6DD41E692161585645A900F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--B97FC854C6DD41E692161585645A900F-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--B97FC854C6DD41E692161585645A900F-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--B97FC854C6DD41E692161585645A900F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--B97FC854C6DD41E692161585645A900F-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--B97FC854C6DD41E692161585645A900F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <NAME><![CDATA[JBoss Weld]]></NAME>
-<!--C70732EA90A14EC0916078B85CC33D2D-->  <VERSION><![CDATA[1.1.14860]]></VERSION>
+<!--C70732EA90A14EC0916078B85CC33D2D-->  <VERSION><![CDATA[1.1.14891]]></VERSION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <DESCRIPTION><![CDATA[JBoss Weld]]></DESCRIPTION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <HELP><![CDATA[Provides the JBoss Weld framework: Java Contexts and Dependency Injection for the Java EE platform (CDI). For more information see http://seamframework.org/Weld]]></HELP>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <URL><![CDATA[http://forge.openbravo.com/projects/weld]]></URL>
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <AD_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_MODULE_ID>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <NAME><![CDATA[User Interface Application]]></NAME>
-<!--9BA0836A3CD74EE4AB48753A47211BCC-->  <VERSION><![CDATA[2.1.14860]]></VERSION>
+<!--9BA0836A3CD74EE4AB48753A47211BCC-->  <VERSION><![CDATA[2.1.14891]]></VERSION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <DESCRIPTION><![CDATA[Provides the main application components for the openbravo user interface]]></DESCRIPTION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <HELP><![CDATA[Provides the main application components for the openbravo user interface. The main layout incorporates a navigation bar and a main view area.]]></HELP>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <URL><![CDATA[http://forge.openbravo.com/projects/clientapplication]]></URL>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--15D7CE8D95D043189162DBABA54A1F61-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--15D7CE8D95D043189162DBABA54A1F61-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--60A170212F36499D83B8AD38D01F46B3-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--60A170212F36499D83B8AD38D01F46B3-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--824D60CB352E4099B1D8C903CA139DAE-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--824D60CB352E4099B1D8C903CA139DAE-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--E8FD820AFE3D4FE08C02FC47769026AD-->  <STARTVERSION><![CDATA[8.1.14860]]></STARTVERSION>
+<!--E8FD820AFE3D4FE08C02FC47769026AD-->  <STARTVERSION><![CDATA[8.1.14891]]></STARTVERSION>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java	Wed Dec 21 13:14:28 2011 +0100
@@ -382,16 +382,16 @@
           if (field.getDisplayLogic() != null && field.isDisplayed() && field.isActive()) {
             final DynamicExpressionParser parser = new DynamicExpressionParser(
                 field.getDisplayLogic(), tab);
-
-            for (String attrName : parser.getSessionAttributes()) {
-              if (!sessionAttributesMap.containsKey(attrName)) {
-                final String attrValue = Utility
-                    .getContext(new DalConnectionProvider(false), RequestContext.get()
-                        .getVariablesSecureApp(), attrName, tab.getWindow().getId());
-                sessionAttributesMap.put(attrName.startsWith("#") ? attrName.replace("#", "_")
-                    : attrName, attrValue);
-              }
-            }
+            setSessionAttributesFromParserResult(parser, sessionAttributesMap, tab.getWindow()
+                .getId());
+          }
+          // We also add session attributes from readonly logic fields
+          if (field.getColumn().getReadOnlyLogic() != null && field.isDisplayed()
+              && field.isActive()) {
+            final DynamicExpressionParser parser = new DynamicExpressionParser(field.getColumn()
+                .getReadOnlyLogic(), tab);
+            setSessionAttributesFromParserResult(parser, sessionAttributesMap, tab.getWindow()
+                .getId());
           }
 
         }
@@ -443,6 +443,19 @@
     }
   }
 
+  private void setSessionAttributesFromParserResult(DynamicExpressionParser parser,
+      Map<String, String> sessionAttributesMap, String windowId) {
+    for (String attrName : parser.getSessionAttributes()) {
+      if (!sessionAttributesMap.containsKey(attrName)) {
+        final String attrValue = Utility.getContext(new DalConnectionProvider(false),
+            RequestContext.get().getVariablesSecureApp(), attrName, windowId);
+        sessionAttributesMap.put(attrName.startsWith("#") ? attrName.replace("#", "_") : attrName,
+            attrValue);
+      }
+    }
+
+  }
+
   private void computeColumnValues(String mode, Tab tab, List<String> allColumns,
       Map<String, JSONObject> columnValues, BaseOBObject parentRecord, String parentId,
       String changedColumn, JSONObject jsContent, List<String> changeEventCols,
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java	Wed Dec 21 13:14:28 2011 +0100
@@ -380,10 +380,6 @@
 
       statusBarFields.add(property.getName());
 
-      if (field.isDisplayed()) {
-        continue;
-      }
-
       final OBViewField viewField = new OBViewField();
       viewField.setField(field);
       viewField.setProperty(property);
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js	Wed Dec 21 13:14:28 2011 +0100
@@ -1969,7 +1969,6 @@
 
       // correct some stuff coming from the form fields
       if (fld.displayed === false) {
-        fld.canEdit = false;
         fld.visible = true;
         fld.alwaysTakeSpace = true;
       }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js	Wed Dec 21 13:14:28 2011 +0100
@@ -23,12 +23,6 @@
   recentObject: null,
   prefixLabel: null,
   action: function(){
-    // getting the last event prevents an error in chrome
-    // https://issues.openbravo.com/view.php?id=16847
-    var lastEvent = isc.EventHandler.getLastEvent();
-    if (!isc.EventHandler.leftButtonDown()) {
-      return;
-    }
     OB.RecentUtilities.addRecent(this.recentPropertyName, this.recentObject);
     if (this.recentObject.viewId) {
       OB.Layout.ViewManager.openView(this.recentObject.viewId, this.recentObject);
@@ -88,22 +82,27 @@
           index++;
         }
       }
-      if (this.members[0].getMembers()) {
-        this.members[0].destroyAndRemoveMembers(this.members[0].getMembers().duplicate());
-      } 
+      if (this.members[1].getMembers()) {
+        this.members[1].destroyAndRemoveMembers(this.members[1].getMembers().duplicate());
+      }
 
-      this.members[0].setMembers(newFields);
+      this.members[1].setMembers(newFields);
 
-      this.layout.showMember(this.members[0]);
+      if (this.separatorHeight) {
+        this.members[1].layoutBottomMargin = this.separatorHeight;
+        this.members[1].setLayoutMargin();
+      }
+
+      this.layout.showMember(this.members[1]);
     }
-    this.members[1].getField('value').setValue(null);
-    this.members[1].getField('value').setElementValue('', null);
+    this.members[2].getField('value').setValue(null);
+    this.members[2].getField('value').setElementValue('', null);
   },
 
   // handle the case that someone entered a url in the quick launch
   doHide: function(){
-    if (this.members[1].getField('value').getValue() && this.members[1].getField('value').getValue().contains('?')) {
-      var params = OB.Utilities.getUrlParameters(this.members[1].getField('value').getValue());
+    if (this.members[2].getField('value').getValue() && this.members[2].getField('value').getValue().contains('?')) {
+      var params = OB.Utilities.getUrlParameters(this.members[2].getField('value').getValue());
       if (params && params.tabId) {
         OB.Utilities.openDirectTab(params.tabId, params.recordId, params.command);
       }
@@ -112,7 +111,24 @@
   },
 
   initWidget: function(){
-    this.members = [isc.VLayout.create({
+    var dummyFirstField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        return this.parentElement.members[this.parentElement.members.length-2];
+      }
+    });
+    var dummyLastField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        var firstFocusableItem;
+        if (this.parentElement.members[1].members.length > 0) {
+          firstFocusableItem = this.parentElement.members[1].members[0];
+        } else {
+          firstFocusableItem = this.parentElement.members[this.parentElement.members.length-2];
+        }
+        return firstFocusableItem;
+      }
+    });
+    this.members = [dummyFirstField,
+    isc.VLayout.create({
       height: 1, //To allow height grow with its contents
       visibility: 'hidden'
     }), isc.DynamicForm.create({
@@ -288,14 +304,14 @@
           return result;
         }
       }]
-    })];
+    }), dummyLastField];
 
     var ret = this.Super('initWidget', arguments);
 
     // register the field in the registry
-    var suggestionField = this.members[1].getField('value');
-    OB.TestRegistry.register(this.recentPropertyName + '_RECENTFORM', this.members[0]);
-    OB.TestRegistry.register(this.recentPropertyName + '_FORM', this.members[1]);
+    var suggestionField = this.members[2].getField('value');
+    OB.TestRegistry.register(this.recentPropertyName + '_RECENTFORM', this.members[1]);
+    OB.TestRegistry.register(this.recentPropertyName + '_FORM', this.members[2]);
     OB.TestRegistry.register(this.recentPropertyName + '_BUTTON', this);
     OB.TestRegistry.register(this.recentPropertyName + '_FIELD', suggestionField);
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-user-profile-widget.js	Wed Dec 21 13:14:28 2011 +0100
@@ -98,7 +98,7 @@
      orgField, warehouseField, languageField, checkboxFieldProperties,
      defaultField, clientField, tabSet, pwdButtonLayout, 
      pwdFormLayout, pwdSaveButton, textFieldProperties, 
-     passwordFieldProperties;
+     passwordFieldProperties, dummyFirstField, dummyLastField;
   
     OB.Layout.userProfileWidget = this;
     
@@ -556,8 +556,26 @@
       }]
     });
     widgetInstance.tabSet = tabSet;
+
+    dummyFirstField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        var tabSet = this.parentElement.members[1];
+        var selectedTabNumber = tabSet.getSelectedTabNumber();
+        var length1 = tabSet.getTabPane(selectedTabNumber).members.length - 1;
+        var length2 = tabSet.getTabPane(selectedTabNumber).members[length1].members.length - 1;
+        return tabSet.getTabPane(selectedTabNumber).members[length1].members[length2];
+      }
+    });
+
+    dummyLastField = isc.OBFocusButton.create({
+      getFocusTarget: function() {
+        var tabSet = this.parentElement.members[1];
+        var selectedTabNumber = tabSet.getSelectedTabNumber();
+        return tabSet.tabBar.members[selectedTabNumber];
+      }
+    });
     
-    this.members = [tabSet];
+    this.members = [dummyFirstField, tabSet, dummyLastField];
     
     OB.TestRegistry.register('org.openbravo.client.application.navigationbarcomponents.UserProfile.Tabset', tabSet);
     OB.TestRegistry.register('org.openbravo.client.application.navigationbarcomponents.UserProfilePassword.SaveButton', pwdSaveButton);
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js	Wed Dec 21 13:14:28 2011 +0100
@@ -337,13 +337,22 @@
         record = isc.addProperties({}, this.getRecord(rowNum), this.getEditValues(rowNum)),
         fields = this.view.viewProperties.fields,
         len = fields.length,
-        fld, i, value, undef;
+        fld, i, value, undef, type;
 
     for (i = 0; i < len; i++) {
       fld = fields[i];
       value = record[fld.name];
       if (value !== undef) {
-        contextInfo[fld.inpColumnName] = value;
+        if (fld.type) {
+          type = isc.SimpleType.getType(fld.type);
+          if (type.createClassicString) {
+            contextInfo[fld.inpColumnName] = type.createClassicString(value);
+          } else {
+            contextInfo[fld.inpColumnName] = this.view.parentWindow.activeView.convertContextValue(value, fld.type);
+          }
+        } else {
+          contextInfo[fld.inpColumnName] = this.view.parentWindow.activeView.convertContextValue(value, fld.type);
+        }
       }
     }
 
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js	Wed Dec 21 13:14:28 2011 +0100
@@ -231,22 +231,62 @@
   ATTACHMENTS_BUTTON_PROPERTIES: {
     action: function(){
       var selectedRows = this.view.viewGrid.getSelectedRecords(),
-          attachmentExists = this.view.attachmentExists, i;
+          attachmentExists = this.view.attachmentExists,
+          attachmentSection = this.view.viewForm.getItem('_attachments_'),
+          me = this, i;
       if(this.view.isShowingForm){
-        this.view.viewForm.getItem('_attachments_').expandSection();
-        this.view.viewForm.scrollToBottom();
+        if (!attachmentSection.isExpanded()) {
+          attachmentSection.expandSection();
+        }
+        attachmentSection.focusInItem();
+        if (this.view.viewForm.parentElement) {
+          // scroll after things have been expanded
+          this.view.viewForm.parentElement.delayCall('scrollTo', [null, attachmentSection.getTop()], 100);
+        }
+
         if(!attachmentExists){
-          this.view.viewForm.getItem('_attachments_').canvasItem.canvas.getMember(0).getMember(0).click();
+          attachmentSection.attachmentCanvasItem.canvas.getMember(0).getMember(0).click();
         }
         return;
       }
       if(selectedRows.size() === 1){
-        this.view.viewForm.setFocusItem(this.view.viewForm.getItem('_attachments_'));
+        this.view.viewForm.setFocusItem(attachmentSection);
         this.view.viewForm.forceFocusedField = '_attachments_';
         this.view.viewForm.expandAttachments = true;
         this.view.editRecord(selectedRows[0]);
+
+        // Move from grid view to form view could take a while.
+        // Section needs to be expanded before the viewport adjustment.
+        var expandedCount = 0, expandedInterval;
+        expandedInterval = setInterval(function() {
+          expandedCount += 1;
+          if(attachmentSection.isExpanded()){
+            me.view.viewForm.parentElement.scrollTo(null, attachmentSection.getTop());
+            clearInterval(expandedInterval);
+          }
+          if (expandedCount === 50) {
+            clearInterval(expandedInterval);
+          }
+        }, 100);
+
         if(!attachmentExists){
-          this.view.viewForm.getItem('_attachments_').canvasItem.canvas.getMember(0).getMember(0).click();
+          if (attachmentSection.attachmentCanvasItem.canvas.getMember(0)) {
+            attachmentSection.attachmentCanvasItem.canvas.getMember(0).getMember(0).click();
+          } else {
+            // The first time the form view is loaded, the section is not already built and it could take a while to be.
+            // Section needs to be built before the click event.
+            var clickCount = 0, clickInterval;
+            clickInterval = setInterval(function() {
+              clickCount += 1;
+              if(attachmentSection.attachmentCanvasItem.canvas.getMember(0)){
+                attachmentSection.attachmentCanvasItem.canvas.getMember(0).getMember(0).click();
+                clearInterval(clickInterval);
+              }
+              if (clickCount === 50) {
+                clearInterval(clickInterval);
+              }
+            }, 100);
+          }
         }
       } else {
         var recordIds = "";
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.css	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.css	Wed Dec 21 13:14:28 2011 +0100
@@ -168,6 +168,16 @@
   padding-right: 10px;
 }
 
+.OBNavBarComponentFormTabButtonTopSelectedFocused,
+.OBNavBarComponentFormTabButtonTopSelectedFocusedOver,
+.OBNavBarComponentFormTabButtonTopSelectedFocusedDown {
+  border-top-color: #fa962f;
+  border-right-color: #fa962f;
+  border-bottom-color: #fff;
+  border-left-color: #fa962f;
+  color: #fa962f;
+}
+
 /*============================================================
   Standard flyout styling
 ============================================================*/
--- a/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-navigation-bar-styles.js	Wed Dec 21 13:14:28 2011 +0100
@@ -60,10 +60,11 @@
   // todo: it is nicer to move this to a style but then this issue occurs:
   // https://issues.openbravo.com/view.php?id=13786
   width: 57,
+  separatorHeight: 10,
   
   layoutProperties: {
     width: 250,
-    membersMargin: 10
+    membersMargin: 0 // use custom attribute "separatorHeight" instead
   },
 
   nodeIcons: {
--- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <NAME><![CDATA[HTML Widget]]></NAME>
-<!--D393BE6F22BB44B7B728259B34FC795A-->  <VERSION><![CDATA[1.0.14860]]></VERSION>
+<!--D393BE6F22BB44B7B728259B34FC795A-->  <VERSION><![CDATA[1.0.14891]]></VERSION>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <DESCRIPTION><![CDATA[Provides the HTML Widget superclass that allows to create widget classes that embed the html code.]]></DESCRIPTION>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <HELP><![CDATA[With this module you can define your own widget classes just setting up your own html code or the html code provided by third parties.]]></HELP>
 <!--D393BE6F22BB44B7B728259B34FC795A-->  <URL><![CDATA[http://forge.openbravo.com/projects/htmlwidget]]></URL>
--- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <AD_MODULE_ID><![CDATA[D393BE6F22BB44B7B728259B34FC795A]]></AD_MODULE_ID>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--DCE798FBC5B648F7A3C81A6941720A57-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--DCE798FBC5B648F7A3C81A6941720A57-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <DEPENDANT_MODULE_NAME><![CDATA[My Openbravo Tab]]></DEPENDANT_MODULE_NAME>
 <!--DCE798FBC5B648F7A3C81A6941720A57-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--4B828F4D03264080AA1D2057B13F613C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <NAME><![CDATA[User Interface Client Kernel]]></NAME>
-<!--4B828F4D03264080AA1D2057B13F613C-->  <VERSION><![CDATA[2.1.14860]]></VERSION>
+<!--4B828F4D03264080AA1D2057B13F613C-->  <VERSION><![CDATA[2.1.14891]]></VERSION>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <DESCRIPTION><![CDATA[Provides framework functionality for the Openbravo User Interface]]></DESCRIPTION>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <HELP><![CDATA[The user interface client kernel is a generation framework for generating client (browser) components used in Openbravo. Its components are mainly used by other modules to provide customizable and extendable user interfaces.]]></HELP>
 <!--4B828F4D03264080AA1D2057B13F613C-->  <URL><![CDATA[http://forge.openbravo.com/projects/openbravoclientkernel]]></URL>
--- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--26B041893E844A53AFA58BC326C4F0D7-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--26B041893E844A53AFA58BC326C4F0D7-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--26B041893E844A53AFA58BC326C4F0D7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--3AB045DA35ED4CA58EF7EB5BF04CDE3F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <AD_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_MODULE_ID>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <AD_DEPENDENT_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_DEPENDENT_MODULE_ID>
-<!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <STARTVERSION><![CDATA[2.0.14860]]></STARTVERSION>
+<!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <STARTVERSION><![CDATA[2.0.14891]]></STARTVERSION>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON REST Webservice]]></DEPENDANT_MODULE_NAME>
 <!--D7BA4BB0844942C58DC46B9E23CF8E67-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <NAME><![CDATA[Workspace & Widgets]]></NAME>
-<!--2758CD25B2704AF6BBAD10365FC82C06-->  <VERSION><![CDATA[2.1.14860]]></VERSION>
+<!--2758CD25B2704AF6BBAD10365FC82C06-->  <VERSION><![CDATA[2.1.14891]]></VERSION>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <DESCRIPTION><![CDATA[Workspace & Widgets]]></DESCRIPTION>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <HELP><![CDATA[Provides the infrastructure of workspace tab (formerly My Openbravo)]]></HELP>
 <!--2758CD25B2704AF6BBAD10365FC82C06-->  <URL><![CDATA[http://forge.openbravo.com/projects/myopenbravo]]></URL>
--- a/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--15F51F03882F444CAB6593B4566DC929-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--15F51F03882F444CAB6593B4566DC929-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--15F51F03882F444CAB6593B4566DC929-->  <AD_DEPENDENT_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_DEPENDENT_MODULE_ID>
-<!--15F51F03882F444CAB6593B4566DC929-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--15F51F03882F444CAB6593B4566DC929-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--15F51F03882F444CAB6593B4566DC929-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--15F51F03882F444CAB6593B4566DC929-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Application]]></DEPENDANT_MODULE_NAME>
 <!--15F51F03882F444CAB6593B4566DC929-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <AD_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_MODULE_ID>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--E71B28FC949D481D9F59C17D01E46EF9-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--E71B28FC949D481D9F59C17D01E46EF9-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--E71B28FC949D481D9F59C17D01E46EF9-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <NAME><![CDATA[Query/List Widget]]></NAME>
-<!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <VERSION><![CDATA[1.0.14860]]></VERSION>
+<!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <VERSION><![CDATA[1.0.14891]]></VERSION>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <DESCRIPTION><![CDATA[Provides the Query/List superclass widget that allows to create widget classes that prints a grid of data based on a query.]]></DESCRIPTION>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <HELP><![CDATA[With this module you can define your own widget classes that just with simple Application Dictionary shows a grid of data based on a HQL Query.]]></HELP>
 <!--0A060B2AF1974E8EAA8DB61388E9AECC-->  <URL><![CDATA[http://forge.openbravo.com/projects/querylistwidget]]></URL>
--- a/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--26558497C31140BFAB067BA4BC47D799-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--26558497C31140BFAB067BA4BC47D799-->  <AD_MODULE_ID><![CDATA[0A060B2AF1974E8EAA8DB61388E9AECC]]></AD_MODULE_ID>
 <!--26558497C31140BFAB067BA4BC47D799-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--26558497C31140BFAB067BA4BC47D799-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--26558497C31140BFAB067BA4BC47D799-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--26558497C31140BFAB067BA4BC47D799-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--26558497C31140BFAB067BA4BC47D799-->  <DEPENDANT_MODULE_NAME><![CDATA[My Openbravo Tab]]></DEPENDANT_MODULE_NAME>
 <!--26558497C31140BFAB067BA4BC47D799-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--FF8080812D842086012D844F3CC0003E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080812D842086012D844F3CC0003E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812D842086012D844F3CC0003E-->  <NAME><![CDATA[Widgets Collection]]></NAME>
-<!--FF8080812D842086012D844F3CC0003E-->  <VERSION><![CDATA[0.0.14860]]></VERSION>
+<!--FF8080812D842086012D844F3CC0003E-->  <VERSION><![CDATA[0.0.14891]]></VERSION>
 <!--FF8080812D842086012D844F3CC0003E-->  <DESCRIPTION><![CDATA[Collection of Workspace Widgets]]></DESCRIPTION>
 <!--FF8080812D842086012D844F3CC0003E-->  <HELP><![CDATA[Collection of Workspace Widgets]]></HELP>
 <!--FF8080812D842086012D844F3CC0003E-->  <URL><![CDATA[http://forge.openbravo.com/projects/widgetscollection]]></URL>
--- a/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--FF8080812D842086012D845002070046-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080812D842086012D845002070046-->  <AD_MODULE_ID><![CDATA[FF8080812D842086012D844F3CC0003E]]></AD_MODULE_ID>
 <!--FF8080812D842086012D845002070046-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080812D842086012D845002070046-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--FF8080812D842086012D845002070046-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--FF8080812D842086012D845002070046-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080812D842086012D845002070046-->  <DEPENDANT_MODULE_NAME><![CDATA[Workspace & Widgets]]></DEPENDANT_MODULE_NAME>
 <!--FF8080812D842086012D845002070046-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <NAME><![CDATA[Payment Report]]></NAME>
-<!--2A5EE903D7974AC298C0504FBC4501A7-->  <VERSION><![CDATA[3.0.14860]]></VERSION>
+<!--2A5EE903D7974AC298C0504FBC4501A7-->  <VERSION><![CDATA[3.0.14891]]></VERSION>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <DESCRIPTION><![CDATA[Payment Report]]></DESCRIPTION>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <URL><![CDATA[http://forge.openbravo.com/projects/paymentreport]]></URL>
 <!--2A5EE903D7974AC298C0504FBC4501A7-->  <TYPE><![CDATA[M]]></TYPE>
--- a/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <AD_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_MODULE_ID>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_DEPENDENT_MODULE_ID>
-<!--A3B449C4D5FE4D688CC58236FE33B802-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--A3B449C4D5FE4D688CC58236FE33B802-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <DEPENDANT_MODULE_NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></DEPENDANT_MODULE_NAME>
 <!--A3B449C4D5FE4D688CC58236FE33B802-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--3A3A943684D64DEF9EC39F588A656848-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <NAME><![CDATA[Orders Awaiting Delivery]]></NAME>
-<!--3A3A943684D64DEF9EC39F588A656848-->  <VERSION><![CDATA[1.1.14860]]></VERSION>
+<!--3A3A943684D64DEF9EC39F588A656848-->  <VERSION><![CDATA[1.1.14891]]></VERSION>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <DESCRIPTION><![CDATA[Report displaying sales orders not shipped.]]></DESCRIPTION>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <URL><![CDATA[http://forge.openbravo.com/projects/ordersawaitingdlivery]]></URL>
 <!--3A3A943684D64DEF9EC39F588A656848-->  <TYPE><![CDATA[M]]></TYPE>
--- a/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <AD_MODULE_ID><![CDATA[3A3A943684D64DEF9EC39F588A656848]]></AD_MODULE_ID>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--64060E9EE9EC408BBFFD0CC2DE25C86F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <NAME><![CDATA[JSON Datasource]]></NAME>
-<!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <VERSION><![CDATA[2.1.14860]]></VERSION>
+<!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <VERSION><![CDATA[2.1.14891]]></VERSION>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <DESCRIPTION><![CDATA[Provides data source CRUD functionality using JSON as the data format]]></DESCRIPTION>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <HELP><![CDATA[This module implements the datasource concept. Datasources play a central role in Smartclient applications. The datasource module automatically creates a datasource for each Openbravo entity. In addition custom data source implementations can be defined.]]></HELP>
 <!--A44B9BA75C354D8FB2E3F7D6EB6BFDC4-->  <URL><![CDATA[http://forge.openbravo.com/projects/datasourceservice]]></URL>
--- a/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--0BA071C783CC4984AC9C03BB7CAA87C7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <AD_DEPENDENT_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_DEPENDENT_MODULE_ID>
-<!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <STARTVERSION><![CDATA[2.0.14860]]></STARTVERSION>
+<!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <STARTVERSION><![CDATA[2.0.14891]]></STARTVERSION>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON REST Webservice]]></DEPENDANT_MODULE_NAME>
 <!--3E531F0CD0A54130996F5AF3B6A2D01B-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--4FCE95802A854F7E8623AFF7C33D13EE-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--4FCE95802A854F7E8623AFF7C33D13EE-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--4FCE95802A854F7E8623AFF7C33D13EE-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--54AF8B39C55E4E7496902893ECD82786-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--54AF8B39C55E4E7496902893ECD82786-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--54AF8B39C55E4E7496902893ECD82786-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--54AF8B39C55E4E7496902893ECD82786-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -63,7 +63,7 @@
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <AD_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_MODULE_ID>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--D03C56D8A4E14F45A5466350E05C631F-->  <STARTVERSION><![CDATA[8.1.14860]]></STARTVERSION>
+<!--D03C56D8A4E14F45A5466350E05C631F-->  <STARTVERSION><![CDATA[8.1.14891]]></STARTVERSION>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--D03C56D8A4E14F45A5466350E05C631F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--FF8080813129ADA401312CA1222A0005-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080813129ADA401312CA1222A0005-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813129ADA401312CA1222A0005-->  <NAME><![CDATA[Integration with Google APIs]]></NAME>
-<!--FF8080813129ADA401312CA1222A0005-->  <VERSION><![CDATA[0.1.14860]]></VERSION>
+<!--FF8080813129ADA401312CA1222A0005-->  <VERSION><![CDATA[0.1.14891]]></VERSION>
 <!--FF8080813129ADA401312CA1222A0005-->  <DESCRIPTION><![CDATA[Integration with Google APIs]]></DESCRIPTION>
 <!--FF8080813129ADA401312CA1222A0005-->  <TYPE><![CDATA[M]]></TYPE>
 <!--FF8080813129ADA401312CA1222A0005-->  <LICENSE><![CDATA[Licensed under the Openbravo Public License Version 1.1.
--- a/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--FF8080813141B198013141BA0F7D0012-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813141B198013141BA0F7D0012-->  <AD_MODULE_ID><![CDATA[FF8080813129ADA401312CA1222A0005]]></AD_MODULE_ID>
 <!--FF8080813141B198013141BA0F7D0012-->  <AD_DEPENDENT_MODULE_ID><![CDATA[FF8080813141B198013141B86DD70003]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813141B198013141BA0F7D0012-->  <STARTVERSION><![CDATA[0.1.14860]]></STARTVERSION>
+<!--FF8080813141B198013141BA0F7D0012-->  <STARTVERSION><![CDATA[0.1.14891]]></STARTVERSION>
 <!--FF8080813141B198013141BA0F7D0012-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080813141B198013141BA0F7D0012-->  <DEPENDANT_MODULE_NAME><![CDATA[OpenID Service Integration]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813141B198013141BA0F7D0012-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--FF8080813151AEE1013151C4ACE6001B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <AD_MODULE_ID><![CDATA[FF8080813129ADA401312CA1222A0005]]></AD_MODULE_ID>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <AD_DEPENDENT_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813151AEE1013151C4ACE6001B-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--FF8080813151AEE1013151C4ACE6001B-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <DEPENDANT_MODULE_NAME><![CDATA[Openbravo 3.0 Framework]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813151AEE1013151C4ACE6001B-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--FF8080813141B198013141B86DD70003-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8080813141B198013141B86DD70003-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813141B198013141B86DD70003-->  <NAME><![CDATA[OpenID Service Integration]]></NAME>
-<!--FF8080813141B198013141B86DD70003-->  <VERSION><![CDATA[0.1.14860]]></VERSION>
+<!--FF8080813141B198013141B86DD70003-->  <VERSION><![CDATA[0.1.14891]]></VERSION>
 <!--FF8080813141B198013141B86DD70003-->  <DESCRIPTION><![CDATA[OpenID Service Integration]]></DESCRIPTION>
 <!--FF8080813141B198013141B86DD70003-->  <TYPE><![CDATA[M]]></TYPE>
 <!--FF8080813141B198013141B86DD70003-->  <LICENSE><![CDATA[Licensed under the Openbravo Public License Version 1.1.
--- a/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--FF8080813141B198013141B8B21B0006-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813141B198013141B8B21B0006-->  <AD_MODULE_ID><![CDATA[FF8080813141B198013141B86DD70003]]></AD_MODULE_ID>
 <!--FF8080813141B198013141B8B21B0006-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813141B198013141B8B21B0006-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--FF8080813141B198013141B8B21B0006-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--FF8080813141B198013141B8B21B0006-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--FF8080813141B198013141B8B21B0006-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813141B198013141B8B21B0006-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <NAME><![CDATA[JSON REST Webservice]]></NAME>
-<!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <VERSION><![CDATA[2.0.14860]]></VERSION>
+<!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <VERSION><![CDATA[2.0.14891]]></VERSION>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <DESCRIPTION><![CDATA[Provides a JSON REST webservice for CRUD service requests]]></DESCRIPTION>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <HELP><![CDATA[Provides a JSON REST webservice for CRUD service requests. Both the servlet implementation (receiving HTTP REST requests in JSON) as the backend processing are provided.]]></HELP>
 <!--F8D1B3ECB3474E8DA5C216473C840DF1-->  <URL><![CDATA[http://forge.openbravo.com/projects/openbravojsonrest]]></URL>
--- a/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--9E3E7B42DB16405FB794496D309D7044-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <AD_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_MODULE_ID>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--9E3E7B42DB16405FB794496D309D7044-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--9E3E7B42DB16405FB794496D309D7044-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--9E3E7B42DB16405FB794496D309D7044-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <NAME><![CDATA[User Interface Selector]]></NAME>
-<!--5EB4F15C80684ACA904756BDC12ADBE5-->  <VERSION><![CDATA[2.1.14860]]></VERSION>
+<!--5EB4F15C80684ACA904756BDC12ADBE5-->  <VERSION><![CDATA[2.1.14891]]></VERSION>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <DESCRIPTION><![CDATA[Provides a selector with a suggestion box and popup grid window]]></DESCRIPTION>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <HELP><![CDATA[The Openbravo selector provides new selector functionality which is used inside of existing Openbravo forms. The selector is mainly used for supporting foreign key references in the user interface. The selector combines both suggestion box behavior with a popup grid.]]></HELP>
 <!--5EB4F15C80684ACA904756BDC12ADBE5-->  <URL><![CDATA[http://forge.openbravo.com/projects/selector]]></URL>
--- a/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--38825CAED43941D38CA0C78DB04FCFA0-->  <STARTVERSION><![CDATA[8.1.14860]]></STARTVERSION>
+<!--38825CAED43941D38CA0C78DB04FCFA0-->  <STARTVERSION><![CDATA[8.1.14891]]></STARTVERSION>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--38825CAED43941D38CA0C78DB04FCFA0-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <AD_DEPENDENT_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_DEPENDENT_MODULE_ID>
-<!--6DDE7B1A70174242AF82B5022FB89279-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--6DDE7B1A70174242AF82B5022FB89279-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Application]]></DEPENDANT_MODULE_NAME>
 <!--6DDE7B1A70174242AF82B5022FB89279-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--94F9CD2CB5EF4467A67475C786C984A7-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--94F9CD2CB5EF4467A67475C786C984A7-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--94F9CD2CB5EF4467A67475C786C984A7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--BCCB5A08EC0446DE8BCE191C6BC607A4-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -63,7 +63,7 @@
 <!--C8DAC574B88649D08C9468521B343F12-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--C8DAC574B88649D08C9468521B343F12-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--C8DAC574B88649D08C9468521B343F12-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--C8DAC574B88649D08C9468521B343F12-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--C8DAC574B88649D08C9468521B343F12-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--C8DAC574B88649D08C9468521B343F12-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--C8DAC574B88649D08C9468521B343F12-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--C8DAC574B88649D08C9468521B343F12-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -77,7 +77,7 @@
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <AD_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_MODULE_ID>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--F14EB17946BE4724A46F80CB1A47EC70-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--F14EB17946BE4724A46F80CB1A47EC70-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME>
 <!--F14EB17946BE4724A46F80CB1A47EC70-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js	Wed Dec 21 13:14:28 2011 +0100
@@ -338,6 +338,7 @@
   },
 
   setUpPickList: function (show, queueFetches, request) {
+    this.pickListProperties.canResizeFields = true;
     // Set the pickListWidth just before being shown.
     this.setPickListWidth();
     this.Super('setUpPickList', arguments);
--- a/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <NAME><![CDATA[2.50 to 3.00 Compatibility Skin]]></NAME>
-<!--96998CBC42744B3DBEE28AC8095C9335-->  <VERSION><![CDATA[2.0.14860]]></VERSION>
+<!--96998CBC42744B3DBEE28AC8095C9335-->  <VERSION><![CDATA[2.0.14891]]></VERSION>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <DESCRIPTION><![CDATA[Skin module to proper visualization of classic windows inside the MDI interface]]></DESCRIPTION>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <HELP><![CDATA[With this skin module the classic windows styles will display in a way more coherent with the new 3.00 styles]]></HELP>
 <!--96998CBC42744B3DBEE28AC8095C9335-->  <URL><![CDATA[www.openbravo.com]]></URL>
--- a/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <AD_MODULE_ID><![CDATA[96998CBC42744B3DBEE28AC8095C9335]]></AD_MODULE_ID>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--39BF75AD9AB3453698BF5DE29E727AA9-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--39BF75AD9AB3453698BF5DE29E727AA9-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--39BF75AD9AB3453698BF5DE29E727AA9-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <NAME><![CDATA[Smartclient]]></NAME>
-<!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <VERSION><![CDATA[8.1.14860]]></VERSION>
+<!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <VERSION><![CDATA[8.1.14891]]></VERSION>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <DESCRIPTION><![CDATA[Smartclient libraries for use within Openbravo]]></DESCRIPTION>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <HELP><![CDATA[This module contains the Smartclient libraries for usage by other modules. It also contains some simple test pages to validate that Smartclient is working correctly. Also contains generic Openbravo Smartclient components]]></HELP>
 <!--EC356CEE3D46416CA1EBEEB9AB82EDB9-->  <URL><![CDATA[http://forge.openbravo.com/projects/obsmartclient]]></URL>
--- a/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--086331E18477496B8AC74D2CFEBD1307-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <AD_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_MODULE_ID>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--086331E18477496B8AC74D2CFEBD1307-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--086331E18477496B8AC74D2CFEBD1307-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--086331E18477496B8AC74D2CFEBD1307-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--DC5D4EF450244482BD2B458DAA496333-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <AD_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_MODULE_ID>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--DC5D4EF450244482BD2B458DAA496333-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--DC5D4EF450244482BD2B458DAA496333-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--DC5D4EF450244482BD2B458DAA496333-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <AD_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_MODULE_ID>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--F2AF15C0AF5540E393D96BE506E20648-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--F2AF15C0AF5540E393D96BE506E20648-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--F2AF15C0AF5540E393D96BE506E20648-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <NAME><![CDATA[Standard Roles]]></NAME>
-<!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <VERSION><![CDATA[3.0.14860]]></VERSION>
+<!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <VERSION><![CDATA[3.0.14891]]></VERSION>
 <!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <DESCRIPTION><![CDATA[Pre-configured collection of standard ERP roles]]></DESCRIPTION>
 <!--883B5872CA0548F9AF2BBBE7D2DDFA61-->  <HELP><![CDATA[This dataset contains the following roles with their access to corresponding Openbravo entities - windows, reports, actions.
 * Employee - Any person of the enterprise
--- a/modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--148A000EE9A04A3CA653B1296A00B8E6-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--148A000EE9A04A3CA653B1296A00B8E6-->  <AD_MODULE_ID><![CDATA[883B5872CA0548F9AF2BBBE7D2DDFA61]]></AD_MODULE_ID>
 <!--148A000EE9A04A3CA653B1296A00B8E6-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--148A000EE9A04A3CA653B1296A00B8E6-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--148A000EE9A04A3CA653B1296A00B8E6-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--148A000EE9A04A3CA653B1296A00B8E6-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--148A000EE9A04A3CA653B1296A00B8E6-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--148A000EE9A04A3CA653B1296A00B8E6-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--30F966407A6F4E15965821BAEE34D25B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--30F966407A6F4E15965821BAEE34D25B-->  <AD_MODULE_ID><![CDATA[883B5872CA0548F9AF2BBBE7D2DDFA61]]></AD_MODULE_ID>
 <!--30F966407A6F4E15965821BAEE34D25B-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_DEPENDENT_MODULE_ID>
-<!--30F966407A6F4E15965821BAEE34D25B-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--30F966407A6F4E15965821BAEE34D25B-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--30F966407A6F4E15965821BAEE34D25B-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--30F966407A6F4E15965821BAEE34D25B-->  <DEPENDANT_MODULE_NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></DEPENDANT_MODULE_NAME>
 <!--30F966407A6F4E15965821BAEE34D25B-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--F93CE30003B24F8F8886510B0065EECC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F93CE30003B24F8F8886510B0065EECC-->  <AD_MODULE_ID><![CDATA[883B5872CA0548F9AF2BBBE7D2DDFA61]]></AD_MODULE_ID>
 <!--F93CE30003B24F8F8886510B0065EECC-->  <AD_DEPENDENT_MODULE_ID><![CDATA[3A3A943684D64DEF9EC39F588A656848]]></AD_DEPENDENT_MODULE_ID>
-<!--F93CE30003B24F8F8886510B0065EECC-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--F93CE30003B24F8F8886510B0065EECC-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--F93CE30003B24F8F8886510B0065EECC-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--F93CE30003B24F8F8886510B0065EECC-->  <DEPENDANT_MODULE_NAME><![CDATA[Orders Awaiting Delivery]]></DEPENDANT_MODULE_NAME>
 <!--F93CE30003B24F8F8886510B0065EECC-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--7E48CDD73B7E493A8BED4F7253E7C989-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--7E48CDD73B7E493A8BED4F7253E7C989-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--7E48CDD73B7E493A8BED4F7253E7C989-->  <NAME><![CDATA[Openbravo 3.0 Framework]]></NAME>
-<!--7E48CDD73B7E493A8BED4F7253E7C989-->  <VERSION><![CDATA[2.1.14860]]></VERSION>
+<!--7E48CDD73B7E493A8BED4F7253E7C989-->  <VERSION><![CDATA[2.1.14891]]></VERSION>
 <!--7E48CDD73B7E493A8BED4F7253E7C989-->  <DESCRIPTION><![CDATA[Openbravo 3.0 Framework]]></DESCRIPTION>
 <!--7E48CDD73B7E493A8BED4F7253E7C989-->  <HELP><![CDATA[Contains all the components required to run the Openbravo 3.0 framework]]></HELP>
 <!--7E48CDD73B7E493A8BED4F7253E7C989-->  <URL><![CDATA[http://forge.openbravo.com/projects/openbravov30framework]]></URL>
--- a/modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--01E1BCCEC9114DE0960538DF34E30E6F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--01E1BCCEC9114DE0960538DF34E30E6F-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--01E1BCCEC9114DE0960538DF34E30E6F-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID>
-<!--01E1BCCEC9114DE0960538DF34E30E6F-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--01E1BCCEC9114DE0960538DF34E30E6F-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--01E1BCCEC9114DE0960538DF34E30E6F-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--01E1BCCEC9114DE0960538DF34E30E6F-->  <DEPENDANT_MODULE_NAME><![CDATA[My Openbravo Tab]]></DEPENDANT_MODULE_NAME>
 <!--01E1BCCEC9114DE0960538DF34E30E6F-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--025B181F63CA47B48A920F6983242390-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--025B181F63CA47B48A920F6983242390-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--025B181F63CA47B48A920F6983242390-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--025B181F63CA47B48A920F6983242390-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--025B181F63CA47B48A920F6983242390-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--025B181F63CA47B48A920F6983242390-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--025B181F63CA47B48A920F6983242390-->  <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--025B181F63CA47B48A920F6983242390-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--054B4FEAF919478AA3FF27098A46D1D6-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--054B4FEAF919478AA3FF27098A46D1D6-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--054B4FEAF919478AA3FF27098A46D1D6-->  <AD_DEPENDENT_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_DEPENDENT_MODULE_ID>
-<!--054B4FEAF919478AA3FF27098A46D1D6-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--054B4FEAF919478AA3FF27098A46D1D6-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--054B4FEAF919478AA3FF27098A46D1D6-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--054B4FEAF919478AA3FF27098A46D1D6-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Application]]></DEPENDANT_MODULE_NAME>
 <!--054B4FEAF919478AA3FF27098A46D1D6-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0A060B2AF1974E8EAA8DB61388E9AECC]]></AD_DEPENDENT_MODULE_ID>
-<!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <STARTVERSION><![CDATA[1.0.14860]]></STARTVERSION>
+<!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <STARTVERSION><![CDATA[1.0.14891]]></STARTVERSION>
 <!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <DEPENDANT_MODULE_NAME><![CDATA[Query/List Widget]]></DEPENDANT_MODULE_NAME>
 <!--1FA6BAA6DC3A4434A6E62A0D1319A9D7-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -63,7 +63,7 @@
 <!--224754C3EF674C93B0D468F47BAAB824-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--224754C3EF674C93B0D468F47BAAB824-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--224754C3EF674C93B0D468F47BAAB824-->  <AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID>
-<!--224754C3EF674C93B0D468F47BAAB824-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--224754C3EF674C93B0D468F47BAAB824-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--224754C3EF674C93B0D468F47BAAB824-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--224754C3EF674C93B0D468F47BAAB824-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Selector]]></DEPENDANT_MODULE_NAME>
 <!--224754C3EF674C93B0D468F47BAAB824-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -77,7 +77,7 @@
 <!--5B72D24032DD4879A950194139D961B6-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--5B72D24032DD4879A950194139D961B6-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--5B72D24032DD4879A950194139D961B6-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--5B72D24032DD4879A950194139D961B6-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--5B72D24032DD4879A950194139D961B6-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--5B72D24032DD4879A950194139D961B6-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--5B72D24032DD4879A950194139D961B6-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME>
 <!--5B72D24032DD4879A950194139D961B6-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -91,7 +91,7 @@
 <!--8730CA6A4224439D82E0DD31B3806E36-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--8730CA6A4224439D82E0DD31B3806E36-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--8730CA6A4224439D82E0DD31B3806E36-->  <AD_DEPENDENT_MODULE_ID><![CDATA[D393BE6F22BB44B7B728259B34FC795A]]></AD_DEPENDENT_MODULE_ID>
-<!--8730CA6A4224439D82E0DD31B3806E36-->  <STARTVERSION><![CDATA[1.0.14860]]></STARTVERSION>
+<!--8730CA6A4224439D82E0DD31B3806E36-->  <STARTVERSION><![CDATA[1.0.14891]]></STARTVERSION>
 <!--8730CA6A4224439D82E0DD31B3806E36-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--8730CA6A4224439D82E0DD31B3806E36-->  <DEPENDANT_MODULE_NAME><![CDATA[HTML Widget]]></DEPENDANT_MODULE_NAME>
 <!--8730CA6A4224439D82E0DD31B3806E36-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -105,7 +105,7 @@
 <!--98C47FF058F8413B8A2B26036061446E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--98C47FF058F8413B8A2B26036061446E-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--98C47FF058F8413B8A2B26036061446E-->  <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--98C47FF058F8413B8A2B26036061446E-->  <STARTVERSION><![CDATA[8.1.14860]]></STARTVERSION>
+<!--98C47FF058F8413B8A2B26036061446E-->  <STARTVERSION><![CDATA[8.1.14891]]></STARTVERSION>
 <!--98C47FF058F8413B8A2B26036061446E-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--98C47FF058F8413B8A2B26036061446E-->  <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--98C47FF058F8413B8A2B26036061446E-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -119,7 +119,7 @@
 <!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <AD_DEPENDENT_MODULE_ID><![CDATA[96998CBC42744B3DBEE28AC8095C9335]]></AD_DEPENDENT_MODULE_ID>
-<!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <STARTVERSION><![CDATA[2.0.14860]]></STARTVERSION>
+<!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <STARTVERSION><![CDATA[2.0.14891]]></STARTVERSION>
 <!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <DEPENDANT_MODULE_NAME><![CDATA[2.50 to 3.00 Compatibility Skin]]></DEPENDANT_MODULE_NAME>
 <!--A6D7BA917B3B4DEABD7CA1BA00B01E8A-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -133,7 +133,7 @@
 <!--A9CB99330AF34944877F889DD8A0AB3C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A9CB99330AF34944877F889DD8A0AB3C-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--A9CB99330AF34944877F889DD8A0AB3C-->  <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--A9CB99330AF34944877F889DD8A0AB3C-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--A9CB99330AF34944877F889DD8A0AB3C-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--A9CB99330AF34944877F889DD8A0AB3C-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--A9CB99330AF34944877F889DD8A0AB3C-->  <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--A9CB99330AF34944877F889DD8A0AB3C-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -147,7 +147,7 @@
 <!--E72A053A403C4A98A189C105B850ADB0-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E72A053A403C4A98A189C105B850ADB0-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--E72A053A403C4A98A189C105B850ADB0-->  <AD_DEPENDENT_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_DEPENDENT_MODULE_ID>
-<!--E72A053A403C4A98A189C105B850ADB0-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--E72A053A403C4A98A189C105B850ADB0-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--E72A053A403C4A98A189C105B850ADB0-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--E72A053A403C4A98A189C105B850ADB0-->  <DEPENDANT_MODULE_NAME><![CDATA[JBoss Weld]]></DEPENDANT_MODULE_NAME>
 <!--E72A053A403C4A98A189C105B850ADB0-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -161,7 +161,7 @@
 <!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <AD_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_MODULE_ID>
 <!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <AD_DEPENDENT_MODULE_ID><![CDATA[F8D1B3ECB3474E8DA5C216473C840DF1]]></AD_DEPENDENT_MODULE_ID>
-<!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <STARTVERSION><![CDATA[2.0.14860]]></STARTVERSION>
+<!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <STARTVERSION><![CDATA[2.0.14891]]></STARTVERSION>
 <!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON REST Webservice]]></DEPENDANT_MODULE_NAME>
 <!--F62443FC17DA4C0E84FBCA9F2E5B68C0-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/modules/org.openbravo.v3/src-db/database/configScript.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3/src-db/database/configScript.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
   <vector>
-    <versionInfo version="3.0.14253"/>
+    <versionInfo version="3.0.14860"/>
     <columnDataChange tablename="AD_PROCESS" columnname="ISACTIVE" pkRow="800026">
       <oldValue><![CDATA[Y]]></oldValue>
       <newValue><![CDATA[N]]></newValue>
--- a/modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--0138E7A89B5E4DC3932462252801FFBC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--0138E7A89B5E4DC3932462252801FFBC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--0138E7A89B5E4DC3932462252801FFBC-->  <NAME><![CDATA[Openbravo 3.0]]></NAME>
-<!--0138E7A89B5E4DC3932462252801FFBC-->  <VERSION><![CDATA[3.0.14860]]></VERSION>
+<!--0138E7A89B5E4DC3932462252801FFBC-->  <VERSION><![CDATA[3.0.14891]]></VERSION>
 <!--0138E7A89B5E4DC3932462252801FFBC-->  <DESCRIPTION><![CDATA[Openbravo 3.0 distribution template]]></DESCRIPTION>
 <!--0138E7A89B5E4DC3932462252801FFBC-->  <HELP><![CDATA[Openbravo 3.0 is a collection (distribution) of modules. This template is a container of all the modules and configuration changes that compose Openbravo 3.0.]]></HELP>
 <!--0138E7A89B5E4DC3932462252801FFBC-->  <URL><![CDATA[http://forge.openbravo.com/projects/vthree]]></URL>
--- a/modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -7,7 +7,7 @@
 <!--4D11E3A70650475381139522373CD191-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--4D11E3A70650475381139522373CD191-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--4D11E3A70650475381139522373CD191-->  <AD_DEPENDENT_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_DEPENDENT_MODULE_ID>
-<!--4D11E3A70650475381139522373CD191-->  <STARTVERSION><![CDATA[2.1.14860]]></STARTVERSION>
+<!--4D11E3A70650475381139522373CD191-->  <STARTVERSION><![CDATA[2.1.14891]]></STARTVERSION>
 <!--4D11E3A70650475381139522373CD191-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--4D11E3A70650475381139522373CD191-->  <DEPENDANT_MODULE_NAME><![CDATA[Openbravo 3.0 Framework]]></DEPENDANT_MODULE_NAME>
 <!--4D11E3A70650475381139522373CD191-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--52CE523C40634C47A99C6EBBD9C3125C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--52CE523C40634C47A99C6EBBD9C3125C-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--52CE523C40634C47A99C6EBBD9C3125C-->  <AD_DEPENDENT_MODULE_ID><![CDATA[2A5EE903D7974AC298C0504FBC4501A7]]></AD_DEPENDENT_MODULE_ID>
-<!--52CE523C40634C47A99C6EBBD9C3125C-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--52CE523C40634C47A99C6EBBD9C3125C-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--52CE523C40634C47A99C6EBBD9C3125C-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--52CE523C40634C47A99C6EBBD9C3125C-->  <DEPENDANT_MODULE_NAME><![CDATA[Payment Report]]></DEPENDANT_MODULE_NAME>
 <!--52CE523C40634C47A99C6EBBD9C3125C-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--60834727BB114764ACEF019F40A34562-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--60834727BB114764ACEF019F40A34562-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--60834727BB114764ACEF019F40A34562-->  <AD_DEPENDENT_MODULE_ID><![CDATA[3A3A943684D64DEF9EC39F588A656848]]></AD_DEPENDENT_MODULE_ID>
-<!--60834727BB114764ACEF019F40A34562-->  <STARTVERSION><![CDATA[1.1.14860]]></STARTVERSION>
+<!--60834727BB114764ACEF019F40A34562-->  <STARTVERSION><![CDATA[1.1.14891]]></STARTVERSION>
 <!--60834727BB114764ACEF019F40A34562-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--60834727BB114764ACEF019F40A34562-->  <DEPENDANT_MODULE_NAME><![CDATA[Orders Awaiting Delivery]]></DEPENDANT_MODULE_NAME>
 <!--60834727BB114764ACEF019F40A34562-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--8418885E97D643138B6D907671351E3D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--8418885E97D643138B6D907671351E3D-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--8418885E97D643138B6D907671351E3D-->  <AD_DEPENDENT_MODULE_ID><![CDATA[883B5872CA0548F9AF2BBBE7D2DDFA61]]></AD_DEPENDENT_MODULE_ID>
-<!--8418885E97D643138B6D907671351E3D-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--8418885E97D643138B6D907671351E3D-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--8418885E97D643138B6D907671351E3D-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--8418885E97D643138B6D907671351E3D-->  <DEPENDANT_MODULE_NAME><![CDATA[Standard Roles]]></DEPENDANT_MODULE_NAME>
 <!--8418885E97D643138B6D907671351E3D-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -63,7 +63,7 @@
 <!--A32F3279B3374FC0A6CFEA2368BB7053-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A32F3279B3374FC0A6CFEA2368BB7053-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--A32F3279B3374FC0A6CFEA2368BB7053-->  <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--A32F3279B3374FC0A6CFEA2368BB7053-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--A32F3279B3374FC0A6CFEA2368BB7053-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--A32F3279B3374FC0A6CFEA2368BB7053-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--A32F3279B3374FC0A6CFEA2368BB7053-->  <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--A32F3279B3374FC0A6CFEA2368BB7053-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MINOR]]></DEPENDENCY_ENFORCEMENT>
@@ -77,7 +77,7 @@
 <!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <AD_DEPENDENT_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_DEPENDENT_MODULE_ID>
-<!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <STARTVERSION><![CDATA[3.0.14860]]></STARTVERSION>
+<!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <STARTVERSION><![CDATA[3.0.14891]]></STARTVERSION>
 <!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <DEPENDANT_MODULE_NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></DEPENDANT_MODULE_NAME>
 <!--ED06CE9F2AFD4092871D9E9494AF42DD-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -91,7 +91,7 @@
 <!--FF8080813189932B013189B45B59003A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813189932B013189B45B59003A-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--FF8080813189932B013189B45B59003A-->  <AD_DEPENDENT_MODULE_ID><![CDATA[FF8080813141B198013141B86DD70003]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813189932B013189B45B59003A-->  <STARTVERSION><![CDATA[0.1.14860]]></STARTVERSION>
+<!--FF8080813189932B013189B45B59003A-->  <STARTVERSION><![CDATA[0.1.14891]]></STARTVERSION>
 <!--FF8080813189932B013189B45B59003A-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--FF8080813189932B013189B45B59003A-->  <DEPENDANT_MODULE_NAME><![CDATA[OpenID Service Integration]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813189932B013189B45B59003A-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -105,7 +105,7 @@
 <!--FF8080813189932B013189B4C00F003D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8080813189932B013189B4C00F003D-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--FF8080813189932B013189B4C00F003D-->  <AD_DEPENDENT_MODULE_ID><![CDATA[FF8080813129ADA401312CA1222A0005]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8080813189932B013189B4C00F003D-->  <STARTVERSION><![CDATA[0.1.14860]]></STARTVERSION>
+<!--FF8080813189932B013189B4C00F003D-->  <STARTVERSION><![CDATA[0.1.14891]]></STARTVERSION>
 <!--FF8080813189932B013189B4C00F003D-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--FF8080813189932B013189B4C00F003D-->  <DEPENDANT_MODULE_NAME><![CDATA[Integration with Google APIs]]></DEPENDANT_MODULE_NAME>
 <!--FF8080813189932B013189B4C00F003D-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -119,7 +119,7 @@
 <!--FF8081812E2F6F3C012E2F750109001C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8081812E2F6F3C012E2F750109001C-->  <AD_MODULE_ID><![CDATA[0138E7A89B5E4DC3932462252801FFBC]]></AD_MODULE_ID>
 <!--FF8081812E2F6F3C012E2F750109001C-->  <AD_DEPENDENT_MODULE_ID><![CDATA[FF8080812D842086012D844F3CC0003E]]></AD_DEPENDENT_MODULE_ID>
-<!--FF8081812E2F6F3C012E2F750109001C-->  <STARTVERSION><![CDATA[0.0.14860]]></STARTVERSION>
+<!--FF8081812E2F6F3C012E2F750109001C-->  <STARTVERSION><![CDATA[0.0.14891]]></STARTVERSION>
 <!--FF8081812E2F6F3C012E2F750109001C-->  <ISINCLUDED><![CDATA[Y]]></ISINCLUDED>
 <!--FF8081812E2F6F3C012E2F750109001C-->  <DEPENDANT_MODULE_NAME><![CDATA[Widgets Collection]]></DEPENDANT_MODULE_NAME>
 <!--FF8081812E2F6F3C012E2F750109001C-->  <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
--- a/src-db/database/model/functions/C_ORDER_POST1.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/model/functions/C_ORDER_POST1.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -1266,7 +1266,12 @@
         */
         UPDATE C_DEBT_PAYMENT  SET IsValid='Y'  WHERE C_Order_ID=v_Record_ID;
         SELECT C_ORDER.PAYMENTRULE,
-            C_ORDER.DOCUMENTNO||' - '||C_BPARTNER.NAME||' - '||C_ORDER.GRANDTOTAL,
+            (CASE 
+		WHEN (length(C_ORDER.DOCUMENTNO||' - '||C_BPARTNER.NAME||' - '||C_ORDER.GRANDTOTAL) > 200) 
+			THEN substr(C_ORDER.DOCUMENTNO||' - '||C_BPARTNER.NAME||' - '||C_ORDER.GRANDTOTAL,1,197)||'...'
+		ELSE 
+			C_ORDER.DOCUMENTNO||' - '||C_BPARTNER.NAME||' - '||C_ORDER.GRANDTOTAL
+	    END) AS CONCATENATION,
             C_ORDER.GRANDTOTAL,
             C_ORDER.M_WAREHOUSE_ID
           INTO v_PaymentRule,
--- a/src-db/database/model/tables/AD_HEARTBEAT_LOG.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/model/tables/AD_HEARTBEAT_LOG.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -193,6 +193,30 @@
         <default><![CDATA[Y]]></default>
         <onCreateDefault><![CDATA['Y']]></onCreateDefault>
       </column>
+      <column name="WS_CALLS_MAX" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="WS_CALLS_AVG" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="WSC_CALLS_MAX" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="WSC_CALLS_AVG" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="WS_REJECTED_MAX" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="WS_REJECTED_AVG" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="AD_HEARTBEAT_LOG_AD_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
--- a/src-db/database/model/tables/AD_SESSION.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/model/tables/AD_SESSION.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -75,6 +75,9 @@
       <foreign-key foreignTable="AD_ORG" name="AD_SESSION_AD_ORG">
         <reference local="AD_ORG_ID" foreign="AD_ORG_ID"/>
       </foreign-key>
+      <index name="AD_SESSION_CREATED_IDX" unique="false">
+        <index-column name="CREATED"/>
+      </index>
       <index name="AD_SESSION_USER_IDX" unique="false">
         <index-column name="USERNAME"/>
       </index>
--- a/src-db/database/model/tables/S_TIMEEXPENSE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/model/tables/S_TIMEEXPENSE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -65,6 +65,10 @@
         <default/>
         <onCreateDefault/>
       </column>
+      <column name="POSTED" primaryKey="false" required="true" type="VARCHAR" size="60" autoIncrement="false">
+        <default><![CDATA[N]]></default>
+        <onCreateDefault><![CDATA['N']]></onCreateDefault>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="S_TIMEEXPENSE_AD_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
--- a/src-db/database/sourcedata/AD_COLUMN.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_COLUMN.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -89554,7 +89554,7 @@
 <!--6560-->  <COLUMNNAME><![CDATA[RequestUserPW]]></COLUMNNAME>
 <!--6560-->  <AD_TABLE_ID><![CDATA[112]]></AD_TABLE_ID>
 <!--6560-->  <AD_REFERENCE_ID><![CDATA[16EC6DF4A59747749FDF256B7FBBB058]]></AD_REFERENCE_ID>
-<!--6560-->  <FIELDLENGTH><![CDATA[20]]></FIELDLENGTH>
+<!--6560-->  <FIELDLENGTH><![CDATA[60]]></FIELDLENGTH>
 <!--6560-->  <ISKEY><![CDATA[N]]></ISKEY>
 <!--6560-->  <ISPARENT><![CDATA[N]]></ISPARENT>
 <!--6560-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
@@ -217365,6 +217365,40 @@
 <!--27F6459357914767A29EABC06226D6D5-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--27F6459357914767A29EABC06226D6D5--></AD_COLUMN>
 
+<!--28FCAF6507574F109D7EBA2027E165DF--><AD_COLUMN>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_COLUMN_ID><![CDATA[28FCAF6507574F109D7EBA2027E165DF]]></AD_COLUMN_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <NAME><![CDATA[WS Calls Average]]></NAME>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <DESCRIPTION><![CDATA[Average number of Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <HELP><![CDATA[Average number of Web Service calls per day in last 30 days]]></HELP>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <COLUMNNAME><![CDATA[WS_Calls_Avg]]></COLUMNNAME>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_REFERENCE_ID><![CDATA[22]]></AD_REFERENCE_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <SEQNO><![CDATA[510]]></SEQNO>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_ELEMENT_ID><![CDATA[38148AAF2D384F08B493B5484EFFA6E3]]></AD_ELEMENT_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <POSITION><![CDATA[51]]></POSITION>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--28FCAF6507574F109D7EBA2027E165DF-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--28FCAF6507574F109D7EBA2027E165DF--></AD_COLUMN>
+
 <!--29292D14E1CA4C2E9F1219D50AF35491--><AD_COLUMN>
 <!--29292D14E1CA4C2E9F1219D50AF35491-->  <AD_COLUMN_ID><![CDATA[29292D14E1CA4C2E9F1219D50AF35491]]></AD_COLUMN_ID>
 <!--29292D14E1CA4C2E9F1219D50AF35491-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -226026,6 +226060,40 @@
 <!--57923EC680D411DDA0EA574F27229B25-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--57923EC680D411DDA0EA574F27229B25--></AD_COLUMN>
 
+<!--5797D098AFB7437AA54CC596DDC65265--><AD_COLUMN>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_COLUMN_ID><![CDATA[5797D098AFB7437AA54CC596DDC65265]]></AD_COLUMN_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <NAME><![CDATA[Connector Calls Max]]></NAME>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <DESCRIPTION><![CDATA[Maximum number of Connector calls per day in last 30 days]]></DESCRIPTION>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <HELP><![CDATA[Maximum number of Connector calls per day in last 30 days]]></HELP>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <COLUMNNAME><![CDATA[WSC_Calls_Max]]></COLUMNNAME>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <SEQNO><![CDATA[530]]></SEQNO>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_ELEMENT_ID><![CDATA[D66DAAD6524140849CFCF28CE8FC8290]]></AD_ELEMENT_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <POSITION><![CDATA[53]]></POSITION>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--5797D098AFB7437AA54CC596DDC65265-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--5797D098AFB7437AA54CC596DDC65265--></AD_COLUMN>
+
 <!--579FC427CBEC9889E040007F01013019--><AD_COLUMN>
 <!--579FC427CBEC9889E040007F01013019-->  <AD_COLUMN_ID><![CDATA[579FC427CBEC9889E040007F01013019]]></AD_COLUMN_ID>
 <!--579FC427CBEC9889E040007F01013019-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -242025,6 +242093,40 @@
 <!--753066990E0247129B63D52B5EB343F5-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--753066990E0247129B63D52B5EB343F5--></AD_COLUMN>
 
+<!--75383B2897FE493E886439C075F5CE8A--><AD_COLUMN>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_COLUMN_ID><![CDATA[75383B2897FE493E886439C075F5CE8A]]></AD_COLUMN_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--75383B2897FE493E886439C075F5CE8A-->  <NAME><![CDATA[WS Rejected Maximum]]></NAME>
+<!--75383B2897FE493E886439C075F5CE8A-->  <DESCRIPTION><![CDATA[Maximum number of Web Service rejected calls per day in last 30 days]]></DESCRIPTION>
+<!--75383B2897FE493E886439C075F5CE8A-->  <HELP><![CDATA[Maximum number of Web Service rejected calls per day in last 30 days]]></HELP>
+<!--75383B2897FE493E886439C075F5CE8A-->  <COLUMNNAME><![CDATA[WS_Rejected_Max]]></COLUMNNAME>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--75383B2897FE493E886439C075F5CE8A-->  <SEQNO><![CDATA[550]]></SEQNO>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_ELEMENT_ID><![CDATA[4E560259B6C343B0829FF89505742057]]></AD_ELEMENT_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--75383B2897FE493E886439C075F5CE8A-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--75383B2897FE493E886439C075F5CE8A-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--75383B2897FE493E886439C075F5CE8A-->  <POSITION><![CDATA[55]]></POSITION>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--75383B2897FE493E886439C075F5CE8A-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--75383B2897FE493E886439C075F5CE8A-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--75383B2897FE493E886439C075F5CE8A-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--75383B2897FE493E886439C075F5CE8A--></AD_COLUMN>
+
 <!--7555569CC84A010FE040007F01010B4D--><AD_COLUMN>
 <!--7555569CC84A010FE040007F01010B4D-->  <AD_COLUMN_ID><![CDATA[7555569CC84A010FE040007F01010B4D]]></AD_COLUMN_ID>
 <!--7555569CC84A010FE040007F01010B4D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -257938,6 +258040,40 @@
 <!--856F36F847D1FC23E040007F0101352B-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--856F36F847D1FC23E040007F0101352B--></AD_COLUMN>
 
+<!--858BF5EDF0D34353939952BFFA618F1F--><AD_COLUMN>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_COLUMN_ID><![CDATA[858BF5EDF0D34353939952BFFA618F1F]]></AD_COLUMN_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <NAME><![CDATA[WS Calls Maximum]]></NAME>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <DESCRIPTION><![CDATA[Maximum number of Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <HELP><![CDATA[Maximum number of Web Service calls per day in last 30 days]]></HELP>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <COLUMNNAME><![CDATA[WS_Calls_Max]]></COLUMNNAME>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <SEQNO><![CDATA[500]]></SEQNO>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_ELEMENT_ID><![CDATA[A10B424632684CE9B54DC67DE1FE5BB9]]></AD_ELEMENT_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <POSITION><![CDATA[50]]></POSITION>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--858BF5EDF0D34353939952BFFA618F1F-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--858BF5EDF0D34353939952BFFA618F1F--></AD_COLUMN>
+
 <!--8663B5DBC044440AA8D5C6BEDA8A381D--><AD_COLUMN>
 <!--8663B5DBC044440AA8D5C6BEDA8A381D-->  <AD_COLUMN_ID><![CDATA[8663B5DBC044440AA8D5C6BEDA8A381D]]></AD_COLUMN_ID>
 <!--8663B5DBC044440AA8D5C6BEDA8A381D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -264399,6 +264535,40 @@
 <!--9252E75FDFFB4B91A53007F090FC5F0C-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--9252E75FDFFB4B91A53007F090FC5F0C--></AD_COLUMN>
 
+<!--926DB31AD14D4A49BE77D6A3E6105987--><AD_COLUMN>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_COLUMN_ID><![CDATA[926DB31AD14D4A49BE77D6A3E6105987]]></AD_COLUMN_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <NAME><![CDATA[WS Rejected Average]]></NAME>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <DESCRIPTION><![CDATA[Average number of  rejected Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <HELP><![CDATA[Average number of  rejected Web Service calls per day in last 30 days]]></HELP>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <COLUMNNAME><![CDATA[WS_Rejected_Avg]]></COLUMNNAME>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_REFERENCE_ID><![CDATA[22]]></AD_REFERENCE_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <SEQNO><![CDATA[560]]></SEQNO>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_ELEMENT_ID><![CDATA[05C19A393B104A858FCB3E1C3B731617]]></AD_ELEMENT_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <POSITION><![CDATA[56]]></POSITION>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--926DB31AD14D4A49BE77D6A3E6105987-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--926DB31AD14D4A49BE77D6A3E6105987--></AD_COLUMN>
+
 <!--92708DB9C36F42C39034BEAA7BC0F1F3--><AD_COLUMN>
 <!--92708DB9C36F42C39034BEAA7BC0F1F3-->  <AD_COLUMN_ID><![CDATA[92708DB9C36F42C39034BEAA7BC0F1F3]]></AD_COLUMN_ID>
 <!--92708DB9C36F42C39034BEAA7BC0F1F3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -274740,6 +274910,42 @@
 <!--D7C467006B854102AE1E3D1450AFE7B8-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--D7C467006B854102AE1E3D1450AFE7B8--></AD_COLUMN>
 
+<!--D831E6C12F934F4AB7B792CCD50D0745--><AD_COLUMN>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_COLUMN_ID><![CDATA[D831E6C12F934F4AB7B792CCD50D0745]]></AD_COLUMN_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <NAME><![CDATA[Posted]]></NAME>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <DESCRIPTION><![CDATA[An accounting status button that indicates if the transaction has already been posted to the general ledger or not.]]></DESCRIPTION>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <HELP><![CDATA[An accounting status button that indicates if the transaction has already been posted to the general ledger or not. When doing the accounting manually this button can be used to post or unpost the transaction from the general ledger by hand.]]></HELP>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <COLUMNNAME><![CDATA[Posted]]></COLUMNNAME>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_TABLE_ID><![CDATA[486]]></AD_TABLE_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_REFERENCE_ID><![CDATA[28]]></AD_REFERENCE_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_REFERENCE_VALUE_ID><![CDATA[234]]></AD_REFERENCE_VALUE_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <FIELDLENGTH><![CDATA[60]]></FIELDLENGTH>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <SEQNO><![CDATA[33]]></SEQNO>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_ELEMENT_ID><![CDATA[1308]]></AD_ELEMENT_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <POSITION><![CDATA[17]]></POSITION>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--D831E6C12F934F4AB7B792CCD50D0745-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--D831E6C12F934F4AB7B792CCD50D0745--></AD_COLUMN>
+
 <!--D8C00B0F9EC14D17AEE6EB72D9E871E1--><AD_COLUMN>
 <!--D8C00B0F9EC14D17AEE6EB72D9E871E1-->  <AD_COLUMN_ID><![CDATA[D8C00B0F9EC14D17AEE6EB72D9E871E1]]></AD_COLUMN_ID>
 <!--D8C00B0F9EC14D17AEE6EB72D9E871E1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -276459,6 +276665,40 @@
 <!--F298A824BEAB4A2EAC14C68E770940DA-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
 <!--F298A824BEAB4A2EAC14C68E770940DA--></AD_COLUMN>
 
+<!--F2D8CC6141A94EEA8454C2EAF001130D--><AD_COLUMN>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_COLUMN_ID><![CDATA[F2D8CC6141A94EEA8454C2EAF001130D]]></AD_COLUMN_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <NAME><![CDATA[Connector Calls Average]]></NAME>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <DESCRIPTION><![CDATA[Average number of Connector calls per day in last 30 days]]></DESCRIPTION>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <HELP><![CDATA[Average number of Connector calls per day in last 30 days]]></HELP>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <COLUMNNAME><![CDATA[WSC_Calls_Avg]]></COLUMNNAME>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_REFERENCE_ID><![CDATA[22]]></AD_REFERENCE_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <SEQNO><![CDATA[540]]></SEQNO>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_ELEMENT_ID><![CDATA[227C67C05861481E803697C2153404AA]]></AD_ELEMENT_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <POSITION><![CDATA[54]]></POSITION>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--F2D8CC6141A94EEA8454C2EAF001130D-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--F2D8CC6141A94EEA8454C2EAF001130D--></AD_COLUMN>
+
 <!--F3790639C5AE4E85B4B4DCADCF35B8CB--><AD_COLUMN>
 <!--F3790639C5AE4E85B4B4DCADCF35B8CB-->  <AD_COLUMN_ID><![CDATA[F3790639C5AE4E85B4B4DCADCF35B8CB]]></AD_COLUMN_ID>
 <!--F3790639C5AE4E85B4B4DCADCF35B8CB-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/src-db/database/sourcedata/AD_ELEMENT.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -20638,6 +20638,20 @@
 <!--035BE38188FC44538E3DDDA769800CFB-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--035BE38188FC44538E3DDDA769800CFB--></AD_ELEMENT>
 
+<!--05C19A393B104A858FCB3E1C3B731617--><AD_ELEMENT>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <AD_ELEMENT_ID><![CDATA[05C19A393B104A858FCB3E1C3B731617]]></AD_ELEMENT_ID>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <COLUMNNAME><![CDATA[WS_Rejected_Avg]]></COLUMNNAME>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <NAME><![CDATA[WS Rejected Average]]></NAME>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <PRINTNAME><![CDATA[WS Rejected Average]]></PRINTNAME>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <DESCRIPTION><![CDATA[Average number of  rejected Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <HELP><![CDATA[Average number of  rejected Web Service calls per day in last 30 days]]></HELP>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--05C19A393B104A858FCB3E1C3B731617-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--05C19A393B104A858FCB3E1C3B731617--></AD_ELEMENT>
+
 <!--075BF3C1A80D41868E0362185F309415--><AD_ELEMENT>
 <!--075BF3C1A80D41868E0362185F309415-->  <AD_ELEMENT_ID><![CDATA[075BF3C1A80D41868E0362185F309415]]></AD_ELEMENT_ID>
 <!--075BF3C1A80D41868E0362185F309415-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -20929,6 +20943,20 @@
 <!--204EED0BC11646F083B7E226CA5E5667-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--204EED0BC11646F083B7E226CA5E5667--></AD_ELEMENT>
 
+<!--227C67C05861481E803697C2153404AA--><AD_ELEMENT>
+<!--227C67C05861481E803697C2153404AA-->  <AD_ELEMENT_ID><![CDATA[227C67C05861481E803697C2153404AA]]></AD_ELEMENT_ID>
+<!--227C67C05861481E803697C2153404AA-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--227C67C05861481E803697C2153404AA-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--227C67C05861481E803697C2153404AA-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--227C67C05861481E803697C2153404AA-->  <COLUMNNAME><![CDATA[WSC_Calls_Avg]]></COLUMNNAME>
+<!--227C67C05861481E803697C2153404AA-->  <NAME><![CDATA[Connector Calls Average]]></NAME>
+<!--227C67C05861481E803697C2153404AA-->  <PRINTNAME><![CDATA[Connector Calls Average]]></PRINTNAME>
+<!--227C67C05861481E803697C2153404AA-->  <DESCRIPTION><![CDATA[Average number of Connector calls per day in last 30 days]]></DESCRIPTION>
+<!--227C67C05861481E803697C2153404AA-->  <HELP><![CDATA[Average number of Connector calls per day in last 30 days]]></HELP>
+<!--227C67C05861481E803697C2153404AA-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--227C67C05861481E803697C2153404AA-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--227C67C05861481E803697C2153404AA--></AD_ELEMENT>
+
 <!--22A76EB58F264A7BA616198175C3E4C5--><AD_ELEMENT>
 <!--22A76EB58F264A7BA616198175C3E4C5-->  <AD_ELEMENT_ID><![CDATA[22A76EB58F264A7BA616198175C3E4C5]]></AD_ELEMENT_ID>
 <!--22A76EB58F264A7BA616198175C3E4C5-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -21100,6 +21128,20 @@
 <!--361ED16139BD40CBA4DB049380EE1641-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--361ED16139BD40CBA4DB049380EE1641--></AD_ELEMENT>
 
+<!--38148AAF2D384F08B493B5484EFFA6E3--><AD_ELEMENT>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <AD_ELEMENT_ID><![CDATA[38148AAF2D384F08B493B5484EFFA6E3]]></AD_ELEMENT_ID>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <COLUMNNAME><![CDATA[WS_Calls_Avg]]></COLUMNNAME>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <NAME><![CDATA[WS Calls Average]]></NAME>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <PRINTNAME><![CDATA[WS Calls Average]]></PRINTNAME>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <DESCRIPTION><![CDATA[Average number of Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <HELP><![CDATA[Average number of Web Service calls per day in last 30 days]]></HELP>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--38148AAF2D384F08B493B5484EFFA6E3-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--38148AAF2D384F08B493B5484EFFA6E3--></AD_ELEMENT>
+
 <!--39E6CD7BC5154B2783BB43A59C13C9D1--><AD_ELEMENT>
 <!--39E6CD7BC5154B2783BB43A59C13C9D1-->  <AD_ELEMENT_ID><![CDATA[39E6CD7BC5154B2783BB43A59C13C9D1]]></AD_ELEMENT_ID>
 <!--39E6CD7BC5154B2783BB43A59C13C9D1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -21560,6 +21602,20 @@
 <!--4C86EEDF992E4136B9870F6042A3330F-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--4C86EEDF992E4136B9870F6042A3330F--></AD_ELEMENT>
 
+<!--4E560259B6C343B0829FF89505742057--><AD_ELEMENT>
+<!--4E560259B6C343B0829FF89505742057-->  <AD_ELEMENT_ID><![CDATA[4E560259B6C343B0829FF89505742057]]></AD_ELEMENT_ID>
+<!--4E560259B6C343B0829FF89505742057-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4E560259B6C343B0829FF89505742057-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4E560259B6C343B0829FF89505742057-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4E560259B6C343B0829FF89505742057-->  <COLUMNNAME><![CDATA[WS_Rejected_Max]]></COLUMNNAME>
+<!--4E560259B6C343B0829FF89505742057-->  <NAME><![CDATA[WS Rejected Maximum]]></NAME>
+<!--4E560259B6C343B0829FF89505742057-->  <PRINTNAME><![CDATA[WS Rejected Maximum]]></PRINTNAME>
+<!--4E560259B6C343B0829FF89505742057-->  <DESCRIPTION><![CDATA[Maximum number of Web Service rejected calls per day in last 30 days]]></DESCRIPTION>
+<!--4E560259B6C343B0829FF89505742057-->  <HELP><![CDATA[Maximum number of Web Service rejected calls per day in last 30 days]]></HELP>
+<!--4E560259B6C343B0829FF89505742057-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--4E560259B6C343B0829FF89505742057-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--4E560259B6C343B0829FF89505742057--></AD_ELEMENT>
+
 <!--4E7F89ADF12B48DBB1B2F965550410DD--><AD_ELEMENT>
 <!--4E7F89ADF12B48DBB1B2F965550410DD-->  <AD_ELEMENT_ID><![CDATA[4E7F89ADF12B48DBB1B2F965550410DD]]></AD_ELEMENT_ID>
 <!--4E7F89ADF12B48DBB1B2F965550410DD-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -27241,6 +27297,20 @@
 <!--A0082483F6A94849A1EB41C049E6E0A5-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--A0082483F6A94849A1EB41C049E6E0A5--></AD_ELEMENT>
 
+<!--A10B424632684CE9B54DC67DE1FE5BB9--><AD_ELEMENT>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <AD_ELEMENT_ID><![CDATA[A10B424632684CE9B54DC67DE1FE5BB9]]></AD_ELEMENT_ID>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <COLUMNNAME><![CDATA[WS_Calls_Max]]></COLUMNNAME>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <NAME><![CDATA[WS Calls Maximum]]></NAME>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <PRINTNAME><![CDATA[WS Calls Maximum]]></PRINTNAME>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <DESCRIPTION><![CDATA[Maximum number of Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <HELP><![CDATA[Maximum number of Web Service calls per day in last 30 days]]></HELP>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--A10B424632684CE9B54DC67DE1FE5BB9-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--A10B424632684CE9B54DC67DE1FE5BB9--></AD_ELEMENT>
+
 <!--A39CA291EA03AA9EE040007F010009B3--><AD_ELEMENT>
 <!--A39CA291EA03AA9EE040007F010009B3-->  <AD_ELEMENT_ID><![CDATA[A39CA291EA03AA9EE040007F010009B3]]></AD_ELEMENT_ID>
 <!--A39CA291EA03AA9EE040007F010009B3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -27950,6 +28020,20 @@
 <!--D53F04776DA948AAA14F7CDCB38795D2-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--D53F04776DA948AAA14F7CDCB38795D2--></AD_ELEMENT>
 
+<!--D66DAAD6524140849CFCF28CE8FC8290--><AD_ELEMENT>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <AD_ELEMENT_ID><![CDATA[D66DAAD6524140849CFCF28CE8FC8290]]></AD_ELEMENT_ID>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <COLUMNNAME><![CDATA[WSC_Calls_Max]]></COLUMNNAME>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <NAME><![CDATA[Connector Calls Max]]></NAME>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <PRINTNAME><![CDATA[Connector Calls Max]]></PRINTNAME>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <DESCRIPTION><![CDATA[Maximum number of Connector calls per day in last 30 days]]></DESCRIPTION>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <HELP><![CDATA[Maximum number of Connector calls per day in last 30 days]]></HELP>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--D66DAAD6524140849CFCF28CE8FC8290-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--D66DAAD6524140849CFCF28CE8FC8290--></AD_ELEMENT>
+
 <!--D6B8F4BF589745C2BFC0E41C36E47FDF--><AD_ELEMENT>
 <!--D6B8F4BF589745C2BFC0E41C36E47FDF-->  <AD_ELEMENT_ID><![CDATA[D6B8F4BF589745C2BFC0E41C36E47FDF]]></AD_ELEMENT_ID>
 <!--D6B8F4BF589745C2BFC0E41C36E47FDF-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/src-db/database/sourcedata/AD_FIELD.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_FIELD.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -163979,6 +163979,33 @@
 <!--11DCB1BB7D204C46BAA2CCF66A0018EC-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--11DCB1BB7D204C46BAA2CCF66A0018EC--></AD_FIELD>
 
+<!--122B819C6AC34B15B7F0AE5DA781279F--><AD_FIELD>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <AD_FIELD_ID><![CDATA[122B819C6AC34B15B7F0AE5DA781279F]]></AD_FIELD_ID>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <NAME><![CDATA[Connector Calls Average]]></NAME>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <DESCRIPTION><![CDATA[Average number of Connector calls per day in last 30 days]]></DESCRIPTION>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <HELP><![CDATA[Average number of Connector calls per day in last 30 days]]></HELP>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <AD_COLUMN_ID><![CDATA[F2D8CC6141A94EEA8454C2EAF001130D]]></AD_COLUMN_ID>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <SEQNO><![CDATA[440]]></SEQNO>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <GRID_SEQNO><![CDATA[440]]></GRID_SEQNO>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--122B819C6AC34B15B7F0AE5DA781279F-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--122B819C6AC34B15B7F0AE5DA781279F--></AD_FIELD>
+
 <!--122F0AAD1AC44F85A979B9CF64C77F64--><AD_FIELD>
 <!--122F0AAD1AC44F85A979B9CF64C77F64-->  <AD_FIELD_ID><![CDATA[122F0AAD1AC44F85A979B9CF64C77F64]]></AD_FIELD_ID>
 <!--122F0AAD1AC44F85A979B9CF64C77F64-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -172009,6 +172036,33 @@
 <!--532FD4B7469C45BBB47F46CCBA15E450-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--532FD4B7469C45BBB47F46CCBA15E450--></AD_FIELD>
 
+<!--5364EFCD00C549E89F69277501B07C6C--><AD_FIELD>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <AD_FIELD_ID><![CDATA[5364EFCD00C549E89F69277501B07C6C]]></AD_FIELD_ID>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <NAME><![CDATA[WS Rejected Average]]></NAME>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <DESCRIPTION><![CDATA[Average number of  rejected Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <HELP><![CDATA[Average number of  rejected Web Service calls per day in last 30 days]]></HELP>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <AD_COLUMN_ID><![CDATA[926DB31AD14D4A49BE77D6A3E6105987]]></AD_COLUMN_ID>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <SEQNO><![CDATA[460]]></SEQNO>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <GRID_SEQNO><![CDATA[460]]></GRID_SEQNO>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--5364EFCD00C549E89F69277501B07C6C-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--5364EFCD00C549E89F69277501B07C6C--></AD_FIELD>
+
 <!--537C71BB04004A20916787D665752EC7--><AD_FIELD>
 <!--537C71BB04004A20916787D665752EC7-->  <AD_FIELD_ID><![CDATA[537C71BB04004A20916787D665752EC7]]></AD_FIELD_ID>
 <!--537C71BB04004A20916787D665752EC7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -180467,6 +180521,33 @@
 <!--5F82C468A1B7479DBA6E05A58A72D212-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--5F82C468A1B7479DBA6E05A58A72D212--></AD_FIELD>
 
+<!--5FDA964FC10B4D489003E9214261880F--><AD_FIELD>
+<!--5FDA964FC10B4D489003E9214261880F-->  <AD_FIELD_ID><![CDATA[5FDA964FC10B4D489003E9214261880F]]></AD_FIELD_ID>
+<!--5FDA964FC10B4D489003E9214261880F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--5FDA964FC10B4D489003E9214261880F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--5FDA964FC10B4D489003E9214261880F-->  <NAME><![CDATA[Connector Calls Max]]></NAME>
+<!--5FDA964FC10B4D489003E9214261880F-->  <DESCRIPTION><![CDATA[Maximum number of Connector calls per day in last 30 days]]></DESCRIPTION>
+<!--5FDA964FC10B4D489003E9214261880F-->  <HELP><![CDATA[Maximum number of Connector calls per day in last 30 days]]></HELP>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--5FDA964FC10B4D489003E9214261880F-->  <AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--5FDA964FC10B4D489003E9214261880F-->  <AD_COLUMN_ID><![CDATA[5797D098AFB7437AA54CC596DDC65265]]></AD_COLUMN_ID>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--5FDA964FC10B4D489003E9214261880F-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--5FDA964FC10B4D489003E9214261880F-->  <SEQNO><![CDATA[430]]></SEQNO>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--5FDA964FC10B4D489003E9214261880F-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--5FDA964FC10B4D489003E9214261880F-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--5FDA964FC10B4D489003E9214261880F-->  <GRID_SEQNO><![CDATA[430]]></GRID_SEQNO>
+<!--5FDA964FC10B4D489003E9214261880F-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--5FDA964FC10B4D489003E9214261880F-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--5FDA964FC10B4D489003E9214261880F-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--5FDA964FC10B4D489003E9214261880F--></AD_FIELD>
+
 <!--605B6EB2852573ACE040007F0100282B--><AD_FIELD>
 <!--605B6EB2852573ACE040007F0100282B-->  <AD_FIELD_ID><![CDATA[605B6EB2852573ACE040007F0100282B]]></AD_FIELD_ID>
 <!--605B6EB2852573ACE040007F0100282B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -191871,6 +191952,33 @@
 <!--85DFCF53E3914632ACE913477CB7CE94-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--85DFCF53E3914632ACE913477CB7CE94--></AD_FIELD>
 
+<!--85EADA0A818A49AE8C2E3DEF14758BA5--><AD_FIELD>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <AD_FIELD_ID><![CDATA[85EADA0A818A49AE8C2E3DEF14758BA5]]></AD_FIELD_ID>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <NAME><![CDATA[WS Rejected Maximum]]></NAME>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <DESCRIPTION><![CDATA[Maximum number of Web Service rejected calls per day in last 30 days]]></DESCRIPTION>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <HELP><![CDATA[Maximum number of Web Service rejected calls per day in last 30 days]]></HELP>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <AD_COLUMN_ID><![CDATA[75383B2897FE493E886439C075F5CE8A]]></AD_COLUMN_ID>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <SEQNO><![CDATA[450]]></SEQNO>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <GRID_SEQNO><![CDATA[450]]></GRID_SEQNO>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--85EADA0A818A49AE8C2E3DEF14758BA5--></AD_FIELD>
+
 <!--8618F92B88A545F495411B9ED339E4EA--><AD_FIELD>
 <!--8618F92B88A545F495411B9ED339E4EA-->  <AD_FIELD_ID><![CDATA[8618F92B88A545F495411B9ED339E4EA]]></AD_FIELD_ID>
 <!--8618F92B88A545F495411B9ED339E4EA-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -199274,6 +199382,33 @@
 <!--AA66A55E4B9340D9A67FA5E47560B758-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--AA66A55E4B9340D9A67FA5E47560B758--></AD_FIELD>
 
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9--><AD_FIELD>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <AD_FIELD_ID><![CDATA[AAEB4DCC42B943B8B220D87F7EADC1C9]]></AD_FIELD_ID>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <NAME><![CDATA[WS Calls Maximum]]></NAME>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <DESCRIPTION><![CDATA[Maximum number of Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <HELP><![CDATA[Maximum number of Web Service calls per day in last 30 days]]></HELP>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <AD_COLUMN_ID><![CDATA[858BF5EDF0D34353939952BFFA618F1F]]></AD_COLUMN_ID>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <SEQNO><![CDATA[410]]></SEQNO>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <GRID_SEQNO><![CDATA[410]]></GRID_SEQNO>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--AAEB4DCC42B943B8B220D87F7EADC1C9--></AD_FIELD>
+
 <!--AB11C1ED18E94B08911357E0AB9D69FD--><AD_FIELD>
 <!--AB11C1ED18E94B08911357E0AB9D69FD-->  <AD_FIELD_ID><![CDATA[AB11C1ED18E94B08911357E0AB9D69FD]]></AD_FIELD_ID>
 <!--AB11C1ED18E94B08911357E0AB9D69FD-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -212520,6 +212655,33 @@
 <!--E7A84652321C421BBED957FCB4F3CE92-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--E7A84652321C421BBED957FCB4F3CE92--></AD_FIELD>
 
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E--><AD_FIELD>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <AD_FIELD_ID><![CDATA[E7BACF4345EB4CEC98DC383CAF1B6D7E]]></AD_FIELD_ID>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <NAME><![CDATA[WS Calls Average]]></NAME>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <DESCRIPTION><![CDATA[Average number of Web Service calls per day in last 30 days]]></DESCRIPTION>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <HELP><![CDATA[Average number of Web Service calls per day in last 30 days]]></HELP>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <AD_COLUMN_ID><![CDATA[28FCAF6507574F109D7EBA2027E165DF]]></AD_COLUMN_ID>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <SEQNO><![CDATA[420]]></SEQNO>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <GRID_SEQNO><![CDATA[420]]></GRID_SEQNO>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--E7BACF4345EB4CEC98DC383CAF1B6D7E--></AD_FIELD>
+
 <!--E80DF9D8FEFD414380FFC86B750AEB62--><AD_FIELD>
 <!--E80DF9D8FEFD414380FFC86B750AEB62-->  <AD_FIELD_ID><![CDATA[E80DF9D8FEFD414380FFC86B750AEB62]]></AD_FIELD_ID>
 <!--E80DF9D8FEFD414380FFC86B750AEB62-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/src-db/database/sourcedata/AD_MESSAGE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -15837,6 +15837,19 @@
 <!--3D5F9F837A684FDD95701E2DB9E80EFC-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--3D5F9F837A684FDD95701E2DB9E80EFC--></AD_MESSAGE>
 
+<!--3DEC8135BCE049449BFDF228C9FB8F34--><AD_MESSAGE>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <AD_MESSAGE_ID><![CDATA[3DEC8135BCE049449BFDF228C9FB8F34]]></AD_MESSAGE_ID>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <VALUE><![CDATA[OPS_MAX_WS_CALLS_SOFT_MSG]]></VALUE>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <MSGTEXT><![CDATA[Your system is still processing web services calls. However, in the last 30 days this instance has exceeded the daily limit of web service calls allowed by your subscription for @daysExceeding@ days.
+You should consider increasing your web service subscription allowance.
+Be aware that if the daily limit is exceeded @extraDays@ more times in the @numberOfDays@ next days, the system will stop processing any web service calls after the daily limit is exceeded.]]></MSGTEXT>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <MSGTYPE><![CDATA[W]]></MSGTYPE>
+<!--3DEC8135BCE049449BFDF228C9FB8F34-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--3DEC8135BCE049449BFDF228C9FB8F34--></AD_MESSAGE>
+
 <!--3E1559146DAD47DC95A1ADAEAE36684C--><AD_MESSAGE>
 <!--3E1559146DAD47DC95A1ADAEAE36684C-->  <AD_MESSAGE_ID><![CDATA[3E1559146DAD47DC95A1ADAEAE36684C]]></AD_MESSAGE_ID>
 <!--3E1559146DAD47DC95A1ADAEAE36684C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -18032,6 +18045,17 @@
 <!--A8B0478C875F48B084292E54B8F6B72B-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--A8B0478C875F48B084292E54B8F6B72B--></AD_MESSAGE>
 
+<!--A93D0507BFC54CA9ABEC60029F73E143--><AD_MESSAGE>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <AD_MESSAGE_ID><![CDATA[A93D0507BFC54CA9ABEC60029F73E143]]></AD_MESSAGE_ID>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <VALUE><![CDATA[OPS_MAX_WS_CALLS_TITLE]]></VALUE>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <MSGTEXT><![CDATA[Exceeded maximum Web Service calls]]></MSGTEXT>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <MSGTYPE><![CDATA[W]]></MSGTYPE>
+<!--A93D0507BFC54CA9ABEC60029F73E143-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--A93D0507BFC54CA9ABEC60029F73E143--></AD_MESSAGE>
+
 <!--A96A9CE562E94DBC8D59C2F0208028B0--><AD_MESSAGE>
 <!--A96A9CE562E94DBC8D59C2F0208028B0-->  <AD_MESSAGE_ID><![CDATA[A96A9CE562E94DBC8D59C2F0208028B0]]></AD_MESSAGE_ID>
 <!--A96A9CE562E94DBC8D59C2F0208028B0-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -18143,6 +18167,17 @@
 <!--B077B434599241F6B04A8D01E8302C9C-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--B077B434599241F6B04A8D01E8302C9C--></AD_MESSAGE>
 
+<!--B0976829EBD64E38B342821AABA3ADAB--><AD_MESSAGE>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <AD_MESSAGE_ID><![CDATA[B0976829EBD64E38B342821AABA3ADAB]]></AD_MESSAGE_ID>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <VALUE><![CDATA[OPSWSUnlimited]]></VALUE>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <MSGTEXT><![CDATA[Unlimited]]></MSGTEXT>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--B0976829EBD64E38B342821AABA3ADAB-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--B0976829EBD64E38B342821AABA3ADAB--></AD_MESSAGE>
+
 <!--B0F06A09C43940E4A1479DB87D2B7B7D--><AD_MESSAGE>
 <!--B0F06A09C43940E4A1479DB87D2B7B7D-->  <AD_MESSAGE_ID><![CDATA[B0F06A09C43940E4A1479DB87D2B7B7D]]></AD_MESSAGE_ID>
 <!--B0F06A09C43940E4A1479DB87D2B7B7D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -18927,6 +18962,17 @@
 <!--D4C26BD5396244C4B3CD1731B02C4A0A-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--D4C26BD5396244C4B3CD1731B02C4A0A--></AD_MESSAGE>
 
+<!--D58A82FD33BA4CE98D3059C140B24491--><AD_MESSAGE>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <AD_MESSAGE_ID><![CDATA[D58A82FD33BA4CE98D3059C140B24491]]></AD_MESSAGE_ID>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <VALUE><![CDATA[OPWSLimited]]></VALUE>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <MSGTEXT><![CDATA[Web Service Access limited to @packs@ Pack Units (@unitsPerPack@ calls each unit) ]]></MSGTEXT>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--D58A82FD33BA4CE98D3059C140B24491-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--D58A82FD33BA4CE98D3059C140B24491--></AD_MESSAGE>
+
 <!--D5D4200451F9430E976CECEAB7A248C1--><AD_MESSAGE>
 <!--D5D4200451F9430E976CECEAB7A248C1-->  <AD_MESSAGE_ID><![CDATA[D5D4200451F9430E976CECEAB7A248C1]]></AD_MESSAGE_ID>
 <!--D5D4200451F9430E976CECEAB7A248C1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -19383,6 +19429,17 @@
 <!--ED94DA7D967E401B93DDFFE86C9715A9-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--ED94DA7D967E401B93DDFFE86C9715A9--></AD_MESSAGE>
 
+<!--EE302684C25A4CD89ECEC171E624475F--><AD_MESSAGE>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <AD_MESSAGE_ID><![CDATA[EE302684C25A4CD89ECEC171E624475F]]></AD_MESSAGE_ID>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <VALUE><![CDATA[OPSWSLimitation]]></VALUE>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <MSGTEXT><![CDATA[Web Service Access]]></MSGTEXT>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--EE302684C25A4CD89ECEC171E624475F-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--EE302684C25A4CD89ECEC171E624475F--></AD_MESSAGE>
+
 <!--EE31DD389E3B48E58D1E6E4CA5DA992D--><AD_MESSAGE>
 <!--EE31DD389E3B48E58D1E6E4CA5DA992D-->  <AD_MESSAGE_ID><![CDATA[EE31DD389E3B48E58D1E6E4CA5DA992D]]></AD_MESSAGE_ID>
 <!--EE31DD389E3B48E58D1E6E4CA5DA992D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -19440,6 +19497,18 @@
 <!--EF95449A17A04724B44873FD5EEFD249-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--EF95449A17A04724B44873FD5EEFD249--></AD_MESSAGE>
 
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A--><AD_MESSAGE>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <AD_MESSAGE_ID><![CDATA[F0CCA1CD581C4188BDFFFEF3767AFF7A]]></AD_MESSAGE_ID>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <VALUE><![CDATA[OPS_MAX_WS_CALLS_MSG]]></VALUE>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <MSGTEXT><![CDATA[Your system is not processing any web service calls at the moment.
+In the last 30 days this instance has exceeded the limit of web service calls allowed by your subscription for @daysExceeding@ days. From now till tomorrow at 00:00 the system will not respond to any web service call. You should consider increasing your web service subscription allowance.]]></MSGTEXT>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <MSGTYPE><![CDATA[W]]></MSGTYPE>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--F0CCA1CD581C4188BDFFFEF3767AFF7A--></AD_MESSAGE>
+
 <!--F17014A0E42A487A9D9AEDBA41A87620--><AD_MESSAGE>
 <!--F17014A0E42A487A9D9AEDBA41A87620-->  <AD_MESSAGE_ID><![CDATA[F17014A0E42A487A9D9AEDBA41A87620]]></AD_MESSAGE_ID>
 <!--F17014A0E42A487A9D9AEDBA41A87620-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_MODULE.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -6,7 +6,7 @@
 <!--0-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--0-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--0-->  <NAME><![CDATA[Core]]></NAME>
-<!--0-->  <VERSION><![CDATA[3.0.14860]]></VERSION>
+<!--0-->  <VERSION><![CDATA[3.0.14891]]></VERSION>
 <!--0-->  <DESCRIPTION><![CDATA[Core module is the base one]]></DESCRIPTION>
 <!--0-->  <HELP><![CDATA[Core module is the base one, all developments in core are included as part of the standard Openbravo ERP.]]></HELP>
 <!--0-->  <URL><![CDATA[www.openbravo.com]]></URL>
--- a/src-db/database/sourcedata/AD_REF_LIST.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -8153,7 +8153,7 @@
 <!--1A22A021C5A54D36BC909FFF02CBB00F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--1A22A021C5A54D36BC909FFF02CBB00F-->  <VALUE><![CDATA[WS]]></VALUE>
 <!--1A22A021C5A54D36BC909FFF02CBB00F-->  <NAME><![CDATA[Web Service]]></NAME>
-<!--1A22A021C5A54D36BC909FFF02CBB00F-->  <DESCRIPTION><![CDATA[Web Service Login]]></DESCRIPTION>
+<!--1A22A021C5A54D36BC909FFF02CBB00F-->  <DESCRIPTION><![CDATA[Web Service Call]]></DESCRIPTION>
 <!--1A22A021C5A54D36BC909FFF02CBB00F-->  <AD_REFERENCE_ID><![CDATA[86086D70DDBC42B09E2BEB51D25C159F]]></AD_REFERENCE_ID>
 <!--1A22A021C5A54D36BC909FFF02CBB00F-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--1A22A021C5A54D36BC909FFF02CBB00F--></AD_REF_LIST>
@@ -9477,6 +9477,18 @@
 <!--99883224065C4C1886DFE11E14B16952-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--99883224065C4C1886DFE11E14B16952--></AD_REF_LIST>
 
+<!--9A689DF384A545CC8AA70882A486B7AE--><AD_REF_LIST>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <AD_REF_LIST_ID><![CDATA[9A689DF384A545CC8AA70882A486B7AE]]></AD_REF_LIST_ID>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <VALUE><![CDATA[WSC]]></VALUE>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <NAME><![CDATA[Connector]]></NAME>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <DESCRIPTION><![CDATA[Connector Call]]></DESCRIPTION>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <AD_REFERENCE_ID><![CDATA[86086D70DDBC42B09E2BEB51D25C159F]]></AD_REFERENCE_ID>
+<!--9A689DF384A545CC8AA70882A486B7AE-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9A689DF384A545CC8AA70882A486B7AE--></AD_REF_LIST>
+
 <!--9B378327FCD1463D89E94D7475788537--><AD_REF_LIST>
 <!--9B378327FCD1463D89E94D7475788537-->  <AD_REF_LIST_ID><![CDATA[9B378327FCD1463D89E94D7475788537]]></AD_REF_LIST_ID>
 <!--9B378327FCD1463D89E94D7475788537-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -10020,6 +10032,18 @@
 <!--C7E99384391742428C7759BF9197A948-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--C7E99384391742428C7759BF9197A948--></AD_REF_LIST>
 
+<!--CA41A540A25C4218A7FCD71F243EED7C--><AD_REF_LIST>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <AD_REF_LIST_ID><![CDATA[CA41A540A25C4218A7FCD71F243EED7C]]></AD_REF_LIST_ID>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <VALUE><![CDATA[WSR]]></VALUE>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <NAME><![CDATA[Web Service Rejected]]></NAME>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <DESCRIPTION><![CDATA[Web Service Rejected]]></DESCRIPTION>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <AD_REFERENCE_ID><![CDATA[86086D70DDBC42B09E2BEB51D25C159F]]></AD_REFERENCE_ID>
+<!--CA41A540A25C4218A7FCD71F243EED7C-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--CA41A540A25C4218A7FCD71F243EED7C--></AD_REF_LIST>
+
 <!--CC7E34B34FB54A68BB2E7996DE3FBDF2--><AD_REF_LIST>
 <!--CC7E34B34FB54A68BB2E7996DE3FBDF2-->  <AD_REF_LIST_ID><![CDATA[CC7E34B34FB54A68BB2E7996DE3FBDF2]]></AD_REF_LIST_ID>
 <!--CC7E34B34FB54A68BB2E7996DE3FBDF2-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/src-db/database/sourcedata/AD_TEXTINTERFACES.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-db/database/sourcedata/AD_TEXTINTERFACES.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -19773,6 +19773,17 @@
 <!--BBF8472FF8784BFEBE792346154E0455-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--BBF8472FF8784BFEBE792346154E0455--></AD_TEXTINTERFACES>
 
+<!--BFB26FEF2745470C8456D5A1434DC1D3--><AD_TEXTINTERFACES>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <AD_TEXTINTERFACES_ID><![CDATA[BFB26FEF2745470C8456D5A1434DC1D3]]></AD_TEXTINTERFACES_ID>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <TEXT><![CDATA[Web Service Access:]]></TEXT>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <FILENAME><![CDATA[/org/openbravo/erpCommon/ad_forms/About.html]]></FILENAME>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--BFB26FEF2745470C8456D5A1434DC1D3-->  <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--BFB26FEF2745470C8456D5A1434DC1D3--></AD_TEXTINTERFACES>
+
 <!--C25EA66C5D9841209AE6AB7F11AE2F27--><AD_TEXTINTERFACES>
 <!--C25EA66C5D9841209AE6AB7F11AE2F27-->  <AD_TEXTINTERFACES_ID><![CDATA[C25EA66C5D9841209AE6AB7F11AE2F27]]></AD_TEXTINTERFACES_ID>
 <!--C25EA66C5D9841209AE6AB7F11AE2F27-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/src-test/org/openbravo/test/webservice/BaseWSTest.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-test/org/openbravo/test/webservice/BaseWSTest.java	Wed Dec 21 13:14:28 2011 +0100
@@ -58,7 +58,7 @@
 
   private static final Logger log = Logger.getLogger(BaseWSTest.class);
 
-  private static final String OB_URL = "http://localhost:8080/openbravo";
+  private static final String OB_URL = "http://localhost:8081/openbravo";
   private static final String LOGIN = "Openbravo";
   private static final String PWD = "openbravo";
 
--- a/src-test/org/openbravo/test/webservice/WSReadTest.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src-test/org/openbravo/test/webservice/WSReadTest.java	Wed Dec 21 13:14:28 2011 +0100
@@ -21,8 +21,6 @@
 
 import java.net.URLEncoder;
 
-import org.openbravo.base.model.Entity;
-import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.service.OBQuery;
 import org.openbravo.model.ad.datamodel.Column;
@@ -114,13 +112,12 @@
    * Calls the webservice for every readable {@link Entity} in the system. The test can take some
    * time to run (about 5 minutes).
    */
-  public void testAllToXML() {
-    // do not replace this with a call to setUserContext,
-    OBContext.setOBContext("100");
-    for (Entity entity : OBContext.getOBContext().getEntityAccessChecker().getReadableEntities()) {
-      doTestGetRequest("/ws/dal/" + entity.getName() + "?includeChildren=false", "<ob:Openbravo",
-          200);
-    }
-  }
+  /*
+   * public void testAllToXML() { // do not replace this with a call to setUserContext,
+   * OBContext.setOBContext("100"); for (Entity entity :
+   * OBContext.getOBContext().getEntityAccessChecker().getReadableEntities()) {
+   * doTestGetRequest("/ws/dal/" + entity.getName() + "?includeChildren=false", "<ob:Openbravo",
+   * 200); } }
+   */
 
 }
\ No newline at end of file
--- a/src/index.jsp	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/index.jsp	Wed Dec 21 13:14:28 2011 +0100
@@ -2,7 +2,6 @@
 <%@ page import="org.openbravo.base.HttpBaseServlet" %>
 <%@ page import="org.openbravo.dal.core.OBContext"%>
 <%@ page import="org.openbravo.base.util.OBClassLoader" %>
-<%@ page import="org.openbravo.base.session.OBPropertiesProvider" %>
 <%@ page import="org.openbravo.authentication.AuthenticationManager" %>
 <%@ page import="org.apache.log4j.Logger" %>
 <%@ page contentType="text/html; charset=UTF-8" %>
@@ -27,25 +26,13 @@
  */
 
 Logger log = Logger.getLogger(org.openbravo.authentication.AuthenticationManager.class); 
-Properties obProperties = OBPropertiesProvider.getInstance().getOpenbravoProperties();
-String authClass = obProperties.getProperty("authentication.class");
-
-if(authClass == null || authClass.equals("")) {
-  authClass = "org.openbravo.authentication.basic.DefaultAuthenticationManager";
-}
-
-AuthenticationManager authManager = null;
-try {
-  authManager = (AuthenticationManager) OBClassLoader.getInstance().loadClass(authClass).newInstance();
-} catch (ClassNotFoundException cnfe) {
-  log.error("Defined authentication manager cannot be loaded. Verify the 'authentication.class' entry in Openbravo.properties");
-  authManager = new org.openbravo.authentication.basic.DefaultAuthenticationManager();
-}
 
 HttpBaseServlet s = new HttpBaseServlet(); // required for ConnectionProvider
 s.init(getServletConfig());
 s.initialize(request, response);
 
+AuthenticationManager authManager = AuthenticationManager.getAuthenticationManager(s);
+    
 authManager.init(s);
 
 String userId = authManager.authenticate(request, response);
--- a/src/org/openbravo/authentication/AuthenticationManager.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/authentication/AuthenticationManager.java	Wed Dec 21 13:14:28 2011 +0100
@@ -20,12 +20,26 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
 import org.openbravo.authentication.basic.DefaultAuthenticationManager;
 import org.openbravo.base.HttpBaseUtils;
 import org.openbravo.base.VariablesBase;
+import org.openbravo.base.exception.OBException;
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
+import org.openbravo.base.secureApp.LoginUtils;
+import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.base.session.OBPropertiesProvider;
+import org.openbravo.base.util.OBClassLoader;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.service.OBDal;
 import org.openbravo.database.ConnectionProvider;
+import org.openbravo.erpCommon.obps.ActivationKey;
+import org.openbravo.erpCommon.security.SessionLogin;
+import org.openbravo.model.ad.access.Session;
 import org.openbravo.service.db.DalConnectionProvider;
+import org.openbravo.service.web.BaseWebServiceServlet;
 
 /**
  * 
@@ -34,9 +48,43 @@
  */
 public abstract class AuthenticationManager {
 
+  private static final Logger log4j = Logger.getLogger(AuthenticationManager.class);
+  private static final String DEFAULT_AUTH_CLASS = "org.openbravo.authentication.basic.DefaultAuthenticationManager";
+
+  private static final String SUCCESS_SESSION_STANDARD = "S";
+  private static final String SUCCESS_SESSION_WEB_SERVICE = "WS";
+  private static final String REJECTED_SESSION_WEB_SERVICE = "WSR";
+  private static final String SUCCESS_SESSION_CONNECTOR = "WSC";
+  private static final String FAILED_SESSION = "F";
+
   protected ConnectionProvider conn = null;
   protected String defaultServletUrl = null;
   protected String localAdress = null;
+  protected String username = "";
+
+  /**
+   * Returns an instance of AuthenticationManager subclass, based on the authentication.class
+   * property in Openbravo.properties
+   */
+  public final static AuthenticationManager getAuthenticationManager(HttpServlet s) {
+    AuthenticationManager authManager;
+    String authClass = OBPropertiesProvider.getInstance().getOpenbravoProperties()
+        .getProperty("authentication.class", DEFAULT_AUTH_CLASS);
+    if (authClass == null || authClass.equals("")) {
+      // If not defined, load default
+      authClass = "org.openbravo.authentication.basic.DefaultAuthenticationManager";
+    }
+    try {
+      authManager = (AuthenticationManager) OBClassLoader.getInstance().loadClass(authClass)
+          .newInstance();
+      authManager.init(s);
+    } catch (Exception e) {
+      log4j
+          .error("Defined authentication manager cannot be loaded. Verify the 'authentication.class' entry in Openbravo.properties");
+      authManager = new DefaultAuthenticationManager(s);
+    }
+    return authManager;
+  }
 
   public AuthenticationManager() {
   }
@@ -91,6 +139,11 @@
 
     final String userId = doAuthenticate(request, response);
 
+    final VariablesSecureApp vars = new VariablesSecureApp(request, false);
+    if (StringUtils.isEmpty(vars.getSessionValue("#AD_SESSION_ID"))) {
+      setDBSession(request, userId, SUCCESS_SESSION_STANDARD, true);
+    }
+
     if (userId == null && !response.isCommitted()) {
       response.sendRedirect(localAdress + defaultServletUrl);
       return null;
@@ -100,6 +153,130 @@
   }
 
   /**
+   * Authentication for web services and external services. All authenticated requests not using the
+   * standard UI *MUST* use this authentication or
+   * {@link AuthenticationManager#webServiceAuthenticate(String, String)}.
+   * 
+   * @param request
+   *          HTTP request object to handle parameters and session attributes
+   * @return the value of AD_User_ID if the user is already authenticated or <b>null</b> if not
+   * @throws AuthenticationException
+   *           in case of an authentication error different than incorrect user/password (which just
+   *           returns null)
+   */
+  public final String webServiceAuthenticate(HttpServletRequest request)
+      throws AuthenticationException {
+    final String userId = doWebServiceAuthenticate(request);
+
+    final String dbSessionId = setDBSession(request, userId, SUCCESS_SESSION_WEB_SERVICE, false);
+
+    return webServicePostAuthenticate(userId, dbSessionId);
+  }
+
+  /**
+   * Authentication for web services and external services. All authenticated requests not using the
+   * standard UI *MUST* use this authentication or
+   * {@link AuthenticationManager#webServiceAuthenticate(HttpServletRequest)}. This one is intended
+   * for authentications for non standard REST web services (such as SOAP).
+   * 
+   * @param user
+   *          User name to authenticate
+   * @param password
+   *          Password to validate user
+   * @return the value of AD_User_ID if the user is already authenticated or <b>null</b> if not
+   * @throws AuthenticationExceptionin
+   *           case of an authentication error different than incorrect user/password (which just
+   *           returns null)
+   */
+  public final String webServiceAuthenticate(String user, String password)
+      throws AuthenticationException {
+    username = user;
+    final String userId = doWebServiceAuthenticate(user, password);
+    final String dbSessionId = setDBSession(null, userId, SUCCESS_SESSION_WEB_SERVICE, false);
+    return webServicePostAuthenticate(userId, dbSessionId);
+  }
+
+  private String webServicePostAuthenticate(String userId, String dbSessionId)
+      throws AuthenticationException {
+    if (userId == null) {
+      return null;
+    }
+
+    switch (ActivationKey.getInstance(true).checkNewWSCall(true)) {
+    case NO_RESTRICTION:
+      return userId;
+    case EXCEEDED_WARN_WS_CALLS:
+      log4j.warn("Number of webservice calls exceeded today.");
+      return userId;
+    case EXCEEDED_MAX_WS_CALLS:
+      updateDBSession(dbSessionId, false, REJECTED_SESSION_WEB_SERVICE);
+      log4j.warn("Cannot use WS, exceeded number of calls");
+      throw new AuthenticationException("Exceeded maximum number of allowed calls to web services.");
+    case EXPIRED:
+      updateDBSession(dbSessionId, false, REJECTED_SESSION_WEB_SERVICE);
+      log4j.warn("Cannot use WS, license expired");
+      throw new AuthenticationException("Exceeded maximum number of allowed calls to web services.");
+    }
+
+    return null;
+  }
+
+  /**
+   * Authentication for approved connectors. Only authorized connectors are allowed to use this
+   * authentication.
+   * 
+   * @param request
+   *          HTTP request object to handle parameters and session attributes
+   * @return the value of AD_User_ID if the user is already authenticated or <b>null</b> if not
+   * @throws AuthenticationException
+   *           in case of an authentication error different than incorrect user/password (which just
+   *           returns null)
+   */
+  public final String connectorAuthenticate(HttpServletRequest request)
+      throws AuthenticationException {
+    final String userId = doWebServiceAuthenticate(request);
+
+    setDBSession(request, userId, SUCCESS_SESSION_CONNECTOR, false);
+
+    return userId;
+  }
+
+  /**
+   * Authentication for approved connectors. Only authorized connectors are allowed to use this
+   * authentication.
+   * 
+   * @param user
+   *          User name to authenticate
+   * @param password
+   *          Password to validate user
+   * @return the value of AD_User_ID if the user is already authenticated or <b>null</b> if not
+   * @throws AuthenticationExceptionin
+   *           case of an authentication error different than incorrect user/password (which just
+   *           returns null)
+   */
+  public final String connectorAuthenticate(String user, String password)
+      throws AuthenticationException {
+    final String userId = doWebServiceAuthenticate(user, password);
+
+    setDBSession(null, userId, SUCCESS_SESSION_CONNECTOR, false);
+
+    return userId;
+  }
+
+  private String setDBSession(HttpServletRequest request, String userId, String successSessionType,
+      boolean setSession) {
+    final VariablesSecureApp vars = new VariablesSecureApp(request, false);
+    String dbSessionId = vars.getSessionValue("#AD_SESSION_ID");
+    if (StringUtils.isEmpty(dbSessionId)) {
+      dbSessionId = createDBSession(request, username, userId, successSessionType);
+      if (setSession) {
+        vars.setSessionValue("#AD_SESSION_ID", dbSessionId);
+      }
+    }
+    return dbSessionId;
+  }
+
+  /**
    * Clears all session attributes and calls the <b>doLogout</b> method
    */
   public final void logout(HttpServletRequest request, HttpServletResponse response)
@@ -131,6 +308,38 @@
       throws AuthenticationException, ServletException, IOException;
 
   /**
+   * Authentication used by web services and connectors. This authentication can be overriden by
+   * subclasses. By default it looks for user and password parameters in the request, if they are
+   * not present, Basic authentication is performed
+   * 
+   * @param request
+   *          HTTP request object, used for handling parameters and session attributes
+   * @return <ul>
+   *         <li>The user id (AD_User_ID) if the request is already authenticated or the
+   *         authentication process succeeded</li>
+   *         <li><b>null</b> if the request is not authenticated or authentication process failed
+   *         (e.g. wrong password)</li>
+   *         </ul>
+   */
+  protected String doWebServiceAuthenticate(HttpServletRequest request) {
+    final String login = request.getParameter(BaseWebServiceServlet.LOGIN_PARAM);
+    final String password = request.getParameter(BaseWebServiceServlet.PASSWORD_PARAM);
+    String userId = null;
+    if (login != null && password != null) {
+      username = login;
+      userId = LoginUtils.getValidUserId(new DalConnectionProvider(false), login, password);
+    } else { // use basic authentication
+      userId = doBasicAuthentication(request);
+    }
+
+    return userId;
+  }
+
+  protected String doWebServiceAuthenticate(String user, String password) {
+    return LoginUtils.getValidUserId(new DalConnectionProvider(false), user, password);
+  }
+
+  /**
    * Method called from the <b>logout</b> method after clearing all session attributes. The usual
    * process is to redirect the user to the login page
    * 
@@ -142,4 +351,77 @@
   protected abstract void doLogout(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException;
 
+  protected final String createDBSession(HttpServletRequest req, String strUser, String strUserAuth) {
+    return createDBSession(req, strUser, strUserAuth, "S");
+  }
+
+  protected final String createDBSession(HttpServletRequest req, String strUser,
+      String strUserAuth, String successSessionType) {
+    try {
+      String usr = strUserAuth == null ? "0" : strUserAuth;
+
+      final SessionLogin sl = new SessionLogin(req, "0", "0", usr);
+
+      if (strUserAuth == null) {
+        sl.setStatus(FAILED_SESSION);
+      } else {
+        sl.setStatus(successSessionType);
+      }
+
+      sl.setUserName(strUser);
+      if (req != null) {
+        sl.setServerUrl(HttpBaseUtils.getLocalAddress(req));
+      }
+      sl.save();
+      return sl.getSessionID();
+    } catch (Exception e) {
+      log4j.error("Error creating DB session", e);
+      return null;
+    }
+  }
+
+  protected final void updateDBSession(String sessionId, boolean sessionActive, String status) {
+    try {
+      OBContext.setAdminMode();
+      Session session = OBDal.getInstance().get(Session.class, sessionId);
+      session.setSessionActive(sessionActive);
+      session.setLoginStatus(status);
+      OBDal.getInstance().flush();
+    } catch (Exception e) {
+      log4j.error("Error updating session in DB", e);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+
+  }
+
+  private String doBasicAuthentication(HttpServletRequest request) {
+    try {
+      final String auth = request.getHeader("Authorization");
+      if (auth == null) {
+        return null;
+      }
+      if (!auth.toUpperCase().startsWith("BASIC ")) {
+        return null; // only BASIC supported
+      }
+
+      // user and password come after BASIC
+      final String userpassEncoded = auth.substring(6);
+
+      // Decode it, using any base 64 decoder
+      final String decodedUserPass = new String(Base64.decodeBase64(userpassEncoded.getBytes()));
+      final int index = decodedUserPass.indexOf(":");
+      if (index == -1) {
+        return null;
+      }
+      final String login = decodedUserPass.substring(0, index);
+      final String password = decodedUserPass.substring(index + 1);
+      String userId = LoginUtils.getValidUserId(new DalConnectionProvider(), login, password);
+      username = login;
+      return userId;
+    } catch (final Exception e) {
+      throw new OBException(e);
+    }
+  }
+
 }
--- a/src/org/openbravo/authentication/basic/DefaultAuthenticationManager.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/authentication/basic/DefaultAuthenticationManager.java	Wed Dec 21 13:14:28 2011 +0100
@@ -27,12 +27,8 @@
 import org.openbravo.base.secureApp.LoginUtils;
 import org.openbravo.base.secureApp.VariablesHistory;
 import org.openbravo.base.secureApp.VariablesSecureApp;
-import org.openbravo.dal.core.OBContext;
-import org.openbravo.dal.service.OBDal;
-import org.openbravo.erpCommon.security.SessionLogin;
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.Utility;
-import org.openbravo.model.ad.access.Session;
 
 /**
  * 
@@ -68,6 +64,7 @@
 
     final String strUser = vars.getStringParameter("user");
     final String strPass = vars.getStringParameter("password");
+    username = strUser;
 
     if (StringUtils.isEmpty(strUser)) {
       // redirects to the menu or the menu with the target
@@ -135,43 +132,6 @@
     }
   }
 
-  private String createDBSession(HttpServletRequest req, String strUser, String strUserAuth) {
-    try {
-      String usr = strUserAuth == null ? "0" : strUserAuth;
-
-      final SessionLogin sl = new SessionLogin(req, "0", "0", usr);
-
-      if (strUserAuth == null) {
-        sl.setStatus("F");
-      } else {
-        sl.setStatus("S");
-      }
-
-      sl.setUserName(strUser);
-      sl.setServerUrl(HttpBaseUtils.getLocalAddress(req));
-      sl.save();
-      return sl.getSessionID();
-    } catch (Exception e) {
-      log4j.error("Error creating DB session", e);
-      return null;
-    }
-  }
-
-  private void updateDBSession(String sessionId, boolean sessionActive, String status) {
-    try {
-      OBContext.setAdminMode();
-      Session session = OBDal.getInstance().get(Session.class, sessionId);
-      session.setSessionActive(sessionActive);
-      session.setLoginStatus(status);
-      OBDal.getInstance().flush();
-    } catch (Exception e) {
-      log4j.error("Error updating session in DB", e);
-    } finally {
-      OBContext.restorePreviousMode();
-    }
-
-  }
-
   @Override
   protected void doLogout(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
--- a/src/org/openbravo/base/secureApp/HttpSecureAppServlet.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/base/secureApp/HttpSecureAppServlet.java	Wed Dec 21 13:14:28 2011 +0100
@@ -50,9 +50,7 @@
 import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
 
 import org.hibernate.criterion.Restrictions;
-import org.openbravo.authentication.AuthenticationException;
 import org.openbravo.authentication.AuthenticationManager;
-import org.openbravo.authentication.basic.DefaultAuthenticationManager;
 import org.openbravo.base.HttpBaseServlet;
 import org.openbravo.base.exception.OBException;
 import org.openbravo.base.secureApp.LoginUtils.RoleDefaults;
@@ -132,26 +130,7 @@
   public void init(ServletConfig config) {
     super.init(config);
 
-    String sAuthManagerClass = globalParameters.getOBProperty("authentication.class");
-    if (sAuthManagerClass == null || sAuthManagerClass.equals("")) {
-      // If not defined, load default
-      sAuthManagerClass = "org.openbravo.authentication.basic.DefaultAuthenticationManager";
-    }
-
-    try {
-      m_AuthManager = (AuthenticationManager) Class.forName(sAuthManagerClass).newInstance();
-      m_AuthManager.init(this);
-    } catch (final Exception e) {
-      log4j
-          .error("Defined authentication manager cannot be loaded. Verify the 'authentication.class' entry in Openbravo.properties");
-      try {
-        m_AuthManager = new DefaultAuthenticationManager(this);
-      } catch (AuthenticationException e1) {
-        log4j.error("Error trying to initialize Authentication Manager", e1);
-        return;
-      }
-    }
-
+    m_AuthManager = AuthenticationManager.getAuthenticationManager(this);
     log4j.debug("strdireccion: " + strDireccion);
 
     // Calculate class info
--- a/src/org/openbravo/base/secureApp/LoginHandler.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/base/secureApp/LoginHandler.java	Wed Dec 21 13:14:28 2011 +0100
@@ -23,10 +23,7 @@
 import org.codehaus.jettison.json.JSONObject;
 import org.openbravo.authentication.AuthenticationException;
 import org.openbravo.authentication.AuthenticationManager;
-import org.openbravo.authentication.basic.DefaultAuthenticationManager;
 import org.openbravo.base.HttpBaseServlet;
-import org.openbravo.base.session.OBPropertiesProvider;
-import org.openbravo.base.util.OBClassLoader;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.erpCommon.obps.ActivationKey;
@@ -55,7 +52,6 @@
  */
 public class LoginHandler extends HttpBaseServlet {
   private static final long serialVersionUID = 1L;
-  private static final String DEFAULT_AUTH_CLASS = "org.openbravo.authentication.basic.DefaultAuthenticationManager";
 
   @Override
   public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException,
@@ -85,26 +81,8 @@
       if (strUser.equals("") && !OBVersion.getInstance().is30()) {
         res.sendRedirect(res.encodeRedirectURL(strDireccion + "/security/Login_F1.html"));
       } else {
-
         try {
-
-          AuthenticationManager authManager;
-          String authClass = OBPropertiesProvider.getInstance().getOpenbravoProperties()
-              .getProperty("authentication.class", DEFAULT_AUTH_CLASS);
-          if (authClass == null || authClass.equals("")) {
-            // If not defined, load default
-            authClass = "org.openbravo.authentication.basic.DefaultAuthenticationManager";
-          }
-          try {
-            authManager = (AuthenticationManager) OBClassLoader.getInstance().loadClass(authClass)
-                .newInstance();
-            authManager.init(this);
-          } catch (Exception e) {
-            log4j
-                .error("Defined authentication manager cannot be loaded. Verify the 'authentication.class' entry in Openbravo.properties");
-
-            authManager = new DefaultAuthenticationManager(this);
-          }
+          AuthenticationManager authManager = AuthenticationManager.getAuthenticationManager(this);
 
           final String strUserAuth = authManager.authenticate(req, res);
           final String sessionId = vars.getSessionValue("#AD_Session_ID");
@@ -143,7 +121,7 @@
       ServletException {
     OBContext.setAdminMode();
     try {
-      ActivationKey ak = ActivationKey.getInstance();
+      ActivationKey ak = ActivationKey.getInstance(true);
       boolean hasSystem = false;
 
       try {
@@ -246,6 +224,30 @@
         return;
       }
 
+      // WS calls restrictions
+      if (hasSystem && ak.getWsCallsExceededDays() > 0) {
+        String msg;
+        String title = Utility.messageBD(myPool, "OPS_MAX_WS_CALLS_TITLE", vars.getLanguage());
+
+        switch (ak.checkNewWSCall(false)) {
+        case NO_RESTRICTION:
+        case EXPIRED:
+          break;
+        case EXCEEDED_WARN_WS_CALLS:
+          msg = Utility.messageBD(myPool, "OPS_MAX_WS_CALLS_SOFT_MSG", vars.getLanguage(), false)
+              .replace("@daysExceeding@", Integer.toString(ak.getWsCallsExceededDays()))
+              .replace("@extraDays@", Integer.toString(ak.getExtraWsExceededDaysAllowed()))
+              .replace("@numberOfDays@", Integer.toString(ak.getNumberOfDaysLeftInPeriod()));
+          goToRetry(res, vars, msg, title, msgType, action, doRedirect);
+          return;
+        case EXCEEDED_MAX_WS_CALLS:
+          msg = Utility.messageBD(myPool, "OPS_MAX_WS_CALLS_MSG", vars.getLanguage(), false)
+              .replace("@daysExceeding@", Integer.toString(ak.getWsCallsExceededDays()));
+          goToRetry(res, vars, msg, title, msgType, action, doRedirect);
+          return;
+        }
+      }
+
       try {
         LoginUtils.getLoginDefaults(strUserAuth, "", myPool);
       } catch (DefaultValidationException e) {
--- a/src/org/openbravo/erpCommon/ad_forms/About.html	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/About.html	Wed Dec 21 13:14:28 2011 +0100
@@ -111,6 +111,9 @@
                 <tr id="paramOPSInfo">
                   <td>License Type:</td><td>&nbsp;<td><td><span id="paraOPSType">xx</span> <span class="LabelText"><a class="LabelLink_noicon" href="http://www.openbravo.com/network" target="_blank">Learn more about subscription types</a></td>
                 </tr>
+                <tr id="paramOPSInfo">
+                  <td>Web Service Access:</td><td>&nbsp;<td><td id="paraOPSWSAccess">xx</td>
+                </tr>
               </table>
             </td>
           </tr>
--- a/src/org/openbravo/erpCommon/ad_forms/About.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/About.java	Wed Dec 21 13:14:28 2011 +0100
@@ -99,6 +99,7 @@
       if (ActivationKey.isActiveInstance()) {
         xmlDocument.setParameter("paraOPSPurpose", ak.getPurpose(vars.getLanguage()));
         xmlDocument.setParameter("paraOPSType", ak.getLicenseExplanation(this, vars.getLanguage()));
+        xmlDocument.setParameter("paraOPSWSAccess", ak.getWSExplanation(this, vars.getLanguage()));
         xmlDocument.setParameter("paraOBPSStatus",
             ak.getSubscriptionStatus().getStatusName(vars.getLanguage()));
       }
--- a/src/org/openbravo/erpCommon/ad_forms/About.xml	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/About.xml	Wed Dec 21 13:14:28 2011 +0100
@@ -12,7 +12,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2001-2010 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2011 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -28,6 +28,7 @@
     <PARAMETER id="paramLicensedTo" name="paramLicensedTo" default=""/>
     <PARAMETER id="paraOPSPurpose" name="paraOPSPurpose" default=""/>
     <PARAMETER id="paraOPSType" name="paraOPSType" default=""/>
+    <PARAMETER id="paraOPSWSAccess" name="paraOPSWSAccess" default=""/>
     <PARAMETER id="paraOBPSStatus" name="paraOBPSStatus" default=""/>
     
     <structure name="installedModules">
--- a/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java	Wed Dec 21 13:14:28 2011 +0100
@@ -374,6 +374,52 @@
           log.warn("Incorrect maximum number of concurrent users during last 30 days: "
               + systemInfo.getProperty(SystemInfo.Item.MAX_CONCURRENT_USERS.getLabel()));
         }
+
+        try {
+          hbLog.setWSCallsMaximum(Long.parseLong(systemInfo
+              .getProperty(SystemInfo.Item.WS_CALLS_MAX.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect max number of ws calls during last 30 days: "
+              + systemInfo.getProperty(SystemInfo.Item.WS_CALLS_MAX.getLabel()));
+        }
+        try {
+          hbLog.setWSCallsAverage(new BigDecimal(systemInfo
+              .getProperty(SystemInfo.Item.WS_CALLS_AVG.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect avg number of ws calls during last 30 days: "
+              + systemInfo.getProperty(SystemInfo.Item.WS_CALLS_AVG.getLabel()));
+        }
+
+        try {
+          hbLog.setConnectorCallsMax(Long.parseLong(systemInfo
+              .getProperty(SystemInfo.Item.WSC_CALLS_MAX.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect max number of wsc calls during last 30 days: "
+              + systemInfo.getProperty(SystemInfo.Item.WSC_CALLS_MAX.getLabel()));
+        }
+        try {
+          hbLog.setConnectorCallsAverage(new BigDecimal(systemInfo
+              .getProperty(SystemInfo.Item.WSC_CALLS_AVG.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect avg number of wsc calls during last 30 days: "
+              + systemInfo.getProperty(SystemInfo.Item.WSC_CALLS_AVG.getLabel()));
+        }
+
+        try {
+          hbLog.setWSRejectedMaximum(Long.parseLong(systemInfo
+              .getProperty(SystemInfo.Item.WSR_CALLS_MAX.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect max number of ws rejected calls during last 30 days: "
+              + systemInfo.getProperty(SystemInfo.Item.WSR_CALLS_MAX.getLabel()));
+        }
+        try {
+          hbLog.setWSRejectedAverage(new BigDecimal(systemInfo
+              .getProperty(SystemInfo.Item.WSR_CALLS_AVG.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect avg number of ws rejected calls during last 30 days: "
+              + systemInfo.getProperty(SystemInfo.Item.WSR_CALLS_AVG.getLabel()));
+        }
+
         try {
           hbLog.setNumberOfClients(Long.parseLong(systemInfo
               .getProperty(SystemInfo.Item.NUMBER_OF_CLIENTS.getLabel())));
--- a/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java	Wed Dec 21 13:14:28 2011 +0100
@@ -623,14 +623,12 @@
     }
     String strHaving = "";
     if (!strMayor.equals("") && !strMenor.equals("")) {
-      strHaving = " HAVING (SUM(CONVAMOUNT) > " + strMayor + " AND SUM(CONVAMOUNT) < " + strMenor
+      strHaving = " HAVING (SUM(CONVAMOUNT) >= " + strMayor + " AND SUM(CONVAMOUNT) <= " + strMenor
           + ")";
     } else if (!strMayor.equals("") && strMenor.equals("")) {
-      strHaving = " HAVING (SUM(CONVAMOUNT) > " + strMayor + ")";
+      strHaving = " HAVING (SUM(CONVAMOUNT) >= " + strMayor + ")";
     } else if (strMayor.equals("") && !strMenor.equals("")) {
-      strHaving = " HAVING (SUM(CONVAMOUNT) < " + strMenor + ")";
-    } else {
-      strHaving = " HAVING (SUM(CONVAMOUNT) <> 0 OR SUM(CONVAMOUNTREF) <> 0)";
+      strHaving = " HAVING (SUM(CONVAMOUNT) <= " + strMenor + ")";
     }
     strOrderby = strHaving + strOrderby;
 
--- a/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceVendorDimensionalAnalysesJR.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceVendorDimensionalAnalysesJR.java	Wed Dec 21 13:14:28 2011 +0100
@@ -473,14 +473,12 @@
     }
     String strHaving = "";
     if (!strMayor.equals("") && !strMenor.equals("")) {
-      strHaving = " HAVING (SUM(CONVAMOUNT) > " + strMayor + " AND SUM(CONVAMOUNT) < " + strMenor
+      strHaving = " HAVING (SUM(CONVAMOUNT) >= " + strMayor + " AND SUM(CONVAMOUNT) <= " + strMenor
           + ")";
     } else if (!strMayor.equals("") && strMenor.equals("")) {
-      strHaving = " HAVING (SUM(CONVAMOUNT) > " + strMayor + ")";
+      strHaving = " HAVING (SUM(CONVAMOUNT) >= " + strMayor + ")";
     } else if (strMayor.equals("") && !strMenor.equals("")) {
-      strHaving = " HAVING (SUM(CONVAMOUNT) < " + strMenor + ")";
-    } else {
-      strHaving = " HAVING (SUM(CONVAMOUNT) <> 0 OR SUM(CONVAMOUNTREF) <> 0)";
+      strHaving = " HAVING (SUM(CONVAMOUNT) <= " + strMenor + ")";
     }
     strOrderby = strHaving + strOrderby;
 
--- a/src/org/openbravo/erpCommon/ad_reports/ReportProductionCost_data.xsql	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportProductionCost_data.xsql	Wed Dec 21 13:14:28 2011 +0100
@@ -99,7 +99,7 @@
               HAVING SUM(pl.MovementQty) <> 0) rpp 
            LEFT OUTER JOIN
               (SELECT pl.M_Product_ID, SUM(pl.MovementQty) AS ConsumedQty, 
-              SUM(pl.MovementQty*C_CURRENCY_CONVERT(pl.CalcCost, ?, ?, TO_DATE(p.movementdate), null, pl.ad_client_id, pl.ad_org_id))/SUM(pl.MovementQty) AS CalcCost, 
+              SUM(C_CURRENCY_CONVERT(pl.CalcCost, ?, ?, TO_DATE(p.movementdate), null, pl.ad_client_id, pl.ad_org_id))/SUM(pl.MovementQty) AS CalcCost, 
               pl.M_ProductionPlan_ID
               FROM M_ProductionLine pl, M_ProductionPlan pp, M_Production p
               WHERE pl.ProductionType = '-'
--- a/src/org/openbravo/erpCommon/obps/ActivationKey.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/obps/ActivationKey.java	Wed Dec 21 13:14:28 2011 +0100
@@ -26,10 +26,13 @@
 import java.io.InputStreamReader;
 import java.io.ObjectInputStream;
 import java.math.BigInteger;
+import java.net.URL;
+import java.net.URLEncoder;
 import java.security.KeyFactory;
 import java.security.PublicKey;
 import java.security.Signature;
 import java.security.spec.X509EncodedKeySpec;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -44,11 +47,13 @@
 
 import javax.crypto.Cipher;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Appender;
 import org.apache.log4j.Logger;
 import org.apache.log4j.PatternLayout;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
+import org.hibernate.Query;
 import org.hibernate.criterion.Order;
 import org.hibernate.criterion.Restrictions;
 import org.openbravo.base.exception.OBException;
@@ -60,6 +65,7 @@
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.database.ConnectionProvider;
 import org.openbravo.erpCommon.obps.DisabledModules.Artifacts;
+import org.openbravo.erpCommon.utility.HttpsUtils;
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.SystemInfo;
 import org.openbravo.erpCommon.utility.Utility;
@@ -75,6 +81,8 @@
   private final static String OB_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCPwCM5RfisLvWhujHajnLEjEpLC7DOXLySuJmHBqcQ8AQ63yZjlcv3JMkHMsPqvoHF3s2ztxRcxBRLc9C2T3uXQg0PTH5IAxsV4tv05S+tNXMIajwTeYh1LCoQyeidiid7FwuhtQNQST9/FqffK1oVFBnWUfgZKLMO2ZSHoEAORwIDAQAB";
   private final static String OB_PUBLIC_KEY2 = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeivfuzeE+hdv7mXEyOWTpGglsT1J+UHcp9RrHydgLgccPdQ5EjqtKVSc/jzzJV5g+9XaSxz9pK5TuzzdN4fJHPCnuO0EiwWI2dxS/t1Boo+gGageGZyFRMhMsULU4902gzmw1qugEskUSKONJcR65H06HYRn2fTgVbGvEhFMASwIDAQAB";
 
+  private static final String HEARTBEAT_URL = "https://butler.openbravo.com:443/heartbeat-server/heartbeat";
+
   private boolean isActive = false;
   private boolean hasActivationKey = false;
   private String errorMessage = "";
@@ -97,15 +105,22 @@
   private boolean golden = false;
   private Date startDate;
   private Date endDate;
+  private boolean limitedWsAccess = true;
 
   private boolean notActiveYet = false;
   private boolean inconsistentInstance = false;
 
+  private long maxWsCalls;
+  private long wsDayCounter;
+  private Date initWsCountTime;
+  private List<Date> exceededInLastDays;
+
   private static final Logger log4j = Logger.getLogger(ActivationKey.class);
 
   private static final String TIER_1_PREMIUM_FEATURE = "T1P";
   private static final String TIER_2_PREMIUM_FEATURE = "T2P";
   private static final String GOLDEN_EXCLUDED = "GOLDENEXCLUDED";
+  private static final SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");
 
   /**
    * Number of minutes since last license refresh to wait before doing it again
@@ -137,6 +152,10 @@
     }
   }
 
+  public enum WSRestriction {
+    NO_RESTRICTION, EXCEEDED_MAX_WS_CALLS, EXCEEDED_WARN_WS_CALLS, EXPIRED;
+  }
+
   public enum LicenseClass {
     COMMUNITY("C"), BASIC("B"), STD("STD");
     private String code;
@@ -172,14 +191,36 @@
   private static final Long EXPIRATION_BASIC_DAYS = 30L;
   private static final Long EXPIRATION_PROF_DAYS = 30L;
 
+  private final static int WS_DAYS_EXCEEDING_ALLOWED = 5;
+  private final static long WS_DAYS_EXCEEDING_ALLOWED_PERIOD = 30L;
+  private final static long WS_MS_EXCEEDING_ALLOWED_PERIOD = MILLSECS_PER_DAY
+      * WS_DAYS_EXCEEDING_ALLOWED_PERIOD;
+
   private static ActivationKey instance = new ActivationKey();
 
   /**
+   * @see ActivationKey#getInstance(boolean)
+   * 
+   */
+  public static synchronized ActivationKey getInstance() {
+    return getInstance(false);
+  }
+
+  /**
    * Obtains the ActivationKey instance. Instances should be get in this way, rather than creating a
    * new one.
    * 
+   * If refreshIfNeeded parameter is true, license is tried to be refreshed if it is needed to.
+   * 
+   * @param refreshIfNeeded
+   *          refresh license if needed to
+   * 
    */
-  public static synchronized ActivationKey getInstance() {
+  public static synchronized ActivationKey getInstance(boolean refreshIfNeeded) {
+    if (refreshIfNeeded) {
+      instance.refreshIfNeeded();
+    }
+
     if (instance.startDate != null) {
       // check dates in case there is a license with dates
       instance.checkDates();
@@ -217,12 +258,17 @@
    * @deprecated
    */
   public ActivationKey() {
-    org.openbravo.model.ad.system.System sys = OBDal.getInstance().get(
-        org.openbravo.model.ad.system.System.class, "0");
-    strPublicKey = sys.getInstanceKey();
-    String activationKey = sys.getActivationKey();
-    loadInfo(activationKey);
-    loadRestrictions();
+    OBContext.setAdminMode();
+    try {
+      org.openbravo.model.ad.system.System sys = OBDal.getInstance().get(
+          org.openbravo.model.ad.system.System.class, "0");
+      strPublicKey = sys.getInstanceKey();
+      String activationKey = sys.getActivationKey();
+      loadInfo(activationKey);
+      loadRestrictions();
+    } finally {
+      OBContext.restorePreviousMode();
+    }
   }
 
   public ActivationKey(String publicKey, String activationKey) {
@@ -251,6 +297,7 @@
     startDate = null;
     endDate = null;
     pendingTime = null;
+    limitedWsAccess = false;
 
     if (strPublicKey == null || activationKey == null || strPublicKey.equals("")
         || activationKey.equals("")) {
@@ -328,17 +375,53 @@
     }
 
     // Check for dates to know if the instance is active
-    SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
     subscriptionConvertedProperty = "true".equals(getProperty("subscriptionConverted"));
 
     trial = "true".equals(getProperty("trial"));
     golden = "true".equals(getProperty("golden"));
 
+    String strUnlimitedWsAccess = getProperty("unlimitedWsAccess");
+
+    if (StringUtils.isEmpty(strUnlimitedWsAccess)) {
+      // old license, setting defaults
+      if (trial || golden) {
+        limitedWsAccess = true;
+        maxWsCalls = 500L;
+        instanceProperties.put("wsPacks", "1");
+        instanceProperties.put("wsUnitsPerUnit", "500");
+        initializeWsCounter();
+      } else {
+        limitedWsAccess = false;
+      }
+    } else {
+      limitedWsAccess = "false".equals(getProperty("unlimitedWsAccess"));
+      if (limitedWsAccess) {
+        String packs = getProperty("wsPacks");
+        String unitsPack = getProperty("wsUnitsPerUnit");
+
+        if (StringUtils.isEmpty(packs) || StringUtils.isEmpty(unitsPack)) {
+          log.warn("Couldn't determine ws call limitation, setting unlimited.");
+          limitedWsAccess = false;
+        } else {
+          try {
+            Integer nPacks = Integer.parseInt(packs);
+            Integer nUnitsPack = Integer.parseInt(unitsPack);
+            maxWsCalls = nPacks * nUnitsPack;
+            log.debug("Maximum ws calls: " + maxWsCalls);
+            initializeWsCounter();
+          } catch (Exception e) {
+            log.error("Error setting ws call limitation, setting unlimited.", e);
+            limitedWsAccess = false;
+          }
+        }
+      }
+    }
+
     try {
-      startDate = sd.parse(getProperty("startdate"));
+      startDate = sDateFormat.parse(getProperty("startdate"));
 
       if (getProperty("enddate") != null) {
-        endDate = sd.parse(getProperty("enddate"));
+        endDate = sDateFormat.parse(getProperty("enddate"));
       }
     } catch (Exception e) {
       errorMessage = "@ErrorReadingDates@";
@@ -772,12 +855,14 @@
             .append("</td><td>").append(outputFormat.format(startDate)).append("</td></tr>");
       }
 
-      sb.append("<tr><td>")
-          .append(Utility.messageBD(conn, "OPSEndDate", lang))
-          .append("</td><td>")
-          .append(
-              (getProperty("enddate") == null ? Utility.messageBD(conn, "OPSNoEndDate", lang)
-                  : outputFormat.format(endDate))).append("</td></tr>");
+      if (endDate != null) {
+        sb.append("<tr><td>")
+            .append(Utility.messageBD(conn, "OPSEndDate", lang))
+            .append("</td><td>")
+            .append(
+                (getProperty("enddate") == null ? Utility.messageBD(conn, "OPSNoEndDate", lang)
+                    : outputFormat.format(endDate))).append("</td></tr>");
+      }
 
       sb.append("<tr><td>")
           .append(Utility.messageBD(conn, "OPSConcurrentUsers", lang))
@@ -799,6 +884,11 @@
           .append(Utility.getListValueName("InstancePurpose", getProperty("purpose"), lang))
           .append("</td></tr>");
 
+      sb.append("<tr><td>").append(Utility.messageBD(conn, "OPSWSLimitation", lang))
+          .append("</td><td>");
+      sb.append(getWSExplanation(conn, lang));
+      sb.append("</td></tr>");
+
     } else {
       sb.append(Utility.messageBD(conn, "OPSNonActiveInstance", lang));
     }
@@ -818,6 +908,20 @@
     }
   }
 
+  /**
+   * Returns a message explaining WS call limitations
+   */
+  public String getWSExplanation(ConnectionProvider conn, String lang) {
+    if (!limitedWsAccess) {
+      return Utility.messageBD(conn, "OPSWSUnlimited", lang);
+    } else {
+      String packs = getProperty("wsPacks");
+      String unitsPack = getProperty("wsUnitsPerUnit");
+      return Utility.messageBD(conn, "OPWSLimited", lang).replace("@packs@", packs)
+          .replace("@unitsPerPack@", unitsPack);
+    }
+  }
+
   public boolean hasExpirationDate() {
     return isOPSInstance() && (getProperty("enddate") != null);
   }
@@ -973,52 +1077,11 @@
         return CommercialModuleStatus.NO_SUBSCRIBED;
       }
 
-      Date timeToRefresh = null;
-      if (lastRefreshTime != null) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(lastRefreshTime);
-        calendar.add(Calendar.MINUTE, REFRESH_MIN_TIME);
-        timeToRefresh = calendar.getTime();
-      }
+      boolean refreshed = refreshLicense(REFRESH_MIN_TIME);
 
-      if (timeToRefresh == null || new Date().after(timeToRefresh)) {
-        log4j.debug("Trying to refresh license, last refresh "
-            + (lastRefreshTime == null ? "never" : lastRefreshTime.toString()));
-
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("publicKey", strPublicKey);
-        params.put("purpose", getProperty("purpose"));
-        params.put("instanceNo", getProperty("instanceno"));
-        params.put("activate", true);
-        ProcessBundle pb = new ProcessBundle(null, new VariablesSecureApp("0", "0", "0"));
-        pb.setParams(params);
-
-        boolean refreshed = false;
-        try {
-          new ActiveInstanceProcess().execute(pb);
-          OBError msg = (OBError) pb.getResult();
-          refreshed = msg.getType().equals("Success");
-          if (refreshed) {
-            log4j.debug("Instance refreshed");
-          } else {
-            log4j.info("Problem refreshing instance " + msg.getMessage());
-          }
-        } catch (Exception e) {
-          log4j.error("Error refreshing instance", e);
-          refreshed = false;
-        }
-
-        if (refreshed) {
-          return ActivationKey.instance.isModuleSubscribed(moduleId);
-        } else {
-          // Even license couldn't be refreshed, set lastRefreshTime not to try to refresh in the
-          // following period of time
-          lastRefreshTime = new Date();
-          return CommercialModuleStatus.NO_SUBSCRIBED;
-        }
+      if (refreshed) {
+        return ActivationKey.instance.isModuleSubscribed(moduleId);
       } else {
-        log4j.debug("Not refreshing, last refresh was " + lastRefreshTime.toString()
-            + ". Next time to refresh " + timeToRefresh.toString());
         return CommercialModuleStatus.NO_SUBSCRIBED;
       }
     }
@@ -1027,6 +1090,77 @@
   }
 
   /**
+   * Refreshes license online in case of:
+   * <ul>
+   * <li>It expired
+   * <li>Maximum number of WS calls has been reached during last 30 days
+   * <li>Maximum number of concurrent users has been reached
+   * </ul>
+   */
+  private void refreshIfNeeded() {
+    if (hasActivationKey
+        && !subscriptionConvertedProperty
+        && !golden
+        && !trial
+        && (hasExpired || checkNewWSCall(false) != WSRestriction.NO_RESTRICTION || checkOPSLimitations(null) == LicenseRestriction.NUMBER_OF_CONCURRENT_USERS_REACHED)) {
+      refreshLicense(24 * 60);
+    }
+  }
+
+  private synchronized boolean refreshLicense(int minutesToRefresh) {
+    Date timeToRefresh = null;
+    if (lastRefreshTime != null) {
+      Calendar calendar = Calendar.getInstance();
+      calendar.setTime(lastRefreshTime);
+      calendar.add(Calendar.MINUTE, minutesToRefresh);
+      timeToRefresh = calendar.getTime();
+    }
+
+    if (timeToRefresh == null || new Date().after(timeToRefresh)) {
+      log4j.debug("Trying to refresh license, last refresh "
+          + (lastRefreshTime == null ? "never" : lastRefreshTime.toString()));
+
+      Map<String, Object> params = new HashMap<String, Object>();
+      params.put("publicKey", strPublicKey);
+      params.put("purpose", getProperty("purpose"));
+      params.put("instanceNo", getProperty("instanceno"));
+      params.put("activate", true);
+      ProcessBundle pb = new ProcessBundle(null, new VariablesSecureApp("0", "0", "0"));
+      pb.setParams(params);
+
+      boolean refreshed = false;
+      OBContext.setAdminMode();
+      try {
+        new ActiveInstanceProcess().execute(pb);
+        OBError msg = (OBError) pb.getResult();
+        refreshed = msg.getType().equals("Success");
+        if (refreshed) {
+          OBDal.getInstance().flush();
+          log4j.debug("Instance refreshed");
+        } else {
+          log4j.info("Problem refreshing instance " + msg.getMessage());
+        }
+      } catch (Exception e) {
+        log4j.error("Error refreshing instance", e);
+        refreshed = false;
+      } finally {
+        OBContext.restorePreviousMode();
+      }
+
+      if (!refreshed) {
+        // Even license couldn't be refreshed, set lastRefreshTime not to try to refresh in the
+        // following period of time
+        lastRefreshTime = new Date();
+      }
+      return refreshed;
+    } else {
+      log4j.debug("Not refreshing, last refresh was " + lastRefreshTime.toString()
+          + ". Next time to refresh " + timeToRefresh.toString());
+      return false;
+    }
+  }
+
+  /**
    * Checks whether there is access to an artifact because of license restrictions (checking core
    * advance and premium features).
    * 
@@ -1246,4 +1380,170 @@
     }
     return result;
   }
+
+  /**
+   * This method checks web service can be called. If <code>updateCounter</code> parameter is
+   * <code>true</code> number of daily calls is increased by one.
+   * 
+   * @param updateCounter
+   *          daily calls should be updated
+   */
+  public synchronized WSRestriction checkNewWSCall(boolean updateCounter) {
+    if (!limitedWsAccess) {
+      return WSRestriction.NO_RESTRICTION;
+    }
+
+    if (hasExpired) {
+      return WSRestriction.EXPIRED;
+    }
+    Date today = getDayAt0(new Date());
+
+    if (initWsCountTime == null || today.getTime() != initWsCountTime.getTime()) {
+      initializeWsDayCounter();
+    }
+
+    long checkCalls = maxWsCalls;
+    if (updateCounter) {
+      wsDayCounter += 1;
+      // Adding 1 to maxWsCalls because session is already saved in DB
+      checkCalls += 1;
+    }
+
+    if (wsDayCounter > checkCalls) {
+      // clean up old days
+      while (!exceededInLastDays.isEmpty()
+          && exceededInLastDays.get(0).getTime() < today.getTime() - WS_MS_EXCEEDING_ALLOWED_PERIOD) {
+        Date removed = exceededInLastDays.remove(0);
+        log.info("Removed date from exceeded days " + removed);
+      }
+
+      if (!exceededInLastDays.contains(today)) {
+        exceededInLastDays.add(today);
+
+        // Adding a new failing day, send a new beat to butler
+        Runnable sendBeatProcess = new Runnable() {
+          @Override
+          public void run() {
+            try {
+              String content = "beatType=CWSR";
+              content += "&systemIdentifier="
+                  + URLEncoder.encode(SystemInfo.getSystemIdentifier(), "utf-8");
+              content += "&dbIdentifier="
+                  + URLEncoder.encode(SystemInfo.getDBIdentifier(), "utf-8");
+              content += "&macId=" + URLEncoder.encode(SystemInfo.getMacAddress(), "utf-8");
+              content += "&obpsId=" + URLEncoder.encode(SystemInfo.getOBPSInstance(), "utf-8");
+              content += "&instanceNo="
+                  + URLEncoder.encode(SystemInfo.getOBPSIntanceNumber(), "utf-8");
+
+              URL url = new URL(HEARTBEAT_URL);
+              HttpsUtils.sendSecure(url, content);
+              log.info("Sending CWSR beat");
+            } catch (Exception e) {
+              log.error("Error connecting server", e);
+            }
+
+          }
+        };
+        Thread sendBeat = new Thread(sendBeatProcess);
+        sendBeat.start();
+      }
+
+      if (exceededInLastDays.size() > WS_DAYS_EXCEEDING_ALLOWED) {
+        return WSRestriction.EXCEEDED_MAX_WS_CALLS;
+      } else {
+        return WSRestriction.EXCEEDED_WARN_WS_CALLS;
+      }
+    }
+    return WSRestriction.NO_RESTRICTION;
+  }
+
+  private Date getDayAt0(Date date) {
+    try {
+      return sDateFormat.parse(sDateFormat.format(date));
+    } catch (ParseException e) {
+      log.error("Error getting day " + date + " at 0:00", e);
+      return new Date();
+    }
+  }
+
+  private void initializeWsDayCounter() {
+    initWsCountTime = getDayAt0(new Date());
+    OBContext.setAdminMode();
+    try {
+      OBCriteria<Session> qLogins = OBDal.getInstance().createCriteria(Session.class);
+      qLogins.add(Restrictions.eq(Session.PROPERTY_LOGINSTATUS, "WS"));
+      qLogins.add(Restrictions.ge(Session.PROPERTY_CREATIONDATE, initWsCountTime));
+      wsDayCounter = qLogins.count();
+      log.info("Initialized ws count to " + wsDayCounter + " from " + initWsCountTime);
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
+  private void initializeWsCounter() {
+    StringBuilder hql = new StringBuilder();
+    hql.append("select min(creationDate)\n");
+    hql.append("  from ADSession\n");
+    hql.append(" where loginStatus = 'WS'\n");
+    hql.append("   and creationDate > :firstDay\n");
+    hql.append(" group by day(creationDate), month(creationDate), year(creationDate)\n");
+    hql.append("having count(*) > :maxWsPerDay\n");
+    hql.append(" order by 1\n");
+
+    Query qExceededDays = OBDal.getInstance().getSession().createQuery(hql.toString());
+    qExceededDays.setParameter("firstDay", new Date(getDayAt0(new Date()).getTime()
+        - WS_MS_EXCEEDING_ALLOWED_PERIOD));
+    qExceededDays.setParameter("maxWsPerDay", maxWsCalls);
+
+    exceededInLastDays = new ArrayList<Date>();
+
+    for (Object d : qExceededDays.list()) {
+      Date day = getDayAt0((Date) d);
+      exceededInLastDays.add(day);
+      log.info("Addind exceeded ws calls day " + day);
+    }
+    initializeWsDayCounter();
+  }
+
+  /**
+   * Returns the number of days during last 30 days exceeding the maximum allowed number of calls
+   */
+  public int getWsCallsExceededDays() {
+    if (exceededInLastDays == null) {
+      return 0;
+    }
+    return exceededInLastDays.size();
+  }
+
+  /**
+   * Returns the number of days that can exceed the maximum number of ws calls taking into account
+   * the ones that exceeded it during last 30 days.
+   */
+  public int getExtraWsExceededDaysAllowed() {
+    return WS_DAYS_EXCEEDING_ALLOWED - getWsCallsExceededDays();
+  }
+
+  /**
+   * Returns the number of days pending till the end of ws calls verification period.
+   */
+  public int getNumberOfDaysLeftInPeriod() {
+    if (exceededInLastDays == null || exceededInLastDays.size() == 0) {
+      return (int) WS_DAYS_EXCEEDING_ALLOWED_PERIOD;
+    }
+
+    Date today = getDayAt0(new Date());
+    Date firstDayOfPeriod = exceededInLastDays.get(0);
+
+    long lastDayOfPeriod;
+    if (today.getTime() + (getExtraWsExceededDaysAllowed() * MILLSECS_PER_DAY) < firstDayOfPeriod
+        .getTime() + WS_MS_EXCEEDING_ALLOWED_PERIOD) {
+      lastDayOfPeriod = firstDayOfPeriod.getTime() + WS_MS_EXCEEDING_ALLOWED_PERIOD;
+    } else {
+      lastDayOfPeriod = today.getTime() + WS_MS_EXCEEDING_ALLOWED_PERIOD;
+    }
+    new Date(lastDayOfPeriod);
+    long pendingMs = lastDayOfPeriod - today.getTime()
+        - (exceededInLastDays.size() * MILLSECS_PER_DAY);
+    return (int) (pendingMs / MILLSECS_PER_DAY);
+  }
 }
--- a/src/org/openbravo/erpCommon/security/SessionLogin.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/security/SessionLogin.java	Wed Dec 21 13:14:28 2011 +0100
@@ -76,7 +76,9 @@
     setClient(ad_client_id);
     setOrg(ad_org_id);
     setUser(ad_user_id);
-    defaultParameters(request);
+    if (request != null) {
+      defaultParameters(request);
+    }
   }
 
   public void setServerUrl(String strAddr) {
--- a/src/org/openbravo/erpCommon/utility/SystemInfo.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/erpCommon/utility/SystemInfo.java	Wed Dec 21 13:14:28 2011 +0100
@@ -88,6 +88,14 @@
   private static String macAddress;
   private static String databaseIdentifier;
 
+  private static long maxDayWsLogins;
+  private static BigDecimal avgWsLogins = BigDecimal.ZERO;
+
+  private static long maxDayWsCLogins;
+  private static BigDecimal avgWsCLogins = BigDecimal.ZERO;
+  private static long maxDayRejectedWsLogins;
+  private static BigDecimal avgRejectedWsLogins;
+
   static {
     systemInfo = new HashMap<Item, String>();
     sd = new SimpleDateFormat("dd-MM-yyyy");
@@ -226,6 +234,24 @@
       case TOTAL_LOGINS_LAST_MOTH:
         systemInfo.put(i, Integer.toString(numberOfLoginsThisMonth));
         break;
+      case WS_CALLS_MAX:
+        systemInfo.put(i, Long.toString(maxDayWsLogins));
+        break;
+      case WS_CALLS_AVG:
+        systemInfo.put(i, avgWsLogins.toString());
+        break;
+      case WSR_CALLS_MAX:
+        systemInfo.put(i, Long.toString(maxDayRejectedWsLogins));
+        break;
+      case WSR_CALLS_AVG:
+        systemInfo.put(i, avgRejectedWsLogins.toString());
+        break;
+      case WSC_CALLS_MAX:
+        systemInfo.put(i, Long.toString(maxDayWsCLogins));
+        break;
+      case WSC_CALLS_AVG:
+        systemInfo.put(i, avgWsCLogins.toString());
+        break;
       case NUMBER_OF_CLIENTS:
         systemInfo.put(i, getNumberOfClients());
         break;
@@ -567,7 +593,7 @@
   /**
    * In case it is an OBPS instance, it returns the CRC of the activation key
    */
-  private static String getOBPSInstance() {
+  public static String getOBPSInstance() {
     if (ActivationKey.getInstance().isOPSInstance()) {
       return ActivationKey.getInstance().getOpsLogId();
     } else {
@@ -578,7 +604,7 @@
   /**
    * In case it is an OBPS instance, it returns the number of instance
    */
-  private static String getOBPSIntanceNumber() {
+  public static String getOBPSIntanceNumber() {
     if (ActivationKey.getInstance().isOPSInstance()) {
       return ActivationKey.getInstance().getProperty("instanceno");
     } else {
@@ -682,6 +708,49 @@
       }
       log4j.debug("max:" + maxUsers + " total:" + totalUsageTime + " "
           + usagePercentageTime.toString() + "% avg usr:" + avgUsers.toString());
+
+      // WS calls
+      maxDayWsLogins = 0L;
+      long totalWsLogins = 0L;
+      for (Long dayWsLogins : getWsLogins("WS", startOfPeriod.getTime())) {
+        totalWsLogins += dayWsLogins;
+        if (dayWsLogins > maxDayWsLogins) {
+          maxDayWsLogins = dayWsLogins;
+        }
+      }
+      avgWsLogins = BigDecimal.valueOf(totalWsLogins).divide(BigDecimal.valueOf(30), 3,
+          RoundingMode.HALF_DOWN);
+      log4j.debug("WS Calls: total:" + totalWsLogins + " - max:" + maxDayWsLogins + " - avg:"
+          + avgWsLogins.toString());
+
+      // Rejected WS calls
+      maxDayRejectedWsLogins = 0L;
+      long totalRejectedWsLogins = 0L;
+      for (Long dayRWsLogins : getWsLogins("WSR", startOfPeriod.getTime())) {
+        totalRejectedWsLogins += dayRWsLogins;
+        if (dayRWsLogins > maxDayRejectedWsLogins) {
+          maxDayRejectedWsLogins = dayRWsLogins;
+        }
+      }
+      avgRejectedWsLogins = BigDecimal.valueOf(totalRejectedWsLogins).divide(
+          BigDecimal.valueOf(30), 3, RoundingMode.HALF_DOWN);
+      log4j.debug("WS Rejected Calls: total:" + totalRejectedWsLogins + " - max:"
+          + maxDayRejectedWsLogins + " - avg:" + avgRejectedWsLogins.toString());
+
+      // Connector calls
+      maxDayWsCLogins = 0L;
+      long totalWsCLogins = 0L;
+      for (Long dayWsCLogins : getWsLogins("WSC", startOfPeriod.getTime())) {
+        totalWsCLogins += dayWsCLogins;
+        if (dayWsCLogins > maxDayWsCLogins) {
+          maxDayWsCLogins = dayWsCLogins;
+        }
+      }
+      avgWsCLogins = BigDecimal.valueOf(totalWsCLogins).divide(BigDecimal.valueOf(30), 3,
+          RoundingMode.HALF_DOWN);
+      log4j.debug("WSC Calls: total:" + totalWsCLogins + " - max:" + maxDayWsCLogins + " - avg:"
+          + avgWsCLogins.toString());
+
       log4j
           .debug("Total time computing sessions:" + (System.currentTimeMillis() - computationTime));
     } catch (Exception e) {
@@ -690,6 +759,20 @@
 
   }
 
+  @SuppressWarnings("unchecked")
+  private static List<Long> getWsLogins(String type, Date fromDate) {
+    StringBuilder hql = new StringBuilder();
+    hql.append("select count(*)\n");
+    hql.append("  from ADSession\n");
+    hql.append(" where loginStatus = :type\n");
+    hql.append("   and creationDate > :firstDay\n");
+    hql.append(" group by day(creationDate), month(creationDate), year(creationDate)\n");
+    Query qWs = OBDal.getInstance().getSession().createQuery(hql.toString());
+    qWs.setParameter("firstDay", fromDate);
+    qWs.setParameter("type", type);
+    return qWs.list();
+  }
+
   private static void calculateNumberOfRejectedLoginsDueConcurrentUsersLastMonth(
       Calendar startOfPeriod) {
     OBCriteria<Session> qSession = OBDal.getInstance().createCriteria(Session.class);
@@ -754,7 +837,9 @@
         false), NUMBER_OF_ORGS("orgNum", false), USAGE_AUDIT("usageAudit", false), INSTANCE_PURPOSE(
         "instancePurpose", false), REJECTED_LOGINS_DUE_CONC_USERS("rejectedLoginsDueConcUsers",
         false), INSTANCE_NUMBER("instanceNo", false), CUSTOM_QUERY_ENABLED("enabledCustomQuery",
-        false);
+        false), WS_CALLS_MAX("wsCallsMax", false), WS_CALLS_AVG("wsCallsAvg", false), WSC_CALLS_MAX(
+        "wscCallsMax", false), WSC_CALLS_AVG("wscCallsAvg", false), WSR_CALLS_MAX(
+        "wsRejectedCallsMax", false), WSR_CALLS_AVG("wsRejectedCallsAvg", false);
 
     private String label;
     private boolean isIdInfo;
--- a/src/org/openbravo/service/web/BaseWebServiceServlet.java	Wed Dec 21 13:08:52 2011 +0100
+++ b/src/org/openbravo/service/web/BaseWebServiceServlet.java	Wed Dec 21 13:14:28 2011 +0100
@@ -27,16 +27,12 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.log4j.Logger;
-import org.openbravo.base.HttpBaseUtils;
-import org.openbravo.base.exception.OBException;
+import org.openbravo.authentication.AuthenticationException;
+import org.openbravo.authentication.AuthenticationManager;
 import org.openbravo.base.exception.OBSecurityException;
-import org.openbravo.base.secureApp.LoginUtils;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.core.SessionHandler;
-import org.openbravo.erpCommon.security.SessionLogin;
-import org.openbravo.service.db.DalConnectionProvider;
 
 /**
  * This servlet has two main responsibilities: 1) authenticate, 2) set the correct {@link OBContext}
@@ -57,18 +53,38 @@
   private static final long serialVersionUID = 1L;
 
   @Override
-  protected void service(HttpServletRequest request, HttpServletResponse response)
+  protected final void service(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
-
     // already logged in?
     if (OBContext.getOBContext() != null) {
       doService(request, response);
-      // do the login action
-    } else if (isLoggedIn(request, response)) {
+      return;
+    }
+
+    // do the login action
+    AuthenticationManager authManager = AuthenticationManager.getAuthenticationManager(this);
+
+    String userId = null;
+    try {
+      userId = authManager.webServiceAuthenticate(request);
+    } catch (AuthenticationException e) {
+      response.setStatus(HttpServletResponse.SC_FORBIDDEN);
+      response.setContentType("text/plain;charset=UTF-8");
+      final Writer w = response.getWriter();
+      w.write(e.getMessage());
+      w.close();
+      return;
+    }
+
+    if (userId != null) {
+      OBContext.setOBContext(UserContextCache.getInstance().getCreateOBContext(userId));
+      OBContext.setOBContextInSession(request, OBContext.getOBContext());
+
       doService(request, response);
     } else {
+      // not logged in
       response.setHeader("WWW-Authenticate", "Basic realm=\"Openbravo\"");
-      response.setStatus(401);
+      response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
     }
   }
 
@@ -115,72 +131,4 @@
       w.close();
     }
   }
-
-  protected boolean isLoggedIn(HttpServletRequest request, HttpServletResponse response) {
-    final String login = request.getParameter(LOGIN_PARAM);
-    final String password = request.getParameter(PASSWORD_PARAM);
-    String userId = null;
-    if (login != null && password != null) {
-      userId = LoginUtils.getValidUserId(new DalConnectionProvider(), login, password);
-    } else { // use basic authentication
-      userId = doBasicAuthentication(request);
-    }
-
-    if (userId != null) {
-      OBContext.setOBContext(UserContextCache.getInstance().getCreateOBContext(userId));
-      OBContext.setOBContextInSession(request, OBContext.getOBContext());
-      return true;
-    } else {
-      return false;
-    }
-  }
-
-  private void createDBSession(HttpServletRequest req, String strUser, String strUserAuth) {
-    try {
-      String usr = strUserAuth == null ? "0" : strUserAuth;
-
-      final SessionLogin sl = new SessionLogin(req, "0", "0", usr);
-
-      if (strUserAuth == null) {
-        sl.setStatus("F");
-      } else {
-        sl.setStatus("S");
-      }
-
-      sl.setUserName(strUser);
-      sl.setServerUrl(HttpBaseUtils.getLocalAddress(req));
-      sl.save();
-    } catch (Exception e) {
-      log.error("Error creating DB session", e);
-    }
-  }
-
-  protected String doBasicAuthentication(HttpServletRequest request) {
-    try {
-      final String auth = request.getHeader("Authorization");
-      if (auth == null) {
-        return null;
-      }
-      if (!auth.toUpperCase().startsWith("BASIC ")) {
-        return null; // only BASIC supported
-      }
-
-      // user and password come after BASIC
-      final String userpassEncoded = auth.substring(6);
-
-      // Decode it, using any base 64 decoder
-      final String decodedUserPass = new String(Base64.decodeBase64(userpassEncoded.getBytes()));
-      final int index = decodedUserPass.indexOf(":");
-      if (index == -1) {
-        return null;
-      }
-      final String login = decodedUserPass.substring(0, index);
-      final String password = decodedUserPass.substring(index + 1);
-      String userId = LoginUtils.getValidUserId(new DalConnectionProvider(), login, password);
-      createDBSession(request, login, userId);
-      return userId;
-    } catch (final Exception e) {
-      throw new OBException(e);
-    }
-  }
 }
\ No newline at end of file