在做app時,最麻煩的在於東西都做好了,但是..要怎麼在第一時間通知用戶哩? 的確,對於會十八般武藝的工程師,這些都好解決,只是需要花時間,但如果今天工程師事情都已經排到天邊了,那讓程式可以自動通知用戶,並由業務人員自行操作,那整個團隊就可以更有效率!
我們有五個步驟要做
1.首先,來寫個客製化的Email
2.設定寄送時程
3.寫microflows,讓流程自動化
4.分批進行
5.存檔
1.第一步,在資料庫中建實體(entity)
(不清楚資料庫的結構,請看這篇)
第一個entity 叫做Newsletter
第二個entity叫做 Email
在將兩個實體連結起來後,會得到以下這樣的成果:
2.第二步,打造一個好填寫的介面
到page建立一個新頁面,並將第一步建立的實體資料放上來
3.第三步,開一個新頁面,建立清單,上面顯示所有發送過的通知。
在想要存放的資料夾上按滑鼠右鍵,在add Other部分選擇Scheduled event
在microflows的部分,點選select建立新的microflows或選擇已存在的microflows,並設定需要寄送的時間。
在開始講怎麼寫Microflows前,請讓我插播講講什麼是loop呢?
俗話說的好,好用的東西就是要一直用! 但在電腦科學領域,最忌諱的就是一直重複寫相似的程式碼,當看到重複出現的程式碼時,我們就要舉起正義的法槌,通通改寫。
在電腦科學領域,有幾種常用的loop:
let myArr = [ ];
let i = 10;
do{
myArr.push(i);
i++;
} while(i < 11);
let myArr = [ ];
let i = 0;
while(i < 11){
myArr.push(i);
i++;
} ;
for( 起始設定; 跳出迴圈的條件; 每次迴圈後做的事){
要重複的事情
}
for(let i = 0; i < 11; i++){
console.log(i);
}
for (let i in obj){
statement
}
for (let j of obj){
statement
}
大略了解loop的特性後,我們就能開始來寫可用的Microflows了。步驟如下:
接著我們來看Sub-Microflows的細節,對於大量寄送通知來說,由於數量極大,效能可能會變得不太好,因此我們須將這個任務自動化的分批處理。
分批進行時我們需要設定每次處理的數量上限,例如: 將Offset設為500,即每次處理500份,之後要記得加入loop,程式才會自動重複處理,直到所有資料消化完畢。
Loop裡需重複的動作建立Email與寄送Email
最後完成的Microflows會像下面圖示這樣,記得要在microflows上存檔(commit)!不然之後會想哭都哭不出來。
總結,寄送電子郵件通知不一定要懂程式才做得到,人人都可以!