385 | | === "Versioning and Extensions" |
386 | | ==== "Backwards compatibility statements" |
387 | | {{{ |
388 | | #!div style="border: 1px solid #000000; font-size: 75%" |
389 | | Say something about backwards compatibility with "basic-search". \\ |
390 | | Clients should also be compatible with FCS 1.0 (= SRU 1.2) and use heuristic to determine, if an endpoint is still using FCS 1.0. |
391 | | }}} |
| 385 | === Versioning and Extensions |
| 386 | ==== Backwards Compatibility |
| 387 | {{{ |
| 388 | #!div style="border: 1px solid #000000; font-size: 75%" |
| 389 | TODO: check and proof-read |
| 390 | }}} |
| 391 | Endpoints `SHOULD` also be compatible to CLARIN-FCS 1.0, thus support the SRU 1.2 protocol. |
| 392 | |
| 393 | Clients `MUST` be compatible to CLARIN-FCS 1.0, thus must implement SRU 1.2. If a Client uses CLARIN-FCS 1.0 to talk to an Endpoint, it `MUST NOT` use features beyond the Basic Search capability. Clients `MUST` implement a heuristic to automatically determine which CLARIN-FCS protocol version, i.e. which version of the SRU protocol, can be used talk an Endpoint. |
| 394 | |
| 395 | Pseudo algorithm for version detection heuristic: |
| 396 | * Send ''explain'' request without `version` and `operation` parameter |
| 397 | * Check SRU response for content of the element `<sru:explainResponse>/<sru:version>` |
| 398 | |