From fbbfc91d2f483b80106be8ffcc9aff5eb7be2b7a Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Tue, 15 Mar 2011 07:38:43 +0000
Subject: [PATCH] Initial import of trade gadgets.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@44272 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_gadget_best_seller_products.xml      | 123 ++++
 .../portal_skins/erp5_trade_knowledge_pad.xml |  47 ++
 .../ERP5Site_getBestSellerProductList.xml     | 111 +++
 ...P5Site_viewBestSellerProductListGadget.xml | 158 +++++
 .../future_order_chart.xml                    | 529 ++++++++++++++
 .../listbox.xml                               | 656 ++++++++++++++++++
 .../listbox_image.xml                         | 314 +++++++++
 .../listbox_total_price.xml                   |  90 +++
 .../listbox_total_quantity.xml                |  90 +++
 ...ellerProductListGadgetPreferenceDialog.xml | 156 +++++
 .../my_at_date.xml                            |  96 +++
 .../my_from_date.xml                          |  96 +++
 .../my_method.xml                             | 116 ++++
 .../my_mode.xml                               | 112 +++
 .../my_section_category.xml                   |  96 +++
 .../erp5_trade_knowledge_pad/calendar.js.xml  | 311 +++++++++
 .../cwcalendar.css.xml                        | 121 ++++
 bt5/erp5_trade_knowledge_pad/bt/change_log    |   2 +
 .../bt/copyright_list                         |   1 +
 .../bt/dependency_list                        |   2 +
 bt5/erp5_trade_knowledge_pad/bt/description   |   1 +
 bt5/erp5_trade_knowledge_pad/bt/license       |   1 +
 bt5/erp5_trade_knowledge_pad/bt/revision      |   1 +
 .../bt/template_format_version                |   1 +
 .../bt/template_path_list                     |   2 +
 .../bt/template_skin_id_list                  |   1 +
 bt5/erp5_trade_knowledge_pad/bt/title         |   1 +
 27 files changed, 3235 insertions(+)
 create mode 100644 bt5/erp5_trade_knowledge_pad/PathTemplateItem/portal_gadgets/erp5_gadget_best_seller_products.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_getBestSellerProductList.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/future_order_chart.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_image.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_price.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_quantity.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_at_date.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_from_date.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_method.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_mode.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_section_category.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/calendar.js.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/cwcalendar.css.xml
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/change_log
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/copyright_list
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/dependency_list
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/description
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/license
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/revision
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/template_format_version
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/template_path_list
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/template_skin_id_list
 create mode 100644 bt5/erp5_trade_knowledge_pad/bt/title

diff --git a/bt5/erp5_trade_knowledge_pad/PathTemplateItem/portal_gadgets/erp5_gadget_best_seller_products.xml b/bt5/erp5_trade_knowledge_pad/PathTemplateItem/portal_gadgets/erp5_gadget_best_seller_products.xml
new file mode 100644
index 0000000000..89b6523eb9
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/PathTemplateItem/portal_gadgets/erp5_gadget_best_seller_products.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Gadget" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <list>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>gadget_type/erp5_front</string>
+                <string>gadget_type/web_front</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>See the list and also a chart of your best sellers products!</string> </value>
+        </item>
+        <item>
+            <key> <string>edit_form_id</string> </key>
+            <value> <string>ERP5Site_viewBestSellerProductListGadgetPreferenceDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_gadget_best_seller_products</string> </value>
+        </item>
+        <item>
+            <key> <string>multiple_instances_allowed</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Gadget</string> </value>
+        </item>
+        <item>
+            <key> <string>render_type</string> </key>
+            <value> <string>asynchronous</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Best Sellers Products</string> </value>
+        </item>
+        <item>
+            <key> <string>view_form_id</string> </key>
+            <value> <string>ERP5Site_viewBestSellerProductListGadget</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad.xml
new file mode 100644
index 0000000000..b42a1357fd
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>business_template_skin_layer_priority</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>float</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>business_template_skin_layer_priority</string> </key>
+            <value> <float>100.0</float> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_trade_knowledge_pad</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_getBestSellerProductList.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_getBestSellerProductList.xml
new file mode 100644
index 0000000000..8a4ccad607
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_getBestSellerProductList.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal = context.getPortalObject()\n
+from DateTime import DateTime\n
+request = container.REQUEST\n
+\n
+preferences = dict()\n
+if not box_relative_url:\n
+  box_relative_url = request.get(\'box_relative_url\', None)\n
+if box_relative_url:\n
+  box = portal.restrictedTraverse(box_relative_url)\n
+  preferences = box.KnowledgeBox_getDefaultPreferencesDict()\n
+\n
+mode = preferences.get(\'mode\', \'total_price\')\n
+if mode not in (\'total_price\', \'total_quantity\'):\n
+  context.log("Unknown mode %s" % mode)\n
+  return []\n
+from_date = preferences.get(\'from_date\', DateTime(2010, 1, 1))\n
+at_date = preferences.get(\'from_date\', DateTime(2011, 12, 31))\n
+section_category = preferences.get(\'section_category\', \'group/my_group\')\n
+if portal.portal_categories.restrictedTraverse(section_category, None) is None:\n
+  return []\n
+\n
+limit = preferences.get(\'limit\', 5)\n
+method = preferences.get(\'method\', \'getFutureInventoryList\')\n
+if method not in (\'getFutureInventoryList\', \'getAvailableInventoryList\', \'getCurrentInventoryList\'):\n
+  context.log("Unknown method %s" % method)\n
+  return []\n
+\n
+product_list = []\n
+\n
+for brain in getattr(portal.portal_simulation, method)(\n
+                          resource_portal_type="Product",\n
+                          section_category=section_category,\n
+                          from_date=from_date,\n
+                          at_date=at_date,\n
+                          portal_type=portal.getPortalSaleTypeList(), group_by_resource=1\n
+                        # sort_on=((mode, \'ASC\'), ), limit=limit, # XXX not working ???\n
+ ):\n
+  resource = portal.portal_catalog.getObject(brain.resource_uid)\n
+  total_price = (brain.total_price or 0) * -1\n
+  total_quantity = (brain.total_quantity or 0) * -1\n
+  product_list.append(resource.asContext(total_price=total_price, total_quantity=total_quantity))\n
+\n
+product_list.sort(key=lambda x: -1 * getattr(x, mode))\n
+\n
+return product_list[:limit]\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>box_relative_url="", **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getBestSellerProductList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget.xml
new file mode 100644
index 0000000000..1f67fefa8b
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>future_order_chart</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_image</string>
+                        <string>listbox_total_price</string>
+                        <string>listbox_total_quantity</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_viewBestSellerProductListGadget</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>ERP5Site_viewBestSellerProductsGadget</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>gadget_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/future_order_chart.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/future_order_chart.xml
new file mode 100644
index 0000000000..9cfb8b2a16
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/future_order_chart.xml
@@ -0,0 +1,529 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="OOoChart" module="Products.ERP5Form.OOoChart"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>future_order_chart</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_legend</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_position</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_stacked</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_three_dimensional</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_title_or_no</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>colour_column_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>connect_bars</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_number</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_symbol</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_text</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>deep</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>grid_graph</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>grid_size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>interpolation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>lines_used</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>listbox_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>listbox_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ooo_template</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>position_legend</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>regression_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sector_pie_offset</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>series_source</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>symbol_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>user_column_id_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>user_data_title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>x_axis_property_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>y_axis_property_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_legend</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_position</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_stacked</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_three_dimensional</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_title_or_no</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>colour_column_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>connect_bars</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_number</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_symbol</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_text</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>deep</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>grid_graph</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>grid_size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>interpolation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>lines_used</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>listbox_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>listbox_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ooo_template</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>position_legend</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>regression_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sector_pie_offset</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>series_source</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>symbol_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>user_column_id_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>user_data_title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>x_axis_property_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>y_axis_property_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_legend</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>chart_position</string> </key>
+                    <value> <string>false</string> </value>
+                </item>
+                <item>
+                    <key> <string>chart_stacked</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>chart_three_dimensional</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>chart_title_or_no</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>chart_type</string> </key>
+                    <value> <string>chart:circle</string> </value>
+                </item>
+                <item>
+                    <key> <string>colour_column_list</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>getAvailableInventory</string>
+                          <string>00BB44</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>connect_bars</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_number</string> </key>
+                    <value> <string>none</string> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_symbol</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>data_label_text</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>deep</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>grid_graph</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>grid_size</string> </key>
+                    <value> <string>major</string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string>small</string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string>jpg</string> </value>
+                </item>
+                <item>
+                    <key> <string>interpolation</string> </key>
+                    <value> <string>none</string> </value>
+                </item>
+                <item>
+                    <key> <string>lines_used</string> </key>
+                    <value> <string>0</string> </value>
+                </item>
+                <item>
+                    <key> <string>listbox_form_id</string> </key>
+                    <value> <string>ERP5Site_viewBestSellerProductListGadget</string> </value>
+                </item>
+                <item>
+                    <key> <string>listbox_id</string> </key>
+                    <value> <string>listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>ooo_template</string> </key>
+                    <value> <string>ERP5Site_viewChart</string> </value>
+                </item>
+                <item>
+                    <key> <string>position_legend</string> </key>
+                    <value> <string>end</string> </value>
+                </item>
+                <item>
+                    <key> <string>regression_type</string> </key>
+                    <value> <string>none</string> </value>
+                </item>
+                <item>
+                    <key> <string>sector_pie_offset</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>series_source</string> </key>
+                    <value> <string>columns</string> </value>
+                </item>
+                <item>
+                    <key> <string>symbol_type</string> </key>
+                    <value> <string>none</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Best Sellers Products by Quantity Sold</string> </value>
+                </item>
+                <item>
+                    <key> <string>user_column_id_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>user_data_title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>x_axis_property_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>y_axis_property_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox.xml
new file mode 100644
index 0000000000..b6f5b6a32d
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>anchor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>count_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_display_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_style_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key_script</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>global_attributes</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_rows_on_no_search_criterion</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>meta_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>page_navigation_mode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>page_template</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>row_css_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>select</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>untranslatable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>anchor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>count_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_display_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_style_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key_script</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>global_attributes</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_rows_on_no_search_criterion</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>meta_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>page_navigation_mode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>page_template</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>row_css_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>select</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>untranslatable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>anchor</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Product</string>
+                        </tuple>
+                        <tuple>
+                          <string>total_quantity</string>
+                          <string>Quantity Sold</string>
+                        </tuple>
+                        <tuple>
+                          <string>total_price</string>
+                          <string>Amount of Sales</string>
+                        </tuple>
+                        <tuple>
+                          <string>image</string>
+                          <string>Image</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>count_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string>hidden_label</string> </value>
+                </item>
+                <item>
+                    <key> <string>default_display_style</string> </key>
+                    <value> <string>table</string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_style_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>domain_root_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>domain_tree</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>image</string>
+                          <string>Image</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key_script</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>global_attributes</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hide_rows_on_no_search_criterion</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>lines</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>meta_types</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>page_navigation_mode</string> </key>
+                    <value> <string>slider</string> </value>
+                </item>
+                <item>
+                    <key> <string>page_template</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Product</string>
+                          <string>Product</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>report_root_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>report_tree</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>row_css_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>select</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>title_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>none</string>
+                          <string>none</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Products</string> </value>
+                </item>
+                <item>
+                    <key> <string>untranslatable_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: context.Base_getListboxGadgetSelectionName(context.REQUEST.get(\'box_relative_url\', \'\'))</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Method" module="Products.Formulator.MethodField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>method_name</string> </key>
+            <value> <string>ERP5Site_getBestSellerProductList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_image.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_image.xml
new file mode 100644
index 0000000000..45352a04d6
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_image.xml
@@ -0,0 +1,314 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ImageField" module="Products.ERP5Form.ImageField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_image</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_resolution</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_resolution</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string>micro</string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string>png</string> </value>
+                </item>
+                <item>
+                    <key> <string>image_resolution</string> </key>
+                    <value> <int>75</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Image</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>cell/getDefaultImageAbsoluteUrl</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_price.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_price.xml
new file mode 100644
index 0000000000..b7828f1782
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_price.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_total_price</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_quantity.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_quantity.xml
new file mode 100644
index 0000000000..eb5664d415
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadget/listbox_total_quantity.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_total_quantity</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_quantity</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog.xml
new file mode 100644
index 0000000000..339bc1cfc9
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>KnowledgeBox_baseEdit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_section_category</string>
+                        <string>my_method</string>
+                        <string>my_mode</string>
+                        <string>my_from_date</string>
+                        <string>my_at_date</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_viewBestSellerProductListGadgetPreferenceDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>ERP5Site_viewBestSellerProductConfigurationDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>gadget_preference_form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_at_date.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_at_date.xml
new file mode 100644
index 0000000000..2777c4c764
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_at_date.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_at_date</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_date</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewKnowledgePadFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>At Date</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_from_date.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_from_date.xml
new file mode 100644
index 0000000000..69563d8253
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_from_date.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_from_date</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_date</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewKnowledgePadFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>From Date</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_method.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_method.xml
new file mode 100644
index 0000000000..c730152cea
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_method.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>items</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_method</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_gadget_preferences_list_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewKnowledgePadFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Current</string>
+                          <string>getCurrentInventoryList</string>
+                        </tuple>
+                        <tuple>
+                          <string>Available</string>
+                          <string>getAvailableInventoryList</string>
+                        </tuple>
+                        <tuple>
+                          <string>Future</string>
+                          <string>getFutureInventoryList</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Inventory Type</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_mode.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_mode.xml
new file mode 100644
index 0000000000..d59fe1cd21
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_mode.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>items</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_mode</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_gadget_preferences_list_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewKnowledgePadFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>By Amount of Sales</string>
+                          <string>total_price</string>
+                        </tuple>
+                        <tuple>
+                          <string>By Quantity Sold</string>
+                          <string>total_quantity</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Mode</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_section_category.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_section_category.xml
new file mode 100644
index 0000000000..e702466160
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/ERP5Site_viewBestSellerProductListGadgetPreferenceDialog/my_section_category.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_section_category</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_dialog_mode_section_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/calendar.js.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/calendar.js.xml
new file mode 100644
index 0000000000..e754ca1875
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/calendar.js.xml
@@ -0,0 +1,311 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Cacheable__manager_id</string> </key>
+            <value> <string>http_cache</string> </value>
+        </item>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts94421826.17</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>calendar.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/**\n
+ * jCalendar 0.5\n
+ *\n
+ * Some code based on jQuery Date Picker (http://kelvinluck.com/assets/jquery/datePicker/)\n
+ *\n
+ * Copyright (c) 2007 Theodore Serbinski (http://tedserbinski.com)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ */\n
+jQuery.jcalendar = function() {\n
+\tvar months = [\'January\', \'February\', \'March\', \'April\', \'May\', \'June\', \'July\', \'August\', \'September\', \'October\', \'November\', \'December\'];\n
+\tvar days = [\'S\', \'M\', \'Tu\', \'W\', \'Th\', \'F\', \'S\'];\n
+\tvar navLinks = {p:\'Prev\', n:\'Next\', t:\'Today\'};\n
+\tvar _firstDayOfWeek;\n
+\tvar _firstDate;\n
+\tvar _lastDate;\n
+\tvar _selectedDate;\n
+\n
+\tvar _drawCalendar = function(dateIn, a, day, month, year) {\n
+\t  var today = new Date();\n
+\t  var d;\n
+\n
+\t\tif (dateIn == undefined) {\n
+\t\t\t// start from this month.\n
+\t\t\td = new Date(today.getFullYear(), today.getMonth(), 1);\n
+\t\t\tyear.val(today.getFullYear());\n
+\t\t\tmonth.val(today.getMonth()+1);\n
+\t\t\tday.val(today.getDate());\n
+\t\t}\n
+\t\telse {\n
+\t\t\t// start from the passed in date\n
+\t\t\td = dateIn;\n
+\t\t  d.setDate(1);\n
+\t\t}\n
+\n
+\t\t// check that date is within allowed limits\n
+\t\tif ((d.getMonth() < _firstDate.getMonth() && d.getFullYear() == _firstDate.getFullYear()) || d.getFullYear() < _firstDate.getFullYear()) {\n
+\t\t\td = new Date(_firstDate.getFullYear(), _firstDate.getMonth(), 1);\n
+\t\t}\n
+\t\telse if ((d.getMonth() > _lastDate.getMonth() && d.getFullYear() == _lastDate.getFullYear()) || d.getFullYear() > _lastDate.getFullYear()) {\n
+\t\t\td = new Date(_lastDate.getFullYear(), _lastDate.getMonth(), 1);\n
+\t\t}\n
+\n
+\t\tvar firstMonth = true;\n
+\t\tvar firstDate = _firstDate.getDate();\n
+\n
+\t\t// create prev and next links\n
+\t\tif (!(d.getMonth() == _firstDate.getMonth() && d.getFullYear() == _firstDate.getFullYear())) {\n
+\t\t\t// not in first display month so show a previous link\n
+\t\t\tfirstMonth = false;\n
+\t\t\tvar lastMonth = d.getMonth() == 0 ? new Date(d.getFullYear()-1, 11, 1) : new Date(d.getFullYear(), d.getMonth()-1, 1);\n
+\t\t\tvar prevLink = jQuery(\'<a href="" class="link-prev">&lsaquo; \'+ navLinks.p +\'</a>\').click(function() {\n
+\t\t\t\tjQuery.jcalendar.changeMonth(lastMonth, this, day, month, year);\n
+\t\t\t\treturn false;\n
+\t\t\t});\n
+\t\t}\n
+\n
+\t\tvar finalMonth = true;\n
+\t\tvar lastDate = _lastDate.getDate();\n
+\n
+\t\tif (!(d.getMonth() == _lastDate.getMonth() && d.getFullYear() == _lastDate.getFullYear())) {\n
+\t\t\t// in the last month - no next link\n
+\t\t\tfinalMonth = false;\n
+\t\t\tvar nextMonth = new Date(d.getFullYear(), d.getMonth()+1, 1);\n
+\t\t\tvar nextLink = jQuery(\'<a href="" class="link-next">\'+ navLinks.n +\' &rsaquo;</a>\').click(function() {\n
+\t\t\t\tjQuery.jcalendar.changeMonth(nextMonth, this, day, month, year);\n
+\t\t\t\treturn false;\n
+\t\t\t});\n
+\t\t}\n
+\n
+\t\tvar todayLink = jQuery(\'<a href="" class="link-today">\'+ navLinks.t +\'</a>\').click(function() {\n
+\t\t\tday.val(today.getDate());\n
+\t\t\tjQuery.jcalendar.changeMonth(today, this, day, month, year);\n
+\t\t\treturn false;\n
+\t\t});\n
+\n
+    // update the year and month select boxes\n
+  \tyear.val(d.getFullYear());\n
+  \tmonth.val(d.getMonth()+1);\n
+\n
+\t\tvar headRow = jQuery("<tr></tr>");\n
+\t\tfor (var i=_firstDayOfWeek; i<_firstDayOfWeek+7; i++) {\n
+\t\t\tvar weekday = i%7;\n
+\t\t\tvar wordday = days[weekday];\n
+\t\t\theadRow.append(\'<th scope="col" abbr="\'+ wordday +\'" title="\'+ wordday +\'" class="\'+ (weekday == 0 || weekday == 6 ? \'weekend\' : \'weekday\') +\'">\'+ wordday +\'</th>\');\n
+\t\t}\n
+\t\theadRow = jQuery("<thead></thead>").append(headRow);\n
+\n
+\t\tvar tBody = jQuery("<tbody></tbody>");\n
+\t\tvar lastDay = (new Date(d.getFullYear(), d.getMonth()+1, 0)).getDate();\n
+\t\tvar curDay = _firstDayOfWeek - d.getDay();\n
+\t\tif (curDay > 0) curDay -= 7;\n
+\n
+\t\tvar todayDate = today.getDate();\n
+\t\tvar thisMonth = d.getMonth() == today.getMonth() && d.getFullYear() == today.getFullYear();\n
+\n
+    // render calendar\n
+\t\tdo {\n
+ \t\t  var thisRow = jQuery("<tr></tr>");\n
+  \t\tfor (var i=0; i<7; i++) {\n
+  \t\t\tvar weekday = (_firstDayOfWeek + i) % 7;\n
+  \t\t\tvar atts = {\'class\':(weekday == 0 || weekday == 6 ? \'weekend \' : \'weekday \')};\n
+\n
+  \t\t\tif (curDay < 0 || curDay >= lastDay) {\n
+  \t\t\t\tdayStr = \' \';\n
+  \t\t\t}\n
+  \t\t\telse if (firstMonth && curDay < firstDate-1) {\n
+  \t\t\t\tdayStr = curDay+1;\n
+  \t\t\t\tatts[\'class\'] += \'inactive\';\n
+  \t\t\t}\n
+  \t\t\telse if (finalMonth && curDay > lastDate-1) {\n
+  \t\t\t\tdayStr = curDay+1;\n
+  \t\t\t\tatts[\'class\'] += \'inactive\';\n
+  \t\t\t}\n
+  \t\t\telse {\n
+  \t\t\t\td.setDate(curDay+1);\n
+\n
+  \t\t\t\t// attach a click handler to every day to select it if clicked\n
+  \t\t\t\t// we use the rel attribute to keep track of the day that is being clicked\n
+  \t\t\t\tdayStr = jQuery(\'<a href="" rel="\'+ d +\'">\'+ (curDay+1) +\'</a>\').click(function(e) {\n
+            if (_selectedDate) {\n
+               _selectedDate.removeClass(\'selected\');\n
+            }\n
+      \t\t\t_selectedDate = jQuery(this);\n
+      \t\t\t_selectedDate.addClass(\'selected\');\n
+            day.val(new Date(_selectedDate.attr(\'rel\')).getDate());\n
+  \t\t\t\t\treturn false;\n
+  \t\t\t\t});\n
+\n
+  \t\t\t\t// highlight the current selected day\n
+  \t\t\t\tif (day.val() == d.getDate()) {\n
+  \t\t\t\t  _selectedDate = dayStr;\n
+  \t\t\t\t  _selectedDate.addClass(\'selected\');\n
+  \t\t\t\t}\n
+  \t\t\t}\n
+\n
+  \t\t\tif (thisMonth && curDay+1 == todayDate) {\n
+  \t\t\t\tatts[\'class\'] += \'today\';\n
+  \t\t\t}\n
+  \t\t\tthisRow.append(jQuery("<td></td>").attr(atts).append(dayStr));\n
+  \t\t\tcurDay++;\n
+      }\n
+\n
+\t\t\ttBody.append(thisRow);\n
+\t\t} while (curDay < lastDay);\n
+\n
+\t\tjQuery(\'div.jcalendar\').html(\'<table cellspacing="1"></table><div class="jcalendar-links"></div>\');\n
+\t\tjQuery(\'div.jcalendar table\').append(headRow, tBody);\n
+\t\tjQuery(\'div.jcalendar > div.jcalendar-links\').append(prevLink, todayLink, nextLink);\n
+\t};\n
+\n
+\treturn {\n
+\t\tshow: function(a, day, month, year) {\n
+ \t\t\t_firstDate = a._startDate;\n
+\t\t\t_lastDate = a._endDate;\n
+\t\t\t_firstDayOfWeek = a._firstDayOfWeek;\n
+\n
+\t\t\t// pass in the selected form date if one was set\n
+\t\t\tvar selected;\n
+\t\t\tif (year.val() > 0 && month.val() > 0 && day.val() > 0) {\n
+\t\t\t  selected = new Date(year.val(), month.val()-1, day.val());\n
+\t\t\t}\n
+\t\t\telse {\n
+\t\t\t  selected = null;\n
+\t\t\t}\n
+\t\t\t_drawCalendar(selected, a, day, month, year);\n
+\t\t},\n
+\t\tchangeMonth: function(d, e, day, month, year) {\n
+\t\t\t_drawCalendar(d, e, day, month, year);\n
+\t\t},\n
+\t\t/**\n
+\t\t* Function: setLanguageStrings\n
+\t\t*\n
+\t\t* Allows you to localise the calendar by passing in relevant text for the english strings in the plugin.\n
+\t\t*\n
+\t\t* Arguments:\n
+\t\t* days\t\t-\tArray, e.g. [\'Sunday\', \'Monday\', \'Tuesday\', \'Wednesday\', \'Thursday\', \'Friday\', \'Saturday\']\n
+\t\t* months\t-\tArray, e.g. [\'January\', \'Febuary\', \'March\', \'April\', \'May\', \'June\', \'July\', \'August\', \'September\', \'October\', \'November\', \'December\'];\n
+\t\t* navLinks\t-\tObject, e.g. {p:\'Prev\', n:\'Next\', c:\'Close\', b:\'Choose date\'}\n
+\t\t**/\n
+\t\tsetLanguageStrings: function(aDays, aMonths, aNavLinks) {\n
+\t\t\tdays = aDays;\n
+\t\t\tmonths = aMonths;\n
+\t\t\tnavLinks = aNavLinks;\n
+\t\t},\n
+\t\t/**\n
+\t\t* Function: setDateWindow\n
+\t\t*\n
+\t\t* Used internally to set the start and end dates for a given date select\n
+\t\t*\n
+\t\t* Arguments:\n
+\t\t* i\t\t\t-\tThe id of the INPUT element this date window is for\n
+\t\t* w\t\t\t-\tThe date window - an object containing startDate and endDate properties\n
+\t\t*\t\t\t\te.g. {startDate:\'24-11-1981\', endDate:\'25-12-2012}\n
+\t\t**/\n
+\t\tsetDateWindow: function(i, w, year) {\n
+\t\t\tif (w == undefined) w = {};\n
+\t\t\tif (w.startDate == undefined) {\n
+\t\t\t\t// set the minimum browseable date equal to January of the min year in the select box\n
+\t\t\t\t// don\'t get the first option because that is an empty year\n
+\n
+\t\t\t\t// note we can\'t do this: year.find(\'option:eq(1)\').val()\n
+\t\t\t\t// it doesn\'t work in 1.0 since find() is destructive\n
+\t\t\t\t// so we copy the object to a new var\n
+\t\t\t\ti._startDate = new Date($(year).find(\'option:eq(1)\').val(), 0, 1);\n
+\t\t\t}\n
+\t\t\telse {\n
+  \t\t\tdateParts = w.startDate.split(\'-\');\n
+  \t\t\ti._startDate = new Date(dateParts[2], Number(dateParts[1])-1, Number(dateParts[0]));\n
+\t\t\t}\n
+\t\t\tif (w.endDate == undefined) {\n
+\t\t\t  // set the maximum browseable date equal to December of the max year in the select box\n
+\n
+\t\t\t  // note we can\'t do this: year.find(\'option:last\').val()\n
+\t\t\t\t// it doesn\'t work in 1.0 since find() is destructive\n
+\t\t\t\t// so we copy the object to a new var\n
+\t\t\t\ti._endDate = new Date($(year).find(\'option:last\').val(), 11, 1);\n
+\t\t\t}\n
+\t\t\telse {\n
+  \t\t\tdateParts = w.endDate.split(\'-\');\n
+  \t\t\ti._endDate = new Date(dateParts[2], Number(dateParts[1])-1, Number(dateParts[0]));\n
+\t\t\t}\n
+\t\t\ti._firstDayOfWeek = w.firstDayOfWeek == undefined ? 0 : w.firstDayOfWeek;\n
+\t\t}\n
+\t};\n
+}();\n
+\n
+jQuery.fn.jcalendar = function(a) {\n
+\tthis.each(function() {\n
+    var day = $(this).find(\'select.jcalendar-select-day\');\n
+    var month = $(this).find(\'select.jcalendar-select-month\');\n
+    var year = $(this).find(\'select.jcalendar-select-year\');\n
+    $(\'div.jcalendar-selects\').after(\'<div class="jcalendar"></div>\');\n
+\t\tjQuery.jcalendar.setDateWindow(this, a, year);\n
+\t\tjQuery.jcalendar.show(this, day, month, year);\n
+\n
+\t\tday.change(function() {\n
+\t\t  // only if a valid day is selected\n
+\t\t  if (this.value > 0) {\n
+\t\t    d = new Date(year.val(), month.val()-1, this.value);\n
+  \t    jQuery.jcalendar.changeMonth(d, a, day, month, year);\n
+  \t  }\n
+\t\t});\n
+\n
+\t\tmonth.change(function() {\n
+\t\t  // only if a valid month is selected\n
+\t\t  if (this.value > 0) {\n
+\t\t    d = new Date(year.val(), this.value-1, 1);\n
+  \t    jQuery.jcalendar.changeMonth(d, a, day, month, year);\n
+  \t  }\n
+\t\t});\n
+\n
+\t\tyear.change(function() {\n
+\t\t  // only if a valid year is selected\n
+\t\t  if (this.value > 0) {\n
+  \t\t  d = new Date(this.value, month.val()-1, 1);\n
+    \t  jQuery.jcalendar.changeMonth(d, a, day, month, year);\n
+    \t}\n
+\t\t});\n
+\n
+\t});\n
+\treturn this;\n
+};\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9221</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>calendar.js</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/cwcalendar.css.xml b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/cwcalendar.css.xml
new file mode 100644
index 0000000000..4ee5db538e
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/SkinTemplateItem/portal_skins/erp5_trade_knowledge_pad/cwcalendar.css.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Cacheable__manager_id</string> </key>
+            <value> <string>http_cache</string> </value>
+        </item>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts94421859.49</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>cwcalendar.css</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/css</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>fieldset.jcalendar {\n
+border:1px solid #A1A5A9;\n
+font:.9em Arial, Helvetica, sans-serif;\n
+}\n
+\n
+div.jcalendar-wrapper {\n
+width:20em;\n
+}\n
+\n
+div.jcalendar-selects {\n
+padding:.6em .4em;\n
+text-align:center;\n
+}\n
+\n
+div.jcalendar-selects select {\n
+border:1px solid #A1A5A9;\n
+font-size:100%;\n
+}\n
+\n
+div.jcalendar table {\n
+background:#a1a5a9;\n
+color:#000;\n
+margin:.3em auto;\n
+}\n
+\n
+div.jcalendar table th {\n
+background:#eee;\n
+}\n
+\n
+div.jcalendar table td {\n
+background:#f9f9f9;\n
+padding:0;\n
+width:2.2em;\n
+}\n
+\n
+div.jcalendar table th.weekend {\n
+background:#ddd;\n
+}\n
+\n
+div.jcalendar table td.weekend {\n
+background:#e9e9e9;\n
+}\n
+\n
+div.jcalendar table td a {\n
+color:#333;\n
+display:block;\n
+line-height:1.7em;\n
+text-align:center;\n
+text-decoration:none;\n
+width:2.2em;\n
+}\n
+\n
+div.jcalendar table td.today a {\n
+background:#777;\n
+border-color:#aaa;\n
+color:#fff;\n
+font-weight:700;\n
+}\n
+\n
+div.jcalendar table td a:hover,div.jcalendar table td a:focus,div.jcalendar table td a:active {\n
+background:#77b0d3;\n
+color:#fff;\n
+padding:0;\n
+}\n
+\n
+div.jcalendar table td a.selected {\n
+background:#0072b9;\n
+color:#fff;\n
+}\n
+\n
+div.jcalendar-links {\n
+margin:.4em;\n
+text-align:center;\n
+}\n
+\n
+div.jcalendar-links a {\n
+padding:.2em .4em;\n
+}</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1116</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>cwcalendar.css</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade_knowledge_pad/bt/change_log b/bt5/erp5_trade_knowledge_pad/bt/change_log
new file mode 100644
index 0000000000..6593e2deb1
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/change_log
@@ -0,0 +1,2 @@
+2011-03-15 Ivan
+* Initial import
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/copyright_list b/bt5/erp5_trade_knowledge_pad/bt/copyright_list
new file mode 100644
index 0000000000..9a42cce503
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/copyright_list
@@ -0,0 +1 @@
+Copyright (c) 2011-2011 Nexedi SA
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/dependency_list b/bt5/erp5_trade_knowledge_pad/bt/dependency_list
new file mode 100644
index 0000000000..31a4fc7a86
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/dependency_list
@@ -0,0 +1,2 @@
+erp5_knowledge_pad
+erp5_trade
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/description b/bt5/erp5_trade_knowledge_pad/bt/description
new file mode 100644
index 0000000000..bf287cf470
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/description
@@ -0,0 +1 @@
+Provides Trade related gadgets.
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/license b/bt5/erp5_trade_knowledge_pad/bt/license
new file mode 100644
index 0000000000..3a3e12bcad
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/license
@@ -0,0 +1 @@
+GPL
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/revision b/bt5/erp5_trade_knowledge_pad/bt/revision
new file mode 100644
index 0000000000..e440e5c842
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/revision
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/template_format_version b/bt5/erp5_trade_knowledge_pad/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/template_path_list b/bt5/erp5_trade_knowledge_pad/bt/template_path_list
new file mode 100644
index 0000000000..a919777f74
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/template_path_list
@@ -0,0 +1,2 @@
+portal_gadgets/erp5_gadget_best_seller_products
+portal_gadgets/erp5_gadget_best_seller_products/**
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/template_skin_id_list b/bt5/erp5_trade_knowledge_pad/bt/template_skin_id_list
new file mode 100644
index 0000000000..1a0da54eeb
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_trade_knowledge_pad
\ No newline at end of file
diff --git a/bt5/erp5_trade_knowledge_pad/bt/title b/bt5/erp5_trade_knowledge_pad/bt/title
new file mode 100644
index 0000000000..1a0da54eeb
--- /dev/null
+++ b/bt5/erp5_trade_knowledge_pad/bt/title
@@ -0,0 +1 @@
+erp5_trade_knowledge_pad
\ No newline at end of file
-- 
2.30.9