I'm looking for a way to get a list of all the status changes of every item in a SP2007 document library. I want to build some reports that show the average length of time a document spent in a given status, how frequently a given chain of status changes occurred, and other analyses of this type.
I know I can get this data with web services by using Lists.GetVersionCollection()
to get the history of the Status field and calling this function on every item in the collection obtained from Lists.GetListItems()
. But this seems like an unnecessarily complicated way to handle the problem, and also a slow one because as the list size grows, the number of SOAP calls performed to get the list data will increase.
Is there a more direct way to get the data I'm looking for?