How to get information out of iManage / Desksite
I have a customer with an interwoven system Desksite Version 8.0. I need to run a query or export such that I can get the document ID where comments = 开发者_StackOverflow中文版X, for an arbitrary value X. Alternatively any export of those two fields would work. I just need a list of all ID, Comment. I have to iteratively update another system based on the ID, Comment pairs. Even just a straight up document export would be beneficial at this point.
This kind of query can be performed by using either SQL queries directly to Worksite's backend or using Worksite API
In my opinion using API is preferable since DB layout can change with different Worksite versions.
Assuming you have a connection to Worksite opened and a session logged in, using this function, you can perform document searches (including the type of search that you want) :
private IManDMS mainDMS;
private IManDatabase currentDatabase;
public IManDocument[] SearchDocuments(Dictionary<imProfileAttributeID, string> dictProfleSearchParameters)
{
List<IManDocument> foundDocuments = new List<IManDocument>();
IManProfileSearchParameters searchParams = mainDMS.CreateProfileSearchParameters();
foreach (KeyValuePair<imProfileAttributeID, string> kvp in dictProfleSearchParameters)
((IManProfileSearchParameters)searchParams).Add((IManage.imProfileAttributeID)kvp.Key, kvp.Value);
IManContents foundDocs = currentDatabase.SearchDocuments(searchParams, true);
foreach (IManDocument document in foundDocs)
foundDocuments.Add(document);
return foundDocuments.ToArray();
}
精彩评论