public ProcessingProfile BuildBasicProfile(int timeZoneArtifactId, int folderArtifactId) { ProcessingProfile profile = new ProcessingProfile { Name = Constants.Processing.Profile.NAME, NumberingSettings = new NumberingSettings { DefaultDocumentNumberingPrefix = Constants.Processing.Profile.DEFAULT_DOCUMENT_NUMBERING_PREFIX, NumberOfDigits = Constants.Processing.Profile.NUMBER_OF_DIGITS4, NumberingType = Constants.Processing.Profile.NUMBERING_TYPE, ParentChildNumbering = Constants.Processing.Profile.PARENT_CHILD_NUMBERING, }, DeduplicationSettings = new DeduplicationSettings { DeduplicationMethod = Constants.Processing.Profile.DE_DUPLICATION_METHOD, PropagateDeduplicationData = Constants.Processing.Profile.PROPAGATE_DE_DUPLICATION_DATA }, ExtractionSettings = new ExtractionSettings { Extractchildren = Constants.Processing.Profile.EXTRACT_CHILDREN, EmailOutput = Constants.Processing.Profile.EMAIL_OUTPUT, ExcelTextExtractionMethod = Constants.Processing.Profile.EXCEL_TEXT_EXTRACTION_METHOD, ExcelHeaderFooterExtraction = Constants.Processing.Profile.EXCEL_HEADER_FOOTER_EXTRACTION, PowerPointTextExtractionMethod = Constants.Processing.Profile.POWER_POINT_TEXT_EXTRACTION_METHOD, WordTextExtractionMethod = Constants.Processing.Profile.WORD_TEXT_EXTRACTION_METHOD, OCR = Constants.Processing.Profile.OCR, OCRAccuracy = Constants.Processing.Profile.OCR_ACCURACY, OCRTextSeparator = Constants.Processing.Profile.OCR_TEXT_SEPARATOR }, InventoryDiscoverSettings = new InventoryDiscoverSettings { DeNIST = Constants.Processing.Profile.DE_NIST, DefaultTimeZoneID = timeZoneArtifactId, DefaultOCRLanguages = Constants.Processing.Profile.DefaultOcrLanguages }, PublishSettings = new PublishSettings { AutoPublishSet = Constants.Processing.Profile.AUTO_PUBLISH_SET, DefaultDestinationFolder = new Relativity.Services.Folder.FolderRef { ArtifactID = folderArtifactId }, UseSourceFolderStructure = Constants.Processing.Profile.USE_SOURCE_FOLDER_STRUCTURE } }; return(profile); }
//This should cover profile, custodians, processing sets, inventory job, discovery, publish public async Task <int> CreateProcessingProfileAsync(int timeZoneArtifactId, int destinationFolderArtifactId, int workspaceArtifactId) { try { Console2.WriteDisplayStartLine($"Creating Processing Profile [Name: {Constants.Processing.Profile.NAME}]"); // Build Basic Processing Profile ProcessingProfile processingProfile = BuildBasicProfile(timeZoneArtifactId, destinationFolderArtifactId); //Build the ProcessingProfileSaveRequest ProcessingProfileSaveRequest processingProfileSaveRequest = new ProcessingProfileSaveRequest { ProcessingProfile = processingProfile, WorkspaceId = workspaceArtifactId }; //Create the ProcessingProfile object. The service returns a ProcessingProfileSaveResponse object. ProcessingProfileSaveResponse saveResponse = await ProcessingProfileManager.SaveAsync(processingProfileSaveRequest); int processingProfileArtifactId = saveResponse.ProcessingProfileId; if (processingProfileArtifactId == 0) { throw new Exception("Failed to Create Processing Profile"); } Console2.WriteDebugLine($"Processing Profile ArtifactId: {processingProfileArtifactId}"); Console2.WriteDisplayEndLine("Created Processing Profile!"); return(processingProfileArtifactId); } catch (Exception ex) { // Error Creating Processing Profile throw new Exception("An error occured when creating Processing Profile", ex); } }