我發現了一種不同的方法,因爲sync.fedb
被OTEdit
進程鎖定,並且似乎沒有任何方式通過使用單詞宏訪問文檔元數據。這有點駭人聽聞,但是我已經提供了詳細信息以防其他人對此感興趣。
編輯的文檔存儲在一個文件夾下的類似的路徑:C:\Users\[username]\AppData\Roaming\OpenText\OTEdit\EC_[servername]\[folder]\[current document name]
[folder]
可能匹配在內容服務器的文件夾,也可能不會 - 這是更好地檢查~otdirinfo.ini
文件,並解析父文件夾ID出來的網址爲Browse
。
從這裏我們可以使用類似做一個數據庫搜索:
SELECT
t.DataID AS NodeId,
CAST(t.CreateDate AS DATE) AS CreateDate,
CASE WHEN k.FirstName IS NULL
AND k.LastName IS NULL THEN k.Name
ELSE LTRIM(RTRIM((ISNULL(k.FirstName, '') + ' ' + ISNULL(k.LastName, ''))))
END AS CreatedByFullName,
CASE WHEN kr.FirstName IS NULL
AND kr.LastName IS NULL THEN kr.Name
ELSE LTRIM(RTRIM((ISNULL(kr.FirstName, '') + ' ' + ISNULL(kr.LastName, ''))))
END AS ReservedByFullName,
t.CreatedBy,
t.ReservedBy,
t.ParentID,
t.Name AS Title,
v.FileName
FROM
DTree t
INNER JOIN KUAF k
ON t.CreatedBy = k.ID
LEFT OUTER JOIN KUAF kr
ON t.ReservedBy = kr.ID
INNER JOIN DVersData v
ON t.DataID = v.DocID AND t.VersionNum = v.Version
在實踐中,我寫了一個API來包裝數據庫查詢返回的興趣JSON的結果,這是稍微容易處理而不是管理數據庫連接,並且比我的站點上的CWS更快地返回結果。我使用方便的VBA-Web宏來調用並處理解析,將調用的結果放入word doc屬性中,然後調用我們現有的頁腳生成宏。
注意:我使用的是Content Server 10.5,顯然,提取父ID的方法有時會因版本而異。
您是否需要當前打開的文檔的節點ID? –
是的 - 更新了問題以表明這一點。任何其他屬性也會很方便。 – meataxe