分類
好用軟體

更輕量的CMS

在找看有沒有更輕量的CMS時, 發現有完全不用資料庫型態的CMS, 目前試了兩個:

其中 pico cms 還不是 html 而是使用了 md (markdown) 的靜態檔案的內容上架方式, 沒有管理介面.

而 WonderCMS 則是有管理介面, 可以做 page / blog post 型態的內容管理.

基本上這兩組 CMS 都不依賴資料庫, 訴求為快速又方便地做內容管理, 除了程式很小外, 也都有 theme / plugin 可供安裝擴充使用.

分類
好用軟體

檢查網站用什麼CMS系統- whatcms.org

有時候看到一個不錯的網站, 想要了解使用的框架或架構, 或是什麼 CMS 系統, 可以簡單輸入網址到這個服務:

Detect which CMS a site is using – What CMS?

https://whatcms.org/

像是白宮 – https://whatcms.org/?s=www.whitehouse.gov 就是用有名的 CMS – wordpress.

另外像是行政院下的紓困 1988 與振興券服務網, 也是用 wordpress: https://whatcms.org/?s=1988.taiwan.gov.tw

雖然不見得所有的內容網都可以偵測出來, 因為有些是自行開發的, 或是未收納在 whatcms.org 下, 不過也可以了解執行環境與程式語言和 web server , 十分方便.

另外以 wordpress 架站軟體為例, 還有一些工具能測試是什麼佈景主題(theme)或有什麼 plugin等, 如:

https://www.wpthemedetector.com/
https://scanwp.net/
https://whatwpthemeisthat.com/
https://wpdetector.com/

對於架設 CMS 有與趣的朋友們可以參考.

分類
程式技術

使用Google Drive API讀取文件內容供前端應用

有時在做一些小型的前端介面, 需要 CMS (內容管理系統) 的上稿功能, 來進行內容管理, 不過實做上稿系統需要相當的時間與設計, 若能使用更簡便的方式, 將能大量節省維護的成本, 例如使用 WordPress 或今天要介紹的 Google Drive API.

使用共用文件的方式來管理內容, 除了介面不用再實做外, 也可以透過權限管理來做一些設限, 方便存取與更新. 這次介紹的 API 是讀取 Google Docuemnt 的內容來供應前端應用, 所以就是讓程式讀取內容, 而使用者則是使用 Google Document 來更新內容.

會使用到的 API 為 Google Drive API 中的 file export, 目前已是 v3 的版本了, 可以參考:

https://developers.google.com/drive/v3/reference/files/export

如何使用呢, 首先在 Google Drive 新增一個 Google文件(Document)檔案, 並開放為擁有連結的人都可以檢視, 並取得該檔案的 fileId, fileId 就是在 URL 上會看到或是 share link 上會看到的一串英數, 有區分大小寫, 如:

https://docs.google.com/document/d/18De5jl4VhDP8XU7g_UOO2PcZ5qiCCBg4S2B5FOzgLFA/edit?usp=sharing

其中的 18De5jl4VhDP8XU7g_UOO2PcZ5qiCCBg4S2B5FOzgLFA 即為 fileId.

接下來在 google developer console 新增一個專案, 啟用 Google Drive API 功能, 並建立 API key 即可透過以下 API 進行檔案內容存取:

https://www.googleapis.com/drive/v3/files/18De5jl4VhDP8XU7g_UOO2PcZ5qiCCBg4S2B5FOzgLFA/export?mimeType=text/plain&key=[your api key]

其中 fileId 即為該文檔的 fileId, 而 export 為讀取, 後面的 mimeType 可以有以下幾種:

(更多可以參考: https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents)

而最後的 API key 則為在 Google Developer Console 專案內建立的 API Key, 就可以順利讀取內容, 以下則為一個簡單的範例:

http://sample.diary.tw/43/readdoc.php

程式碼如下:

$url = "https://www.googleapis.com/drive/v3/files/18De5jl4VhDP8XU7g_UOO2PcZ5qiCCBg4S2B5FOzgLFA/export?mimeType=text/plain&key=[your api key]";  
  
$data = file_get_contents($url);  
  
echo $data;

如此一來可以方便使用者上稿又能快速更新到前台, 十分方便.

Quota 的部分如下:

每日 10億次, 每 100秒每使用者 1000次, 每 100秒 1萬次, 三個計算基礎以下為免費.

 

 

令人驚豔的Moodle

CMS – Course Management System

今天在逛網站的時候, 偶然看到一個線上教學的網站, 叫做Moodle, 想說看看做的怎麼樣, 結果發現 Moodle 是一個 open source 的 web-based CMS, 真不得了了, 把線上教學的這類應該在網頁上實現, 而且功能似乎還不少.