tags: cofacts, meeting note GA: UA-98468513-3 —

20200812 會議記錄

:::info

Cofacts Next! 追蹤

討論事項

RSS 訂閱教學影片

腳本:見 20200805 會議記錄 用 Keynote 做:https://www.icloud.com/keynote/0uSJhzhXm6ti2ua9frzQuqubw#Cofacts_subscribe_tutorial

需要:

中英文 [name=lucien] 先中文吧 youtube id 是 runtime env variable [name=mrorz]

UI:

icon 要重畫嗎 「下載成 svg」好像會變成點陣 [name=nonumpa] 可以切 figma [name=lucien] :::success icon 先不動 :::

手機版?現在 width 寫固定的[name=nonumpa] dialog 應該用 material-ui 自己的寬度 video 用 100% width + percentage bottom-padding 做 16:9

chatbot 不問來源

放進 https://github.com/cofacts/rumors-line-bot/issues/214

誤認 Cofacts 為訊息來源的 case

覺得可能是因為沒中文,把中文翻好或許就可以 [name=mrorz]

今天又收到催 cofacts cite 他們網站的信 覺得可以不理 [name=bil] 感覺是在做自己網站的 SEO 的人,所以不想管他們 XD [name=mrorz]

LINE bot onboarding UX

過去的討論:https://g0v.hackmd.io/@mrorz/cofacts-meeting-notes/%2F%40mrorz%2FS1cpqgCpr 後來沒有留下成果圖 QQ

需要志超出插圖嗎 會有角色插圖 狗狗或許可以變成 loading gif [name=lucien]

chatbot 這裏是呈現 lookup 情境,比較單純 網站的教學則是會呈現到「第一次送出」+「網站編輯」的部分 有重疊不過不太一樣 [name=mrorz]

會有 edge case 是 被朋友推薦,沒走完流程就轉傳進來,會發生什麼事情 [name=lucien] 會直接中斷 onboarding 流程,開始跑 state diagram 但或許可以在 rich menu 做一個按鈕重跑 onboarding [name=mrorz] 「權限設定」按鈕是為了讓使用者第一次開啟 LIFF 按下 user consent 這樣 除了「設好囉」之外也可以考慮把推播 toggle 也放進去 [name=mrorz]

:::success 以上開票追蹤 行銷之前做完 :::

LINE bot menu 討論

  • 20200325 Rich menu 選項討論
  • 2018 初次討論 menu
  • 2019 討論附上範例的做法(失敗)

功能:

1 2 3 
4 5 6

Image sizes: 2500 × 1686, 2500 × 843, 1200 × 810, 1200 × 405, 800 × 540, 800 × 270

  1. 教學 - 重新觸發 on boarding UX? (暫時跟「分享」合併)
  2. 小聚 –> 近期活動 - https://cofacts.kktix.cc
  3. Cofacts 官網 - https://cofacts.g0v.tw
  4. 分享 chatbot - https://line.me/R/nv/recommendOA/@cofacts
  5. 推播設定 https://liff.line.me/1563196602-R1zEXaDB/liff/index.html?p=settings
  6. 我問過的訊息 https://liff.line.me/1563196602-R1zEXaDB/liff/index.html?p=articles

:::success 志超做圖 :::

Reply search 相關討論

「取消」按鈕有「清除搜尋字串」與「拿掉搜尋結果」兩個意思 [name=lucien] 「卡片設計更 compact」「浮動搜尋結果視窗」之後有 figma 再處理

:::success 除待 figma 處理的項目之外,都放進 https://github.com/cofacts/rumors-site/issues/295 了 :::

編輯小聚

前次討論 https://g0v.hackmd.io/9qp8dE7dReK2q8FTeP9Feg#8%E6%9C%88%E7%B7%A8%E8%BC%AF%E5%B0%8F%E8%81%9A%EF%BC%9F NPO Hub 小松填單 - https://g0v.hackmd.io/@jothon/hsiaothon/

bil: 8 月萌典松的話,可以改辦在 9 月 https://moe.kktix.cc/events/moed23ct-20200815 @ NPO HUB Taipei 廚房

9/27 (日) 主題:孔子媽媽待產日

9/26 (六) 要上班 [name=mrorz] 我們公司不用 [name=lucien] 這樣台北工作的人就都會留在台北所以很好 [name=bil]

:::success 麻煩 bil 填單: https://docs.google.com/forms/d/e/1FAIpQLSee5Y9AX_uLjGpGwt3afsDJyrPJ_IHZnyMWggHgGMU05YHo-Q/viewform :::

:potable_water: Release pipeline

:star: Released to production

Nope

:rocket: Staging

:globe_with_meridians: Site

(TBA, 目前成果上 staging 沒上 production)

:electric_plug: API

Feature
Bugfix

:::success 20200815 deployed to production :::

DB migration

:::success Staging, production done :::

Server setup
  1. Setup
    • GOOGLE_OAUTH_KEY_PATH, GA_WEB_VIEW_ID and GA_LINE_VIEW_ID in docker-compose and restart server
    • Insert stored script in database Staging
        $ ./compose-all exec cofacts-api-staging node build/scripts/fetchStatsFromGA --loadScript
      

      Production

        $ docker-compose exec api node build/scripts/fetchStatsFromGA --loadScript
      
  2. Try out cron job in one-off script Staging
     $ ./compose-all exec cofacts-api-staging node build/scripts/fetchStatsFromGA --startDate=yesterday --endDate=yesterday
     Production
     ```bash
     $ docker-compose exec api node build/scripts/fetchStatsFromGA --startDate=yesterday --endDate=yesterday
    
  3. See result Curl
     curl <ES_URL>/analytics/doc/_search -H 'Content-Type: application/json' -d '{"query": {"match_all": {}}}'
    

    GraphQL

     {
       GetArticle(id: "3fczhzr31y8ap") {
         id
         stats {
           date
           webUser
           webVisit
           lineUser
           lineVisit
         }
       }
     }
    
  4. Setup cron-job (ensure on-going data works) Staging
     # hourly update
     0 * * * * cd answerfamily-deploy; ./compose-all exec -T cofacts-api-staging node build/scripts/fetchStatsFromGA.js >> cron.log 2>&1
     # daily update yesterday's last hour number (UTC+8)
     15 16 * * * cd answerfamily-deploy; ./compose-all exec -T cofacts-api-staging node build/scripts/fetchStatsFromGA.js --startDate=yesterday --endDate=yesterday >> cron.log 2>&1
    

    Production

     0 * * * * cd /home/docker/rumors-deploy; /usr/local/bin/docker-compose exec -T api node build/scripts/fetchStatsFromGA >> /var/log/cron.log 2>&1
     # daily update yesterday's last hour number (UTC+8)
     15 16 * * * cd /home/docker/rumors-deploy; /usr/local/bin/docker-compose exec -T api node build/scripts/fetchStatsFromGA --startDate=yesterday --endDate=yesterday >> /var/log/cron.log 2>&1
    
  5. Peform migration script Staging
     $ docker-compose exec api node build/scripts/fetchStatsFromGA --useContentGroup=false --startDate= --endDate=
    

    Production

     $ ./compose-all exec cofacts-api-staging node build/scripts/fetchStatsFromGA --useContentGroup=false --startDate= --endDate=
    
  6. See result using GraphQL Command see 2.

If staging OK, perform identical operation on production

:robot_face: Chatbot

無 code change,主要是資料庫與設定的變更

Feature

無

Others

無

Testing checklist
⛔️ Release Blockers

:::success PR: https://github.com/cofacts/rumors-line-bot/pull/215

Verified on staging:

Deployed binary to prodcution as release/20200815 :::

:::danger

  1. 就算把所有人 UserSettings 的推播設定調成 false,在 rich menu 做好、引導 onboarding 流程做好之前,新加入的使用者還是會預設被打開推播、然後被 LIFF 的 consent screen 擋住囧
  2. LIFF 設定應該會需要更多 description,且應該要翻譯成中文

–> cronjob 設定的部分至少要等到 rich menu 做好⋯⋯ :::

未竟項目

:eye: Under review