From db3c9fcf3fde621d51a338e5c5fe25f053498e0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Le=20Ninivin?= <cedric.leninivin@tiolive.com>
Date: Fri, 11 Sep 2015 10:22:57 +0000
Subject: [PATCH] erp5_officejs: Updated to generic officeJS Launcher, works
 offline

erp5_officejs: Updated Appcache and jioConf
---
 .../gadget_ckeditor_appcache.xml              | 656 ++++++++++++++++++
 .../web_page_module/gadget_ckeditor_html.xml  |   9 +-
 .../gadget_officejs_appcache.xml              | 387 +++++++++++
 .../gadget_officejs_header_js.xml             |  14 +-
 .../gadget_officejs_jio_html.xml              | 349 ++++++++++
 .../gadget_officejs_jio_js.xml                | 415 +++++++++++
 ...gadget_officejs_jio_web_page_view_html.xml |  10 +-
 .../gadget_officejs_jio_web_page_view_js.xml  |  36 +-
 .../gadget_officejs_page_login_html.xml       | 375 ++++++++++
 .../gadget_officejs_page_login_js.xml         | 391 +++++++++++
 .../gadget_officejs_page_sync_html.xml        |   8 +-
 .../gadget_officejs_page_sync_js.xml          |   6 +-
 ...dget_officejs_page_text_editor_list_js.xml |   7 +-
 .../gadget_officejs_router_html.xml           | 349 ++++++++++
 .../gadget_officejs_router_js.xml             | 381 ++++++++++
 ...ejs_text_editor_application_panel_html.xml | 382 ++++++++++
 ...icejs_text_editor_application_panel_js.xml | 424 +++++++++++
 .../web_page_module/officejs_launcher_js.xml  |  14 +-
 .../web_site_module/officejs_text_editor.xml  | 115 ++-
 .../officejs_text_editor/hateoas.xml          |   6 +-
 .../officejs_text_editor/rjsunsafe.xml        | 348 ++++++++++
 .../ckeditor/ckeditor.js.xml                  |   6 +-
 22 files changed, 4625 insertions(+), 63 deletions(-)
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_appcache.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_appcache.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_html.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_js.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_html.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_js.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_html.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_js.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_html.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_js.xml
 create mode 100644 bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/rjsunsafe.xml

diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_appcache.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_appcache.xml
new file mode 100644
index 0000000000..4830779184
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_appcache.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Manifest" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_ckeditor.appcache</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_ckeditor_appcache</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Manifest</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string>CACHE MANIFEST\n
+# generated on Fri, 06 Feb 2015 15:31:33 +0000\n
+# XXX + fonts\n
+# images/ajax-loader.gif\n
+# XXX Adding gadget_ckeditor first is not a good idea\n
+# XXX Make sure to have ckeditor timestamp set to ""\n
+CACHE:\n
+gadget_ckeditor.html/renderjs.js\n
+gadget_ckeditor.html/rsvp.js\n
+gadget_ckeditor.html/gadget_ckeditor.js\n
+gadget_ckeditor.html/ckeditor/CHANGES.md\n
+gadget_ckeditor.html/ckeditor/LICENSE.md\n
+gadget_ckeditor.html/ckeditor/README.md\n
+gadget_ckeditor.html/ckeditor/adapters/jquery.js\n
+gadget_ckeditor.html/ckeditor/build-config.js\n
+gadget_ckeditor.html/ckeditor/ckeditor.js\n
+gadget_ckeditor.html/ckeditor/config.js\n
+gadget_ckeditor.html/ckeditor/contents.css\n
+gadget_ckeditor.html/ckeditor/lang/af.js\n
+gadget_ckeditor.html/ckeditor/lang/ar.js\n
+gadget_ckeditor.html/ckeditor/lang/bg.js\n
+gadget_ckeditor.html/ckeditor/lang/bn.js\n
+gadget_ckeditor.html/ckeditor/lang/bs.js\n
+gadget_ckeditor.html/ckeditor/lang/ca.js\n
+gadget_ckeditor.html/ckeditor/lang/cs.js\n
+gadget_ckeditor.html/ckeditor/lang/cy.js\n
+gadget_ckeditor.html/ckeditor/lang/da.js\n
+gadget_ckeditor.html/ckeditor/lang/de.js\n
+gadget_ckeditor.html/ckeditor/lang/el.js\n
+gadget_ckeditor.html/ckeditor/lang/en-au.js\n
+gadget_ckeditor.html/ckeditor/lang/en-ca.js\n
+gadget_ckeditor.html/ckeditor/lang/en-gb.js\n
+gadget_ckeditor.html/ckeditor/lang/en.js\n
+gadget_ckeditor.html/ckeditor/lang/eo.js\n
+gadget_ckeditor.html/ckeditor/lang/es.js\n
+gadget_ckeditor.html/ckeditor/lang/et.js\n
+gadget_ckeditor.html/ckeditor/lang/eu.js\n
+gadget_ckeditor.html/ckeditor/lang/fa.js\n
+gadget_ckeditor.html/ckeditor/lang/fi.js\n
+gadget_ckeditor.html/ckeditor/lang/fo.js\n
+gadget_ckeditor.html/ckeditor/lang/fr-ca.js\n
+gadget_ckeditor.html/ckeditor/lang/fr.js\n
+gadget_ckeditor.html/ckeditor/lang/gl.js\n
+gadget_ckeditor.html/ckeditor/lang/gu.js\n
+gadget_ckeditor.html/ckeditor/lang/he.js\n
+gadget_ckeditor.html/ckeditor/lang/hi.js\n
+gadget_ckeditor.html/ckeditor/lang/hr.js\n
+gadget_ckeditor.html/ckeditor/lang/hu.js\n
+gadget_ckeditor.html/ckeditor/lang/id.js\n
+gadget_ckeditor.html/ckeditor/lang/is.js\n
+gadget_ckeditor.html/ckeditor/lang/it.js\n
+gadget_ckeditor.html/ckeditor/lang/ja.js\n
+gadget_ckeditor.html/ckeditor/lang/ka.js\n
+gadget_ckeditor.html/ckeditor/lang/km.js\n
+gadget_ckeditor.html/ckeditor/lang/ko.js\n
+gadget_ckeditor.html/ckeditor/lang/ku.js\n
+gadget_ckeditor.html/ckeditor/lang/lt.js\n
+gadget_ckeditor.html/ckeditor/lang/lv.js\n
+gadget_ckeditor.html/ckeditor/lang/mk.js\n
+gadget_ckeditor.html/ckeditor/lang/mn.js\n
+gadget_ckeditor.html/ckeditor/lang/ms.js\n
+gadget_ckeditor.html/ckeditor/lang/nb.js\n
+gadget_ckeditor.html/ckeditor/lang/nl.js\n
+gadget_ckeditor.html/ckeditor/lang/no.js\n
+gadget_ckeditor.html/ckeditor/lang/pl.js\n
+gadget_ckeditor.html/ckeditor/lang/pt-br.js\n
+gadget_ckeditor.html/ckeditor/lang/pt.js\n
+gadget_ckeditor.html/ckeditor/lang/ro.js\n
+gadget_ckeditor.html/ckeditor/lang/ru.js\n
+gadget_ckeditor.html/ckeditor/lang/si.js\n
+gadget_ckeditor.html/ckeditor/lang/sk.js\n
+gadget_ckeditor.html/ckeditor/lang/sl.js\n
+gadget_ckeditor.html/ckeditor/lang/sq.js\n
+gadget_ckeditor.html/ckeditor/lang/sr-latn.js\n
+gadget_ckeditor.html/ckeditor/lang/sr.js\n
+gadget_ckeditor.html/ckeditor/lang/sv.js\n
+gadget_ckeditor.html/ckeditor/lang/th.js\n
+gadget_ckeditor.html/ckeditor/lang/tr.js\n
+gadget_ckeditor.html/ckeditor/lang/tt.js\n
+gadget_ckeditor.html/ckeditor/lang/ug.js\n
+gadget_ckeditor.html/ckeditor/lang/uk.js\n
+gadget_ckeditor.html/ckeditor/lang/vi.js\n
+gadget_ckeditor.html/ckeditor/lang/zh-cn.js\n
+gadget_ckeditor.html/ckeditor/lang/zh.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/af.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/da.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/de.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/el.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/en.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/es.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/et.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/he.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/id.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/it.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/km.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/no.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/si.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/th.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js\n
+gadget_ckeditor.html/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js\n
+gadget_ckeditor.html/ckeditor/plugins/about/dialogs/about.js\n
+gadget_ckeditor.html/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png\n
+gadget_ckeditor.html/ckeditor/plugins/about/dialogs/logo_ckeditor.png\n
+gadget_ckeditor.html/ckeditor/plugins/clipboard/dialogs/paste.js\n
+gadget_ckeditor.html/ckeditor/plugins/colordialog/dialogs/colordialog.js\n
+gadget_ckeditor.html/ckeditor/plugins/dialog/dialogDefinition.js\n
+gadget_ckeditor.html/ckeditor/plugins/div/dialogs/div.js\n
+gadget_ckeditor.html/ckeditor/plugins/find/dialogs/find.js\n
+gadget_ckeditor.html/ckeditor/plugins/flash/dialogs/flash.js\n
+gadget_ckeditor.html/ckeditor/plugins/flash/images/placeholder.png\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/button.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/checkbox.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/form.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/hiddenfield.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/radio.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/select.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/textarea.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/dialogs/textfield.js\n
+gadget_ckeditor.html/ckeditor/plugins/forms/images/hiddenfield.gif\n
+gadget_ckeditor.html/ckeditor/plugins/icons.png\n
+gadget_ckeditor.html/ckeditor/plugins/icons_hidpi.png\n
+gadget_ckeditor.html/ckeditor/plugins/iframe/dialogs/iframe.js\n
+gadget_ckeditor.html/ckeditor/plugins/iframe/images/placeholder.png\n
+gadget_ckeditor.html/ckeditor/plugins/image/dialogs/image.js\n
+gadget_ckeditor.html/ckeditor/plugins/image/images/noimage.png\n
+gadget_ckeditor.html/ckeditor/plugins/link/dialogs/anchor.js\n
+gadget_ckeditor.html/ckeditor/plugins/link/dialogs/link.js\n
+gadget_ckeditor.html/ckeditor/plugins/link/images/anchor.png\n
+gadget_ckeditor.html/ckeditor/plugins/link/images/hidpi/anchor.png\n
+gadget_ckeditor.html/ckeditor/plugins/liststyle/dialogs/liststyle.js\n
+gadget_ckeditor.html/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png\n
+gadget_ckeditor.html/ckeditor/plugins/magicline/images/hidpi/icon.png\n
+gadget_ckeditor.html/ckeditor/plugins/magicline/images/icon-rtl.png\n
+gadget_ckeditor.html/ckeditor/plugins/magicline/images/icon.png\n
+gadget_ckeditor.html/ckeditor/plugins/pagebreak/images/pagebreak.gif\n
+gadget_ckeditor.html/ckeditor/plugins/pastefromword/filter/default.js\n
+gadget_ckeditor.html/ckeditor/plugins/preview/preview.html\n
+gadget_ckeditor.html/ckeditor/plugins/scayt/LICENSE.md\n
+gadget_ckeditor.html/ckeditor/plugins/scayt/README.md\n
+gadget_ckeditor.html/ckeditor/plugins/scayt/dialogs/options.js\n
+gadget_ckeditor.html/ckeditor/plugins/scayt/dialogs/toolbar.css\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_address.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_blockquote.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_div.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_h1.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_h2.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_h3.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_h4.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_h5.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_h6.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_p.png\n
+gadget_ckeditor.html/ckeditor/plugins/showblocks/images/block_pre.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/dialogs/smiley.js\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/angel_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/angel_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/angry_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/angry_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/broken_heart.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/broken_heart.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/confused_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/confused_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/cry_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/cry_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/devil_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/devil_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/embaressed_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/embarrassed_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/embarrassed_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/envelope.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/envelope.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/heart.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/heart.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/kiss.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/kiss.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/lightbulb.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/lightbulb.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/omg_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/omg_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/regular_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/regular_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/sad_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/sad_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/shades_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/shades_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/teeth_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/teeth_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/thumbs_down.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/thumbs_down.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/thumbs_up.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/thumbs_up.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/tongue_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/tongue_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/tounge_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/wink_smile.gif\n
+gadget_ckeditor.html/ckeditor/plugins/smiley/images/wink_smile.png\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/af.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ar.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/bg.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ca.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/cs.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/cy.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/da.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/de.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/el.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/en.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/eo.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/es.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/et.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/fa.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/fi.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/fr.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/gl.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/he.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/hr.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/hu.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/id.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/it.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ja.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/km.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ko.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ku.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/lt.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/lv.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/nb.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/nl.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/no.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/pl.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/pt.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ru.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/si.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/sk.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/sl.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/sq.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/sv.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/th.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/tr.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/tt.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/ug.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/uk.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/vi.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/lang/zh.js\n
+gadget_ckeditor.html/ckeditor/plugins/specialchar/dialogs/specialchar.js\n
+gadget_ckeditor.html/ckeditor/plugins/table/dialogs/table.js\n
+gadget_ckeditor.html/ckeditor/plugins/tabletools/dialogs/tableCell.js\n
+gadget_ckeditor.html/ckeditor/plugins/templates/dialogs/templates.css\n
+gadget_ckeditor.html/ckeditor/plugins/templates/dialogs/templates.js\n
+gadget_ckeditor.html/ckeditor/plugins/templates/templates/default.js\n
+gadget_ckeditor.html/ckeditor/plugins/templates/templates/images/template1.gif\n
+gadget_ckeditor.html/ckeditor/plugins/templates/templates/images/template2.gif\n
+gadget_ckeditor.html/ckeditor/plugins/templates/templates/images/template3.gif\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/LICENSE.md\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/README.md\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/dialogs/ciframe.html\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/dialogs/tmpFrameset.html\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/dialogs/wsc.css\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/dialogs/wsc.js\n
+gadget_ckeditor.html/ckeditor/plugins/wsc/dialogs/wsc_ie.js\n
+gadget_ckeditor.html/ckeditor/skins/moono/dialog.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/dialog_ie.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/dialog_ie7.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/dialog_ie8.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/dialog_iequirks.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/editor.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/editor_gecko.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/editor_ie.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/editor_ie7.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/editor_ie8.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/editor_iequirks.css\n
+gadget_ckeditor.html/ckeditor/skins/moono/icons.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/icons_hidpi.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/arrow.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/close.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/hidpi/close.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/hidpi/lock-open.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/hidpi/lock.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/hidpi/refresh.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/lock-open.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/lock.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/refresh.png\n
+gadget_ckeditor.html/ckeditor/skins/moono/images/spinner.gif\n
+gadget_ckeditor.html/ckeditor/skins/moono/readme.md\n
+gadget_ckeditor.html/ckeditor/styles.js\n
+NETWORK:\n
+*</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>CKEDITOR Gadget AppCache</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441798243.48</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.43808.59896.50841</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441966189.43</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441797795.59</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_html.xml
index 54bdaa0e74..d29b3d1b52 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_html.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_html.xml
@@ -108,7 +108,7 @@
             <value> <string encoding="cdata"><![CDATA[
 
 <!DOCTYPE html>\n
-<html>\n
+<html manifest="gadget_ckeditor.appcache">\n
   <head>\n
     <meta charset="utf-8">\n
     <meta name="viewport" content="width=device-width, initial-scale=1">\n
@@ -117,7 +117,8 @@
     <script src="rsvp.js" type="text/javascript"></script>\n
     <script src="renderjs.js" type="text/javascript"></script>\n
 \n
-\n
+    <!-- This gadget provides ckeditor with all Plugins activated by default -->\n
+    <!-- Make sure to check the timestamp of your CKEditor version in order to update the manifest -->\n
     <script src="ckeditor/ckeditor.js"></script>\n
     <script src="gadget_ckeditor.js" type="text/javascript"></script>\n
 \n
@@ -263,7 +264,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.18348.39523.50449</string> </value>
+                <value> <string>945.34162.16498.45226</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -281,7 +282,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1441297895.5</float>
+                        <float>1441799207.54</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_appcache.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_appcache.xml
new file mode 100644
index 0000000000..5ddd631454
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_appcache.xml
@@ -0,0 +1,387 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Manifest" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs.appcache</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_appcache</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Manifest</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+CACHE MANIFEST\n
+# generated on Fri, 06 Feb 2015 15:31:33 +0000\n
+# XXX + fonts\n
+# images/ajax-loader.gif\n
+CACHE:\n
+https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css\n
+https://netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts/fontawesome-webfont.eot?v=4.0.3\n
+https://netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts/fontawesome-webfont.eot?#iefix&v=4.0.3\n
+https://netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts/fontawesome-webfont.woff?v=4.0.3\n
+https://netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts/fontawesome-webfont.ttf?v=4.0.3\n
+https://netdna.bootstrapcdn.com/font-awesome/4.0.3/fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular\n
+URI.js\n
+dygraph.js\n
+gadget_erp5.css\n
+gadget_global.js\n
+gadget_jio.html\n
+gadget_jio.js\n
+gadget_translate.html\n
+gadget_translate.js\n
+handlebars.js\n
+i18next.js\n
+jiodev.js\n
+jquery.js\n
+jquerymobile.css\n
+jquerymobile.js\n
+renderjs.js\n
+rsvp.js\n
+gadget_officejs_page_text_editor_list.js\n
+gadget_officejs_page_text_editor_list.html\n
+gadget_officejs_header.js\n
+gadget_officejs_header.html\n
+gadget_officejs_jio_web_page_view.js\n
+gadget_officejs_jio_web_page_view.html\n
+gadget_officejs_text_editor_application_panel.js\n
+gadget_officejs_text_editor_application_panel.html\n
+gadget_officejs_router.html\n
+gadget_officejs_router.js\n
+gadget_officejs_jio.html\n
+gadget_officejs_jio.js\n
+gadget_officejs_page_share_webrtc_jio.js\n
+gadget_officejs_page_share_webrtc_jio.html\n
+gadget_officejs_webrtc_jio.js\n
+gadget_officejs_webrtc_jio.html\n
+gadget_officejs_page_text_editor_list.html\n
+gadget_officejs_page_text_editor_list.js\n
+gadget_officejs_page_add_text_document.html\n
+gadget_officejs_page_add_text_document.js\n
+gadget_officejs_translation.js\n
+gadget_officejs_translation.html\n
+gadget_officejs_translation_data.js\n
+gadget_officejs_widget_listbox.js\n
+gadget_officejs_widget_listbox.html\n
+gadget_officejs_page_sync.js\n
+gadget_officejs_page_sync.html\n
+officejs_launcher.js\n
+officejs_launcher.html\n
+rjsunsafe/gadget_ckeditor.js\n
+rjsunsafe/gadget_ckeditor.html\n
+NETWORK:\n
+*
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>RenderJS Gadget OfficeJS AppCache</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441731873.74</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.43854.16066.11281</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441969739.85</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441730475.18</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml
index 30314fea65..a7c071a26e 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml
@@ -290,7 +290,8 @@
         }\n
       }\n
       for (i = 0; i < possible_left_button_list.length; i += 1) {\n
-        if (options.hasOwnProperty(possible_left_button_list[i][0])) {\n
+        if (options.hasOwnProperty(possible_left_button_list[i][0])\n
+            && options[possible_left_button_list[i][0]]) {\n
           left_button = {\n
             title: possible_left_button_list[i][1],\n
             icon: possible_left_button_list[i][2],\n
@@ -339,7 +340,8 @@
         }\n
       }\n
       for (i = 0; i < possible_right_button_list.length; i += 1) {\n
-        if (options.hasOwnProperty(possible_right_button_list[i][0])) {\n
+        if (options.hasOwnProperty(possible_right_button_list[i][0])\n
+            && options[possible_right_button_list[i][0]]) {\n
           right_button = {\n
             title: default_right_text || possible_right_button_list[i][1],\n
             icon: default_right_icon || possible_right_button_list[i][2],\n
@@ -519,7 +521,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>romain</string> </value>
+                <value> <string>cedric.le.ninivin</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -533,7 +535,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.33689.22724.47940</string> </value>
+                <value> <string>945.39862.6327.58811</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -551,8 +553,8 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1441358975.69</float>
-                        <string>GMT</string>
+                        <float>1441729356.63</float>
+                        <string>UTC</string>
                       </tuple>
                     </state>
                   </object>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_html.xml
new file mode 100644
index 0000000000..04c3516232
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_html.xml
@@ -0,0 +1,349 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Page" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_jio.html</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Jio access</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_jio_html</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Page</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!DOCTYPE html>\n
+<html>\n
+  <head>\n
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
+    <meta name="viewport" content="width=device-width, user-scalable=no" />\n
+    <title>Jio Gadget</title>\n
+\n
+    <!-- renderjs -->\n
+    <script src="rsvp.js" type="text/javascript"></script>\n
+    <script src="renderjs.js" type="text/javascript"></script>\n
+\n
+    <script src="jiodev.js" type="text/javascript"></script>\n
+\n
+    <!-- custom script -->\n
+    <script src="gadget_officejs_jio.js" type="text/javascript"></script>\n
+\n
+  </head>\n
+  <body>\n
+  </body>\n
+</html>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Jio Gadget for OfficeJS</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645172.51</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.38462.10321.2167</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645344.7</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441643362.31</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_js.xml
new file mode 100644
index 0000000000..6b2bd6555e
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_js.xml
@@ -0,0 +1,415 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Script" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_jio.js</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_jio_js</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Script</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string>/*global window, rJS, jIO, FormData */\n
+/*jslint indent: 2, maxerr: 3 */\n
+(function (window, rJS, jIO) {\n
+  "use strict";\n
+\n
+  rJS(window)\n
+\n
+    .ready(function (gadget) {\n
+      // Initialize the gadget local parameters\n
+      gadget.state_parameter_dict = {};\n
+    })\n
+\n
+    .declareMethod(\'createJio\', function (jio_options) {\n
+      this.state_parameter_dict.jio_storage = jIO.createJIO({\n
+          type: "replicate",\n
+          // XXX This drop the signature lists...\n
+          query: {\n
+            query: \'portal_type:"Web Page" \',\n
+              // XX Synchonizing the whole module is too much, here is a way to start quietly\n
+              //+ \'AND local_roles: ("Owner") \'\n
+              //+ \'AND validation_state: ("draft", "released_alive", "shared_alive", "published_alive") \',\n
+            limit: [0, 1234567890]\n
+          },\n
+          use_remote_post: true,\n
+          conflict_handling: 2,\n
+          check_local_modification: true,\n
+          check_local_creation: true,\n
+          check_local_deletion: true,\n
+          check_remote_modification: true,\n
+          check_remote_creation: true,\n
+          check_remote_deletion: true,\n
+          local_sub_storage: {\n
+            type: "query",\n
+            sub_storage: {\n
+              type: "uuid",\n
+              sub_storage: {\n
+                type: "indexeddb",\n
+                database: "officejs"\n
+              }\n
+            }\n
+          },\n
+          remote_sub_storage: {\n
+            type: "erp5",\n
+            url: (new URI("hateoas"))\n
+              .absoluteTo(location.href)\n
+              .toString(),\n
+            default_view_reference: "jio_view"\n
+          }\n
+        });\n
+    })\n
+    .declareMethod(\'allDocs\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.allDocs.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'allAttachments\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.allAttachments.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'get\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.get.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'put\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.put.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'post\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.post.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'remove\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.remove.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'getAttachment\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.getAttachment.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'putAttachment\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.putAttachment.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'removeAttachment\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.removeAttachment.apply(storage, arguments);\n
+    })\n
+    .declareMethod(\'repair\', function () {\n
+      var storage = this.state_parameter_dict.jio_storage;\n
+      return storage.repair.apply(storage, arguments);\n
+    });\n
+\n
+}(window, rJS, jIO));</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Jio Gadget JS</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645260.43</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.43851.47565.8721</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441969006.79</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441643341.2</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_html.xml
index 792cf7f5c8..6bdfc15be5 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_html.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_html.xml
@@ -123,15 +123,13 @@
 \n
         <form class="view-web-page-form">\n
 \n
-                <div class="left">\n
+                <div class="center">\n
                         <div class="ui-field-contain">\n
 \n
                   <label data-i18n="Title:">Title:</label>\n
                   <input type="text" name="title" value="{{title}}">\n
                 </div>\n
-                </div>\n
-                <div class="right">\n
-                  <button type="submit" data-i18n="Save">Save</button>\n
+                  <button type="submit" data-i18n="Save" style="display:none;">Save</button>\n
                 </div>\n
             <div class="ui-field-contain">\n
         聽聽聽聽<fieldset data-role="collapsible">\n
@@ -313,7 +311,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.18366.4767.50841</string> </value>
+                <value> <string>945.34162.16498.45226</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -331,7 +329,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1440439622.69</float>
+                        <float>1441723579.7</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml
index 8c9b287b62..5ad472d71b 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml
@@ -140,13 +140,14 @@
     if (class_index === -1) {\n
       iframe_class_string += \' \' + class_name;\n
       iframe.setAttribute(\'style\', \'\');\n
-    } else {\n
-      iframe_class_string = iframe_class_string.substring(0, class_index)\n
-        + iframe_class_string.substring(class_index + class_name.length);\n
-      iframe.setAttribute(\'style\', \'width:100%; border: 0 none; height: 600px\');\n
+      iframe.setAttribute(\'class\', iframe_class_string);\n
+      return;\n
     }\n
+    iframe_class_string = iframe_class_string.substring(0, class_index)\n
+      + iframe_class_string.substring(class_index + class_name.length);\n
+    iframe.setAttribute(\'style\', \'width:100%; border: 0 none; height: 600px\');\n
     iframe.setAttribute(\'class\', iframe_class_string);\n
-    return true;\n
+    return;\n
   }\n
 \n
   var gadget_klass = rJS(window),\n
@@ -173,10 +174,6 @@
     .declareAcquiredMethod("put", "jio_put")\n
     .declareAcquiredMethod(\'allDocs\', \'jio_allDocs\')\n
     .declareAcquiredMethod("redirect", "redirect")\n
-\n
-    .allowPublicAcquisition(\'triggerSubmit\', function () {\n
-      return this.props.element.querySelector(\'button\').click();\n
-    })\n
 \n
     .allowPublicAcquisition(\'triggerMaximize\', function () {\n
       var gadget = this;\n
@@ -188,6 +185,14 @@
           console.log(e);\n
         });\n
     })\n
+\n
+    .allowPublicAcquisition(\'triggerSubmit\', function () {\n
+      return this.props.element.querySelector(\'button\').click();\n
+    })\n
+\n
+    .declareMethod(\'triggerSubmit\', function () {\n
+      return this.props.element.querySelector(\'button\').click();\n
+    })\n
 \n
     .declareMethod("render", function (options) {\n
       var gadget = this;\n
@@ -199,7 +204,10 @@
         .push(function (html) {\n
           gadget.props.element.innerHTML = html;\n
           return gadget.updateHeader({\n
-            title: "Web Page"\n
+            title: options.doc.title + " | Web Page",\n
+            back_url: "#text_editor_list",\n
+            panel_action: false,\n
+            save_action: true\n
           });\n
         })\n
         .push(function () {\n
@@ -220,10 +228,10 @@
         })\n
         .push(function () {\n
           return gadget.declareGadget(\n
-            "gadget_ckeditor.html",\n
+            "rjsunsafe/gadget_ckeditor.html",\n
             {\n
               scope: "my_text_content",\n
-              sandbox: "dataurl",\n
+              sandbox: "iframe",\n
               element: gadget.props.element.querySelector(".document-content")\n
             }\n
           );\n
@@ -406,7 +414,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.34033.23091.48896</string> </value>
+                <value> <string>945.42760.43905.59050</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -424,7 +432,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1441379636.83</float>
+                        <float>1441963997.94</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_html.xml
new file mode 100644
index 0000000000..dbcdb84c2a
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_html.xml
@@ -0,0 +1,375 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Page" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_page_login.html</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_page_login_html</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Page</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!doctype html>\n
+<html>\n
+  <head>\n
+    <meta charset="utf-8">\n
+    <meta name="viewport" content="width=device-width, initial-scale=1">\n
+\n
+    <title>OfficeJS Login Page </title>\n
+\n
+    <script src="rsvp.js"></script>\n
+    <script src="renderjs.js"></script>\n
+    <script src="handlebars.js"></script>\n
+    <script src="gadget_global.js" ></script>\n
+\n
+    <script id="page-template" type="text/x-handlebars-template">\n
+    <div class="ui-grid-b ui-responsive">\n
+      <div class="ui-block-a"></div>\n
+      <div class="ui-block-b">\n
+        <form class="login-form">\n
+          <div class="ui-field-contain">\n
+            <label data-i18n="Login">Login</label>\n
+            <input type="text" name="jid" placeholder="Ex: john" value="" required>\n
+          </div>\n
+          <div class="ui-field-contain">\n
+            <label data-i18n="Password">Password</label>\n
+            <input type="password" name="passwd" placeholder="Ex: A1bcF$99" value="" required>\n
+          </div>\n
+          <input data-inline="true" type="submit" data-i18n="[value]Log In" value="Log In" data-theme="b">\n
+        </form>\n
+      </div>\n
+      <div class="ui-block-c"></div>\n
+    </div>\n
+    </script>\n
+\n
+    <script src="gadget_officejs_page_login.js"></script>\n
+  </head>\n
+\n
+  <body>\n
+  </body>\n
+</html>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>OfficeJS Login Page</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1438011335.54</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.18369.48314.20172</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441812708.55</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1438011232.72</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_js.xml
new file mode 100644
index 0000000000..82acd27feb
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_login_js.xml
@@ -0,0 +1,391 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Script" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_page_login.js</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_page_login_js</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Script</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string>/*globals window, document, RSVP, rJS, promiseEventListener, Handlebars*/\n
+/*jslint indent: 2, maxlen: 80, nomen: true*/\n
+(function (window, document, RSVP, rJS, promiseEventListener, Handlebars) {\n
+  "use strict";\n
+\n
+  /////////////////////////////////////////////////////////////////\n
+  // templates\n
+  /////////////////////////////////////////////////////////////////\n
+  var gadget_klass = rJS(window),\n
+    templater = gadget_klass.__template_element,\n
+\n
+    template = Handlebars.compile(\n
+      templater.getElementById("page-template").innerHTML\n
+    );\n
+\n
+  gadget_klass\n
+    .ready(function (g) {\n
+      g.props = {};\n
+      return g.getElement()\n
+        .push(function (element) {\n
+          g.props.element = element;\n
+        });\n
+    })\n
+\n
+    .declareAcquiredMethod("updateHeader", "updateHeader")\n
+    .declareAcquiredMethod("translateHtml", "translateHtml")\n
+    .declareMethod("render", function () {\n
+      var gadget = this;\n
+      return gadget.updateHeader({\n
+        title: "Connect"\n
+      })\n
+        .push(function () {\n
+          return gadget.translateHtml(template());\n
+        })\n
+        .push(function (html) {\n
+          gadget.props.element.innerHTML = html;\n
+        });\n
+    })\n
+\n
+    .declareAcquiredMethod("redirect", "redirect")\n
+    .declareService(function () {\n
+      var gadget = this;\n
+      return new RSVP.Queue()\n
+        .push(function () {\n
+          gadget.props.element.querySelector("input[type=text]")\n
+                              .focus();\n
+          return promiseEventListener(\n
+            gadget.props.element.querySelector(\'form.login-form\'),\n
+            \'submit\',\n
+            false\n
+          );\n
+        })\n
+        .push(function (evt) {\n
+          gadget.props.element.querySelector("input[type=submit]")\n
+                              .disabled = true;\n
+          var login = evt.target.elements[0].value,\n
+            passwd = evt.target.elements[1].value;\n
+          document.cookie = "__ac=" + window.btoa(login + ":" + passwd) +\n
+                            "; path=/";\n
+          return gadget.redirect({page:"sync"});\n
+        });\n
+    });\n
+\n
+}(window, document, RSVP, rJS, promiseEventListener, Handlebars));</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>OfficeJS Login Page JS</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1438011356.37</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.41252.5943.7082</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441812760.42</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1438011231.09</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_html.xml
index 467e2b3dc8..f4419079aa 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_html.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_html.xml
@@ -124,8 +124,8 @@
       <div class="ui-grid-b ui-responsive">\n
         <div class="ui-block-a"></div>\n
         <div class="ui-block-b">\n
-          <form class="synchro-form">\n
-            <input data-inline="true" type="submit" value="Launch" data-i18n="[value]Launch" data-theme="b">\n
+          <form class="synchro-form view-web-page-form">\n
+            <button type="submit" data-i18n="Launch Synchronization" data-theme="b">Launch Synchronization</button>\n
           </form>\n
         </div>\n
         <div class="ui-block-c"></div>\n
@@ -278,7 +278,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.18325.20042.14250</string> </value>
+                <value> <string>945.41276.23899.60552</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -296,7 +296,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1440439752.77</float>
+                        <float>1441814187.24</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_js.xml
index dfec45b3ee..1ac3003847 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_sync_js.xml
@@ -151,7 +151,7 @@
           );\n
         })\n
         .push(function () {\n
-          gadget.props.element.querySelector("input[type=submit]")\n
+          gadget.props.element.querySelector("button")\n
                               .disabled = true;\n
 \n
           return gadget.repair();\n
@@ -298,7 +298,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>944.43437.41961.42171</string> </value>
+                <value> <string>945.34038.48545.63795</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -316,7 +316,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1440437107.94</float>
+                        <float>1441813353.14</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_text_editor_list_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_text_editor_list_js.xml
index 92206a55aa..ef510f14d4 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_text_editor_list_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_page_text_editor_list_js.xml
@@ -170,8 +170,7 @@
         .push(function (url) {\n
           return gadget.updateHeader({\n
             title: "Text Documents",\n
-            right_url: url,\n
-            right_title: "New"\n
+            add_url: url\n
           });\n
         })\n
         .push(function () {\n
@@ -350,7 +349,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.18324.27561.32341</string> </value>
+                <value> <string>945.39477.48217.31795</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -368,7 +367,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1440437077.52</float>
+                        <float>1441729437.19</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_html.xml
new file mode 100644
index 0000000000..c50cf034b9
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_html.xml
@@ -0,0 +1,349 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Page" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_router.html</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_router_html</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Page</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!DOCTYPE html>\n
+<html>\n
+  <head>\n
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
+    <meta name="viewport" content="width=device-width, user-scalable=no" />\n
+    <title>OfficeJS Router Gadget</title>\n
+\n
+    <!-- renderjs -->\n
+    <script src="rsvp.js" type="text/javascript"></script>\n
+    <script src="renderjs.js" type="text/javascript"></script>\n
+\n
+    <!-- custom script -->\n
+    <script src="gadget_officejs_router.js" type="text/javascript"></script>\n
+\n
+  </head>\n
+  <body>\n
+  </body>\n
+</html>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>OfficeJS router Gadget</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441648207.21</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.38511.34416.16452</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441648301.49</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441648100.47</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_js.xml
new file mode 100644
index 0000000000..e3d8dbd2c2
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_router_js.xml
@@ -0,0 +1,381 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Script" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_router.js</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_router_js</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Script</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*global window, rJS */\n
+/*jslint nomen: true, indent: 2, maxerr: 3*/\n
+(function (window, rJS) {\n
+  "use strict";\n
+\n
+  var gadget_klass = rJS(window),\n
+    MAIN_PAGE_PREFIX = "gadget_officejs_",\n
+    DEFAULT_PAGE = "text_editor_list";\n
+\n
+  gadget_klass\n
+    .declareAcquiredMethod(\'pleaseRedirectMyHash\', \'pleaseRedirectMyHash\')\n
+    .declareAcquiredMethod(\'jio_get\', \'jio_get\')\n
+\n
+    .ready(function (gadget) {\n
+      gadget.props = {};\n
+    })\n
+    .declareMethod(\'route\', function (options) {\n
+      var gadget = this;\n
+      gadget.options = options;\n
+      if (options.jio_key === undefined || options.jio_key === \'\') {\n
+        if (options.page === undefined || options.page === \'\') {\n
+          options.page = DEFAULT_PAGE;\n
+        }\n
+        return {\n
+          url: MAIN_PAGE_PREFIX + "page_" + options.page + ".html",\n
+          options: options\n
+        };\n
+      }\n
+      return gadget.jio_get(options.jio_key)\n
+        .push(function (doc) {\n
+          var sub_options = {},\n
+            base_portal_type = doc.portal_type.toLowerCase().replace(/\\s/g, "_");\n
+          sub_options = {\n
+            doc: doc,\n
+            jio_key: options.jio_key,\n
+            search: options.search\n
+          };\n
+          if (base_portal_type.search(/_temp$/) >= 0) {\n
+            //Remove "_temp"\n
+            base_portal_type = base_portal_type.substr(\n
+              0,\n
+              base_portal_type.length - 5\n
+            );\n
+          }\n
+          return {\n
+            url: MAIN_PAGE_PREFIX + "jio_"\n
+              + base_portal_type\n
+              + "_" + options.page + ".html",\n
+            options: sub_options\n
+          };\n
+        });\n
+    });\n
+\n
+}(window, rJS));
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>OfficeJS router Gadget JS</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441648217.21</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.38531.43749.63146</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441649525.84</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441648101.99</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_html.xml
new file mode 100644
index 0000000000..0c0e60d624
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_html.xml
@@ -0,0 +1,382 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Page" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_text_editor_application_panel.html</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Jio access</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_text_editor_application_panel_html</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Page</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!DOCTYPE html>\n
+<html>\n
+  <head>\n
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
+    <meta name="viewport" content="width=device-width, user-scalable=no" />\n
+    <title>OfficeJS Text Editor Panel Gadget</title>\n
+\n
+    <!-- renderjs -->\n
+    <script src="rsvp.js" type="text/javascript"></script>\n
+    <script src="renderjs.js" type="text/javascript"></script>\n
+    <script src="handlebars.js" type="text/javascript"></script>\n
+    <script src="gadget_global.js" type="text/javascript"></script>\n
+    <script src="jquery.js" type="text/javascript"></script>\n
+    <script src="jquerymobile.js" type="text/javascript"></script>\n
+\n
+    <script id="panel-template-header" type="text/x-handlebars-template">\n
+      <div data-role="header" class="ui-bar-inherit">\n
+        <div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-left">\n
+          <div class="ui-controlgroup-controls">\n
+            <form action="#" method="post">\n
+              <input type="submit" data-i18n="[value]Close" data-icon="delete" data-iconpos="notext" value="Close" />\n
+            </form>\n
+          </div>\n
+        </div>\n
+        <img class="ui-title" alt="ERP5" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAAA/CAMAAADaDqrIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMEM5NUE4MzQ5NjQxMUUzOUZEQUU2NUY1RTI1RjdCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMEM5NUE4NDQ5NjQxMUUzOUZEQUU2NUY1RTI1RjdCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAwQzk1QTgxNDk2NDExRTM5RkRBRTY1RjVFMjVGN0JCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAwQzk1QTgyNDk2NDExRTM5RkRBRTY1RjVFMjVGN0JCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+J9MJsAAAAwBQTFRF///////M//+Z//9m//8z//8A/8z//8zM/8yZ/8xm/8wz/8wA/5n//5nM/5mZ/5lm/5kz/5kA/2b//2bM/2aZ/2Zm/2Yz/2YA/zP//zPM/zOZ/zNm/zMz/zMA/wD//wDM/wCZ/wBm/wAz/wAAzP//zP/MzP+ZzP9mzP8zzP8AzMz/zMzMzMyZzMxmzMwzzMwAzJn/zJnMzJmZzJlmzJkzzJkAzGb/zGbMzGaZzGZmzGYzzGYAzDP/zDPMzDOZzDNmzDMzzDMAzAD/zADMzACZzABmzAAzzAAAmf//mf/Mmf+Zmf9mmf8zmf8Amcz/mczMmcyZmcxmmcwzmcwAmZn/mZnMmZmZmZlmmZkzmZkAmWb/mWbMmWaZmWZmmWYzmWYAmTP/mTPMmTOZmTNmmTMzmTMAmQD/mQDMmQCZmQBmmQAzmQAAZv//Zv/MZv+ZZv9mZv8zZv8AZsz/ZszMZsyZZsxmZswzZswAZpn/ZpnMZpmZZplmZpkzZpkAZmb/ZmbMZmaZZmZmZmYzZmYAZjP/ZjPMZjOZZjNmZjMzZjMAZgD/ZgDMZgCZZgBmZgAzZgAAM///M//MM/+ZM/9mM/8zM/8AM8z/M8zMM8yZM8xmM8wzM8wAM5n/M5nMM5mZM5lmM5kzM5kAM2b/M2bMM2aZM2ZmM2YzM2YAMzP/MzPMMzOZMzNmMzMzMzMAMwD/MwDMMwCZMwBmMwAzMwAAAP//AP/MAP+ZAP9mAP8zAP8AAMz/AMzMAMyZAMxmAMwzAMwAAJn/AJnMAJmZAJlmAJkzAJkAAGb/AGbMAGaZAGZmAGYzAGYAADP/ADPMADOZADNmADMzADMAAAD/AADMAACZAABmAAAzAAAAHHa7K3/AOojESZHJWZvNaKTSd63Whrbblb/fpMjks9Howtrt4e320uTx8Pb6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdfKHSQAAAOh0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ALItoLoAAAJkSURBVHja7NlZsqsgEABQ979C5kGGddxo4os0Q8BAynoFn0nUU23TNGRB9xzLdE3XdE3XdP2fLnIzF2VSrsYvC72HizAh9eZ5DVuOl15S4/jWwC+kDC8HPzCSJVHcRY8QXV2PwQuujUYTsYrvYlBv1yKLrsXHsPghnvR3Lazoip/JKuwpF8sm6/bY01Ow9CBlTXi53PNoRcUktEZT1NV1PIPnXAjtMJIMlzerFIzU1dVWF7aPj3Tetae4gjdxktG2et/qQjJ4kZFrv6ED4bK4eR1qduHzvEi4+PbGwD0EGu9CQQLFrv1F4jBc6BcuW3YhkPiPX1hOfxQvnHfh0HVMRqc4HuqiQf5k3mO6dq1s8Hx0H/Le5kq9YaNcxAcrZLpOvAv+ClcgNcZFtnrucd5Fwx4mXj0drnbBYXMuJmFDAV3Uhm4qlbHh3ddOrmholHNxFTVC+xTl2mf6pI4uVe4LwSp0DPGOmh/hAnM94bKZjkHlWuiLeV+cTab4luMKk82wy/Px2fLJskvKUk03hRf9RZ0wiYiZ4uVwVwTb9E71y0XboTYXGuTaa33Y47W5zBjXM3P11y7TfR2ycFdxyaW7uwSc5m0un9ix91m3TWJfW+1ijfW+wcVAfjS5dOP62LyvZZdcLHnA1MkFAtbgwq+Vm47po8OA1buwyy/a1ec5urzveAes2sV8kfW963mFaHNhlT0b6+Yi5+StchH1CtaK0ThXELDPLiyOPZHldzm/J1z9O/B14g7/K+DtkP7U8ivSeD4xaPCTSQvy+YIfubZWzRgtRe1iMP+3mq7pmq7p6jv+BBgAPrgi/TzwWzkAAAAASUVORK5CYII="/>\n
+        <div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-right">\n
+          <div class="ui-controlgroup-controls">\n
+            <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-home" data-i18n="Home">Home</a>\n
+          </div>\n
+        </div>\n
+      </div>\n
+    </script>\n
+\n
+\n
+    <script id="panel-template-body" type="text/x-handlebars-template">\n
+      <div class="ui-content">\n
+        <ul data-role="listview" class="ui-listview">\n
+          <li><a href="#page=text_editor_list" data-i18n="Text Documents">Text Documents</a></li>\n
+          <li><a href="#page=login" data-i18n="Connect to ERP5">Connect to ERP5</a></li>\n
+          <li><a href="#page=sync" data-i18n="Sync">Sync</a></li>\n
+          <li class="ui-last-child"><a href="#page=logout" data-i18n="Logout">Logout</a></li>\n
+        </ul>\n
+      </div>\n
+    </script>\n
+\n
+    <!-- custom script -->\n
+    <script src="gadget_officejs_text_editor_application_panel.js" type="text/javascript"></script>\n
+\n
+  </head>\n
+  <body>\n
+  <div class="jqm-navmenu-panel"></div>\n
+  </body>\n
+</html>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Text Editor Application Panel Gadget</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645920.96</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.41275.34997.17220</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441814393.93</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645376.87</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_js.xml
new file mode 100644
index 0000000000..16d70703b0
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_text_editor_application_panel_js.xml
@@ -0,0 +1,424 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Script" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Change_local_roles_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_md5</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>gadget_officejs_text_editor_application_panel.js</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>gadget_officejs_text_editor_application_panel_js</string> </value>
+        </item>
+        <item>
+            <key> <string>language</string> </key>
+            <value> <string>en</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Script</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*jslint nomen: true, indent: 2, maxerr: 3 */\n
+/*global window, rJS, Handlebars, jQuery, RSVP, loopEventListener */\n
+(function (window, rJS, Handlebars, $, RSVP, loopEventListener) {\n
+  "use strict";\n
+\n
+  var gadget_klass = rJS(window),\n
+    source_header = gadget_klass.__template_element\n
+                         .getElementById("panel-template-header")\n
+                         .innerHTML,\n
+    panel_template_header = Handlebars.compile(source_header),\n
+    source_body = gadget_klass.__template_element\n
+                         .getElementById("panel-template-body")\n
+                         .innerHTML,\n
+    panel_template_body = Handlebars.compile(source_body);\n
+\n
+  gadget_klass\n
+\n
+    .declareAcquiredMethod("translateHtml", "translateHtml")\n
+\n
+    // Assign the element to a variable\n
+    // Init local properties\n
+    .ready(function (g) {\n
+      g.props = {};\n
+    })\n
+\n
+\n
+    .ready(function (g) {\n
+      return g.getElement()\n
+        .push(function (element) {\n
+          g.props.element = element;\n
+          g.props.jelement = $(element.querySelector("div"));\n
+        });\n
+    })\n
+\n
+    .ready(function (g) {\n
+      g.props.jelement.panel({\n
+        display: "overlay",\n
+        position: "left",\n
+        theme: "d"\n
+        // animate: false\n
+      });\n
+    })\n
+\n
+\n
+    .ready(function (g) {\n
+      return g.translateHtml(panel_template_header() + panel_template_body())\n
+        .push(function (my_translated_or_plain_html) {\n
+          g.props.jelement.html(my_translated_or_plain_html);\n
+          g.props.jelement.trigger("create");\n
+        });\n
+    })\n
+\n
+    .declareMethod(\'toggle\', function () {\n
+      this.props.jelement.panel("toggle");\n
+    })\n
+\n
+    .declareMethod(\'render\', function () {\n
+      return;\n
+    })\n
+\n
+    /////////////////////////////////////////////////////////////////\n
+    // declared services\n
+    /////////////////////////////////////////////////////////////////\n
+    .declareService(function () {\n
+      var panel_gadget,\n
+        form_list,\n
+        event_list,\n
+        i,\n
+        len;\n
+\n
+\n
+      function formSubmit() {\n
+        panel_gadget.toggle();\n
+      }\n
+\n
+      panel_gadget = this;\n
+      form_list = panel_gadget.props.element.querySelectorAll(\'form\');\n
+      event_list = [];\n
+\n
+      // XXX: not robust - Will break when search field is active\n
+      for (i = 0, len = form_list.length; i < len; i += 1) {\n
+        event_list[i] = loopEventListener(\n
+          form_list[i],\n
+          \'submit\',\n
+          false,\n
+          formSubmit\n
+        );\n
+      }\n
+\n
+      return new RSVP.Queue()\n
+        .push(function () {\n
+          return RSVP.all(event_list);\n
+        });\n
+    });\n
+\n
+\n
+}(window, rJS, Handlebars, jQuery, RSVP, loopEventListener));
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Text Editor Application Panel Gadget JS</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>document_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>processing_status_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>publish_alive</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645930.74</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>published_alive</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.38557.26146.25275</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441651247.96</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>detect_converted_file</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>external_processing_state</string> </key>
+                <value> <string>converted</string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>0.0.0.0</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441645380.75</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/officejs_launcher_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/officejs_launcher_js.xml
index eca9ff022c..01ffd88a27 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/officejs_launcher_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/officejs_launcher_js.xml
@@ -482,6 +482,12 @@
     .allowPublicAcquisition("jio_repair", function (param_list) {\n
       return callJioGadget(this, "repair", param_list);\n
     })\n
+    .allowPublicAcquisition("triggerSubmit", function (param_list) {\n
+      return this.getDeclaredGadget(MAIN_SCOPE)\n
+        .push(function (main_gadget) {\n
+          return main_gadget.triggerSubmit(param_list);\n
+        });\n
+    })\n
     /////////////////////////////////////////////////////////////////\n
     // declared methods\n
     /////////////////////////////////////////////////////////////////\n
@@ -718,7 +724,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>romain</string> </value>
+                <value> <string>cedric.le.ninivin</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -732,7 +738,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.39476.14059.34508</string> </value>
+                <value> <string>945.39852.16132.21538</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -750,8 +756,8 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1441706203.86</float>
-                        <string>GMT</string>
+                        <float>1441729471.18</float>
+                        <string>UTC</string>
                       </tuple>
                     </state>
                   </object>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor.xml b/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor.xml
index 9dcaede4c0..58b9ec9692 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor.xml
@@ -6,6 +6,24 @@
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Authenticated</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Member</string>
+                <string>Owner</string>
+                <string>Reviewer</string>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>_Add_portal_content_Permission</string> </key>
             <value>
@@ -49,7 +67,24 @@
                 <string>Assignee</string>
                 <string>Assignor</string>
                 <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Anonymous</string>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Authenticated</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Member</string>
                 <string>Owner</string>
+                <string>Reviewer</string>
               </tuple>
             </value>
         </item>
@@ -266,6 +301,46 @@
                       <value> <string>string</string> </value>
                   </item>
                 </dictionary>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>configuration_router_gadget_url</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>configuration_jio_gadget_url</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>configuration_translation_gadget_url</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>configuration_manifest_url</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
               </tuple>
             </value>
         </item>
@@ -299,13 +374,13 @@
             <key> <string>categories</string> </key>
             <value>
               <tuple>
-                <string>aggregate/web_page_module/gadget_officejs_text_editor_application_html</string>
+                <string>aggregate/web_page_module/officejs_launcher_html</string>
               </tuple>
             </value>
         </item>
         <item>
             <key> <string>configuration_application_title</string> </key>
-            <value> <string>E-COMMERCE</string> </value>
+            <value> <string>Text Editor</string> </value>
         </item>
         <item>
             <key> <string>configuration_default_view_action_reference</string> </key>
@@ -315,15 +390,33 @@
         </item>
         <item>
             <key> <string>configuration_frontpage_gadget_url</string> </key>
-            <value> <string>gadget_e5g_ecommerce_page_front.html</string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>configuration_hateoas_url</string> </key>
             <value> <string>hateoas/</string> </value>
         </item>
+        <item>
+            <key> <string>configuration_jio_gadget_url</string> </key>
+            <value> <string>gadget_officejs_jio.html</string> </value>
+        </item>
+        <item>
+            <key> <string>configuration_manifest_url</string> </key>
+            <value> <string>gadget_officejs.appcache</string> </value>
+        </item>
         <item>
             <key> <string>configuration_panel_gadget_url</string> </key>
-            <value> <string>gadget_e5g_ecommerce_panel.html</string> </value>
+            <value> <string>gadget_officejs_text_editor_application_panel.html</string> </value>
+        </item>
+        <item>
+            <key> <string>configuration_router_gadget_url</string> </key>
+            <value> <string>gadget_officejs_router.html</string> </value>
+        </item>
+        <item>
+            <key> <string>configuration_translation_gadget_url</string> </key>
+            <value> <string>gadget_officejs_translation.html</string> </value>
         </item>
         <item>
             <key> <string>configuration_view_action_category</string> </key>
@@ -373,7 +466,7 @@
         </item>
         <item>
             <key> <string>skin_selection_name</string> </key>
-            <value> <string>RJSUnsafe</string> </value>
+            <value> <string>RJS</string> </value>
         </item>
         <item>
             <key> <string>static_language_selection</string> </key>
@@ -543,9 +636,7 @@
           <dictionary>
             <item>
                 <key> <string>action</string> </key>
-                <value>
-                  <none/>
-                </value>
+                <value> <string>publish</string> </value>
             </item>
             <item>
                 <key> <string>actor</string> </key>
@@ -571,7 +662,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1440069092.4</float>
+                        <float>1441812607.6</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
@@ -580,7 +671,7 @@
             </item>
             <item>
                 <key> <string>validation_state</string> </key>
-                <value> <string>embedded</string> </value>
+                <value> <string>published</string> </value>
             </item>
           </dictionary>
         </list>
@@ -616,7 +707,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.18320.46785.6894</string> </value>
+                <value> <string>945.41250.8324.32955</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -634,7 +725,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1441126272.93</float>
+                        <float>1441966702.43</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/hateoas.xml b/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/hateoas.xml
index a0fc859f66..e045c05119 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/hateoas.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/hateoas.xml
@@ -383,7 +383,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1440069092.41</float>
+                        <float>1441388984.55</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
@@ -428,7 +428,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.12191.35478.21316</string> </value>
+                <value> <string>945.34189.48725.3874</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -446,7 +446,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1441126272.93</float>
+                        <float>1441966702.4</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/rjsunsafe.xml b/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/rjsunsafe.xml
new file mode 100644
index 0000000000..1d9f8d497c
--- /dev/null
+++ b/bt5/erp5_officejs/PathTemplateItem/web_site_module/officejs_text_editor/rjsunsafe.xml
@@ -0,0 +1,348 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Web Section" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>__before_publishing_traverse__</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="MultiHook" module="ZPublisher.BeforeTraverse"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_defined_in_class</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>_hookname</string> </key>
+                        <value> <string>__before_publishing_traverse__</string> </value>
+                    </item>
+                    <item>
+                        <key> <string>_list</string> </key>
+                        <value>
+                          <list>
+                            <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                          </list>
+                        </value>
+                    </item>
+                    <item>
+                        <key> <string>_prior</string> </key>
+                        <value>
+                          <none/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>__before_traverse__</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>
+                      <tuple>
+                        <int>99</int>
+                        <string>ERP5 Web Section/rjsunsafe</string>
+                      </tuple>
+                    </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>empty_criterion_valid</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>rjsunsafe</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Web Section</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>skin_selection_name</string> </key>
+            <value> <string>RJSUnsafe</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>RJS Unsafe</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="WebSectionTraversalHook" module="Products.ERP5.Document.WebSection"/>
+    </pickle>
+    <pickle>
+      <dictionary/>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>category_publication_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>edit_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441733959.69</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>embedded</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+  <record id="7" aka="AAAAAAAAAAc=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>edit</string> </value>
+            </item>
+            <item>
+                <key> <string>actor</string> </key>
+                <value> <string>cedric.le.ninivin</string> </value>
+            </item>
+            <item>
+                <key> <string>comment</string> </key>
+                <value>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>error_message</string> </key>
+                <value> <string></string> </value>
+            </item>
+            <item>
+                <key> <string>serial</string> </key>
+                <value> <string>945.39940.7236.26060</string> </value>
+            </item>
+            <item>
+                <key> <string>state</string> </key>
+                <value> <string>current</string> </value>
+            </item>
+            <item>
+                <key> <string>time</string> </key>
+                <value>
+                  <object>
+                    <klass>
+                      <global name="DateTime" module="DateTime.DateTime"/>
+                    </klass>
+                    <tuple>
+                      <none/>
+                    </tuple>
+                    <state>
+                      <tuple>
+                        <float>1441966702.41</float>
+                        <string>UTC</string>
+                      </tuple>
+                    </state>
+                  </object>
+                </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_theme/ckeditor/ckeditor.js.xml b/bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_theme/ckeditor/ckeditor.js.xml
index 51fe42071f..2804175739 100644
--- a/bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_theme/ckeditor/ckeditor.js.xml
+++ b/bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_theme/ckeditor/ckeditor.js.xml
@@ -8,7 +8,7 @@
       <dictionary>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts41295235.99</string> </value>
+            <value> <string>ts41965432.88</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -26,7 +26,7 @@
 Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.\n
 For licensing, see LICENSE.md or http://ckeditor.com/license\n
 */\n
-(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\\\\/])ckeditor\\.js(?:\\?.*|;.*)?$/i,d={timestamp:"F7J9",version:"4.5.3",revision:"6c70c82",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var i=c[d].src.match(a);if(i){b=i[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\\/\\/[^\\/]*/)[0]+\n
+(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\\\\/])ckeditor\\.js(?:\\?.*|;.*)?$/i,d={timestamp:"",version:"4.5.3",revision:"6c70c82",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var i=c[d].src.match(a);if(i){b=i[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\\/\\/[^\\/]*/)[0]+\n
 b:location.href.match(/^[^\\?]*\\/(?:)/)[0]+b);if(!b)throw\'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.\';return b}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&("/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a))&&(a+=(0<=a.indexOf("?")?"&":"?")+"t="+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",\n
 a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(c){}}function b(){for(var a;a=c.shift();)a()}var c=[];return function(b){function d(){try{document.documentElement.doScroll("left")}catch(g){setTimeout(d,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",\n
 a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(n){}document.documentElement.doScroll&&b&&d()}}}()},b=window.CKEDITOR_GETURL;if(b){var c=d.getUrl;d.getUrl=function(a){return b.call(d,a)||c.call(d,a)}}return d}());\n
@@ -1098,7 +1098,7 @@ toolbar:"spellchecker,10"});CKEDITOR.dialog.add("checkspell",this.path+(CKEDITOR
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>554644</int> </value>
+            <value> <int>554640</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
-- 
2.30.9