tableau / server-client-python

A Python library for the Tableau Server REST API
https://tableau.github.io/server-client-python/
MIT License
656 stars 420 forks source link

[TYPE 1]Add add/delete tags on workbooks as a direct API call for permission reasons #1421

Open AverageJoeGuy-tech opened 2 months ago

AverageJoeGuy-tech commented 2 months ago

Summary Add add and delete tags on a workbook as a direct API call instead of indirectly updating a workbook because permissions may allow users to change tags but not update the workbook.

The current REST API calls of adding/deleting a tag on a workbook

Add https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_workbooks_and_views.htm#add_tags_to_workbook

Delete https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_workbooks_and_views.htm#delete_tag_from_workbook

Description To update tags in a workbook, the current method is update the tags on a workbook then update the workbook: workbooks.update(workbook_item). The main problem is the user must have update permissions on the workbook but changing the tags is a different permission. Currently users may have ability to change tags but not update the workbook.

The proposal is to either add new function calls like workbooks.add_tag(workbook_id, tag) and worbooks.delete_tag(workbook_id, tag) or handle it using a combination call but separate from update() like workbooks.update_tags(workbook_id, tags[]).