DigitalState / Platform-Communication-Bundle

OroPlatform bundle that provide multi-channel/Omni-Channel Message generation with query builder: SMS, Email, Inbox, IVR, Twitter, Facebook, etc -- DEVELOPMENT REPO
Other
3 stars 4 forks source link

Communication Templates + Triggers #13

Open hb7777 opened 7 years ago

hb7777 commented 7 years ago

We need a way to create pre-configured association of notification + template + channel + transport profile and take that association of objects to create a communication trigger that gets called for example:

When a user create his citizen account. We need to send him a confirmation of a new account creation email to validate his credential and activate his account.

So, for that purpose. A city administrator would access oro admin, go into the notification and create an email confirmation notification, he could also create a template that could be specific to this type of notification.

From that point access a event association object, where the administrator can select several type of objects (notification(s), template(s), channel(s), transport profile(s)). That particular event association has an unique id or unique slug name, that a program could use to call an api and pass that event id with a criteria query that would collect user(s) or custom json data and automatically create a communication.

This way the City staff would have a way to add new potential communication without always having to have a programmer write the code for that new feature.

StephenOTT commented 7 years ago

@hb7777 can you clarify the words Notification vs Communication?


@hb7777 As i understand the above, there are a few things being asked for:

  1. The ability to create "Communication Templates"; defined as: a pre-configuration of a communication that is saved for future communications. It is a sort of "Communication Blueprint" that can be re-used. The Communication template would have all of the pre-selected information such as channels, content, profiles, metadata, recipient query, etc.

  2. A series of symfony events such as New User Created, Password Reset, etc.

  3. Glue code to connect the symfony events with the Communication templates, so that when a specific event is triggered, the communication template can be executed.

Is this correct?

edit: strikeout in favour of content below

hb7777 commented 7 years ago

@StephenOTT The notification is the specific message that will be sent in the communication. As I understand the system now, when creating a communication in the criteria section there is the implementation field that can refer to a notification object.

For the point 1. they may be cases where the recipient query would be passed to the communication template when the event is trigger, for example when a user reset his password.

As for the rest of your comments that exactly right.

StephenOTT commented 7 years ago

@hb7777 okay so do not use the word "notification" in this context. Use message. The message is the content sent to a recipient through a specific channel. Saying "The notification is the specific message" is confusing as its two words sort of saying the same thing.


Okay so lets clarify:

  1. The ability to create "Communication Templates"; defined as: a pre-configuration of a communication that is saved for future communications.

    1. It is a sort of "Communication Blueprint" that can be re-used.
    2. The Communication template would have all of the pre-selected information such as channels, content, profiles, metadata, recipient query, etc.
    3. The template would have the ability to pass pre-defined(to-be-determined) variables/values into the template instance (example: being able to pass a specific recipient object or query)
  2. A series of symfony events such as New User Created, Password Reset, etc.

  3. Glue code to connect the symfony events with the Communication templates, so that when a specific event is triggered, the communication template can be executed.

How does that look?

hb7777 commented 7 years ago

That is correct.