iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
0
Software Development

Mendix從入門到了解,工程師和業務都要知道低代碼平台是什麼系列 第 19

就是要最省時省力的通知用戶!寫程式寄Email通知人人都做得到

在做app時,最麻煩的在於東西都做好了,但是..要怎麼在第一時間通知用戶哩? 的確,對於會十八般武藝的工程師,這些都好解決,只是需要花時間,但如果今天工程師事情都已經排到天邊了,那讓程式可以自動通知用戶,並由業務人員自行操作,那整個團隊就可以更有效率!

通知用戶怎麼做?

我們有五個步驟要做
1.首先,來寫個客製化的Email
2.設定寄送時程
3.寫microflows,讓流程自動化
4.分批進行
5.存檔

客製化Email

1.第一步,在資料庫中建實體(entity)
(不清楚資料庫的結構,請看這篇)

第一個entity 叫做Newsletter
https://ithelp.ithome.com.tw/upload/images/20201003/20129530JW5CAKfxgu.png

第二個entity叫做 Email
https://ithelp.ithome.com.tw/upload/images/20201003/20129530AAhtY7ncho.jpg

在將兩個實體連結起來後,會得到以下這樣的成果:
https://ithelp.ithome.com.tw/upload/images/20201003/20129530OPKBR4MUPN.png

2.第二步,打造一個好填寫的介面
到page建立一個新頁面,並將第一步建立的實體資料放上來

https://ithelp.ithome.com.tw/upload/images/20201003/20129530itR9HFkFDS.png

3.第三步,開一個新頁面,建立清單,上面顯示所有發送過的通知。

設定寄送的時程

在想要存放的資料夾上按滑鼠右鍵,在add Other部分選擇Scheduled event

https://ithelp.ithome.com.tw/upload/images/20201003/20129530wwcyrm8XQM.png

在microflows的部分,點選select建立新的microflows或選擇已存在的microflows,並設定需要寄送的時間。

https://ithelp.ithome.com.tw/upload/images/20201003/201295303M1DhjkRrT.png

在Microflows裡使用Loops

在開始講怎麼寫Microflows前,請讓我插播講講什麼是loop呢?
俗話說的好,好用的東西就是要一直用! 但在電腦科學領域,最忌諱的就是一直重複寫相似的程式碼,當看到重複出現的程式碼時,我們就要舉起正義的法槌,通通改寫。

在電腦科學領域,有幾種常用的loop:

  1. do…while loop
    做(do)某件事直到(while)的條件不再為真(true)時

https://ithelp.ithome.com.tw/upload/images/20201003/20129530P1o2mYOxUB.jpg

let myArr = [ ];
let i = 10;
do{
 myArr.push(i);
 i++;
} while(i < 11);
  1. while loop
    當(while)條件為真(true)時就一直做某事。

https://ithelp.ithome.com.tw/upload/images/20201003/201295308d1d2XadLp.png

let myArr = [ ];
let i = 0;
while(i < 11){
 myArr.push(i);
 i++;
} ;
  1. for loop
    依照這個條件(for)重複做某事。

https://ithelp.ithome.com.tw/upload/images/20201003/20129530hH3f5Nv9CL.jpg

for( 起始設定; 跳出迴圈的條件; 每次迴圈後做的事){
要重複的事情
}

for(let i = 0; i < 11; i++){
 console.log(i);
}
  1. for…in loop
    著重在物件(object)內名字(name)的檢查迴圈
for (let i in obj){
	statement
}
  1. for…of loop
    著重在物件(object)內值(value)的檢查迴圈
for (let j of obj){
	statement
}

大略了解loop的特性後,我們就能開始來寫可用的Microflows了。步驟如下:

  1. 把News Letter從資料庫下載下來
  2. 從現有的用戶清單中,過濾出需要寄送的清單
  3. 做一個好用的Sub-Microflows來建立與寄送郵件(不知道Sub-Microflows是什麼,請看這篇)
  4. 在寄送後將IsSend部分從否(false)改為真(true)

https://ithelp.ithome.com.tw/upload/images/20201003/20129530YCdsnQ9gVB.png

分批進行

接著我們來看Sub-Microflows的細節,對於大量寄送通知來說,由於數量極大,效能可能會變得不太好,因此我們須將這個任務自動化的分批處理
分批進行時我們需要設定每次處理的數量上限,例如: 將Offset設為500,即每次處理500份,之後要記得加入loop,程式才會自動重複處理,直到所有資料消化完畢。

https://ithelp.ithome.com.tw/upload/images/20201003/20129530DUPu0kIcVZ.png

Loop裡需重複的動作建立Email與寄送Email

https://ithelp.ithome.com.tw/upload/images/20201003/20129530swlbTRfB7T.png

https://ithelp.ithome.com.tw/upload/images/20201003/20129530szeb0D7VgQ.png

存檔

最後完成的Microflows會像下面圖示這樣,記得要在microflows上存檔(commit)!不然之後會想哭都哭不出來。

https://ithelp.ithome.com.tw/upload/images/20201003/20129530ypniLHfYzi.png

總結,寄送電子郵件通知不一定要懂程式才做得到,人人都可以!


上一篇
Microflows再升級,這次來點Sub-Microflows
下一篇
數據資料這麼多!要怎麼使用阿?試用Data Hub看看(上)
系列文
Mendix從入門到了解,工程師和業務都要知道低代碼平台是什麼30

尚未有邦友留言

立即登入留言