Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{float:right|width=300px|background=lightgrey|border=solid blue 2px|margin=10px|padding=8px}
*Contents*
{toc:all=true|depth=4|excerpt=true|indent=14px}
{float}
{table-plus:width=900}





CDRator have often been asked for various processes for sending an SMS/email to the end user. The *DynamicSender* can very often handle this. Maybe the request for   the communication is already in a workflow, then this component can just be plugged in and configured.
\\
\\
In situations where Rator dodoes not control the process in a workflow, the Java code must be changed. The developer can insert a call to a hookpoint for a little   "communication" workflow where the *DynamicSender* can be   used.
\\

So what are the possibilities in the *DynamicSender* \- please check   the topics below.






h3. Possibilities

Configuration options:
* Define specific template
* Define SMS or email
* Replacing of "not handled" labels
* Define a fixed receiver SMS phone number or email address
* Define fixed strings for labels
* Define how data should be retrieved via navigation logic
* Handling of attachments for emails Several "helpers"   available:
* *DateUtil* for easy access to date features like formatting
* *NumberUtil* for easy access to number features like formatting + checking/validating
* *CommonUtils* for easy access to various helper methods On top of this, you can also use the template context framework. Just note that only some basic objects   (SUB, USER, SERVICE, BG, ACCOUNT) are available.






h3. Prerequisites

| +Basic     (1.th) version:+
* Min. Rator core version 7.8 | +Fully updated version:+
* Min. Rator core version 8.1 | +Common:+
* A record in WF_COMPONENT_DEF which points to the java class |

!WF_COMPONENT_DEF.png|width=476,height=214!
----





h3. Getting Started

This is an example of how it could be configured.

!RatorWorkflowBuilder.png!\\

A demo workflow where SUBSCRIPTION + INVOICE objects are added to the wf CONTEXT   when the hookpoint is called.
\\
* The JavaScript wf component locates a file and adds it to the   workflow CONTEXT.
* Next the DynamicSender will find the file in wf CONTEXT and attach it in the   email to the end user.

The DynamicSender is configured like this:

|| *PARAMETER* || *DESCRIPTION* ||
| TEMPLATE_KEY=MY_TEMPLATE | Defines the MailTemplate to use |
| TEMPLATE_TYPE=EMAIL | Defines that the DynamicSender should generate an email |
| REPLACE_EMPTY_LABELS=TRUE | Setting     this to *true* means that not handled labels will never be shown as \*\**LABEL@MY_LABEL*\**, but will become an empty string |
| TEMPLATE_TO="[aa@bb.cc|mailto:aa@bb.cc]" | An     email address speficied in double quotes, means that the default receiver (sub.getOwner().getEmail()) will be overruled |
| LABEL_WEB_ADR="[www.mywebsite.com|http://www.mywebsite.com/]" | This label with a fixed value can be be reused several plced in the template. |
| LABEL_PIN_CODE=SUBSCRIPTION.getService.getSimCard.getPin1 | This label can be used in the template for showing the PIN code for the simcard |
| WORK_SIGNUP_DATE=SUBSCRIPTION.getEstablishDate | Tmp object that holds the signup date (used later) |
| WORK_DATE_FORMAT=dd-MM-yyyy | Tmp object that holds a date format (used later) |
| LABEL_SIGNUP_DATE=DATE_UTIL.getFormatedDate(WORK_SIGNUP_DATE,WORK_DATE_FORMAT) | Producing a label with signup date in format dd-MM-yyyy |
| WORK_BOOLEAN=true | Tmp     object that holds a boolean (used later) |
| CONDITION_IS_TEST=COMMON_UTIL.getBoolean(WORK_BOOLEAN) | A     condition that can be used in the template |
| WORK_DOC_CODE=INVOICE | Tmp     object that holds the type of item in DOC_ARCHIVE (used later) |
| ATTACHMENT_INVOICE=INVOICE.getDocArchive(WORK_DOC_CODE).getDocArchiveFile | Locate     a PDF file from the DocArchive based on an invoice found in wf CONTEXT |
| ATTACHMENT_SOME_FILE="C:/rator/files/somefile.txt" | Locate     a file placed on C drive, which will also be an attachment in the email |

|| !ActivityDetails.png! | *Visualization* \\
\\
The parameters are what you define as shown here \\
(Not all off the above are listed here...) ||
What the MailTemplate could contain:

!MailTemplateContents.png! \|
{table-plus}