所有文章
- Profile documents:Domino 的快取式設定儲存區,以及那個快取為什麼會咬人
profile document 是一份隱藏、在 view 裡看不到、以名稱(與可選的使用者)為鍵的文件 —— 很適合放應用設定與個人偏好,而且因為有快取所以很快。本文說明 GetProfileDocument、IsProfile / NameOfProfile / Key 屬性、透過 unique key 做個人化 profile,以及快取造成的陷阱:另一個程序的寫入可能對你已開啟的 session 看不見,而且沒有 refresh API 能強制重讀。
2026.07.11 - 用程式做 Readers 與 Authors 欄位:靠一個 NotesItem 旗標設定的文件層級安全
Domino 的文件層級存取控制不是什麼特殊 API —— 它就是一個帶旗標的普通 item。本文說明怎麼在 LotusScript 用 ReplaceItemValue 加上 NotesItem.IsReaders / IsAuthors 建立 Readers 與 Authors 欄位、安全模型(沒有 Readers item = 所有人可見;有 Readers item = 只有列出的人)、以及鎖死陷阱:把自己和 agent 漏在清單外,你會把一份文件對所有人藏起來,包括產生它的那段程式。
2026.07.10 - 多層分類 view 裡的 GetAllDocumentsByKey:為什麼你的 count 悄悄就錯了
在單層分類 view,GetAllDocumentsByKey('Belgien', True) 正確回傳那個分類下的 2 筆文件。但加上第二層分類 — Form 再 Country — GetAllDocumentsByKey('Customer', True) 回傳 3,不是全部。它停在第一個子分類就不走了。本文記錄這個實測驗證過的陷阱與繞法。
2026.07.09 - NotesStream 與文字編碼:字元集、BOM,與位元組 vs 字元的陷阱
NotesStream 讀寫檔案,但只要你的文字不是純 ASCII,三件事就會咬人:你用哪個字元集開的、有沒有寫進 BOM,以及 Position 是位元組位移、而且「不支援多位元組字元」。本文說明 Open 的字元集參數、EOL 常數、WriteText 到底何時寫 BOM(UTF-16 會、UTF-8 不會),以及為什麼 Bytes 永遠不等於 Len()。
2026.07.08 - LotusScript 處理附件:EmbedObject、NotesEmbeddedObject 與 GetAttachment 捷徑
附加一個檔案、列出附了什麼、把它抽取到磁碟、再移除它 —— 全部用程式做。本文說明 NotesRichTextItem.EmbedObject 搭配 EMBED_ATTACHMENT 常數、NotesEmbeddedObject 類別、ExtractFile,以及兩個絆倒人的陷阱:NotesDocument.EmbeddedObjects 不會回傳檔案附件(要用 GetAttachment 或 rich text item),而 ExtractFile 對非附件的東西會出錯。
2026.07.07 - HCL Sametime 12.0.3 帶來了什麼:已讀回條、會議逐字稿,與一個 Domino 授權包的變動
HCL Sametime 12.0.3 —— 2025 年發布 —— 是一個值得回頭看的 point release,尤其如果你的環境還沒升級:聊天已讀回條、行動裝置聊天搜尋、會議錄影自動轉逐字稿、一輪完整的無障礙改善,以及以 HCL Enchanted + React 重建的 UI。對 Domino 管理員最有份量的變化其實不是功能 —— 而是 premium 聊天能力被併進了標準的 Domino Complete Collaboration Bundle。
2026.07.06