Hi
I am writing an app that interfaces with vault and one of the searches I need to do when it has found the matching files is display a grid using specific file properties. When I do the advanced search through vault with the column layout I require it is lightning fast. I have checked in Fiddler and onyl see two web service calls by vault which are FindFilesBySearchConditions and GetLatestFilesByMasterIds
When I do it via code it is painfully slow, the search using FindFilesBySearchConditions is fast enough but it doesn't have any of the file properties, as I can't see how the vault client manages it I have scanned the API docs and found a method called GetProperties on the Document Service web service, it is this call that takes forever. There must be another method call I can use, I have looked at one of the file objects returned by FindFilesBySearchConditions and it doesn't have any file properties.
Anybody know what the vault client is doing that I am obviously missing?
Solved! Go to Solution.
Solved by orbjeff. Go to Solution.
Are you limiting the number of propertyDefIds you are calling with GetProperties method for each entity Id? If your page size is set to the maximum 1000 (ADMS Console settings) and you are calling a large amount of property values for 1000 entities I would expect it to be slow.
I would suggest maybe limiting the page size setting in your ADMS console or limiting the number of propertyDefIds for each entityId in your GetProperties method parameters.
I’m making some assumptions that you’re returned file array and the number of properties you are trying to call on that file array are larger than you think. I typically fetch the data the same way you are describing (Perform Search, GetProperties() using returned search array entityIds) and the performance has been pretty fast.
thanks, was a long week 🙂
It was a school boy error on my part, I only had 28 file results returned but had an array of 128 UDPs, I had a linq query to pull only the UDPs I was interested in but had not passed this into the method call. As soon as I did, lightning fast just as it is in the vault client.
Thanks for the help, much appreciated