Compliance

The RETS Working Group provides a series of tools by which developers can verify the compliance level of their software. In addition, the Working Group licenses the use of the RETS logo for use on products and marketing materials when they have demonstrated compliance with the RETS standard. This information is covered in detail in the RETS Compliance Guide.

Vendor Compliance Guide

The Vendor Compliance Guide provides extensive information about the compliance testing, the compliance certification process and the organization which defines and oversees compliance. It includes a complete flowchart of the compliance process. Once your product passes compliance testing, you will be listed in the compliant server and client lists.

Trademark License Agreement and Logos

A vendor with one or more products that have passed the compliance certification process can execute the RETS Trademark License Agreement. The agreement provides the right to use the RETS compliance logos and must be signed before the logos can be displayed. The RETS logo graphics package is a ZIP archive containing TIFF files at screen and print resolution as well as an EPS (Encapsulated PostScript) representation of the logo. This is for use in accordance with an executed license agreement.

Server Compliance Checking Tool

The latest version of the Server Compliance Tool is available as a webstart application.

  1. The first time you run the tool, you must select Download Tests to download the test scripts to a local directory. The RETS 1.7 tests will be downloaded to the a TestScripts directory. The RETS 1.5 tests will be downloaded to the TestScripts/1.5 Tests directory.
  2. Select Configure to enter appropriate parameters for the tests you will run.
  3. Select Configure DMQL to use your server's Metadata to configure the dynamic DMQL tests for System and StandardNames.
  4. Select Run Selected Scripts to run your tests. You may highlight multiple tests to execute. You must run a test for every RETS Transaction you support and, if available, a Negative test for that transaction to test error handling.
  5. Once your Test Summary is displayed, if all results have a status of &Success or Info, select Export to XML File. You can email your results to pobrien@ronintech.org. To learn more about a result, click on a specific line in the Test Summary screen to open up a Test Detail window.

Which Tests Do I Need to Run?

Your RETS server needs to pass the regular tests, dynamic dmql tests, and negative tests for the transactions it supports.  The server does NOT have to be in a production environment.

Here are the tests by transaction:
Search
    Search.xml
    DMQLDynamicTestStandard.xml (this requires ConfigureDMQL)
    DMQLDynamicTestSystem.xml (this requires ConfigureDMQL)
    NegativeTestingSearch.xml

Metadata
    GetMetadata.xml
    NegativeTestingGetMetadata.xml

GetObject
    GetObject.xml
    NegativeTestingGetObject.xml

Logout
    Logout.xml

ServerInformation
    ServerInformation.xml

Update
    Update.xml
    NegativeTestingUpdate.xml
 

Configuration Information:

You will need to set up parameters for those tests you are going to run.  There are two configuration options, Configure and ConfigureDMQL.  "Configure" is for the basic tests while "ConfigureDMQL" utilizes your metadata to configure the dynamic DMQL tests.

In the regular configuration screen, set properties (corresponding to RETS request argument parameters) for those transactions you will be testing.  All properties for each test you are running MUST be filled in.  For example: 

Search.Class = the class to be used in the search test (i.e., RES)
Search.SearchType = the resource to be used in the search test (i.e. Property)
Search.QuerySystem = a DMQL query using system names (for valid fields and values in the search class and search type).
Search.QueryStandard = a DMQL query using standard names (for valid fields and values in the search class and search type).
Search.SelectStandard = the selected fields for a COMPACT result using standard names
Search.SelectSystem= the selected fields for a COMPACT result using system names

GetObject.Id = Id parameter for GetObject request
GetObject.Type = the type of Object, i.e. Photo
GetObject.Resource = the resource for the object, i.e. Property

GetMetadata.Table = a valid Metadata-Table name from your server (i.e. RES)
GetMetadata.Class = a valid Metadata-Class name from your server (i.e. Property)

ConfigureDMQL Information:

There are two DMQL tests, one for StandardNames and one for SystemNames.  The "View" panel at the top allows you to choose a Resource/Class to use for creating the query (Property/ResidentialProperty), and specify whether you want to set up the configuration for Standard or System names (the fields available in "DataSets" will change when you switch between standard and system).

The "DataSets" panel allows you to specify fields and values for each DMQL test script. "DataType" allows you to select which types of fields you want to use in the parameterized DMQL tests (DMQL tests are set up according to the types the DMQL operator uses).  Changing the DataType will result in a new list of Fields.
"ValueType"  is the portion of the DMQL operation the Field value will fulfill.  "Value" is the value of the Field you've chosen.
So, for example, if Field is AssociationFee and ValueType is Minimum and Value is 200, and "Type" is Standard, when you hit Select and then Save Changes, this is informatin applied to the DMQL test script as follows:
1) uses DMQLDynamicTestStandard.xml
2) For each <Query> element that has a parameter for DMQL.Standard.Decimal.Minimum.Field; this uses "AssociationFee" when it runs
3) For each <Query> element that has a parameter for DMQL.Standard.Decimal.Minimum.Value, it uses "200" when it runs
4)For each element <SearchType> parameter of DMQl.Search.SearchType it uses "Property"
5) For each element <SearchClass> parameter of DMQL.Search.Class it uses "ResidentialProperty"
So, for each View "Type" (Standard and System), and each  DataType and ValueType combination, you need to pick a Field and Value, hit "Select".  When you have finished going through each DataType/ValueType for Standard, switch to System and repeat the process. 
Finally, Save Changes and then run the two DMQL tests.
 
If you have any questions or require support, please contact Paula O'Brien (pobrien@ronintech.org).

Client Compliance Checking Tool

  1. Register your client: http://retsserver.realtors.org:8080/retsClientCompliance/Registration.jsp The email and password you enter here will be used to login to test results and to access the testing server.
  2. Login to the RETS test server: http://retsserver.realtors.org:9080/rets/server/login Use your client to access RETS as you normally would, exercising all of its functionality. Remember to use the email and password from registration as your username and password to login to the RETS test server.
  3. Login to check your test results: http://retsserver.realtors.org:8080/retsClientCompliance/Logon.jsp Again, use the email and password you created at registration) If you want to vie the HTTP messages (headers and request/response arguments) for a particular test, just click on the link for that test name.
  4. When you have passed all of your tests, select Email Tests to send a report of your results. You may also enter in one or more email addresses (separated by “;”) in the space provided to send the results to other people at your company.

If you have any questions or require support, please contact Paula O'Brien (pobrien@ronintech.org).