Update Readme documentation

MAILPOET-6256
This commit is contained in:
Oluwaseun Olorunsola
2024-11-26 16:08:33 +01:00
committed by Rostislav Wolný
parent 98bc96b1b8
commit 8c2ede4ff9
3 changed files with 139 additions and 10 deletions

View File

@@ -1,15 +1,10 @@
# MailPoet Email Editor
This folder contains the code for the MailPoet Email Editor.
This folder contains the code for the MailPoet Email Editor PHP Package.
We aim to extract the engine as an independent library, so it can be used in other projects.
As we are still in an exploration phase we keep it together with the MailPoet codebase.
As we are still in an exploration phase, we keep it together with the MailPoet codebase.
## Development
Both **PHP** **and** JS codes are divided into `engine` and `integrations` subdirectories.
Anything **MailPoet** specific is in the `integrations/MailPoet` folder.
For the core stuff that goes to the engine folder, avoid using other MailPoet-specific services and modules. The code in the Engine folder should work only with WP code or other stuff from the engine.
You can locate the JS package here `packages/js/email-editor`
## Workflow Commands
We use `composer` run scripts to run the commands. You can run them using `composer run <command>`.
@@ -28,16 +23,43 @@ Example:
composer run integration-test -- tests/integration/Engine/Theme_Controller_Test.php
```
## Development
Both **PHP** **and** JS codes are divided into `engine` and `integrations` subdirectories.
Engine consist of code for the editor core and integrations are for extending the functionality.
Anything **MailPoet** specific should be in the `mailpoet/lib/EmailEditor/Integrations` folder.
Please avoid using MailPoet-specific services and modules in the Email editor package.
### Renderer
#### Content Renderer
* Responsible for rendering saved template + email content to HTML or email clients
* Flow is Preprocessors > BlocksRenderer > Postprocessors
#### Root Renderer.php
* Takes the rendered content html and places it into email HTML template template-canvas.php (We have too many items we call “template” I know 🙁)
### Integrations
Please locate integrations [here](https://github.com/mailpoet/mailpoet/tree/13bf305aeb29bbadd0695ee02a3735e62cc4f21f/mailpoet/lib/EmailEditor/Integrations/MailPoet)
## Known rendering issues
- In some (not all) Outlook versions the width of columns is not respected. The columns will be rendered with the full width.
- The editor may not start if the URL starts with `wp-admin/post-new.php?post_type=mailpoet_email`.
- Most of the email editor logic heavily depends on the `mailpoet_email` post-type. This is a known issue and we are working to fix it.
- We use `mailpoet_data` in some section of the codebase. This will be updated.
- Native email editor implementation for `preview_url`
- Fix the use of MailPoet vendor packages in the Email editor. We currently use `Emogrifier` and `Html2Text`.
- Fix the Send button (button to send email) or redirect it elsewhere. It is currently pointing to the `mailpoet-newsletter` page.
- We currently support post editing context (a post has to be created before we can use the editor). We need to add support for creation context.
## Actions and Filters
These actions and filters are currently Work-in-progress.
These actions and filters are currently **Work-in-progress**.
We may add, update and delete any of them.
Please use with caution.
**Please use with caution**.
### Actions
@@ -57,3 +79,15 @@ Please use with caution.
| `mailpoet_email_content_renderer_styles` | `string` $contentStyles, `WP_Post` $post | `string` $contentStyles | Applied to the inline content styles prior to use by the CSS Inliner. |
| `mailpoet_is_email_editor_page` | `boolean` $isEditorPage | `boolean` | Check current page is the email editor page |
| `mailpoet_email_editor_send_preview_email` | `Array` $postData | `boolean` Result of processing. Was email sent successfully? | Allows override of the send preview mail function. Folks may choose to use custom implementation |
## FAQ
1. How can I activate the new email editor?
* You need to active it as an experimental feature on the URL {your-website}/wp-admin/admin.php?page=mailpoet-experimental
* After that, you can see a dropdown button when you want to create a new email.
2. Are emails from the old editor compatible?
* No. Unfortunately, email editors are not compatible at this moment, and there is no tool which would allow you to migrate old emails yet.
3. Which WP versions are supported?
* The new email editor supports only the latest WP version. The last supported version was 6.6.
4. Can I use the latest Gutenberg version?
* You can use the latest version by installing the Gutenberg plugin, but there is a high chance that the editor will not work properly.