C# Class UploadWorkbooks, TabMigrate

Uploads a directory full of workbooks
Inheritance: TableauServerSignedInRequestBase
Show file Open project: tableau/TabMigrate Class Usage Examples

Public Methods

Method Description
ExecuteRequest ( ) : void

Upload all the workbook files

UploadWorkbooks ( TableauServerUrls, onlineUrls, TableauServerSignIn, login, CredentialManager, credentialManager, string localUploadPath, bool remapWorkbookReferences, string localPathTempWorkspace, UploadBehaviorProjects, uploadProjectBehavior, CustomerManualActionManager manualActions, bool attemptOwnershipAssignment, IEnumerable siteUsers, int uploadChunkSizeBytes = TableauServerUrls.UploadFileChunkSize, int uploadChunkDelaySeconds ) : System

Constructor

Private Methods

Method Description
AttemptOwnerReassignment ( SiteWorkbook, workbook, WorkbookPublishSettings, publishSettings, IEnumerable siteUsers ) : bool

Assign ownership

AttemptUploadSingleFile ( string thisFilePath, string projectIdForUploads, CredentialManager, dbCredentials, WorkbookPublishSettings, publishSettings ) : bool

AttemptUploadSingleFile_Inner ( string localFilePath, string projectId, CredentialManager, dbCredentials, WorkbookPublishSettings, publishSettings ) : bool

Attempts to upload a single file a Tableau Server, and then make it a published workbook

AttemptUploadSingleFile_ReferencesRemapped ( string thisFilePath, string projectIdForUploads, CredentialManager, dbCredentials, WorkbookPublishSettings, publishSettings ) : bool

Makes a copy of the file; remaps the Workbook references to the server, uploads the remapped file

FinalizePublish ( string uploadSessionId, string publishedContentName, string publishedContentType, string projectId, CredentialManager, dbCredentials, WorkbookPublishSettings, publishSettings ) : SiteWorkbook,

After a file has been uploaded in chunks, we need to make a call to COMMIT the file to server as a published Workbook

IsValidUploadFile ( string localFilePath ) : bool

Sanity testing on whether the file being uploaded is worth uploading

LogManualAction_ReassignOwnership ( string workbookName, string ownerName = "", string cause = "" ) : void

A manual step will be required to set the owner of the content

LogManualAction_UploadWorkbook ( string filePath ) : void

Log a required manual action

RemoveFileExtensionDot ( string txtIn ) : string

If the file extension has a leading '.', remove it.

UploadDirectoryToServer ( string rootContentPath, string currentContentPath, ProjectFindCreateHelper projectsList, bool recurseDirectories, int &countSuccess, int &countFailure ) : void

Uploads the content of the current directory

helper_DetermineContentCredential ( string contentFileName, string projectName ) : CredentialManager.Credential

Looks to see if there are database associated credentils that should be associated with the content being uploaded

helper_DetermineContentPublishSettings ( string workbookWithPath ) : WorkbookPublishSettings

Look up settings associated with this content

Method Details

ExecuteRequest() public method

Upload all the workbook files
public ExecuteRequest ( ) : void
return void

UploadWorkbooks() public method

Constructor
public UploadWorkbooks ( TableauServerUrls, onlineUrls, TableauServerSignIn, login, CredentialManager, credentialManager, string localUploadPath, bool remapWorkbookReferences, string localPathTempWorkspace, UploadBehaviorProjects, uploadProjectBehavior, CustomerManualActionManager manualActions, bool attemptOwnershipAssignment, IEnumerable siteUsers, int uploadChunkSizeBytes = TableauServerUrls.UploadFileChunkSize, int uploadChunkDelaySeconds ) : System
onlineUrls TableauServerUrls,
login TableauServerSignIn,
credentialManager CredentialManager, Set of database credentials to attach to associated content being published
localUploadPath string Path to upload from
remapWorkbookReferences bool TRUE if we want to modify the workbooks to point datasource/other references to the new server
localPathTempWorkspace string Path to perform local file work in
uploadProjectBehavior UploadBehaviorProjects, Instructions on whether to map content into projects
manualActions CustomerManualActionManager Any manual actions that need to be performed by the user are written here
attemptOwnershipAssignment bool TRUE: After upload attempt to reassign the ownership of the content based on local metadata we have
siteUsers IEnumerable List of users to perform ownership assignement with
uploadChunkSizeBytes int
uploadChunkDelaySeconds int For testing, a delay we can inject
return System