- NotesLLMRequest:4 行 LotusScript 把 LLM 接進 Domino app
Domino 14.5 引入 NotesLLMRequest / NotesLLMResponse 兩個 LotusScript class,把 LLM 推論能力以同步 API 形式給 app 開發者。本篇實戰:session.CreateLlmRequest() 工廠方法、Completion 三參數簽名、CompletionStream 串流模式、IsCommandAvailable / GetAvailableCommands 防禦性檢查、NotesLLMResponse 的 Content / FinishReason / Role 三個欄位。為什麼 API 設計用 commandName 而不是直接吃 prompt — Command document 抽離讓 admin 跟 dev 各自控制自己那層。附自動回信 + 摘要兩個實戰範例、跟 Java 對位 LLMReq / LLMRes。
2026.05.23 - 在 HCL 官方支援範圍外把 Domino 9.0.1 包進 Container — 社群可行性 PoC + 5 個一定會撞的坑
HCL 官方只發 Domino 10.0.1 FP3 起的 container image — 還在跑 9.0.x 想用容器做 dev/test、migration 預演、legacy server 保存的話官方沒路。本篇介紹一份社群可行性研究:RHEL UBI 7.9 base、兩階段 build、~1.48 GB image,跑得起 Domino 9.0.1 FP10、能加入既有 Domino domain、HTTP/NRPC/LDAP/IMAP/POP3/SMTP 全部正常。研究過程踩了 5 個 HCL docs 沒提的關鍵坑(Perl namespace bug / FP installer 不吃 -silent / J9 JVM heap 不夠 / setup 完成 marker 不對 / server.id 密碼 stdin block),每個都有實際 error message + workaround。完整 build script 跟 troubleshooting 在 bryanHsiao/build-hcl-domino9-container repo。
2026.05.22 - HCL Domino 容器化部署的兩條路 — 拉 pre-built image,或自己 build 客製版
把 Domino 包進 container 在 IBM 時代(V9)就有社群在做、HCL 從 V10 起正式提供官方 pre-built container image 下載。現在 HCL 雙管齊下:要快上線可以從 My HCLSoftware Portal 下載官方 pre-built image TAR 直接 docker load;要彈性可以用 HCL 在 GitHub 上開源的 domino-container 專案、跑互動式 build.sh menu 自己 build 客製 image,挑你要的模組(Domino / Traveler / Verse / Nomad / REST-API / Leap / Domino IQ / OnTime / C-API SDK / LP)+ add-on。這篇介紹兩條路怎麼選、build.sh 能客製到什麼程度、典型部署場景,跟想試試看的人怎麼起步。
2026.05.21 - NotesOutline / NotesOutlineEntry 全攻略 — Domino UI 導覽控件的程式化建構、4 種 entry type、24 個 property
NotesOutline 是 Domino 應用程式的左側 / 上方導覽控件,由 NotesOutlineEntry 條目以樹狀組成。透過 LotusScript 可以動態建立、修改、走訪 outline — 典型 use case 是多語切換(依 user locale 動態改 Label)、條件式 menu(依 role 顯示/隱藏)、動態使用者連結。本文整理 NotesOutline ↔ NotesOutlineEntry 關係、8 個 tree-walking 方法、6 個 manipulation 方法、24 個 entry property、4 個 Set* 方法、4 種 entry type 常數、9 個 EntryClass 常數、完整 CRUD 範例、五個踩雷點,跟 Java / SSJS 對照。
2026.05.20 - domino-container-lp-recipe — 為 HCL Domino Container 加上繁中 Language Pack 的社群工具(含他語言擴充範本)
HCL 官方 domino-container repo 內建支援 6 種 Language Pack(DE/ES/FR/IT/NL/JA)。Issue #55 討論過怎麼裝其他 LP,但官方基於「真要加就要承擔所有語言維護責任」的考量沒把更多 LP 收進 build.sh — 是合理的工程取捨。社群工具 domino-container-lp-recipe 補上這條擴充路線:用「動態修補」而不是「fork」的方式跑一個腳本就能加進繁中(end-to-end 已驗證),同時提供簡中 (SC) 跟韓文 (KO) 的擴充範本給社群當起點。結構小(~50 行 patch 跨 4 個檔)、跟著上游漂移成本低。本文介紹工具背景、三層整合、recipe-vs-fork 設計選擇、快速開始、加新語言流程、跟一個一定要先讀的 sync-trap 警告。
2026.05.19 - LotusScript 解析 XML 該選 DOM 還是 SAX — 五個問題決定走哪邊
LotusScript 處理 XML 有三條路:NotesDOMParser(整棵樹載入)、NotesSAXParser(事件驅動串流)、NotesXMLProcessor + NotesXSLTransformer(XSLT 規則式轉換)。本文整理三家本質差異對照、五個決策問題(檔案大小 / 是否修改 / 走訪方向 / 記憶體限制 / 轉換場景)、實務情境的選擇建議,附程式碼風格對照、效能比較跟踩雷集錦。讀完知道 LS 拿到一份 XML 該怎麼開動。
2026.05.18 - NotesDOMParser 全攻略 — XML 整棵樹載入記憶體、14 個 Node 類別、走訪/修改/序列化
NotesDOMParser 把 XML 整棵載入記憶體蓋成 DOM 樹、用 NotesDOMDocumentNode 當 root、配 14 個 Node 子類別代表不同 XML 元素(Element / Text / Attribute / Comment / CDATA 等)。可任意走訪、可修改、可 Serialize 回 XML。本文整理 DOM 樹結構概念、CreateDOMParser 初始化、14 個 Node class 關係表、NotesDOMNode 的 tree-walking API(FirstChild / NextSibling / NodeType)、完整 parse → walk → modify → serialize 範例、五個踩雷點,跟 Java/SSJS 對照。
2026.05.17 - NotesSAXParser 全攻略 — LotusScript 串流式 XML 解析、12 個 SAX 事件、On Event 綁定模式
NotesSAXParser 用 SAX(Simple API for XML)事件驅動模式處理 XML — 不把整份檔案載入記憶體、而是邊讀邊觸發 SAX_StartElement / SAX_Characters / SAX_EndElement 等 12 個事件。大檔案 / 只讀特定 element / 記憶體吃緊場景的首選。本文整理 SAX vs DOM 的本質差異、CreateSAXParser 初始化、On Event 綁定機制、12 個事件的觸發時機、NotesSAXAttributeList 怎麼拿 attribute、完整 LotusScript 範例、五個踩雷點,跟 Java / SSJS 對照。
2026.05.16 - NotesACLEntry 全攻略 — Domino 資料庫存取控制的程式化管理、7 個 access level、20 個 property、Roles 機制
NotesACLEntry 代表 Domino 資料庫 ACL 裡的單一條目(個人、群組或 server)。本文整理 NotesACL ↔ NotesACLEntry 容器關係、拿到 ACL 跟 entry 的三種途徑、7 個 access level 常數、UserType 跟 IsPerson/IsGroup/IsServer 三組旗標、20 個細粒度權限 property、Roles 自訂角色機制、acl.Save 的強制要求、五個踩雷點,跟完整 CRUD 範例。同時跟 14.5 NRPC encryption / trust store 系列文章連結,形成完整的 Domino security 圖譜。
2026.05.15