#DevOps
標記為 #DevOps · 9 篇文章
- 把 Domino 附件用 REST 拋出去:DRAPI 與 DAS 都有附件端點,差在現代 vs 舊版
前幾篇都是使用者從 UI 上傳附件;但有時你要用 REST 把附件程式化地拋進拋出。Domino 有兩套 REST API:DRAPI(現代、KEEP)與 DAS(舊版、Extension Library)。常見的誤解是「DAS 只能讀」——其實不然,DAS 一樣有專屬的附件端點可以新增/讀取/更新/刪除。真正的差別是現代 vs 舊版,加上一個 DAS 特有的陷阱:別把內嵌附件資料的整份文件拿去 create/update(會回 400),要走專屬附件端點。這篇把兩者的端點與差異對照清楚。
2026.09.10 - Domino REST API 上線前:安全模型、rich text 單向、CORS 與 admin port
系列收尾。你已經會認證、開 scope、CRUD、查詢了;把它交給真實使用者之前,Domino 開發者最該問兩件事:它會不會繞過我的 Readers 欄位安全?以及上正式環境會踩到什麼。答案:DRAPI 是分層安全(JWT + scope + 底層 Domino 的 ACL/Readers 照算),不會漏;但有幾個很實在的限制——rich text 只能單向轉出、沒配置的欄位碰不到、同名 form/view 選哪個沒保證——加上 CORS、port 這些上線前要收的口。DRAPI 系列第六篇(完結)。
2026.08.24 - Domino REST API 上手:把 NSF 資料變成任何語言都能呼叫的 REST 端點
想讓一個現代前端、一支 Python 服務、或一條 Power Automate 流程讀寫 Domino 資料,傳統答案(XPages、DIIOP、自己寫 LotusScript web agent 吐 JSON)都得讓對方遷就 Domino。Domino REST API(DRAPI,KEEP 專案)把它反過來:在你的 NSF 之上架一層標準的 REST/JSON API,任何會講 HTTP 的語言都能呼叫。這是 DRAPI 系列的第一篇——它是什麼、跟傳統存取差在哪、三個要先懂的積木(scope/schema、JWT、OpenAPI/Swagger),以及怎麼開始。
2026.08.19 - 跨 DB 的 embedded view 搬到測試區就「無法啟動」?問題出在 DXL 裡綁死的抄本 ID
一個 form 上的跨 DB 嵌入視圖,在開發區好好的,交到客戶測試區就顯示「無法啟動」。翻遍 Designer 的嵌入視圖 UI 也沒有地方換來源資料庫。把 form 匯出成 DXL 才發現:embeddedview 元素用來源庫的抄本 ID(replica ID)綁死來源,換了環境那個 ID 就對不上。這篇是實測記錄:怎麼診斷、怎麼用一支 NotesDXLExporter/Importer 的 agent 批次換掉,以及後來才發現的更快解法——Designer 直接「以 DXL 編輯」。
2026.08.18 - NSF ODP Tooling:不開 Designer,把 NSF 變成可版控的原始碼
NSF ODP Tooling 是 OpenNTF 的專案,把二進位的 NSF 拆成檔案系統上的 On-Disk Project(ODP),讓你能把 Domino 應用放進 Git,再不靠 Domino Designer 就把 ODP 編譯回完整的 NSF —— 為 Domino 帶來真正的版本控制與 CI/CD。本文完整介紹它是什麼、Maven plugin 與容器化編譯怎麼運作,以及 4.1.0 這一版實際改了什麼。
2026.06.27 - NotesDXLImporter:把 DXL 灌回 Domino,設計元素 / 文件 / ACL 各有匯入策略
你用 NotesDXLExporter 把設計或文件匯出成 DXL(Domino XML)之後,怎麼把它灌回資料庫?NotesDXLImporter 就是反向那一半。本文拆解它的建立、三個關鍵匯入策略(DesignImportOption / DocumentImportOption / ACLImportOption 各自的 create / ignore / replace / update)、Import 方法與取回匯入 note 的方式,以及它跟 DXLExporter 怎麼組成完整的 DXL round-trip。
2026.06.23 - 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 - 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 - NotesNoteCollection 入門:操作 NSF 設計元素的瑞士刀
NotesNoteCollection(筆記集合)跟 NotesDocumentCollection 不同,它代表的是 NSF 裡所有「note」—— 包含資料文件、表單、視圖、ACL、代理程式、程式庫等設計元素。本文整理 32 個屬性、14 個方法、CreateNoteCollection 的 True/False 兩種起始模式,以及最常用的場景:DXL 匯出。
2026.04.29