#LotusScript
標記為 #LotusScript · 13 篇文章
- Domino 14.5 NotesHTTPRequest 換了預設信任 CA 來源 — 升級前該知道的細節
Domino 14.5 起,server 端 LotusScript 跑 NotesHTTPRequest 時,預設從 Domino Directory 拿信任的 root CA,不再讀 data 目錄裡的 cacerts.pem。Notes client 不受影響、有 NotesHTTPRequest_Use_CACerts=1 這個 .ini 後門可以暫時退回舊行為,但長期該把自簽 CA 匯到 Domino Directory。本文整理這個改動的細節、影響範圍、過渡步驟,跟 5/7 那篇 NotesHTTPRequest 工具鏈深度文一起看。
2026.05.10 - NotesView.GetAllDocumentsByKey 全攻略:你以為簡單,但它有五個踩雷點
GetAllDocumentsByKey 是 LotusScript 開發中最常用的查詢方法 —— 給一個 key、拿回符合的所有 doc。但「key 對應 sorted column 不是 doc field」「exactMatch 預設 False 是前綴比對」「反斜線分類欄位讓查詢失效」這些細節,HCL 官方文件寫了但很多人沒讀完。本文整理 signature、整個 by-key 方法家族、五個常見踩雷點,附完整範例。
2026.05.09 - OpenNTF LotusScript Class Map:97 個類別一張圖,資料開源可拿
OpenNTF 在 2026 年釋出了基於 HCL Domino 14.5.1 的 LotusScript Class Map — 97 個 class、1001 個 property、997 個 method、72 個 event 全部攤在一張可互動的視覺地圖上,點任一節點就跳到 HCL 官方文件。本文介紹這個工具的功能、開源授權、底層 JSON 資料怎麼取,以及對開發者選題、學習、API 探索的價值。
2026.05.08 - LotusScript 的對外 HTTP / JSON 工具鏈:NotesHTTPRequest + NotesJSONNavigator
Domino V12 起 LotusScript 內建 NotesHTTPRequest 跟 NotesJSONNavigator 兩個 class,可以直接從 LS 打外部 REST API 拿 JSON 回來解析 — 不再需要 ActiveX 或 shell 出去呼叫 curl。本文整理兩個 class 的 method、屬性、PreferJSONNavigator 把兩者串起來的官方途徑、完整範例,跟 Java / SSJS 的對位差異。
2026.05.07 - NotesXMLProcessor 入門:LotusScript 處理 XML 的共同基底
NotesXMLProcessor 是 LotusScript 全部 XML 處理類別(DOMParser、SAXParser、DXLExporter、DXLImporter、XSLTransformer)共用的 abstract base class。本文整理它的角色、5 個衍生類別怎麼選、共通的屬性與 SetInput / SetOutput / Process 三個方法、以及 Release 6 起加入後的版本與 COM 限制。
2026.05.06 - DQL Production-Ready:Catalog 維運、權限、與 sessionAsSigner
把 DQL 上 production 真正會撞牆的兩個問題:Design Catalog 怎麼自動維護(包含全新 NSF 的 bootstrap、設計變更後的 incremental refresh),以及為什麼一般使用者跑會噴「您沒有權限執行此作業」——以及對應的 sessionAsSigner / scheduled agent 解法。本文整理實測 Domino 12 驗證過的最終 pattern + Java production-ready 範例。
2026.05.03 - LotusScript NotesStream 實戰指南:把檔案讀寫做對
NotesStream 是 LotusScript 從 Notes/Domino 代理人讀寫檔案的標準抽象。本文整理 Open 真正的 signature、Truncate-before-write 的寫入慣例、文字與二進位 I/O 的差異,以及官方文件實際載明的陷阱。
2026.05.02 - DQL 踩雷集:寫 query 時 6 個官方文件不會明說的細節
Domino Query Language(DQL)的語法表面像 SQL,但實戰起來有一整套 Notes 特有的踩雷點 —— view selection 會默默限縮結果範圍、`'view'.column` 的 column 不是文件欄位名而是直欄程式名稱、比較運算子兩邊要空白、view 名稱含反斜線要 escape、`@formula` 內是獨立的 Formula Language parser、字串日期欄位要 `@TextToTime`。本篇用實測錯誤訊息對照逐個說明。
2026.05.01 - NotesRichTextItem 入門:用 LotusScript 操作富文本欄位
NotesRichTextItem(富文本項目)繼承自 NotesItem,所以 NotesItem 的全部屬性與方法都能用;但它另外有 22 個專屬方法處理段落、樣式、表格、嵌入物件、Navigator/Range 進階遍歷。本文整理建立方式、22 個方法分類、繼承關係,與寫程式時常踩的雷。
2026.04.30 - NotesNoteCollection 入門:操作 NSF 設計元素的瑞士刀
NotesNoteCollection(筆記集合)跟 NotesDocumentCollection 不同,它代表的是 NSF 裡所有「note」—— 包含資料文件、表單、視圖、ACL、代理程式、程式庫等設計元素。本文整理 32 個屬性、14 個方法、CreateNoteCollection 的 True/False 兩種起始模式,以及最常用的場景:DXL 匯出。
2026.04.29 - NotesViewNavigator 入門:用導航器走視圖,不要再 GetFirstDocument 硬撈
NotesViewNavigator(視圖導航器)是 LotusScript 走視圖的進階工具:能拿到 ViewEntry(視圖條目,含類別、總計、位置等視圖才有的中介資料)、能從子集合(單一類別、未讀、某層以下)建立、效能上比 GetFirstDocument 迴圈高,但使用之前要先把 AutoUpdate 關掉。本文整理 4 個屬性、約 36 個方法、7 個 CreateViewNav* 變體與重要注意事項。
2026.04.29 - NotesQueryResultsProcessor 入門:DQL 之後的下一步
NQRP 是 Domino V12 引入的 LotusScript 類別,讓你把 DQL(或任何 NotesDocumentCollection)的結果重新排序、分類、加欄位、輸出成 JSON 或暫存 view。本文整理建立流程、所有方法簽名、官方範例與安全用法。
2026.04.28 - DQL 入門:用 SQL 風格的語法操作 Notes 文件
Domino Query Language(DQL)讓你用近 SQL 的語法直接查詢 Notes 文件,免再為每種查詢條件設計 view。本文是「DQL 三部曲」系列的 Part 1:介紹 DQL 的設計初衷、第一個 query 怎麼寫、從 LotusScript / Java / REST API 怎麼呼叫,以及常用語法速查。寫 query 結果不如預期的細節在 Part 2,上 production 的 catalog 維運與權限在 Part 3。
2026.04.28