chore: remove legacy REST API version shim for servers pre-2.4

オープン
#1,824 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
api

調査の方向性

Review server.py, especially _PRODUCT_TO_REST_VERSION, _get_legacy_version(), and _determine_highest_version(). First resolve whether the minimum supported version should be 2.4 or 3.0, then remove the legacy compatibility paths and update the minimum and default versions so pre-2.4 servers are no longer supported.

索引モデルが issue の本文から書いたものです。

説明

Summary

Remove the compatibility shim that supports connecting to Tableau Server versions that predate REST API 2.4 (i.e., Tableau Server 10.0 and earlier, released before 2017).

Background

server.py currently has:

_PRODUCT_TO_REST_VERSION = {
    "10.0": "2.3",
    "9.3": "2.2",
    ...
}
minimum_supported_server_version = "2.3"
default_server_version = "2.4"  # first version that dropped the legacy auth endpoint

The _get_legacy_version() method hits /auth?format=xml — a pre-2.4 endpoint — because servers that old don't support the standard /serverinfo REST API endpoint. _determine_highest_version() falls back to this when serverInfo returns a 404.

What to remove

  • _PRODUCT_TO_REST_VERSION dict
  • _get_legacy_version() method
  • The two except branches in _determine_highest_version() that call _get_legacy_version()
  • Raise minimum_supported_server_version to "2.4" (or "3.0" — see below)
  • Update default_server_version to match

Impact on users

None, unless they are connecting to Tableau Server 10.0 (released 2016) or earlier. Tableau Server 10.x reached end of life in 2019. All currently-supported Tableau Server versions use REST API 3.x.

Note: the @api(version="2.x") decorators on endpoint methods are minimum version requirements, not upper bounds — they are unaffected by this change and no endpoint methods are removed.

Decision needed

Should minimum_supported_server_version be raised to "2.4" (first version with /serverinfo) or "3.0" (Tableau Server 2018.1, 6+ years old)? The code change is identical either way; the difference is only the documented policy.

主要言語
Python
スター
716
フォーク
446
平均マージ
8日 8時間
マージ済み PR(30日)
2

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

tableau/server-client-python のほかの issue

tableau/server-client-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。