Cédric Krier a1bc50b6a2 Avoid failure on invalid domain
We must ensure the domain can be used for search in its validation.
But also former domain can become invalid after upgrade, it should not block
all the processes but only being logged as an error.

issue8931
review272661003
2020-01-20 22:27:31 +01:00
2019-03-30 18:04:20 +01:00
2019-11-02 18:07:42 +01:00
2019-04-12 15:59:24 +02:00
2019-09-28 23:59:09 +02:00
2019-04-12 15:59:24 +02:00
2019-11-04 13:00:17 +01:00
2019-03-30 17:36:08 +01:00
2019-03-30 17:36:08 +01:00
2019-03-30 17:36:08 +01:00
2019-04-12 15:59:24 +02:00
2019-03-30 17:36:08 +01:00
2019-04-12 15:59:24 +02:00
2019-03-30 17:36:08 +01:00
2019-03-30 17:36:08 +01:00
2019-03-30 17:36:08 +01:00
2019-04-07 19:50:03 +02:00
2019-11-04 13:00:27 +01:00
2019-03-30 17:36:08 +01:00
2019-03-30 17:36:08 +01:00

Marketing Automation Module
###########################

The marketing_automation module allows marketing actions to be automated. It is
based on scenarios and activities that are executed on selected records.

Scenario
********

A scenario provides the entry point for records into an automated marketing
campaign. Each record can only enter a scenario once. A scenario is defined by:

    * Name
    * Model: the type of record for the scenario (by default Party and Sale)
    * Domain: used to filter records
    * State:

        * Draft
        * Running
        * Stopped

A cron task runs periodically to find new records to apply the scenario to.

Activity
********

The activities form a scenario. They define which action should be triggered
and when it should happen. The activities are organized as a tree and defined
by:

    * Name
    * Parent
    * Children
    * On: event from the parent that triggers the activity:

        * E-Mail Opened
        * E-Mail Not Opened
        * E-Mail Clicked
        * E-Mail Not Clicked

    * Condition: that the record must match to execute the activity
    * Delay: before the action is executed
    * Action: list of available actions

Actions
-------

Send E-Mail
...........

The activity send an e-mail to the party defined on the record.
The E-mail is composed using an HTML `Genshi <https://genshi.edgewall.org/>`_
template with `record` in the evaluation context.
All `<a>` elements have their `href` replaced by a shortened version used to
trigger children activities. If the `href` value is `unsubscribe`, it is
replaced by the URL which allows the recipient to block their record for the
scenario.
A empty image is automatically added at the end of the `<body>` to track when
emails are opened.

Record
******

It stores a reference to the records included in each scenario. If the record
is blocked, no activity will be triggered for the record.

Record Activity
***************

It stores the state of a record for an activity of the scenario.

A cron task runs periodically to execute any waiting record activity that is
due.

Configuration
*************

The marketing_automation modules uses parameters from the section:

- `[email]`:

    - `from`: The default `From` for the email.

- `[marketing]`:

    - `automation_base`: The base URL without a path for the unsubscribe URL
      and the empty image.
      The default value is created using the configuration `[web]` `hostname`.
S
Description
Private Tryton customization repository for reviewed Dominican localization and controlled upstream integration.
Readme
389 MiB
Languages
Python 88.1%
JavaScript 11%
Less 0.5%
HTML 0.2%
NSIS 0.1%