RETS Support Article

RETS Support Article

Title:

Rapattoni RETS Server Client Data Sync Algorithm

Submitted by:

Rapattoni RETS Support

Updated:

01/12/09

Version:

RETS 1.5

Issue:

Rapattoni Corporation cannot allow thousands of RETS clients to request large amounts of data concurrently because of hardware and bandwidth resource limitations (regardless of the time of day). Consequently, Rapattoni RETS servers enforce search limits based on the amount of data to be returned and the time of the request. These limits are per Search transaction only and will not affect the total amount of data a RETS Client can pull in a given time period. (Note: For more information on Rapattoni's RETS 1.5 Server search limits see the RETS 1.5 Server - Product Release Notice.)

The following steps illustrate how the sync algorithm works:

1. The RETS client sends a request to the RETS server using LastModifiedDateTime >= SomeDate SomeTime in the Query argument and selects four or less columns, such as MLNumber, LastModifiedDateTime, PictureModifiedDateTime, and PictureCount.

Here is an example of this type of search:

Class=RESI&SearchType=Property&Count=1&Limit=NONE&QueryType=DMQL2&
Format=COMPACT&Select= MLNumber,LastModifiedDateTime,PictureModifiedDateTime,PictureCount&Query=(MLNumber=1+),(LastModifiedDateTime=YYYY-MM-DDTHH:MM:SS+)

The RETS server will return an unlimited number of records to the RETS client that have changed since the LastModifiedDateTime.

2. The RETS client builds a DB table locally and compares this search result data to what it already has in its own database. The RETS Client can now determine when changes were made to any of the search result file from Step 1 and can subsequentially update its own records from the RETS server for those MLNumbers.

3. The RETS client sends a request to the RETS server using a string delimited list of MLNumber values in the Query argument and leaves the Select argument blank. The response will contain a complete data set for those records that were requested. The RETS client keeps sending these search requests to the RETS Server until it has all the records it needs.

Here is an example of this type of search:

Class=RESI&SearchType=Property&Count=1&Limit=NONE&QueryType=DMQL2&
Format=COMPACT&Query=(MLNumber=1234,1235,1236,1237,1238,1239)


4. The RETS client now has all the changed records and is fully synchronized with the RETS server.


If you would like a further explanation as to why Rapattoni suggests this method or how the sync algorithm works, please feel free to contact Rapattoni RETS Support. We will be happy to assist you.

RETS Links
© 2010 Rapattoni Corporation. All rights reserved.