RETS Change Proposal 050: Simplify GetMetadata
|
| Author: Dave Dribin |
| Organization: Center for REALTORŪ Technology |
| Telephone: |
| Address: 430 N. Michigan Ave., Floor 6, Chicago IL, 60611-4087 |
| Email: ddribin@crt.realtors.org |
| Status: Proposal |
| Date: 11/03/2003 |
| Proposal Version: 1.7 |
| 1. Synopsis |
| Simplifies the GetMetadata transaction to make it easier for clients and servers to implement. |
| 2. Rationale |
| The existing GetMetadata transaction allows retrieving metadata from any part of the metadata tree. Requests may or may not be recursive. Also, the metadata may be formatted either in compact format or standard XML. All these options and choices make implementing the GetMetadata transaction on the server a fairly difficult task. Since a vast majority of clients just use METADATA-SYSTEM:* to retrieve all the metadata, implementing all of the other cases seems to not be worthwhile.
Also the GetMetadata transaction is not bandwidth critical. It is usually only grabbed once per session and may be cached on the client for future sessions. There already exists a mechanism in the Login transaction for the client to determine if its cached copy of metadata is out of date. Thus the bandwidth savings of compact format over standard XML is not a large enough savings to warrant keeping compact format for future versions. Semantically, all metadata that was expressed in compact may be expressed in standard XML, so there is no loss of data or proprietary extensions. |
| 3. Proposal |
| The required arguments of Type and ID shall no longer be used. The server MUST respond as if Type was METADATA-SYSTEM and ID was *. The COMPACT option of Format shall no longer be support. Only standard XML responses shall be supported. |
| 4. Development Impact |
| Existing server implementations need not change immediately. It could default Type to METADATA-SYSTEM and ID to *. In the long run, the metadata could simply be stored as a file on disk, rather than dynamically generated. This greatly simplifies the server vendor's task of implementing the GetMetadata transaction.
For clients that already support standard XML, there is very little impact. However, clients that only support compact format will need to be modified to parse standard XML.
Also, clients that rely on retrieving parts of the metadata tree other than System need to be modified to work with the whole metadata tree. |
| 5. Compatibility |
| This change will break compatibility with 1.0 and 1.5. However, most of the clients will work with this change, as this change is intended to reflect real world use cases as implemented by existing clients. |
| 6. Proof/Need of Concept Examples |
| None. |