D HCL Domino 日報
所有文章 搜尋 類別地圖 關於
文 A
  • Formula Tutorial
    @Name 是處理 Notes 名稱的瑞士刀:三種格式互轉、抽出任一段

    在 formula 裡常要處理 Notes 名稱——比對、顯示、抽出 OU。@Name 是那把瑞士刀:[ABBREVIATE]/[CANONICALIZE]/[CN] 在 canonical/abbreviated/common 三種格式間互轉,[O]/[OU1]/[S] 抽出任一段。取當前使用者用 @UserName(canonical)或 @V3UserName(abbreviated),但有個坑:在 server agent 裡「當前使用者」其實是簽署者,也不能拿來當安全機制。Formula @function 系列第四篇。

    2026.08.28 →
  • Formula Tutorial
    Formula 字串處理:@Left/@Right/@Middle、@Word、@ReplaceSubstring

    在 formula 裡切字串,很多人只知道 @Left(s; 3) 這種數字元版本——但 @Left/@Right/@Middle 同時也吃「分隔字串」:@Left(email; "@") 就是取 @ 之前的全部。@Middle 更是有四種簽章,「取 X 和 Y 之間」一行就成。這篇把 formula 的字串工具講清楚:@Middle 的四形態、@Left/@Right 的雙形態、@Word 按分隔取第 n 個(-1 取最後、抓姓氏)、@ReplaceSubstring 平行清單多重取代。Formula @function 系列第三篇。

    2026.08.27 →
  • Formula Tutorial
    在 formula 裡處理一串值,為什麼幾乎不用寫迴圈?

    從 LotusScript/Java 過來,你會想用迴圈處理一串值。但 formula 幾乎沒有迴圈——因為一條公式本來就是對「整串 list」一次作用的。這篇把 formula 當成函數式清單語言來看:套在多值欄位上的運算自動逐元素跑(隱式 map)、@Transform 是明確的 map(還能用 @Nothing 當 filter、回傳 list 當 flatMap)、@Explode/@Implode 切字串接清單、@Sort 排序(含 [CUSTOMSORT] 用 $A/$B 自訂)。原本十行迴圈,常常一行公式就完。Formula @function 系列第二篇。

    2026.08.26 →
  • Formula Tutorial
    Formula 跨 View/跨資料庫取值:@DbColumn 與 @DbLookup 一次搞懂

    在 formula 裡要讀另一個 view 或另一個資料庫的資料,九成的情況就靠兩個函式:@DbColumn 抓一整欄(做關鍵字清單、下拉選單),@DbLookup 按 key 找一個值(把代碼換成標籤、拉一個關聯欄位)。這篇講兩者的語法、cache 關鍵字(空字串/NoCache/ReCache)、以及那幾個一定要知道的規矩——第一欄要排序、只能相等比對、64KB 上限、還有它們在哪些地方不能用。Formula @function 系列第一篇。

    2026.08.25 →
  • Domino REST API Security +1
    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 DQL +1
    DQL 明明沒寫錯,卻一筆都查不到?因為那個 form 少了 dql mode

    上一篇是用 unid 拿單一份文件。真正常見的是「符合條件的一批」——所有未完成的 todo、某區的所有客戶。DRAPI 給兩條路:GET /lists/{view} 讀一個 view/folder,或 POST /query 跑 DQL。DQL 還支援參數化查詢(?VAR + variables,防注入)。但有個接續上一篇的坑:一個 form 若沒有 dql mode,DQL 就完全看不到它。這篇把兩條查詢路徑、分頁、mode 陷阱與 DQL 存取控制講清楚。DRAPI 系列第五篇。

    2026.08.23 →
  • Domino REST API Tutorial
    在 Domino REST API 建文件,為什麼一定要帶 Form 欄位和 dataSource?

    門開好了(schema + scope),這一篇做真正的活:用 REST 對 NSF 裡的文件增刪查改。建立是 POST /document、body 帶一個必填的 Form 欄位,回來的 @meta 裡有 unid;讀取是 GET /document/{unid}/{mode}。每個 CRUD 呼叫都帶 dataSource——而那個值就是你上一篇建的 scope 名字。這篇也講兩個 Domino 開發者會愣一下的點:Form 欄位為什麼必填、mode 是什麼。DRAPI 系列第四篇。

    2026.08.22 →
  • Domino REST API Security
    Domino REST API 的 scope 與 schema:一個 NSF 怎麼變成 REST 端點(而且預設什麼都不開)

    把一個 NSF 開上 REST,不是打開開關就全部曝露。DRAPI 是 secure-by-default:你要先寫一份 schema(白名單,決定哪些 form、view、folder、agent、欄位對外),再建一個 scope(把 schema 活化成 REST mapping 的那層)。scope 的名字就是上一篇 JWT 裡 scopes claim 認的那個名字,而底下 Domino 的 ACL、Readers 欄位一樣還在算。這篇把 schema 與 scope 拆清楚。DRAPI 系列第三篇。

    2026.08.21 →
  • Domino REST API Security +1
    呼叫 Domino REST API 一直 401?先搞懂它的 JWT 認證與 scope

    DRAPI 幾乎每個呼叫都要證明你是誰。它不用傳統的 session/LTPA,而是 JWT bearer token:先 POST 到 /api/v1/auth 用 Domino 帳密換一個 token,之後每個請求都在 Authorization header 帶著它。這篇講怎麼登入拿 token、token 裡的 scopes/aud claim 在管什麼、token 從哪來(Domino 自簽 JWT、外部 OIDC、idpcat.nsf 三條路)、以及重啟金鑰會變之類的坑。DRAPI 系列第二篇。

    2026.08.20 →
‹ 上一頁1234…17下一頁 ›
由 Astro 與 GitHub Actions 驅動