4.4 Incremental Indexing

This example illustrates obtaining incremental changes to a site collection using the GetChanges operation.

In this scenario, there is a Web application running on the protocol server. The Web application contains a content database identified by the GUID "690252de-3653-4c4d-93a0-41545e070f46". The content database contains several site collections; one of the site collections is addressed by the URL http://fabrikam. This site collection contains many subsites. One of these subsites is addressed by the URL http://fabrikam/TestSubSite.

This example makes the following assumptions:

  • The protocol client has finished a traversal of the site content.

  • The protocol client has a LastChangeId token in the site change tracking space.

  • The contents of the subsite "TestSubSite" has changed since the protocol server issued the LastChangeId token. Specifically, one of the documents in the document library list was modified.

The following occurs:

  1. The protocol client requests the change report.

  2. The protocol client calls the GetChanges operation to get detailed change information about the site collection at http://fabrikam. The protocol client sends the following SOAP message to the protocol server to call the GetChanges operation:

     <GetChanges xmlns="http://schemas.microsoft.com/sharepoint/soap/">
       <objectType>Site</objectType>
       <contentDatabaseId>690252de-3653-4c4d-93a0-41545e070f46</contentDatabaseId>
       <LastChangeId>1;0;690252de-3653-4c4d-93a0-41545e070f46;633386167086370000;3815</LastChangeId>
       <CurrentChangeId></CurrentChangeId>
       <Timeout>600</Timeout>
     </GetChanges>
    
  3. The protocol client sends the HTTP POST to the protocol server: http://fabrikam. The POST URL is /_vti_bin/Sitedata.asmx. The header specifies the following SOAP action:

     http://schemas.microsoft.com/sharepoint/soap/GetChanges
    
  4. The protocol server returns the detailed change information in a response SOAP message as defined in section 3.1.4.3.2.2.

  5. The response indicates that in the http://fabrikam site collection, in the TestWebSite site, in the Documents list, a specific list item has been modified.

  6. The protocol client parses the response and updates the indexes. The protocol client can repeatedly call the GetChanges operation.