Skip to content

project.by_name gets projects by internal name instead of name displayed in Tamr UI #458

@skalish

Description

@skalish

🐛 bug report

The current implementation of the function tamr_client.project.by_name uses a the GET /v1/projects with a filter on the "name" property. In the filter this name is the internal name of the project and not the name displayed in the UI (the displayName. Confusingly, the returned project JSON object has a "name" property that is the displayName.

😯 Current Behavior

For example, if a project was created with the name "project_name" and then renamed to "project_display_name":

  • A call of tc.project.by_name(session, instance, "project_display_name") or equivalently GET /v1/projects?filter=name==project_display_name will return nothing.
  • A call of tc.project.by_name(session, instance, "project_name") or equivalently GET /v1/projects?filter=name==project_name will return a project JSON with the property "name": "project_display_name".

🤔 Expected Behavior

There should be a way of getting a project by its displayName since this (and to a lesser extent resourceId) is the only thing identifying a project in the UI.

💁 Possible Solution

This is a manifestation of the design of the versioned API design and the issue could be fixed there, however a possible workaround in tamr_client is:

The current implementation of by_name which actually retrieves a project by the internal "name" could be changed to a hidden/power-user function _by_name and a new by_name function could be defined that streams all projects and returns the one that matches on displayName ("name" in the returned JSON).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs APIThe requested change requires a change to the Tamr API

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions