- @SetEnvironment 與 SetEnvironmentVar:那些「環境變數」其實是寫在執行那台的 notes.ini
想從 Formula 或 LotusScript 記一個設定值,@SetEnvironment/@Environment/session.SetEnvironmentVar/GetEnvironmentString 一堆長得像。它們讀寫的其實是「執行程式那台機器的 notes.ini」——per-machine、不共享、也不複寫。加上一個容易絆倒人的 $ 前綴規則(Formula 與 LS 預設會替你加 $、讀 notes.ini 原生設定要另外處理)。這篇把它們寫到哪、$ 怎麼來、什麼時候該用、什麼時候該改用 profile 文件講清楚。
2026.09.22 - 未讀標記的坑:它是「每個使用者各一份」,不是文件的屬性
文件變粗體、旁邊那顆星號——未讀標記看起來像文件的一個欄位,其實不是。它是 Domino 少數「每個使用者各自一份」的東西:你讀了不代表別人讀了。用 LotusScript 的 MarkRead/MarkUnread 動它時很容易替錯人(agent 以某個 ID 跑,只動到那個 ID 的未讀);而且未讀標記預設不隨複寫同步,所以 server 上和你本機 replica 的未讀狀態常常對不上。這篇把未讀的機制與三個坑講清楚。
2026.09.21 - Execution Security Alert:那個「要不要允許」的安全警告是 ECL 在把關
跑一個 agent、開一封信、按一個按鈕,突然跳出 Execution Security Alert 問你要不要允許——那不是病毒,是 ECL(執行控制清單)在守你的工作站。ECL 判定「某個 signer 的程式碼能不能在你這台跑、能做到哪些事」;signer 不在清單、或做了沒被授權的動作,就跳警告。這篇講 ECL 是什麼、警告為什麼跳、workstation ECL 與 Administration ECL 的差別、跟簽署的關係,以及怎麼設。
2026.09.20 - 刪掉的文件為什麼會自己回來:deletion stub、purge interval 與兩個復活原因
刪掉一份文件,過幾天它又自己冒出來——不是鬧鬼。Domino 刪除不是把文件抹掉,而是留下一個 deletion stub(刪除殘根),讓複寫把「這份被刪了」傳到其他 replica。殘根會依 purge interval(預設 90 天)被清掉。文件「復活」通常是兩個原因:殘根在傳出去之前就被清掉、或同一份在一邊被改一邊被刪時「改贏了刪」。這篇把機制與兩個原因講清楚,並給避免的設定原則。
2026.09.19 - updall、fixup、compact:資料庫壞了、肥了、view 不對,該跑哪一個
Domino 三個資料庫維護指令最容易被亂槍打鳥:view 顯示過期就想 fixup、資料庫肥了就 fixup、開不起來就 compact——結果白跑一場。其實它們各治不同的病:updall 管索引(view/全文),fixup 修損毀(文件/結構),compact 收空間(變肥就它)。這篇按「什麼症狀跑哪個」講清楚,並附官方的損毀升級順序:先 updall、再 fixup、最後 compact -c。
2026.09.18 - Domino REST API 1.1.8 發布:CalDAV/CardDAV 實驗登場、PIM 新端點與 cluster failover
DRAPI 1.1.8(2026-09-14)發布。這版帶來實驗性的 CalDAV/CardDAV/DXL Extension API(預設關)、撈 mail 附件清單與 calendar profile 的 PIM 新端點、PIM 在 primary 不可用時改讀 cluster member,以及 Keycloak/OIDC 金鑰輪替修正。升級前也有幾個行為改變要注意——richTextAs 預設改 HTML、qrp/json 強制 forms、calendar profile 端點改名、行事曆項目必填時間欄位——內文一併說明。
2026.09.18 - Domino 伺服器排錯:先別重啟整台,這幾個 console 指令先看清楚狀況
伺服器怪怪的——某個功能不通、好像卡住、記憶體或磁碟吃緊。反射動作往往是「重啟整台」,但那太粗魯、也可能蓋掉現場。這篇把最常用的 Domino console 排錯指令按「你遇到什麼問題」整理:show tasks 看誰在跑/卡住、show server 看整體健康、restart task <task> 只重啟出問題的那個 task(例如 restart task http,而不是整台)、tell http show thread state 抓卡住的 thread、dbcache show/flush/disable 處理資料庫快取。先看清楚,再決定要不要動手。
2026.09.17 - XPages 存檔衝突:為什麼「只有你一個人」還會跳存檔衝突
「Document has been saved by another user」——奇怪的是根本沒別人在動這份文件,存檔衝突卻偶爾自己冒出來。這篇講一個 XPages 老坑:在同一份文件上混用 dominoDocument 資料來源的存檔與後端 Document 的存檔,會讓 Domino 的衝突判定誤判、生出一份 conflict 文件。從官方的衝突機制($Revisions)講起、拆解 assono 那個經典重現,並在 Domino 12.0.2 與 14.5.1 各自實測看這個 2013 年的坑現在還在不在。
2026.09.16 - NotesView AutoUpdate=False:迴圈裡改文件為什麼越跑越慢、還跳「Entry not found in index」
一個 agent 迴圈跑 view、順手改文件,結果越跑越慢,甚至偶爾拋「Entry not found in index」。罪魁是 NotesView 預設會自動刷新:當你的迴圈改動的正是這個 view 索引的文件,view 就在你腳下一直重整,效能爛掉、導覽位置也可能失效。解法一行——迴圈前 view.AutoUpdate = False。這篇講清楚機制、正確的「先抓下一個再改」寫法,以及三個要知道的副作用(快照、只管當前程式、要 Refresh 才看得到更新)。
2026.09.15