October 2018

數位文化工作記錄:文化資料授權

文化資料授權?

  • 詮釋資料:目前實務上詮釋資料可能是直接複製網頁或書本內容,這部分應該要先釐清來源資料的授權方式。授權方式判斷方法應該可以參考「直轄市及縣(市)政府推動國家文化記憶庫計畫 數位化工作 說明清單(第 1 版)」(連結文章的「3.數位化工作-說明清單.pdf」)中的「五、國家文化記憶庫 補助縣市政府建構地方知識 公開資料授權原則」,主要應該是要需要清點原件的授權規則,或是根據其是否受補助及補助比例來設定授權強度。

[Apache] 利用 .htaccess 設定強制導向 https

這是很頻繁遇到的問題了,遇到只能使用 cPanel 的網站,但又需要設定強制導向 https,就必須從 .htaccess 著手。之前查過不少方法,基本上大多是設定判斷 RewriteCond 來偵測用戶連結的是不是 https(443),如果不符合就用 RewriteRule 導向 https 通訊協定。

剛剛因為更新 Drupal 核心程式不小心把 .htaccess 覆蓋掉了,所以又上網查了一下,找到 How to redirect all traffic to HTTPS on your Drupal site 文章,裡面提的方法簡單又好設定,記錄一下,避免日後又要再查一次。

基本上是把下面的程式碼放在 RewriteEngine on 下面

[VSCode] 用 Visual Studio Code 直接編輯遠端檔案

平常已經習慣使用 Terminal + VIM 的工作方式,直接連線到遠端編輯檔案,對我來說,大概就是把 Terminal 環境設置好,以及使用 SSH Key 直接登入主機,就省去不少麻煩。雖然這樣的工作方式對我來說很方便,不過最近需要跟一位前端設計師合作套版,思索了一下,覺得這樣的工作方式應該會造成設計師困擾,因此就開始找尋可以直接在本地編輯檔案的方法。

當然,一般來說,用 FileZilla 或 WinSCP 這類工作就可以用透過 SSH 登入遠端主機,並把遠端檔案下載到本機,在編輯後再重新上傳到遠端主機,這樣的工作模式其實也沒什麼不好。但,考量到現在使用 Sass/SCSS 的前端開發環境大多需要結合 gulp 同時開 node.js 執行開發環境,以便讓開發者可以看到即時的 Sass 編譯結果,所以還是需要讓前端設計師開始學習新的協同合作模式。

[Drupal] 利用版型覆寫 views 輸出結果

我這次主要是想在 views 的 more-link 加上 .btn-primary 的 class,讓輸出結果直接變成按鈕樣式。在查找資料中[1][2],發現在 Drupal 8.0.x 的早期版本中,是有 views-more.html.twig 版型範本檔案的;不過在最新的 8.6.x 版本已沒有這個檔案了,我並沒有進一步去瞭解為什麼要拿掉這個版型檔案。

由於已經沒有 views-more.html.twig 可以修改,所以如果要覆寫 views 的輸出結果,就要在 THEMENAME.theme 檔案中利用程式直接修改。在網路上找到的參考文章有提供一段範例程式碼如下:

[Drupal] 在 Drupal 8 印出變數資訊

在 Drupal 7 開發模組或版型時,若需要列印變數資訊,會直接安裝 Devel 模組,而後使用 dpm() 或 dsm() 方法就可以列印變數資訊了。然而,Drupal 8 因為已經捨棄 Krumo,所以使用 dpm / dsm 方法雖然可以列印變數資訊,但卻是沒有良好格式化的結果(根據 How to Print Variables using Kint in Drupal 8 一文是說 dpm / dsm 方法還可以使用,但實際上我沒有成功過),所以建議改用 kint() 來列印變數資訊。

由於 kint 屬於 Devel 8.x 的子模組,所以要使用 kint() 還是需要下載 Devel 模組並啟用 kint 模組,安裝方式可參考此文。依照 Drupal 7 的經驗,安裝並啟用模組後,應該就可以直接使用 kint() 或 ksm() 方法,然而實際上在程式碼內直接呼叫這方法會出現錯誤訊息,如下: