本文是基於使用 Git 做為程式庫的前提下,討論程式協同開發的合作模式與相關規範。
Technical
簡單說,就是用 Views Data Export 的「Batch」匯出模式時,會發現所有用 Views PHP 設計的欄位都無法順利匯出其欄位數值。問題主因是 View PHP 沒有實作 pre / post execute 的程式片段。
想瞭解具體情況的可以看相關討論;如果只是想找解法的,可以直接參考這個 Patch。
參考資料:https://www.drupal.org/project/views_data_export/issues/1536670#comment…
因為 Django 的設定檔寫在 settings.py 及 wsgi.py 裡,這樣一來 dev / staging / production 應該都會有不同的設定檔,一旦我們需要在 production 下 git pull 來更新程式碼時,又不希望覆蓋掉我們在本地端修改的檔案,就可以用以下指令來解決(不過會發生這種問題應該是流程設計不佳,根本解決方法還是要進一步瞭解 Django 的建議開發流程):
git stash(可以儲存目前修改的檔案到暫存空間,但並不是 commit)
git pull(拉回最新版的程式碼)
git stash pop(還原修改檔案到工作空間)
雖然上述方式可以暫時解決目前的困境,但仍然不是最佳解,比較好的解法應該是新增 template 或是透過 .gitignore 來忽略部分檔案不要更新,只是這樣一來連初始安裝的版本也就沒有應用程式的設定檔,頗傷腦筋。
首先安裝 Postfix,主要參考下文的 Step 1 ~ Step 3
https://www.digitalocean.com/community/tutorials/how-to-install-and-con…
註:可以用 Mailinator 產生一組測試用的帳號,用來測試 Postfix 的設置是否正確,以及是否有收到寄出的信件
雖然 Views 的 master (default) 和 override display 的設計很方便,而且有提供可以 revert override to default 的功能,但有時候是想保留 override display 並覆蓋掉 default display,這時候就尷尬了,因為 Views 沒有提供這麼方便的功能。
在 copy view (overridden) display to master (default) 討論串找到一個很方便的解法,基本用法是透過 Devel 模組的執行 PHP 功能,直接參考下列程式碼並替換掉「machine_name_of_my_view」與「machine_name_of_the_overridden_display」這兩個參數成真正的 views & display machine name 即可。
主要也是依循 Composer 管理機制,並參考 Update core (option 4)
- 查找哪些模組需要更新
composer outdated
- 更新模組
composer update drupal/modulename --with-dependencies
- 更新資料庫
drush updb
- 清除快取
drush cr
當然,每次更新時切記要先做備份,然後更新後要到「報告」確認網站狀態。
自從更新 Bootstrap 7.x-3.8 安全性更新後,dpm() 輸出的結果就變成一堆文字,而不是點開階層的方式呈現
目前比較快的解法是在 Bootstrap 子版型的 template.php 加上 theme_status_message() 的改寫。
相關討論請看 Bootstrap 7.x-3.8 breaks dpm() Krumo and string output
有時候會遇到因不明原因造成管理選單錯亂,例如 node/add 這個選單不見,導致看不到新增內容的各個項目
這時的解決方法是刪除 menu_link 資料表的資料,然後再用 menu_rebuild() 重建資料
以下是用 drush 指令的操作方式:
drush sqlq "DELETE FROM menu_links WHERE menu_name='management'"
drush eval 'menu_rebuild();'
這篇筆記用來記錄 Angular CLI 相關的安裝步驟、及可用指令。
安裝
npm install -g @angular/cli
常用指令
ng new
ng generate
ng serve