From 3e4ae71bdad3d8831adc8c2d382d6c5961a0e87e Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Thu, 13 Dec 2007 02:05:04 +0000
Subject: [PATCH] Update Planning Box Configuration and tests. Make it
 compatible with the news configuration and changes.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@18277 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../testPlanningBoxBlockHeight.xml            |  26 +-
 .../testPlanningBoxColumnHeader.xml           |  86 +++---
 .../testPlanningBoxColumnHeaderLink.xml       |  50 ++-
 .../testPlanningBoxDataInfo.xml               |  43 ++-
 ...oom.xml => testPlanningBoxDefaultZoom.xml} |  19 +-
 .../testPlanningBoxDomainDataInfo.xml         |  41 ++-
 .../testPlanningBoxDragAndDrop.xml            | 287 ++++++++++++++++++
 .../testPlanningBoxEmpty.xml                  |  10 +-
 .../testPlanningBoxFoldAndUnfold.xml          |  31 +-
 .../testPlanningBoxNextPreviousZoom.xml       |  15 +-
 .../testPlanningBoxPage.xml                   |  31 +-
 ...estPlanningBoxVerticalViewColumnHeader.xml |  71 ++---
 ...lanningBoxVerticalViewColumnHeaderLink.xml |  42 +--
 .../Foo_viewPlanningBox/planning_box.xml      |  49 ++-
 bt5/erp5_ui_test/bt/revision                  |   2 +-
 15 files changed, 553 insertions(+), 250 deletions(-)
 rename bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/{testPlanningBoxDateZoom.xml => testPlanningBoxDefaultZoom.xml} (92%)
 create mode 100644 bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDragAndDrop.xml

diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxBlockHeight.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxBlockHeight.xml
index 95066db4c8..c335d19027 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxBlockHeight.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxBlockHeight.xml
@@ -54,7 +54,7 @@
 <body>\n
 <table cellpadding="1" cellspacing="1" border="1">\n
 <thead>\n
-<tr><td rowspan="1" colspan="3">Test PlanningBox Data Info</td></tr>\n
+<tr><td rowspan="1" colspan="3">Test PlanningBox block Height</td></tr>\n
 </thead><tbody>\n
 <tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
 <tr>\n
@@ -149,62 +149,62 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2"]</td>\n
+  <td>//div[@id="group_2"]</td>\n
   <td>[+] Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeader.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeader.xml
index 23b4f9b833..c796ae34c7 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeader.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeader.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -143,47 +140,47 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s %s/%s 0:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s %s/%s 3:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s %s/%s 6:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s %s/%s 9:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s %s/%s 12:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s %s/%s 15:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s %s/%s 18:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s %s/%s 21:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Year</td>\n
 </tr>\n
 <tr>\n
@@ -193,67 +190,67 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s/1\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s/2\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s/3\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s/4\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s/5\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s/6\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s/7\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s/8\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_9"]</td>\n
+  <td>//div[@id="group_lane_9"]</td>\n
   <td tal:content="python: \'%s/9\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_10"]</td>\n
+  <td>//div[@id="group_lane_10"]</td>\n
   <td tal:content="python: \'%s/10\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_11"]</td>\n
+  <td>//div[@id="group_lane_11"]</td>\n
   <td tal:content="python: \'%s/11\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_12"]</td>\n
+  <td>//div[@id="group_lane_12"]</td>\n
   <td tal:content="python: \'%s/12\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Month</td>\n
 </tr>\n
 <tr>\n
@@ -263,62 +260,73 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s/1/1\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s/1/4\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s/1/7\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s/1/10\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s/1/13\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s/1/16\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s/1/19\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s/1/22\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_9"]</td>\n
+  <td>//div[@id="group_lane_9"]</td>\n
   <td tal:content="python: \'%s/1/25\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_10"]</td>\n
+  <td>//div[@id="group_lane_10"]</td>\n
   <td tal:content="python: \'%s/1/28\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_11"]</td>\n
+  <td>//div[@id="group_lane_11"]</td>\n
   <td tal:content="python: \'%s/1/31\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
+<tr>\n
+\t<td>selectAndWait</td>\n
+\t<td>lane_path</td>\n
+\t<td>label=Day</td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextNotPresent</td>\n
+  <td>Site Error</td>\n
+  <td></td>\n
+</tr>\n
 </tbody></table>\n
 </body>\n
-</html>
+</html>\n
+
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeaderLink.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeaderLink.xml
index a1cfda6963..9fee0cdb0b 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeaderLink.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxColumnHeaderLink.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -143,7 +140,7 @@
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Year</td>\n
 </tr>\n
 <tr>\n
@@ -153,72 +150,72 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s/1\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s/2\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s/3\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s/4\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s/5\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s/6\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s/7\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s/8\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_9"]</td>\n
+  <td>//div[@id="group_lane_9"]</td>\n
   <td tal:content="python: \'%s/9\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_10"]</td>\n
+  <td>//div[@id="group_lane_10"]</td>\n
   <td tal:content="python: \'%s/10\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_11"]</td>\n
+  <td>//div[@id="group_lane_11"]</td>\n
   <td tal:content="python: \'%s/11\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_12"]</td>\n
+  <td>//div[@id="group_lane_12"]</td>\n
   <td tal:content="python: \'%s/12\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>.</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td tal:content="python: \'//div[@id=\\\'Group_sec_%s\\\']//a\' % (str(DateTime().month())) " ></td>\n
+  <td tal:content="python: \'//div[@id=\\\'group_lane_%s\\\']//a\' % (str(DateTime().month())) " ></td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -228,12 +225,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>.</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td tal:content="python: \'//div[@id=\\\'Group_sec_%s\\\']//a\' % (str((DateTime().day()/3)+1)) " ></td>\n
+  <td tal:content="python: \'//div[@id=\\\'group_lane_%s\\\']//a\' % (str((DateTime().day()/3)+1)) " ></td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -243,12 +240,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td tal:content="python: \'//div[@id=\\\'Group_sec_%s\\\']//a\' % (str(DateTime().dow()+1)) " ></td>\n
+  <td tal:content="python: \'//div[@id=\\\'group_lane_%s\\\']//a\' % (str(DateTime().dow()+1)) " ></td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -258,12 +255,13 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 </tbody></table>\n
 </body>\n
-</html>
+</html>\n
+
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDataInfo.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDataInfo.xml
index 7d0c376470..603426a3de 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDataInfo.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDataInfo.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -142,92 +139,92 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2"]</td>\n
+  <td>//div[@id="group_2"]</td>\n
   <td>[+] Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3"]</td>\n
+  <td>//div[@id="group_3"]</td>\n
   <td>[+] Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_3_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3_Activity_1_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_3_activity_1_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3_Activity_1_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_3_activity_1_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3_Activity_1_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_3_activity_1_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3_Activity_1_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_3_activity_1_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 </tbody></table>\n
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDateZoom.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDefaultZoom.xml
similarity index 92%
rename from bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDateZoom.xml
rename to bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDefaultZoom.xml
index 9bc0328c99..70055d1152 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDateZoom.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDefaultZoom.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -57,7 +54,7 @@
 <body>\n
 <table cellpadding="1" cellspacing="1" border="1">\n
 <thead>\n
-<tr><td rowspan="1" colspan="3">Test PlanningBox Date Zoom</td></tr>\n
+<tr><td rowspan="1" colspan="3">Test PlanningBox Default Zoom</td></tr>\n
 </thead><tbody>\n
 <tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
 <tr>\n
@@ -138,7 +135,7 @@
 \n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Week</td>\n
 </tr>\n
 <tr>\n
@@ -148,7 +145,7 @@
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Month</td>\n
 </tr>\n
 <tr>\n
@@ -158,7 +155,7 @@
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Year</td>\n
 </tr>\n
 <tr>\n
@@ -168,7 +165,7 @@
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Day</td>\n
 </tr>\n
 <tr>\n
@@ -204,7 +201,7 @@
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>testPlanningBoxDateZoom</string> </value>
+            <value> <string>testPlanningBoxDefaultZoom</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDomainDataInfo.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDomainDataInfo.xml
index 212828cd46..1d06f5b409 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDomainDataInfo.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDomainDataInfo.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -152,87 +149,87 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2"]</td>\n
+  <td>//div[@id="group_2"]</td>\n
   <td>[+] b</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] a</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_2_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_2_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_3_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_3_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_2_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_1_activity_2_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_3_Block_1"]/a[@class="planning_box_topright"]</td>\n
+  <td>//div[@id="group_1_activity_3_block_1"]/a[@class="planning_box_topright"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_2_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_1_activity_2_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_3_Block_1"]/a[@class="planning_box_topleft"]</td>\n
+  <td>//div[@id="group_1_activity_3_block_1"]/a[@class="planning_box_topleft"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_2_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_1_activity_2_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_3_Block_1"]/a[@class="planning_box_botright"]</td>\n
+  <td>//div[@id="group_1_activity_3_block_1"]/a[@class="planning_box_botright"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_2_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_1_activity_2_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_3_Block_1"]/a[@class="planning_box_botleft"]</td>\n
+  <td>//div[@id="group_1_activity_3_block_1"]/a[@class="planning_box_botleft"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 <tr>\n
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDragAndDrop.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDragAndDrop.xml
new file mode 100644
index 0000000000..232232b555
--- /dev/null
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxDragAndDrop.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </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_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
+      xmlns:metal="http://xml.zope.org/namespaces/metal">\n
+<head>\n
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
+<title>Test Planning Box Field </title>\n
+</head>\n
+<body>\n
+<table cellpadding="1" cellspacing="1" border="1">\n
+<thead>\n
+<tr><td rowspan="1" colspan="3">Test Invalid DateTime</td></tr>\n
+</thead><tbody>\n
+<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/FooModule_createObjects?num:int=1</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Created Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/ListBoxZuite_waitForActivities</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Done.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/0/Foo_createObjects?num:int=3</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Created Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/ListBoxZuite_waitForActivities</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Done.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/0/Foo_editObjectLineDates</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Modified Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/ListBoxZuite_waitForActivities</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Done.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/0/view</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//img[@alt=\'Planning\']</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextNotPresent</td>\n
+  <td>PlanningBoxError</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//div[@id="Group_2"]</td>\n
+  <td>[+] Title 1</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//div[@id="Group_3"]</td>\n
+  <td>[+] Title 0</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//div[@id="Group_1"]</td>\n
+  <td>[+] Title 2</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//div[@id="Group_2_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>Title 1</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>Title 2</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//div[@id="Group_3_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>Title 0</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPositionLeft</td>\n
+  <td>id=Group_1_Activity_1_Block_1</td>\n
+  <td>552</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPositionLeft</td>\n
+  <td>id=Group_2_Activity_1_Block_1</td>\n
+  <td>552</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPositionLeft</td>\n
+  <td>id=Group_3_Activity_1_Block_1</td>\n
+  <td>552</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPositionTop</td>\n
+  <td>id=Group_1_Activity_1_Block_1</td>\n
+  <td>280</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPositionTop</td>\n
+  <td>id=Group_2_Activity_1_Block_1</td>\n
+  <td>360</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPositionTop</td>\n
+  <td>id=Group_3_Activity_1_Block_1</td>\n
+  <td>440</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementWidth</td>\n
+  <td>id=Group_1_Activity_1_Block_1</td>\n
+  <td>322</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementWidth</td>\n
+  <td>id=Group_2_Activity_1_Block_1</td>\n
+  <td>322</td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementWidth</td>\n
+  <td>id=Group_3_Activity_1_Block_1</td>\n
+  <td>322</td>\n
+</tr>\n
+<tr>\n
+  <td>assertElementHeight</td>\n
+  <td>id=Group_1_Activity_1_Block_1</td>\n
+  <td>72</td>\n
+</tr>\n
+<tr>\n
+  <td>assertElementHeight</td>\n
+  <td>id=Group_2_Activity_1_Block_1</td>\n
+  <td>72</td>\n
+</tr>\n
+<tr>\n
+  <td>assertElementHeight</td>\n
+  <td>id=Group_3_Activity_1_Block_1</td>\n
+  <td>72</td>\n
+</tr>\n
+<tr>\n
+  <td>storeElementWidth</td>\n
+  <td>id=Group_3_Activity_1_Block_1</td>\n
+  <td>360</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//button[@title=\'Save\']</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextNotPresent</td>\n
+  <td>Site Error</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>mouseDownAt</td>\n
+  <td>id=Group_1_Activity_1_Block_1</td>\n
+  <td>330,85</td>\n
+</tr>\n
+<tr>\n
+  <td>dragdrop</td>\n
+  <td>id=Group_1_Activity_1_Block_1</td>\n
+  <td>20,-30</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//button[@title=\'Save\']</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextNotPresent</td>\n
+  <td>Site Error</td>\n
+  <td></td>\n
+</tr>\n
+</tbody></table>\n
+</body>\n
+</html>\n
+\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testPlanningBoxDragAndDrop</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxEmpty.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxEmpty.xml
index 21bd7b1e50..d3d717a8bf 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxEmpty.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxEmpty.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -97,7 +94,8 @@
 </tr>\n
 </tbody></table>\n
 </body>\n
-</html>
+</html>\n
+
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxFoldAndUnfold.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxFoldAndUnfold.xml
index 60605deb39..2066cf70f7 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxFoldAndUnfold.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxFoldAndUnfold.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -137,47 +134,47 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2"]</td>\n
+  <td>//div[@id="group_2"]</td>\n
   <td>[+] Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3"]</td>\n
+  <td>//div[@id="group_3"]</td>\n
   <td>[+] Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>id=Group_1_info</td>\n
+  <td>id=group_1_info</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>id=Group_2_info</td>\n
+  <td>id=group_2_info</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>id=Group_3_info</td>\n
+  <td>id=group_3_info</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>id=Group_1_info</td>\n
+  <td>id=group_1_info</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>id=Group_2_info</td>\n
+  <td>id=group_2_info</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>id=Group_3_info</td>\n
+  <td>id=group_3_info</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -202,17 +199,17 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_2_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_3_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 2</td>\n
 </tr>\n
 </tbody></table>\n
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxNextPreviousZoom.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxNextPreviousZoom.xml
index 54a09c767a..9d1aa90392 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxNextPreviousZoom.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxNextPreviousZoom.xml
@@ -54,7 +54,7 @@
 <body>\n
 <table cellpadding="1" cellspacing="1" border="1">\n
 <thead>\n
-<tr><td rowspan="1" colspan="3">Test PlanningBox Data Info</td></tr>\n
+<tr><td rowspan="1" colspan="3">Test PlanningBox Next and Previous Lane</td></tr>\n
 </thead><tbody>\n
 <tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
 <tr>\n
@@ -139,12 +139,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
@@ -154,7 +154,7 @@
 </tr>\n
 <tr>\n
   <td>verifyElementNotPresent</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -164,7 +164,7 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
@@ -174,12 +174,13 @@
 </tr>\n
 <tr>\n
   <td>verifyElementNotPresent</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td></td>\n
 </tr>\n
 </tbody></table>\n
 </body>\n
-</html>
+</html>\n
+
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxPage.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxPage.xml
index cb91a99429..b7ab112a63 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxPage.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxPage.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -136,52 +133,52 @@
   <td></td>\n
 </tr><tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2"]</td>\n
+  <td>//div[@id="group_2"]</td>\n
   <td>[+] Title 1</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_3"]</td>\n
+  <td>//div[@id="group_3"]</td>\n
   <td>[+] Title 10</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_4"]</td>\n
+  <td>//div[@id="group_4"]</td>\n
   <td>[+] Title 11</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_5"]</td>\n
+  <td>//div[@id="group_5"]</td>\n
   <td>[+] Title 2</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_6"]</td>\n
+  <td>//div[@id="group_6"]</td>\n
   <td>[+] Title 3</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_7"]</td>\n
+  <td>//div[@id="group_7"]</td>\n
   <td>[+] Title 4</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_8"]</td>\n
+  <td>//div[@id="group_8"]</td>\n
   <td>[+] Title 5</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_9"]</td>\n
+  <td>//div[@id="group_9"]</td>\n
   <td>[+] Title 6</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_10"]</td>\n
+  <td>//div[@id="group_10"]</td>\n
   <td>[+] Title 7</td>\n
 </tr>\n
 <tr>\n
@@ -191,12 +188,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1"]</td>\n
+  <td>//div[@id="group_1"]</td>\n
   <td>[+] Title 8</td>\n
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_2"]</td>\n
+  <td>//div[@id="group_2"]</td>\n
   <td>[+] Title 9</td>\n
 </tr>\n
 <tr>\n
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeader.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeader.xml
index 7c0d8d665b..93c77bcb81 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeader.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeader.xml
@@ -150,47 +150,47 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s %s/%s 0:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s %s/%s 3:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s %s/%s 6:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s %s/%s 9:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s %s/%s 12:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s %s/%s 15:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s %s/%s 18:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s %s/%s 21:00\' % (DateTime().Day(), str(DateTime().month()),  str(DateTime().day()))"> </td>\n
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Year</td>\n
 </tr>\n
 <tr>\n
@@ -200,67 +200,67 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s/1\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s/2\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s/3\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s/4\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s/5\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s/6\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s/7\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s/8\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_9"]</td>\n
+  <td>//div[@id="group_lane_9"]</td>\n
   <td tal:content="python: \'%s/9\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_10"]</td>\n
+  <td>//div[@id="group_lane_10"]</td>\n
   <td tal:content="python: \'%s/10\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_11"]</td>\n
+  <td>//div[@id="group_lane_11"]</td>\n
   <td tal:content="python: \'%s/11\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_12"]</td>\n
+  <td>//div[@id="group_lane_12"]</td>\n
   <td tal:content="python: \'%s/12\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Month</td>\n
 </tr>\n
 <tr>\n
@@ -270,62 +270,62 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s/1/1\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s/1/4\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s/1/7\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s/1/10\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s/1/13\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s/1/16\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s/1/19\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s/1/22\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_9"]</td>\n
+  <td>//div[@id="group_lane_9"]</td>\n
   <td tal:content="python: \'%s/1/25\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_10"]</td>\n
+  <td>//div[@id="group_lane_10"]</td>\n
   <td tal:content="python: \'%s/1/28\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_11"]</td>\n
+  <td>//div[@id="group_lane_11"]</td>\n
   <td tal:content="python: \'%s/1/31\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Day</td>\n
 </tr>\n
 <tr>\n
@@ -345,7 +345,8 @@
 </tr>\n
 </tbody></table>\n
 </body>\n
-</html>
+</html>\n
+
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeaderLink.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeaderLink.xml
index 873c936099..64d6a05463 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeaderLink.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/planning_box_field_zuite/testPlanningBoxVerticalViewColumnHeaderLink.xml
@@ -150,7 +150,7 @@
 </tr>\n
 <tr>\n
 \t<td>selectAndWait</td>\n
-\t<td>zoom_level</td>\n
+\t<td>lane_path</td>\n
 \t<td>label=Year</td>\n
 </tr>\n
 <tr>\n
@@ -160,72 +160,72 @@
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_1"]</td>\n
+  <td>//div[@id="group_lane_1"]</td>\n
   <td tal:content="python: \'%s/1\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_2"]</td>\n
+  <td>//div[@id="group_lane_2"]</td>\n
   <td tal:content="python: \'%s/2\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_3"]</td>\n
+  <td>//div[@id="group_lane_3"]</td>\n
   <td tal:content="python: \'%s/3\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_4"]</td>\n
+  <td>//div[@id="group_lane_4"]</td>\n
   <td tal:content="python: \'%s/4\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_5"]</td>\n
+  <td>//div[@id="group_lane_5"]</td>\n
   <td tal:content="python: \'%s/5\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_6"]</td>\n
+  <td>//div[@id="group_lane_6"]</td>\n
   <td tal:content="python: \'%s/6\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_7"]</td>\n
+  <td>//div[@id="group_lane_7"]</td>\n
   <td tal:content="python: \'%s/7\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_8"]</td>\n
+  <td>//div[@id="group_lane_8"]</td>\n
   <td tal:content="python: \'%s/8\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_9"]</td>\n
+  <td>//div[@id="group_lane_9"]</td>\n
   <td tal:content="python: \'%s/9\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_10"]</td>\n
+  <td>//div[@id="group_lane_10"]</td>\n
   <td tal:content="python: \'%s/10\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_11"]</td>\n
+  <td>//div[@id="group_lane_11"]</td>\n
   <td tal:content="python: \'%s/11\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <tr>\n
   <td>assertText</td>\n
-  <td>//div[@id="Group_sec_12"]</td>\n
+  <td>//div[@id="group_lane_12"]</td>\n
   <td tal:content="python: \'%s/12\' % (str(DateTime().year()))"> </td>\n
 </tr>\n
 <!-- tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>.</td>\n
 </tr -->\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td tal:content="python: \'//div[@id=\\\'Group_sec_%s\\\']//a\' % (str(DateTime().month())) " ></td>\n
+  <td tal:content="python: \'//div[@id=\\\'group_lane_%s\\\']//a\' % (str(DateTime().month())) " ></td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -235,12 +235,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
-  <td>Title 0</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>.</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td tal:content="python: \'//div[@id=\\\'Group_sec_%s\\\']//a\' % (str((DateTime().day()/3)+1)) " ></td>\n
+  <td tal:content="python: \'//div[@id=\\\'group_lane_%s\\\']//a\' % (str((DateTime().day()/3)+1)) " ></td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -250,12 +250,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td tal:content="python: \'//div[@id=\\\'Group_sec_%s\\\']//a\' % (str(DateTime().dow()+1)) " ></td>\n
+  <td tal:content="python: \'//div[@id=\\\'group_lane_%s\\\']//a\' % (str(DateTime().dow()+1)) " ></td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -265,7 +265,7 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//div[@id="Group_1_Activity_1_Block_1"]/div[@class="planning_box_center"]</td>\n
+  <td>//div[@id="group_1_activity_1_block_1"]/div[@class="planning_box_center"]</td>\n
   <td>Title 0</td>\n
 </tr>\n
 <tr>\n
diff --git a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Foo_viewPlanningBox/planning_box.xml b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Foo_viewPlanningBox/planning_box.xml
index e50efbc24e..f3ddb97570 100644
--- a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Foo_viewPlanningBox/planning_box.xml
+++ b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Foo_viewPlanningBox/planning_box.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.ERP5Form.PlanningBox</string>
-          <string>PlanningBox</string>
-        </tuple>
-        <none/>
+        <global name="PlanningBox" module="Products.ERP5Form.PlanningBox"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -477,6 +474,14 @@
                     <key> <string>info_backright</string> </key>
                     <value> <string>getTitle</string> </value>
                 </item>
+                <item>
+                    <key> <string>info_botleft</string> </key>
+                    <value> <string>getTitle</string> </value>
+                </item>
+                <item>
+                    <key> <string>info_botright</string> </key>
+                    <value> <string>getTitle</string> </value>
+                </item>
                 <item>
                     <key> <string>info_center</string> </key>
                     <value> <string>getTitle</string> </value>
@@ -549,6 +554,29 @@
                     <key> <string>second_layer_list_method</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>secondary_root_list</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>year_domain</string>
+                          <string>Year</string>
+                        </tuple>
+                        <tuple>
+                          <string>month_domain</string>
+                          <string>Month</string>
+                        </tuple>
+                        <tuple>
+                          <string>week_domain</string>
+                          <string>Week</string>
+                        </tuple>
+                        <tuple>
+                          <string>day_domain</string>
+                          <string>Day</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
                 <item>
                     <key> <string>selection_name</string> </key>
                     <value> <string>planning_0</string> </value>
@@ -567,7 +595,7 @@
                 </item>
                 <item>
                     <key> <string>size_planning_width</string> </key>
-                    <value> <int>800</int> </value>
+                    <value> <int>700</int> </value>
                 </item>
                 <item>
                     <key> <string>size_x_axis_height</string> </key>
@@ -638,7 +666,7 @@
                 </item>
                 <item>
                     <key> <string>y_size_block</string> </key>
-                    <value> <string>quantity</string> </value>
+                    <value> <string></string> </value>
                 </item>
               </dictionary>
             </value>
@@ -649,11 +677,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.MethodField</string>
-          <string>Method</string>
-        </tuple>
-        <none/>
+        <global name="Method" module="Products.Formulator.MethodField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index f491e22fc0..f1efb20540 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-299
\ No newline at end of file
+300
\ No newline at end of file
-- 
2.30.9