From 958f600be7532b01bb7ab3b0970368e120da40b2 Mon Sep 17 00:00:00 2001
From: Nicolas Wavrant <nicolas.wavrant@nexedi.com>
Date: Mon, 26 Mar 2018 16:21:31 +0000
Subject: [PATCH] erp5_interface_post: initial commit

---
 .../view.xml                                  |  83 ++++
 .../Internet%20Message%20Post/view.xml        |  83 ++++
 .../Internet%20Message%20Post/view_editor.xml |  85 ++++
 .../export_letter_post_list.xml               |  85 ++++
 .../Letter%20Post%20Module/view.xml           |  83 ++++
 .../Letter%20Post/preview_pdf.xml             |  98 ++++
 .../portal_types/Letter%20Post/view.xml       |  83 ++++
 .../Letter/jump_to_letter_post.xml            | 104 +++++
 .../jump_to_internet_message_post.xml         | 104 +++++
 .../Mail%20Message/mail_message_preview.xml   |  94 ++++
 .../document.erp5.InternetMessagePost.py      |  75 +++
 .../document.erp5.InternetMessagePost.xml     | 123 +++++
 .../internet_message_post_module.xml          |  96 ++++
 .../ModuleTemplateItem/letter_post_module.xml |  96 ++++
 .../allowed_content_types.xml                 |   8 +
 .../base_category_list.xml                    |   8 +
 .../property_sheet_list.xml                   |   8 +
 .../Internet%20Message%20Post%20Module.xml    | 108 +++++
 .../Internet%20Message%20Post.xml             |  72 +++
 .../portal_types/Letter%20Post%20Module.xml   | 108 +++++
 .../portal_types/Letter%20Post.xml            |  72 +++
 .../workflow_chain_type.xml                   |  10 +
 .../portal_skins/erp5_interface_post.xml      |  47 ++
 .../Event_createPostMessage.py                |  16 +
 .../Event_createPostMessage.xml               |  62 +++
 ...PostModule_viewInternetMessagePostList.xml | 131 ++++++
 .../listbox.xml                               | 124 +++++
 .../InternetMessagePost_afterPrepareExport.py |   3 +
 ...InternetMessagePost_afterPrepareExport.xml |  62 +++
 .../InternetMessagePost_afterPrepareImport.py |   4 +
 ...InternetMessagePost_afterPrepareImport.xml |  62 +++
 .../InternetMessagePost_export.py             |   1 +
 .../InternetMessagePost_export.xml            |  62 +++
 ...gePost_getFirstPartFromMultipartMessage.py |  17 +
 ...ePost_getFirstPartFromMultipartMessage.xml |  62 +++
 .../InternetMessagePost_ingest.py             |  36 ++
 .../InternetMessagePost_ingest.xml            |  62 +++
 .../InternetMessagePost_view.xml              | 136 ++++++
 .../my_aggregate_related_title.xml            | 106 +++++
 .../my_creation_date.xml                      |  89 ++++
 .../InternetMessagePost_view/my_reference.xml |  72 +++
 .../InternetMessagePost_view/my_title.xml     | 272 +++++++++++
 .../my_translated_simulation_state_title.xml  |  78 ++++
 .../InternetMessagePost_viewPreview.xml       | 109 +++++
 .../your_preview.xml                          | 112 +++++
 ...erPostModule_exportExportableLetterPost.py |  26 ++
 ...rPostModule_exportExportableLetterPost.xml |  62 +++
 ...dule_exportExportableLetterPostActivity.py |  30 ++
 ...ule_exportExportableLetterPostActivity.xml |  62 +++
 ...e_viewExportExportableLetterPostDialog.xml | 132 ++++++
 .../my_description.xml                        | 272 +++++++++++
 .../your_comment.xml                          | 301 ++++++++++++
 .../LetterPostModule_viewLetterPostList.xml   | 131 ++++++
 .../listbox.xml                               | 124 +++++
 .../erp5_interface_post/LetterPost_view.xml   | 136 ++++++
 .../my_aggregate_related_title.xml            | 106 +++++
 .../LetterPost_view/my_creation_date.xml      |  89 ++++
 .../LetterPost_view/my_reference.xml          |  72 +++
 .../LetterPost_view/my_title.xml              | 272 +++++++++++
 .../my_translated_simulation_state_title.xml  |  78 ++++
 .../Letter_createPostMessage.py               |   1 +
 .../Letter_createPostMessage.xml              |  62 +++
 .../erp5_interface_post/Letter_send.py        |   4 +
 .../erp5_interface_post/Letter_send.xml       |  62 +++
 .../MailMessage_createPostMessage.py          |   1 +
 .../MailMessage_createPostMessage.xml         |  62 +++
 ...ssage_getLatestInternetMessagePostValue.py |   9 +
 ...sage_getLatestInternetMessagePostValue.xml |  62 +++
 .../MailMessage_viewPreview.xml               | 124 +++++
 .../my_text_content.xml                       | 157 +++++++
 .../MailMessage_viewPreview/my_thumbnail.xml  | 307 +++++++++++++
 .../MailMessage_viewPreview/my_title.xml      | 111 +++++
 .../test.erp5.testInterfacePost.py            | 431 ++++++++++++++++++
 .../test.erp5.testInterfacePost.xml           | 123 +++++
 .../interface_post_workflow.xml               |  66 +++
 .../interface_post_workflow/scripts.xml       |  28 ++
 .../scripts/afterExport.py                    |   5 +
 .../scripts/afterExport.xml                   |  62 +++
 .../scripts/afterPrepareExport.py             |   5 +
 .../scripts/afterPrepareExport.xml            |  62 +++
 .../scripts/afterPrepareImport.py             |   5 +
 .../scripts/afterPrepareImport.xml            |  62 +++
 .../interface_post_workflow/states.xml        |  28 ++
 .../states/archived.xml                       |  36 ++
 .../interface_post_workflow/states/draft.xml  |  43 ++
 .../states/export_acknowledged.xml            |  39 ++
 .../states/export_failed.xml                  |  41 ++
 .../states/export_prepared.xml                |  43 ++
 .../states/exported.xml                       |  41 ++
 .../states/import_failed.xml                  |  41 ++
 .../states/import_prepared.xml                |  43 ++
 .../states/imported.xml                       |  39 ++
 .../interface_post_workflow/transitions.xml   |  28 ++
 .../transitions/acknowledge_export.xml        |  79 ++++
 .../transitions/acknowledge_export_action.xml |  79 ++++
 .../transitions/archive.xml                   |  79 ++++
 .../transitions/archive_action.xml            |  79 ++++
 .../transitions/export.xml                    |  79 ++++
 .../transitions/export_action.xml             |  79 ++++
 .../transitions/fail_export.xml               |  79 ++++
 .../transitions/fail_export_action.xml        |  79 ++++
 .../transitions/fail_import.xml               |  79 ++++
 .../transitions/fail_import_action.xml        |  79 ++++
 .../transitions/import.xml                    |  79 ++++
 .../transitions/import_action.xml             |  79 ++++
 .../transitions/prepare_export.xml            |  79 ++++
 .../transitions/prepare_export_action.xml     |  79 ++++
 .../transitions/prepare_import.xml            |  79 ++++
 .../transitions/prepare_import_action.xml     |  79 ++++
 .../interface_post_workflow/variables.xml     |  28 ++
 .../variables/action.xml                      |  61 +++
 .../variables/actor.xml                       |  61 +++
 .../variables/comment.xml                     |  61 +++
 .../variables/error_message.xml               |  48 ++
 .../variables/history.xml                     |  61 +++
 .../variables/portal_type.xml                 |  48 ++
 .../variables/time.xml                        |  61 +++
 .../interface_post_workflow/worklists.xml     |  22 +
 bt5/erp5_interface_post/bt/copyright_list     |   1 +
 bt5/erp5_interface_post/bt/dependency_list    |   3 +
 bt5/erp5_interface_post/bt/description        |   1 +
 bt5/erp5_interface_post/bt/license            |   1 +
 .../bt/template_action_path_list              |  10 +
 .../bt/template_document_id_list              |   1 +
 .../bt/template_format_version                |   1 +
 .../bt/template_module_id_list                |   2 +
 ...late_portal_type_allowed_content_type_list |   2 +
 .../template_portal_type_base_category_list   |   2 +
 .../bt/template_portal_type_id_list           |   4 +
 .../template_portal_type_property_sheet_list  |   2 +
 .../template_portal_type_workflow_chain_list  |   4 +
 .../bt/template_skin_id_list                  |   1 +
 .../bt/template_test_id_list                  |   1 +
 .../bt/template_workflow_id_list              |   1 +
 .../bt/test_dependency_list                   |   1 +
 bt5/erp5_interface_post/bt/title              |   1 +
 136 files changed, 9291 insertions(+)
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post%20Module/view.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view_editor.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/export_letter_post_list.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/view.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/preview_pdf.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/view.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter/jump_to_letter_post.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/jump_to_internet_message_post.xml
 create mode 100644 bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/mail_message_preview.xml
 create mode 100644 bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.py
 create mode 100644 bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.xml
 create mode 100644 bt5/erp5_interface_post/ModuleTemplateItem/internet_message_post_module.xml
 create mode 100644 bt5/erp5_interface_post/ModuleTemplateItem/letter_post_module.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post%20Module.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post%20Module.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post.xml
 create mode 100644 bt5/erp5_interface_post/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList/listbox.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_aggregate_related_title.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_creation_date.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_reference.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_title.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_translated_simulation_state_title.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview/your_preview.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/my_description.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/your_comment.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList/listbox.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_aggregate_related_title.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_creation_date.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_reference.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_title.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_translated_simulation_state_title.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.py
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_text_content.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_thumbnail.xml
 create mode 100644 bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_title.xml
 create mode 100644 bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.py
 create mode 100644 bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.py
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.py
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.py
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/archived.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/draft.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_acknowledged.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_failed.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_prepared.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/exported.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_failed.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_prepared.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/imported.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import_action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/action.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/actor.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/comment.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/error_message.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/history.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/portal_type.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/time.xml
 create mode 100644 bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/worklists.xml
 create mode 100644 bt5/erp5_interface_post/bt/copyright_list
 create mode 100644 bt5/erp5_interface_post/bt/dependency_list
 create mode 100644 bt5/erp5_interface_post/bt/description
 create mode 100644 bt5/erp5_interface_post/bt/license
 create mode 100644 bt5/erp5_interface_post/bt/template_action_path_list
 create mode 100644 bt5/erp5_interface_post/bt/template_document_id_list
 create mode 100644 bt5/erp5_interface_post/bt/template_format_version
 create mode 100644 bt5/erp5_interface_post/bt/template_module_id_list
 create mode 100644 bt5/erp5_interface_post/bt/template_portal_type_allowed_content_type_list
 create mode 100644 bt5/erp5_interface_post/bt/template_portal_type_base_category_list
 create mode 100644 bt5/erp5_interface_post/bt/template_portal_type_id_list
 create mode 100644 bt5/erp5_interface_post/bt/template_portal_type_property_sheet_list
 create mode 100644 bt5/erp5_interface_post/bt/template_portal_type_workflow_chain_list
 create mode 100644 bt5/erp5_interface_post/bt/template_skin_id_list
 create mode 100644 bt5/erp5_interface_post/bt/template_test_id_list
 create mode 100644 bt5/erp5_interface_post/bt/template_workflow_id_list
 create mode 100644 bt5/erp5_interface_post/bt/test_dependency_list
 create mode 100644 bt5/erp5_interface_post/bt/title

diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post%20Module/view.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post%20Module/view.xml
new file mode 100644
index 0000000000..c1c37eb508
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post%20Module/view.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_list</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_list</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/InternetMessagePostModule_viewInternetMessagePostList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view.xml
new file mode 100644
index 0000000000..e6bd284eed
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/InternetMessagePost_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view_editor.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view_editor.xml
new file mode 100644
index 0000000000..a67f41258f
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Internet%20Message%20Post/view_editor.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view_editor</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.1</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Preview</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/InternetMessagePost_viewPreview</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/export_letter_post_list.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/export_letter_post_list.xml
new file mode 100644
index 0000000000..86d99be206
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/export_letter_post_list.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_action</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>export_letter_post_list</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>5.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export Letter Posts</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/LetterPostModule_viewExportExportableLetterPostDialog</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/view.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/view.xml
new file mode 100644
index 0000000000..0013923c65
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post%20Module/view.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_list</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_list</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/LetterPostModule_viewLetterPostList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/preview_pdf.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/preview_pdf.xml
new file mode 100644
index 0000000000..40f922ea89
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/preview_pdf.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Preview action in case that the Letter Post\'s content is a PDF</string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>preview_pdf</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.1</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Preview</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/PDF_viewPDFJSPreview</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: context.getContentType() == \'application/pdf\'</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/view.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/view.xml
new file mode 100644
index 0000000000..42faa6f9e1
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter%20Post/view.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/LetterPost_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter/jump_to_letter_post.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter/jump_to_letter_post.xml
new file mode 100644
index 0000000000..f1a4ebb5b4
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Letter/jump_to_letter_post.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_jump</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_jump</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jump_to_letter_post</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Letter Posts</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+string:${object_url}/Base_jumpToRelatedObject?base_category=aggregate&portal_type=Letter+Post&related:int=0
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: portal.Base_checkPermission(\'letter_post_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/jump_to_internet_message_post.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/jump_to_internet_message_post.xml
new file mode 100644
index 0000000000..eeea0ecfef
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/jump_to_internet_message_post.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_jump</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_jump</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jump_to_internet_message_post</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Internet Message Posts</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+string:${object_url}/Base_jumpToRelatedObject?base_category=aggregate&portal_type=Internet+Message+Post&related:int=0
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: portal.Base_checkPermission(\'internet_message_post_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/mail_message_preview.xml b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/mail_message_preview.xml
new file mode 100644
index 0000000000..32c2d5bc8d
--- /dev/null
+++ b/bt5/erp5_interface_post/ActionTemplateItem/portal_types/Mail%20Message/mail_message_preview.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>View to display if the portal type Internet Message Post is installed</string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>mail_message_preview</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>10.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Preview</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/MailMessage_viewPreview</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: getattr(context.getPortalObject(), \'internet_message_post_module\', None) is not None and portal.Base_checkPermission(\'internet_message_post_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.py b/bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.py
new file mode 100644
index 0000000000..cd716e2717
--- /dev/null
+++ b/bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.py
@@ -0,0 +1,75 @@
+##############################################################################
+#
+# Copyright (c) 2015 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+from AccessControl import ClassSecurityInfo
+from Products.ERP5Type import Permissions
+from Products.ERP5.Document.Item import Item
+from Products.ERP5.mixin.mail_message import MailMessageMixin
+
+import email
+
+class InternetMessagePost(Item, MailMessageMixin):
+
+  meta_type = 'ERP5 Internet Message Post'
+  portal_type = 'Internet Message Post'
+  add_permission = Permissions.AddPortalContent
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+
+  def _getMessage(self):
+    return email.message_from_string(self.getData())
+
+
+  def stripMessageId(self, message_id):
+    """
+    In rfc5322 headers, message-ids may follow the syntax "<msg-id>" in
+    order to permit the dot-atom-text form. Thus those "<" and ">" should
+    be stripped when working with message-ids
+    """
+    if message_id is not None:
+      if message_id[0] == '<':
+        message_id = message_id[1:]
+      if message_id[-1] == '>':
+        message_id = message_id[:-1]
+    return message_id
+
+
+  def getReference(self):
+    return self.stripMessageId(self.getSourceReference())
+
+
+  def _setReference(self, value):
+    """
+    Raise if given value is different from current value,
+    as reference of an Internet Message Post is read-only
+    (if _setReference is called, it means some form field
+    hasn't been set read-only)
+    """
+    if value != self.getReference():
+      raise ValueError("Reference is read-only and can't be changed")
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.xml b/bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.xml
new file mode 100644
index 0000000000..3c606763ab
--- /dev/null
+++ b/bt5/erp5_interface_post/DocumentTemplateItem/portal_components/document.erp5.InternetMessagePost.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_recorded_property_dict</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>InternetMessagePost</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.InternetMessagePost</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</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/>
+            </value>
+        </item>
+      </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>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </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>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/ModuleTemplateItem/internet_message_post_module.xml b/bt5/erp5_interface_post/ModuleTemplateItem/internet_message_post_module.xml
new file mode 100644
index 0000000000..dc2984069e
--- /dev/null
+++ b/bt5/erp5_interface_post/ModuleTemplateItem/internet_message_post_module.xml
@@ -0,0 +1,96 @@
+<module>
+ <id>internet_message_post_module</id>
+ <permission_list>
+  <permission type='tuple'>
+   <name>Access Transient Objects</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access contents information</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access session data</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal content</name>
+   <role>Assignor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal folders</name>
+   <role>Assignor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change local roles</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Copy or Move</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Delete objects</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>List folder contents</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Modify portal content</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View History</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+ </permission_list>
+ <portal_type>Internet Message Post Module</portal_type>
+ <title>Internet Message Posts</title>
+</module>
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/ModuleTemplateItem/letter_post_module.xml b/bt5/erp5_interface_post/ModuleTemplateItem/letter_post_module.xml
new file mode 100644
index 0000000000..03c71b9840
--- /dev/null
+++ b/bt5/erp5_interface_post/ModuleTemplateItem/letter_post_module.xml
@@ -0,0 +1,96 @@
+<module>
+ <id>letter_post_module</id>
+ <permission_list>
+  <permission type='tuple'>
+   <name>Access Transient Objects</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access contents information</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access session data</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal content</name>
+   <role>Assignor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal folders</name>
+   <role>Assignor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change local roles</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Copy or Move</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Delete objects</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>List folder contents</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Modify portal content</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View History</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+ </permission_list>
+ <portal_type>Letter Post Module</portal_type>
+ <title>Letter Posts</title>
+</module>
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_interface_post/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
new file mode 100644
index 0000000000..daebf4349e
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
@@ -0,0 +1,8 @@
+<allowed_content_type_list>
+ <portal_type id="Internet Message Post Module">
+  <item>Internet Message Post</item>
+ </portal_type>
+ <portal_type id="Letter Post Module">
+  <item>Letter Post</item>
+ </portal_type>
+</allowed_content_type_list>
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/PortalTypeBaseCategoryTemplateItem/base_category_list.xml b/bt5/erp5_interface_post/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
new file mode 100644
index 0000000000..aaac75a1d3
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
@@ -0,0 +1,8 @@
+<base_category_list>
+ <portal_type id="Internet Message Post Module">
+  <item>business_application</item>
+ </portal_type>
+ <portal_type id="Letter Post Module">
+  <item>business_application</item>
+ </portal_type>
+</base_category_list>
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/PortalTypePropertySheetTemplateItem/property_sheet_list.xml b/bt5/erp5_interface_post/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
new file mode 100644
index 0000000000..7d61acde3b
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
@@ -0,0 +1,8 @@
+<property_sheet_list>
+ <portal_type id="Internet Message Post">
+  <item>Data</item>
+ </portal_type>
+ <portal_type id="Letter Post">
+  <item>Data</item>
+ </portal_type>
+</property_sheet_list>
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post%20Module.xml b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post%20Module.xml
new file mode 100644
index 0000000000..7f7c0b80eb
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post%20Module.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Base Type" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>folder_icon.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addFolder</string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>module</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Internet Message Post Module</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Type</string> </value>
+        </item>
+        <item>
+            <key> <string>type_class</string> </key>
+            <value> <string>Folder</string> </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>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post.xml b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post.xml
new file mode 100644
index 0000000000..a8b38b9604
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Internet%20Message%20Post.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Base Type" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addXMLObject</string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>interface_post</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Internet Message Post</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>permission</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Type</string> </value>
+        </item>
+        <item>
+            <key> <string>type_class</string> </key>
+            <value> <string>InternetMessagePost</string> </value>
+        </item>
+        <item>
+            <key> <string>type_interface</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_mixin</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post%20Module.xml b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post%20Module.xml
new file mode 100644
index 0000000000..bee3950a28
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post%20Module.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Base Type" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>folder_icon.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addFolder</string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>module</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Letter Post Module</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Type</string> </value>
+        </item>
+        <item>
+            <key> <string>type_class</string> </key>
+            <value> <string>Folder</string> </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>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post.xml b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post.xml
new file mode 100644
index 0000000000..d1230a56f2
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeTemplateItem/portal_types/Letter%20Post.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Base Type" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addXMLObject</string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>interface_post</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Letter Post</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>permission</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Type</string> </value>
+        </item>
+        <item>
+            <key> <string>type_class</string> </key>
+            <value> <string>Item</string> </value>
+        </item>
+        <item>
+            <key> <string>type_interface</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_mixin</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_interface_post/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
new file mode 100644
index 0000000000..7f73d19370
--- /dev/null
+++ b/bt5/erp5_interface_post/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -0,0 +1,10 @@
+<workflow_chain>
+ <chain>
+  <type>Internet Message Post</type>
+  <workflow>edit_workflow, interface_post_workflow</workflow>
+ </chain>
+ <chain>
+  <type>Letter Post</type>
+  <workflow>edit_workflow, interface_post_workflow</workflow>
+ </chain>
+</workflow_chain>
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post.xml
new file mode 100644
index 0000000000..1e1cc36bfe
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>business_template_skin_layer_priority</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>float</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>business_template_skin_layer_priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_interface_post</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.py
new file mode 100644
index 0000000000..90efbb46ab
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.py
@@ -0,0 +1,16 @@
+portal = context.getPortalObject()
+
+post_message_post_module = portal.getDefaultModuleValue(post_portal_type, None)
+
+message_post = post_message_post_module.newContent(
+  portal_type=post_portal_type,
+  title="Post Message for %s" % context.getTitle(),
+  data=post_message_data,
+  **kw
+)
+
+message_post.prepareExport()
+
+event_aggregate_list = context.getAggregateList()
+event_aggregate_list.append(message_post.getRelativeUrl())
+context.setAggregateList(event_aggregate_list)
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.xml
new file mode 100644
index 0000000000..87af0dc2a6
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Event_createPostMessage.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>post_portal_type, post_message_data, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Event_createPostMessage</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList.xml
new file mode 100644
index 0000000000..caeb52ccbc
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_doSelect</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePostModule_viewInternetMessagePostList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>InternetMessagePostModule_viewInternetMessagePostList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_list</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Internet Message Posts</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList/listbox.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList/listbox.xml
new file mode 100644
index 0000000000..5bfef3c03f
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePostModule_viewInternetMessagePostList/listbox.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>aggregate_related_title</string>
+                          <string>Origin Mail Message</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_simulation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Internet Message Post</string>
+                          <string>Internet Message Post</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>internet_message_post_module_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Internet Message Posts</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.py
new file mode 100644
index 0000000000..fd51a9c59f
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.py
@@ -0,0 +1,3 @@
+# Internet Message Post is by default directly sent through MailHost.
+# If a different behavior is needed, this script can be overriden.
+context.export()
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.xml
new file mode 100644
index 0000000000..a10d7fe878
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareExport.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_afterPrepareExport</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.py
new file mode 100644
index 0000000000..04434623a5
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.py
@@ -0,0 +1,4 @@
+if context.InternetMessagePost_ingest():
+  getattr(context, 'import')() # "context.import()" is considered a syntax error...
+else:
+  context.failImport()
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.xml
new file mode 100644
index 0000000000..dd266d15a6
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_afterPrepareImport.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_afterPrepareImport</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.py
new file mode 100644
index 0000000000..f23917ee78
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.py
@@ -0,0 +1 @@
+context.getPortalObject().MailHost.send(context.getData())
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.xml
new file mode 100644
index 0000000000..1c8c90f2c6
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_export.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_export</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.py
new file mode 100644
index 0000000000..a40873fea7
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.py
@@ -0,0 +1,17 @@
+"""
+This script can be used to give a preview of an Internet Mail Message.
+Usually, the data is a multipart message (at least ERP5 only create
+multipart message). As for users don't want an accurate representation of
+the message, but a preview, we assume that rendering the first part
+of the multipart message is enough.
+"""
+import email
+
+message = email.message_from_string(context.getData())
+
+payload = message.get_payload()
+
+while isinstance(payload, list):
+  payload = payload[0].get_payload(decode=True)
+
+return payload
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.xml
new file mode 100644
index 0000000000..4c0c5007b2
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_getFirstPartFromMultipartMessage.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_getFirstPartFromMultipartMessage</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.py
new file mode 100644
index 0000000000..362c65c43c
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.py
@@ -0,0 +1,36 @@
+"""
+From an Internet Message Post, creates a Mail Message (and attachements)
+in ERP5.
+"""
+from Products.ZSQLCatalog.SQLCatalog import SimpleQuery
+
+import email
+
+portal = context.getPortalObject()
+
+email_object = email.message_from_string(context.getData())
+
+mail_message = portal.portal_contributions.newContent(
+  container_path='event_module',
+  filename='internet_message_post_ingestion.eml',
+  data=context.getData(),
+)
+mail_message.setAggregateValue(context)
+
+strict_causality_reference = context.stripMessageId(email_object['in-reply-to'])
+
+if strict_causality_reference:
+  causality_post_result_list = portal.internet_message_post_module.searchFolder(
+    portal_type=context.getPortalType(),
+    query=SimpleQuery(reference=strict_causality_reference),
+  )
+  if len(causality_post_result_list) == 1:
+    causality_event = causality_post_result_list[0].getAggregateRelatedValue()
+    mail_message.setCausalityValue(causality_event)
+    # If causality has a follow up (ie: on a Support Request), then they most
+    # likely share the same follow up
+    mail_message.setDefaultFollowUp(causality_event.getDefaultFollowUp())
+
+mail_message.stop()
+
+return [mail_message,]
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.xml
new file mode 100644
index 0000000000..1bd34f8631
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_ingest.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_ingest</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view.xml
new file mode 100644
index 0000000000..d4ac32c938
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_reference</string>
+                        <string>my_aggregate_related_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_creation_date</string>
+                        <string>my_translated_simulation_state_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>InternetMessagePost_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Internet Message Post</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_aggregate_related_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_aggregate_related_title.xml
new file mode 100644
index 0000000000..768b9e0753
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_aggregate_related_title.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>base_category</string>
+                <string>editable</string>
+                <string>portal_type</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_aggregate_related_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>aggregate_related</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_relation_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Mail Message</string>
+                          <string>Mail Message</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Origin Mail Message</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_creation_date.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_creation_date.xml
new file mode 100644
index 0000000000..f6dbb20c8e
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_creation_date.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>date_only</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_creation_date</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_date_time_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_reference.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_reference.xml
new file mode 100644
index 0000000000..b1d5e0ab61
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_reference.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_reference</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_read_only_reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_title.xml
new file mode 100644
index 0000000000..4cc7d2e889
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_title.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string>text</string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Title</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_translated_simulation_state_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_translated_simulation_state_title.xml
new file mode 100644
index 0000000000..826ae91c52
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_view/my_translated_simulation_state_title.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_translated_simulation_state_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_translated_simulation_state_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview.xml
new file mode 100644
index 0000000000..60dd296a08
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>your_preview</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>InternetMessagePost_viewPreview</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>InternetMailMessage_viewPreview</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview/your_preview.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview/your_preview.xml
new file mode 100644
index 0000000000..be0c437b17
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/InternetMessagePost_viewPreview/your_preview.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_preview</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_text_content</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>here/InternetMessagePost_getFirstPartFromMultipartMessage</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.py
new file mode 100644
index 0000000000..20b81388d3
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.py
@@ -0,0 +1,26 @@
+portal = context.getPortalObject()
+N_ = portal.Base_translateString
+
+user = portal.portal_membership.getAuthenticatedMember()
+person_value = user.getUserValue()
+
+if person_value is None:
+  portal.changeSkin(None)
+  return context.Base_redirect('view', keep_items=dict(
+              portal_status_message=N_("No person found for your user")))
+
+if person_value.getDefaultEmailText('') in ('', None):
+  portal.changeSkin(None)
+  return context.Base_redirect('view', keep_items=dict(
+              portal_status_message=N_("You haven't defined your email address")))
+
+context.activate(
+  tag=script.id,
+).LetterPostModule_exportExportableLetterPostActivity(
+  user.getUserId(),
+  comment,
+  portal.Localizer.get_selected_language(),
+)
+
+return context.Base_redirect('view',
+  keep_items=dict(portal_status_message=N_("Report Started")))
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.xml
new file mode 100644
index 0000000000..2b4a313cf0
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPost.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>comment, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>LetterPostModule_exportExportableLetterPost</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.py
new file mode 100644
index 0000000000..43907c45b8
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.py
@@ -0,0 +1,30 @@
+portal = context.getPortalObject()
+N_ = portal.Base_translateString
+
+letter_post_list = context.searchFolder(simulation_state='export_prepared')
+
+merged_pdf_content = portal.ERP5Site_mergePDFList((
+   letter_post.getObject().getData() for letter_post in letter_post_list if letter_post.getData()))
+
+for letter_post in letter_post_list:
+  letter_post.activate(activity='SQLQueue').export(comment=comment)
+
+with portal.Localizer.translationContext(localizer_language):
+  result_pdf = portal.document_module.newContent(
+    portal_type='PDF',
+    title=N_('Printing of Letter Post'),
+    data=merged_pdf_content,
+    content_type='application/pdf',
+    filename='letter_export.pdf',
+  )
+
+  result_pdf.release()
+
+  portal.portal_notifications.activate(activity='SQLQueue').sendMessage(
+    recipient=[user_name,],
+    subject=N_('Letters to print'),
+    message='Please, find the PDF aggregating all Letters to send here : %s' % result_pdf.getAbsoluteUrl(),
+    message_text_format='text/plain',
+    notifier_list=('Mail Message',),
+    store_as_event=False,
+  )
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.xml
new file mode 100644
index 0000000000..57b13f004e
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_exportExportableLetterPostActivity.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>user_name, comment, localizer_language</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>LetterPostModule_exportExportableLetterPostActivity</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog.xml
new file mode 100644
index 0000000000..820b9b1cce
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>LetterPostModule_exportExportableLetterPost</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_description</string>
+                        <string>your_comment</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>LetterPostModule_viewExportExportableLetterPostDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>LetterPostModule_exportExportableLetterPostDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export Letter Posts</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/my_description.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/my_description.xml
new file mode 100644
index 0000000000..ac91ad8b82
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/my_description.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string>Exportable Letter Posts will be aggregated in a single PDF Document, which will be emailed to you.</string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string>text</string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Description</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/your_comment.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/your_comment.xml
new file mode 100644
index 0000000000..5a31188068
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewExportExportableLetterPostDialog/your_comment.xml
@@ -0,0 +1,301 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Comments will be stored in the workflow history of this document.</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <int>10</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Comments</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>80</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: \'\'</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList.xml
new file mode 100644
index 0000000000..6989c562c5
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_doSelect</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>LetterPostModule_viewLetterPostList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>LetterPostModule_viewLetterPostList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_list</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Letter Posts</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList/listbox.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList/listbox.xml
new file mode 100644
index 0000000000..8779e88bde
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPostModule_viewLetterPostList/listbox.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>aggregate_related_title</string>
+                          <string>Origin Letter</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_simulation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Letter Post</string>
+                          <string>Letter Post</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>letter_post_module_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Letter Posts</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view.xml
new file mode 100644
index 0000000000..2589de32c1
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_reference</string>
+                        <string>my_aggregate_related_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_creation_date</string>
+                        <string>my_translated_simulation_state_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>LetterPost_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>LetterPost_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Letter Post</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_aggregate_related_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_aggregate_related_title.xml
new file mode 100644
index 0000000000..17292999cb
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_aggregate_related_title.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>base_category</string>
+                <string>editable</string>
+                <string>portal_type</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_aggregate_related_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>aggregate_related</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_relation_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Letter</string>
+                          <string>Letter</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Origin Letter</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_creation_date.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_creation_date.xml
new file mode 100644
index 0000000000..f6dbb20c8e
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_creation_date.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>date_only</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_creation_date</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_date_time_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_reference.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_reference.xml
new file mode 100644
index 0000000000..b1d5e0ab61
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_reference.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_reference</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_read_only_reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_title.xml
new file mode 100644
index 0000000000..4cc7d2e889
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_title.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>input_type</string> </key>
+                    <value> <string>text</string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Title</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_translated_simulation_state_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_translated_simulation_state_title.xml
new file mode 100644
index 0000000000..826ae91c52
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/LetterPost_view/my_translated_simulation_state_title.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_translated_simulation_state_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_translated_simulation_state_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.py
new file mode 100644
index 0000000000..743cb0e2d4
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.py
@@ -0,0 +1 @@
+return context.Event_createPostMessage('Letter Post', post_message_data, content_type='application/pdf')
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.xml
new file mode 100644
index 0000000000..a30178de6a
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_createPostMessage.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>post_message_data, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Letter_createPostMessage</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.py
new file mode 100644
index 0000000000..e4a7e12164
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.py
@@ -0,0 +1,4 @@
+context.getTypeBasedMethod('createPostMessage')(
+  context.convert(format='pdf')[1],
+  content_type='application/pdf',
+)
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.xml
new file mode 100644
index 0000000000..edf7e822b5
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/Letter_send.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>*args, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Letter_send</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.py
new file mode 100644
index 0000000000..c90f62ade0
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.py
@@ -0,0 +1 @@
+return context.Event_createPostMessage('Internet Message Post', post_message_data, **kw)
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.xml
new file mode 100644
index 0000000000..ff6edb5218
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_createPostMessage.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>post_message_data, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>MailMessage_createPostMessage</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.py b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.py
new file mode 100644
index 0000000000..a18feb6a61
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.py
@@ -0,0 +1,9 @@
+result = sorted([
+  x for x in context.getAggregateValueList(portal_type='Internet Message Post')
+  if x.getSimulationState() in ('exported', 'acknowledged')
+], key=lambda x:x.getCreationDate())
+
+if len(result):
+  return result[-1]
+else:
+  return None
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.xml
new file mode 100644
index 0000000000..4f32fa4284
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_getLatestInternetMessagePostValue.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>MailMessage_getLatestInternetMessagePostValue</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview.xml
new file mode 100644
index 0000000000..c840cb4495
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>webcontent header bottom</string>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>my_text_content</string>
+                        <string>my_thumbnail</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>webcontent header bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>MailMessage_viewPreview</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>WebPage_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Event Preview</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_text_content.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_text_content.xml
new file mode 100644
index 0000000000..f41b8fed2f
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_text_content.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>editable</string>
+                <string>enabled</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_text_content</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_text_content</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Page Content</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python:(here.getTextContent() if here.getSimulationState() not in (\'started\', \'stopped\', \'delivered\') else here.MailMessage_getLatestInternetMessagePostValue().InternetMessagePost_getFirstPartFromMultipartMessage())</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>not:here/getUrlString</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_thumbnail.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_thumbnail.xml
new file mode 100644
index 0000000000..fd28c31f71
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_thumbnail.xml
@@ -0,0 +1,307 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="EditorField" module="Products.ERP5Form.EditorField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_thumbnail</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string>text_area</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Thumbnail</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>here/Event_renderHTMLPreviewAsImage</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_title.xml b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_title.xml
new file mode 100644
index 0000000000..b2a9c86c7f
--- /dev/null
+++ b/bt5/erp5_interface_post/SkinTemplateItem/portal_skins/erp5_interface_post/MailMessage_viewPreview/my_title.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>css_class</string>
+                <string>description</string>
+                <string>display_width</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string>headline</string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The title is display as main content title and page title.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_event_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.py b/bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.py
new file mode 100644
index 0000000000..3503f1262d
--- /dev/null
+++ b/bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.py
@@ -0,0 +1,431 @@
+##############################################################################
+#
+# Copyright (c) 2002-2017 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+##############################################################################
+import email
+import time
+
+from Products.ERP5Type.tests.ERP5TypeLiveTestCase import ERP5TypeTestCase
+from Products.ERP5Type.tests.Sequence import SequenceList
+from Products.ZSQLCatalog.SQLCatalog import SimpleQuery
+from DateTime import DateTime
+
+
+class TestInterfacePost(ERP5TypeTestCase):
+  """
+  Tests the creation of "Post" documents when their related event type
+  is sent.
+  """
+
+  default_mail_text_content = \
+    'Hello dear customer,\nConnect to your space online to get free money'
+
+  def getTitle(self):
+    return "Interface Post Test"
+
+  def afterSetUp(self):
+    self.portal.MailHost.reset()
+
+    user_list = self.portal.portal_catalog(portal_type='Person', reference='user')
+    if user_list:
+      self.user = user_list[0]
+    else:
+      self.user = self.createSimpleUser('user', 'user', 'admin')
+      self.user.edit(
+        default_email_coordinate_text='user@example.com'
+      )
+      self.user.validate()
+
+    # Make sure to have a difference of at least 1 second between test_launch_date
+    # and creation_date of new documents, otherwise they won't be found by catalog
+    # during the fatest test sequences
+    self.test_launch_date = DateTime()
+    time.sleep(1)
+
+    self.sender = self.portal.person_module.newContent(
+      portal_type='Person',
+      title='sender',
+      default_email_coordinate_text='sender@example.com',
+    )
+    self.recipient = self.portal.person_module.newContent(
+      portal_type='Person',
+      title='recipient',
+      default_email_coordinate_text='recipient@example.com',
+    )
+    self.recipient_list = [self.recipient,]
+
+  def beforeTearDown(self):
+    for module_id in ('event_module', 'internet_message_post_module', 'letter_post_module'):
+      module = getattr(self.portal, module_id)
+      module.manage_delObjects(list(module.objectIds()))
+
+  def _portal_catalog(self, **kw):
+    result_list = self.portal.portal_catalog(**kw)
+    uid_list = [x.uid for x in result_list]
+    if len(uid_list):
+      return self.portal.portal_catalog(
+        uid=uid_list,
+        query=SimpleQuery(
+          creation_date=self.test_launch_date,
+          comparison_operator='>'
+        ),
+      )
+    else:
+      return result_list
+
+  def _stepCreateEvent(self, portal_type, sequence=None, sequence_list=None):
+    event = self.portal.event_module.newContent(
+      portal_type=portal_type,
+      source_value=self.sender,
+      destination_value_list=self.recipient_list,
+      title='Promotional campaign',
+      text_content=self.default_mail_text_content,
+    )
+    sequence['mail_message'] = event
+    sequence.setdefault('mail_message_list', []).append(event)
+    return event
+
+  def stepCreateMailMessage(self, sequence=None, sequence_list=None):
+    self._stepCreateEvent(portal_type='Mail Message',
+                          sequence=sequence,
+                          sequence_list=sequence_list)
+
+  def stepCreateLetter(self, sequence=None, sequence_list=None):
+    letter = self._stepCreateEvent(portal_type='Letter',
+                                   sequence=sequence,
+                                   sequence_list=sequence_list)
+    sequence.setdefault('letter_list', []).append(letter)
+
+  def stepSendAllLetter(self, sequence=None, sequence_list=None):
+    for letter in sequence['letter_list']:
+      letter.send()
+
+  def stepCreateInternetMessagePost(self, sequence=None, sequence_list=None):
+    internet_message_post = self.portal.internet_message_post_module.newContent(
+      portal_type='Internet Message Post',
+      reference='ref1',
+    )
+    sequence['internet_message_post'] = internet_message_post
+    sequence.setdefault('internet_message_post_list', []).append(internet_message_post)
+
+  def stepCreateLetterPost(self, sequence=None, sequence_list=None):
+    letter_post = self.portal.letter_post_module.newContent(
+      portal_type='Letter Post',
+      reference='ref1',
+    )
+    sequence['letter_post'] = letter_post
+    sequence.setdefault('letter_post_list', []).append(letter_post)
+
+  def stepStartMailMessage(self, sequence=None, sequence_list=None):
+    self.portal.portal_workflow.doActionFor(
+      sequence['mail_message'],
+      'start_action'
+    )
+
+  def _prepareExportOfAllPostByPortalType(self, portal_type):
+    result_list = self._portal_catalog(portal_type=portal_type)
+    for result in result_list:
+      result.prepareExport()
+
+  def stepPrepareExportOfAllInternetMessagePost(self, sequence=None, sequence_list=None):
+    self._prepareExportOfAllPostByPortalType('Internet Message Post')
+
+  def stepPrepareExportOfAllLetterPost(self, sequence=None, sequence_list=None):
+    self._prepareExportOfAllPostByPortalType('Letter Post')
+
+  def stepChangeMailMessageTextContent(self, sequence=None, sequence_list=None):
+    mail_message = sequence['mail_message']
+    mail_message.setTextContent("Hello customer,\nsome agent is trying to hack the system")
+
+  def stepCheckMailMessage(self, sequence=None, sequence_list=None):
+    mail_message = sequence['mail_message']
+    self.assertEqual(mail_message.getSimulationState(), 'started')
+    self.assertIn(mail_message.getTextContent(), self.default_mail_text_content)
+
+  def _checkOnlyOnePostIsExportedByPortalType(self, portal_type):
+    result_list = self._portal_catalog(
+      portal_type=portal_type,
+      simulation_state='exported',
+    )
+    self.assertEqual(
+      len(result_list),
+      1,
+      "More than 1 exportable Internet Message Post has been exported."
+    )
+
+    result_list = self._portal_catalog(
+      portal_type=portal_type,
+      simulation_state='unexportable',
+    )
+    self.assertGreaterEqual(
+      len(result_list),
+      1,
+      "No Internet Message Post's export has been cancelled after exporting one of them."
+    )
+
+  def stepCheckOnlyOneInternetMessagePostIsExported(self, sequence=None, sequence_list=None):
+    self._checkOnlyOnePostIsExportedByPortalType('Internet Message Post')
+
+  def stepCheckOnlyOneLetterPostIsExported(self, sequence=None, sequence_list=None):
+    self._checkOnlyOnePostIsExportedByPortalType('Letter Post')
+
+  def stepCheckAllLetterPostIsExportPrepared(self, sequence=None, sequence_list=None):
+    letter_post_list = self._portal_catalog(
+      portal_type='Letter Post',
+      simulation_state='export_prepared',
+    )
+    self.assertEqual(len(letter_post_list), len(sequence['letter_list']))
+    for letter_post in letter_post_list:
+      self.assertTrue(letter_post.hasData())
+      self.assertEqual(letter_post.getContentType(), 'application/pdf')
+      self.assertIn(
+        letter_post.getAggregateRelatedValue(),
+        sequence['letter_list']
+      )
+
+  def stepCheckAllLetterPostAreExported(self, sequence=None, sequence_list=None):
+    letter_post_list = self._portal_catalog(
+      portal_type='Letter Post',
+      simulation_state='exported',
+    )
+    self.assertEqual(len(letter_post_list), len(sequence['letter_list']))
+    for letter_post in letter_post_list:
+      self.assertEqual(letter_post.getSimulationState(), 'exported')
+
+  def stepCheckInternetMessagePostCreated(self, sequence=None, sequence_list=None):
+    mail_message = sequence['mail_message']
+    internet_message_post_list = mail_message.getAggregateValueList(
+      portal_type='Internet Message Post')
+
+    self.assertEqual(len(internet_message_post_list), len(self.recipient_list))
+
+    sequence['internet_message_post'] = internet_message_post_list[0]
+    sequence['internet_message_post_list'] = internet_message_post_list
+
+    self.assertEqual(0, len(mail_message.getAggregateDocumentTitleList([])),
+      "Internet Message Post shouldn't be an attachment"
+    )
+
+    for internet_message_post in internet_message_post_list:
+      self.assertEqual(internet_message_post.getSimulationState(), 'exported')
+      mail_object = email.message_from_string(internet_message_post.getData())
+      self.assertEqual(
+        internet_message_post.getReference(), mail_object['message-id'].strip('<>')
+      )
+      self.assertEqual(
+        mail_message.getTextContent(),
+        internet_message_post.InternetMessagePost_getFirstPartFromMultipartMessage()
+      )
+
+  def stepCheckOnlyOneMessageHasBeenSentFromMailHost(self, sequence=None, sequence_list=None):
+    self.assertEqual(1, len(self.portal.MailHost.getMessageList()))
+
+  def stepCheckLatestMessageFromMailHost(self, sequence=None, sequence_list=None):
+    last_message, = self.portal.MailHost._message_list
+    self.assertNotEquals((), last_message)
+    _, _, message_text = last_message
+    self.assertIn(message_text, sequence['internet_message_post'].getData())
+
+  def _getMailHostMessageForRecipient(self, recipient_email_address):
+    message_list = self.portal.MailHost._message_list
+    result_list = []
+    for message in message_list:
+      _, to_list, _ = message
+      for recipient in to_list:
+        if recipient_email_address in recipient:
+          result_list.append(message)
+    return result_list
+
+  def stepCheckLatestMessageListFromMailHost(self, sequence=None, sequence_list=None):
+    message_list = self.portal.MailHost._message_list
+    self.assertEqual(len(message_list), len(self.recipient_list))
+    for post in sequence['internet_message_post_list']:
+      post_recipient = email.message_from_string(post.getData())['to']
+      message_list = self._getMailHostMessageForRecipient(post_recipient)
+      self.assertEqual(len(message_list), 1)
+      message = message_list[0]
+      _, _, message_text = message
+      self.assertIn(message_text, post.getData())
+
+  def stepCheckMailMessagePreviewDisplaysLatestInternetMessagePostData(self, sequence=None, sequence_list=None):
+    mail_message = sequence['mail_message']
+    self.assertNotEqual(mail_message.getTextContent(), self.default_mail_text_content)
+    self.assertIn(
+      self.default_mail_text_content,
+      mail_message.MailMessage_viewPreview.my_text_content.render(),
+    )
+
+  def stepCheckCreateAndIngestInternetMessagePostResponse(self, sequence=None, sequence_list=None):
+    post = sequence['internet_message_post']
+
+    # Create a response mail object
+    mail_object = email.message_from_string(post.getData())
+
+    sender = mail_object['from']
+    recipient = mail_object['to']
+
+    mail_object.replace_header('from', recipient)
+    mail_object.replace_header('to', sender)
+    mail_object.add_header('In-Reply-To', mail_object['message-id'])
+    mail_object.add_header('References', mail_object['in-reply-to'])
+    mail_object.replace_header('message-id', email.utils.make_msgid())
+    mail_object.replace_header('subject', 'Re: {}'.format(mail_object['subject']))
+
+    # Ingest it
+    response_post = self.portal.internet_message_post_module.newContent(
+      portal_type='Internet Message Post',
+      data=mail_object.as_string(),
+    )
+    response_post.prepareImport()
+    sequence['internet_message_post_response'] = response_post
+
+  def stepCheckMailMessageResponseCreated(self, sequence=None, sequence_list=None):
+    response_list = self._portal_catalog(
+      portal_type='Mail Message',
+      title='Re: Promotional campaign',
+    )
+    self.assertEqual(len(response_list), 1)
+    response, = response_list
+    self.assertEqual(
+      response.getCausalityValue(),
+      sequence['mail_message'],
+    )
+    self.assertEqual(
+      response.getAggregateValue(portal_type='Internet Message Post'),
+      sequence['internet_message_post_response']
+    )
+    self.assertEqual(response.getSourceTitle(), 'recipient')
+    self.assertEqual(response.getDestinationTitle(), 'sender')
+    self.assertEqual(response.getSimulationState(), 'delivered')
+
+  def stepLaunchExportOnLetterPostModule(self, sequence=None, sequence_list=None):
+    self.portal.letter_post_module.LetterPostModule_exportExportableLetterPostActivity(
+      user_name=self.user.getUserId(),
+      comment='To print',
+      localizer_language='fr',
+    )
+
+  def stepCheckAggregatingPDFDocument(self, sequence=None, sequence_list=None):
+    pdf_document_list = self._portal_catalog(portal_type='PDF')
+    self.assertEqual(len(pdf_document_list), 1)
+    pdf_document, = pdf_document_list
+    self.assertEqual(2, int(pdf_document.getContentInformation()['Pages']))
+
+  def test_emailSendingIsPilotedByInternetMessagePost(self):
+    """
+    """
+    sequence_list = SequenceList()
+    sequence_string = """
+      stepCreateMailMessage
+      stepStartMailMessage
+      stepTic
+      stepCheckMailMessage
+      stepCheckInternetMessagePostCreated
+      stepCheckOnlyOneMessageHasBeenSentFromMailHost
+      stepCheckLatestMessageFromMailHost
+    """
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self)
+
+  def test_deliveredMailMessagePreviewDisplaysLatestInternetMessagePostData(self):
+    """
+    """
+    sequence_list = SequenceList()
+    sequence_string = """
+      stepCreateMailMessage
+      stepStartMailMessage
+      stepCheckMailMessage
+      stepTic
+      stepCheckInternetMessagePostCreated
+      stepCheckLatestMessageFromMailHost
+      stepChangeMailMessageTextContent
+      stepCheckMailMessagePreviewDisplaysLatestInternetMessagePostData
+    """
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self)
+
+  def test_sentMailMessageCreateOneInternetMessagePostForEachRecipient(self):
+    """
+    In case of multi recipients for emails, one mail message content is generated
+    and sent through the MailHost. As the purpose of Internet Message Post is to
+    track what goes out of ERP5, one Internet Message Post must be created for each
+    of these mail message contents.
+    """
+    recipient_2 = self.portal.person_module.newContent(
+      portal_type='Person',
+      title='recipient_2',
+      default_email_coordinate_text='recipient_2@example.com',
+    )
+    self.recipient_list.append(recipient_2)
+
+    sequence_list = SequenceList()
+    sequence_string = """
+      stepCreateMailMessage
+      stepStartMailMessage
+      stepCheckMailMessage
+      stepTic
+      stepCheckInternetMessagePostCreated
+      stepCheckLatestMessageListFromMailHost
+    """
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self)
+
+  def test_ingestedInternetMessagePostCreateMailMessageWithCausality(self):
+    sequence_list = SequenceList()
+    sequence_string = """
+      stepCreateMailMessage
+      stepStartMailMessage
+      stepCheckMailMessage
+      stepTic
+      stepCheckInternetMessagePostCreated
+      stepCheckLatestMessageListFromMailHost
+      stepCheckCreateAndIngestInternetMessagePostResponse
+      stepTic
+      stepCheckMailMessageResponseCreated
+    """
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self)
+
+  def test_exportAllExportableLetterPostInAPDFDocument(self):
+    """
+    Test the action on Letter Post Module to export all exportable Letter Posts
+    and aggregate their content in a unique PDF document (easy to print)
+    """
+    sequence_list = SequenceList()
+    sequence_string = """
+      stepCreateLetter
+      stepCreateLetter
+      stepSendAllLetter
+      stepTic
+      stepCheckAllLetterPostIsExportPrepared
+      stepLaunchExportOnLetterPostModule
+      stepTic
+      stepCheckAllLetterPostAreExported
+      stepTic
+      stepCheckOnlyOneMessageHasBeenSentFromMailHost
+      stepCheckAggregatingPDFDocument
+    """
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self)
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.xml b/bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.xml
new file mode 100644
index 0000000000..55763400b2
--- /dev/null
+++ b/bt5/erp5_interface_post/TestTemplateItem/portal_components/test.erp5.testInterfacePost.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Test Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_recorded_property_dict</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>testInterfacePost</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test.erp5.testInterfacePost</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Test Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</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/>
+            </value>
+        </item>
+      </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>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </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>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow.xml
new file mode 100644
index 0000000000..30b829b9b3
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>creation_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Defines the export state of a post</string> </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>interface_post_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>initial_state</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>manager_bypass</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Access contents information</string>
+                <string>View</string>
+                <string>Add portal content</string>
+                <string>Modify portal content</string>
+                <string>Delete objects</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>state_var</string> </key>
+            <value> <string>simulation_state</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Interface Post Workflow</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts.xml
new file mode 100644
index 0000000000..072c8f6540
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.py b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.py
new file mode 100644
index 0000000000..9bb4b17c7e
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.py
@@ -0,0 +1,5 @@
+tag = "afterExport:%s" % state_change['object'].getReference()
+method = state_change['object'].getTypeBasedMethod('export')
+if method is not None:
+  getattr(
+    state_change['object'].activate(tag=tag, activity='SQLQueue'), method.id)()
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.xml
new file mode 100644
index 0000000000..973b85cf11
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterExport.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>afterExport</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.py b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.py
new file mode 100644
index 0000000000..93f846e308
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.py
@@ -0,0 +1,5 @@
+tag = "afterPrepareExport:%s" % state_change['object'].getReference()
+method = state_change['object'].getTypeBasedMethod('afterPrepareExport')
+if method is not None:
+  getattr(
+    state_change['object'].activate(tag=tag, activity='SQLQueue'), method.id)()
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.xml
new file mode 100644
index 0000000000..bba2a983eb
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareExport.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>afterPrepareExport</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.py b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.py
new file mode 100644
index 0000000000..cc8c7601ad
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.py
@@ -0,0 +1,5 @@
+tag = "afterPrepareImport:%s" % state_change['object'].getReference()
+method = state_change['object'].getTypeBasedMethod('afterPrepareImport')
+if method is not None:
+  getattr(
+    state_change['object'].activate(tag=tag, activity='SQLQueue'), method.id)()
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.xml
new file mode 100644
index 0000000000..ac9093e053
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/scripts/afterPrepareImport.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>afterPrepareImport</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states.xml
new file mode 100644
index 0000000000..27ec906902
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="States" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>states</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/archived.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/archived.xml
new file mode 100644
index 0000000000..681dbd9d24
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/archived.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>archived</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Archived</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/draft.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/draft.xml
new file mode 100644
index 0000000000..1167a008d6
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/draft.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Document hasn\'t been exported yet</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Unexported</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>archive</string>
+                <string>archive_action</string>
+                <string>prepare_export</string>
+                <string>prepare_export_action</string>
+                <string>prepare_import</string>
+                <string>prepare_import_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_acknowledged.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_acknowledged.xml
new file mode 100644
index 0000000000..8ea6768868
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_acknowledged.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>export_acknowledged</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export Acknowledged</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>fail_export</string>
+                <string>fail_export_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_failed.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_failed.xml
new file mode 100644
index 0000000000..96cd100e2d
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_failed.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>The export of the document has failed</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>export_failed</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export Failed</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>archive</string>
+                <string>archive_action</string>
+                <string>prepare_export</string>
+                <string>prepare_export_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_prepared.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_prepared.xml
new file mode 100644
index 0000000000..73120b3c15
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/export_prepared.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>export_prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export Prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>archive</string>
+                <string>archive_action</string>
+                <string>export</string>
+                <string>export_action</string>
+                <string>fail_export</string>
+                <string>fail_export_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/exported.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/exported.xml
new file mode 100644
index 0000000000..43e618ae68
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/exported.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>The document has been exported out of ERP5</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>exported</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Exported</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>acknowledge_export</string>
+                <string>acknowledge_export_action</string>
+                <string>fail_export</string>
+                <string>fail_export_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_failed.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_failed.xml
new file mode 100644
index 0000000000..9f91f1495d
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_failed.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>import_failed</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Import Failed</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>archive</string>
+                <string>archive_action</string>
+                <string>prepare_import</string>
+                <string>prepare_import_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_prepared.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_prepared.xml
new file mode 100644
index 0000000000..f4d0e8635f
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/import_prepared.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>import_prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Import Prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>archive</string>
+                <string>archive_action</string>
+                <string>fail_import</string>
+                <string>fail_import_action</string>
+                <string>import</string>
+                <string>import_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/imported.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/imported.xml
new file mode 100644
index 0000000000..853f298b29
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/states/imported.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>imported</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Imported</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>fail_import</string>
+                <string>fail_import_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions.xml
new file mode 100644
index 0000000000..aa36144efe
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>transitions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export.xml
new file mode 100644
index 0000000000..faacda3f4d
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>acknowledge_export</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>export_acknowledged</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Acknowledge Export</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export_action.xml
new file mode 100644
index 0000000000..26d2a89e33
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/acknowledge_export_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Acknowledge</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=acknowledge_export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>acknowledge_export</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>acknowledge_export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Acknowledge Export Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive.xml
new file mode 100644
index 0000000000..8c7511c0c8
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>archive</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>archived</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Archive</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive_action.xml
new file mode 100644
index 0000000000..a6abc46d72
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/archive_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Archive</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=archive_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>archive</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>archive_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Archive Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export.xml
new file mode 100644
index 0000000000..307ac8d498
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>afterExport</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>export</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>exported</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export_action.xml
new file mode 100644
index 0000000000..b541020a25
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/export_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Set Exported</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>export</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Export Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export.xml
new file mode 100644
index 0000000000..73c87f858f
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>fail_export</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>export_failed</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Fail Export</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export_action.xml
new file mode 100644
index 0000000000..3946cb7aff
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_export_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Set Export Failed</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=fail_export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>fail_export</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>fail_export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Fail Export Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import.xml
new file mode 100644
index 0000000000..ed576bf246
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>fail_import</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>import_failed</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Fail Import</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import_action.xml
new file mode 100644
index 0000000000..7590620d66
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/fail_import_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Set Import failed</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=fail_import_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>fail_import</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>fail_import_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Fail Import Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import.xml
new file mode 100644
index 0000000000..ab1c76ee69
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>import</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>imported</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Import</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import_action.xml
new file mode 100644
index 0000000000..8a2d04138f
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/import_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Set Imported</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=import_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>import</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>import_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Import Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export.xml
new file mode 100644
index 0000000000..9fc97969b5
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>afterPrepareExport</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>prepare_export</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>export_prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Prepare Export</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export_action.xml
new file mode 100644
index 0000000000..16bbfbbd88
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_export_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Allow Export</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=prepare_export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>prepare_export</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>prepare_export_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Prepare Export Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import.xml
new file mode 100644
index 0000000000..2885850219
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>afterPrepareImport</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>prepare_import</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>import_prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Prepare Import</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import_action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import_action.xml
new file mode 100644
index 0000000000..5138f52cc6
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/transitions/prepare_import_action.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string>Prepare Import Action</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=prepare_import_action</string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>prepare_import</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>prepare_import_action</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Prepare Import Action</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables.xml
new file mode 100644
index 0000000000..bb12bef805
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Variables" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/action.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/action.xml
new file mode 100644
index 0000000000..bb5af22d39
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/action.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Transition id</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>action</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>transition/getId|nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/actor.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/actor.xml
new file mode 100644
index 0000000000..fd10331a7a
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/actor.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Name of the user who performed transition</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>actor</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>user/getIdOrUserName</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/comment.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/comment.xml
new file mode 100644
index 0000000000..fda919ee86
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/comment.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Comment about transition</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>comment</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:state_change.kwargs.get(\'comment\', \'\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/error_message.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/error_message.xml
new file mode 100644
index 0000000000..535863de2a
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/error_message.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Error message if validation failed</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>error_message</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/history.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/history.xml
new file mode 100644
index 0000000000..44306b76d7
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/history.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Provides access to workflow history</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>history</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getHistory</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/portal_type.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/portal_type.xml
new file mode 100644
index 0000000000..89576a7a56
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/portal_type.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Portal type (used as filter for worklists)</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>portal_type</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/time.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/time.xml
new file mode 100644
index 0000000000..0d2d8d7e22
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/variables/time.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Transition timestamp</string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>time</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getDateTime</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/worklists.xml b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/worklists.xml
new file mode 100644
index 0000000000..c3432aa051
--- /dev/null
+++ b/bt5/erp5_interface_post/WorkflowTemplateItem/portal_workflow/interface_post_workflow/worklists.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_interface_post/bt/copyright_list b/bt5/erp5_interface_post/bt/copyright_list
new file mode 100644
index 0000000000..3b265520a1
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/copyright_list
@@ -0,0 +1 @@
+Copyright (c) 2001-2017 Nexedi SA
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/dependency_list b/bt5/erp5_interface_post/bt/dependency_list
new file mode 100644
index 0000000000..9b13070f72
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/dependency_list
@@ -0,0 +1,3 @@
+erp5_crm
+erp5_dms
+erp5_pdf_merge
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/description b/bt5/erp5_interface_post/bt/description
new file mode 100644
index 0000000000..75d2ed4484
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/description
@@ -0,0 +1 @@
+Contains ***_post_modules, which purposes are to track posts that go out and in ERP5, without any processing.
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/license b/bt5/erp5_interface_post/bt/license
new file mode 100644
index 0000000000..3a3e12bcad
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/license
@@ -0,0 +1 @@
+GPL
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_action_path_list b/bt5/erp5_interface_post/bt/template_action_path_list
new file mode 100644
index 0000000000..78b550f422
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_action_path_list
@@ -0,0 +1,10 @@
+Internet Message Post Module | view
+Internet Message Post | view
+Internet Message Post | view_editor
+Letter Post Module | export_letter_post_list
+Letter Post Module | view
+Letter Post | preview_pdf
+Letter Post | view
+Letter | jump_to_letter_post
+Mail Message | jump_to_internet_message_post
+Mail Message | mail_message_preview
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_document_id_list b/bt5/erp5_interface_post/bt/template_document_id_list
new file mode 100644
index 0000000000..3008067716
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_document_id_list
@@ -0,0 +1 @@
+document.erp5.InternetMessagePost
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_format_version b/bt5/erp5_interface_post/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_module_id_list b/bt5/erp5_interface_post/bt/template_module_id_list
new file mode 100644
index 0000000000..575000a3ec
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_module_id_list
@@ -0,0 +1,2 @@
+internet_message_post_module
+letter_post_module
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_interface_post/bt/template_portal_type_allowed_content_type_list
new file mode 100644
index 0000000000..ab686a1c85
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_portal_type_allowed_content_type_list
@@ -0,0 +1,2 @@
+Internet Message Post Module | Internet Message Post
+Letter Post Module | Letter Post
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_portal_type_base_category_list b/bt5/erp5_interface_post/bt/template_portal_type_base_category_list
new file mode 100644
index 0000000000..36798b509c
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_portal_type_base_category_list
@@ -0,0 +1,2 @@
+Internet Message Post Module | business_application
+Letter Post Module | business_application
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_portal_type_id_list b/bt5/erp5_interface_post/bt/template_portal_type_id_list
new file mode 100644
index 0000000000..ed27732322
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_portal_type_id_list
@@ -0,0 +1,4 @@
+Internet Message Post
+Internet Message Post Module
+Letter Post
+Letter Post Module
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_portal_type_property_sheet_list b/bt5/erp5_interface_post/bt/template_portal_type_property_sheet_list
new file mode 100644
index 0000000000..551a846ae8
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_portal_type_property_sheet_list
@@ -0,0 +1,2 @@
+Internet Message Post | Data
+Letter Post | Data
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_portal_type_workflow_chain_list b/bt5/erp5_interface_post/bt/template_portal_type_workflow_chain_list
new file mode 100644
index 0000000000..503cf6c291
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_portal_type_workflow_chain_list
@@ -0,0 +1,4 @@
+Internet Message Post | edit_workflow
+Internet Message Post | interface_post_workflow
+Letter Post | edit_workflow
+Letter Post | interface_post_workflow
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_skin_id_list b/bt5/erp5_interface_post/bt/template_skin_id_list
new file mode 100644
index 0000000000..339d1452e0
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_interface_post
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_test_id_list b/bt5/erp5_interface_post/bt/template_test_id_list
new file mode 100644
index 0000000000..95947a259d
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_test_id_list
@@ -0,0 +1 @@
+test.erp5.testInterfacePost
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/template_workflow_id_list b/bt5/erp5_interface_post/bt/template_workflow_id_list
new file mode 100644
index 0000000000..c5d6873520
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/template_workflow_id_list
@@ -0,0 +1 @@
+interface_post_workflow
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/test_dependency_list b/bt5/erp5_interface_post/bt/test_dependency_list
new file mode 100644
index 0000000000..bff77e32d8
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/test_dependency_list
@@ -0,0 +1 @@
+erp5_full_text_mroonga_catalog
\ No newline at end of file
diff --git a/bt5/erp5_interface_post/bt/title b/bt5/erp5_interface_post/bt/title
new file mode 100644
index 0000000000..339d1452e0
--- /dev/null
+++ b/bt5/erp5_interface_post/bt/title
@@ -0,0 +1 @@
+erp5_interface_post
\ No newline at end of file
-- 
2.30.9