Tableau Migration SDK 6.1.0
  • Articles
  • Code Samples
  • Python API Reference
  • C# API Reference
Show / Hide Table of Contents
  • Filters
    • Filter projects by name
    • Filter users by SiteRole
    • Filter Custom Views by 'Shared' flag
  • Mappings
    • Username email
    • Rename projects
    • Change projects
  • Pulled Hooks
    • Filter Data Source Connections
  • Transformers
    • Add tags to content
    • Encrypt Extracts
    • Adjust 'Start At' to Scheduled Tasks
    • Change default users for Custom Views
    • Action URL XML Transformer
    • Modify Permissions
  • Post-Publish Hooks
    • Update permissions
  • Bulk Post-Publish Hooks
    • Bulk logging
  • Batch Migration Completed Hooks
    • Batch migration logging
  • Migration Action Completed Hooks
    • Migration action logging

Sample: Filter Projects by Name

In this example, the project named Default is filtered out.

  • Python
  • C#

Filter Class

from tableau_migration import (
    ContentFilterBase,
    ContentFilterContextItem,
    FilterStatus,
    IProject)

class DefaultProjectFilter(ContentFilterBase[IProject]):

    def filter(self, item: ContentFilterContextItem[IProject]) -> None:
        if item.source_item.name.casefold() == 'Default'.casefold():
            item.status = FilterStatus.CASCADE_SKIP

Registration

plan_builder.filters.add(DefaultProjectFilter)

See hook registration for more details.

Filter Class

public class DefaultProjectsFilter : ContentFilterBase<IProject>
{
    public DefaultProjectsFilter(
        ISharedResourcesLocalizer localizer,
        ILogger<IContentFilter<IProject>> logger) : base(localizer, logger) { }

    public override void Filter(ContentFilterContextItem<IProject> item)
    {
        if (string.Equals(item.SourceItem.Name, "default", System.StringComparison.OrdinalIgnoreCase))
        {
            item.Status = FilterStatus.CascadeSkip;
        }
    }
}

Registration

Learn more.

_planBuilder.Filters.Add<DefaultProjectsFilter, IProject>();

Dependency Injection

Learn more.

services.AddScoped<DefaultProjectsFilter>();
  • Edit this page
In this article