TapeTrack Documentation

Because there is more to tape management than you ever realized

User Tools

Site Tools


sync:definition

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sync:definition [2021/06/03 02:47] Scott Cunliffesync:definition [2025/01/21 22:07] (current) – external edit 127.0.0.1
Line 21: Line 21:
 ==== CSV Source File ==== ==== CSV Source File ====
  
 +sample CSV file: ''CSV_source.csv''
  
 +  volume,barcode,family,type,location,pool
 +  000000L6,000000L6,tape,LTO,Library,weekly_full,2021-07-21
 +  000001L6,000001L6,tape,LTO,Offsite,weekly_full,2021-10-14
 +  000002L6,000002L6,tape,LTO,Offsite,weekly_full,2021-07-21
 +  000003L6,000003L6,tape,LTO,Offsite,weekly_full,2021-07-21
 +  000004L6,000004L6,tape,LTO,Racking,weekly_full,2021-10-14
 +  000005L6,000005L6,tape,LTO,Library,yearly_full,1970-01-01
 +  000006L6,000006L6,tape,LTO,Racking,weekly_full,2021-07-21
 +  000007L6,000007L6,tape,LTO,Racking,weekly_full,2021-10-14
 +  CLN00012,CLN00012, CLN,LTO,,Cleaning_Tape,
 +  
 +=== Add File Type Directives ===
 + 
 +As we are using a comma delimitered CSV file we let the Sync engine know what the delimiter is.
 +
 +  setCSVDelimiter(",");
 +  
 +=== Add Exclusion Directives ===
 +
 +Skip any line starting with volume, as it is a heading and not a Volume
 +Skip any Volume that starts with CLN.
 +
 +  AddString(EXCLUSION, 0, "volume*");
 +  AddExclusionOnValue(VOLUME, "CLN*");
 +
 +
 +==== Setting Literal Values ====
 +
 +Sync constants, such as Customer-ID and Media-ID, can be set using literal values as these values do not change.
 +Set Scratch to true.
 +
 +  setLiteral(CUSTOMER, "ACME");
 +  setLiteral(MEDIA, "LTO");
 +  setLiteral(SCRATCH, "True");
 +  
 +==== Define Fields ====
 +
 +Definition fields to pass date format to Sync engine, Y=YYYY (y-YY), m=mm, d=dd.
 +Permanent date value sets the specified date to Permanent or no next move date.
 +
 +  SetMoveDateFormat("%%Y/%%m/%%d");
 +  SetPermanentDateValue("1971-01-01");
 +
 +
 +==== Extract Data Fields ====
 +
 +Extract Volume-ID from column 1, length 10
 +Remove spaces from Volume-ID in case it is less than 10 digits
 +
 +  Extract(VOLUME, 1, 10, 0);
 +  RemoveSpaces(VOLUME);
 +  
 +
 +Extract Location from column 4, length 20
 +Remove spaces from location in case it is less than 20 digits
 +
 +  Extract(REPOSITORY, 4, 20, 0);
 +  RemoveSpaces(REPOSITORY);
 +  
 +Extract Description from column 5, length 30
 +Remove Spaces from Description in case it is less then 30 characters
 +
 +  Extract(DESCRIPTION, 5, 30, 0);
 +  RemoveSpaces(DESCRIPTION);
 +  
 +Extract Movedate from column 5, length 11
 +
 +  Extract(MOVEDATE, 5, 11, 0);
 +==== Translate Fields Directly ====
 +
 +Translate Repository data to TapeTrack Repository-ID's
 +Offsite = OFFS
 +Library = LIBR
 +Racking = RACK
 +
 +  AddTranslation(REPOSITORY, "Offsite", "OFFS");
 +  AddTranslation(REPOSITORY, "Library", "LIBR");
 +  AddTranslation(REPOSITORY, "Racking", "RACK");
 +
 +
 +==== Translate Fields Indirectly ====
 +
 +Translate Scratch value, set to False if Volume location is Offsite
 +
 +  AddTranslation2(SCRATCH, REPOSITORY, "OFFS", "False");
 +  
 +
 +==== Complete Definition File ====
 +
 +  setCSVDelimiter(",");
 +  
 +  setLiteral(CUSTOMER, "ACME");
 +  setLiteral(MEDIA, "LTO");
 +  setLiteral(SCRATCH, "True");
 +  
 +  Extract(VOLUME, 1, 10, 0);
 +  RemoveSpaces(VOLUME);
 +  
 +  Extract(REPOSITORY, 4, 20, 0);
 +  RemoveSpaces(REPOSITORY);
 +  
 +  Extract(DESCRIPTION, 5, 30, 0);
 +  RemoveSpaces(DESCRIPTION);
 +  
 +  SetMoveDateFormat("%%Y/%%m/%%d");
 +  Extract(MOVEDATE, 5, 11, 0);
 +  
 +  AddString(EXCLUSION, 0, "volume*");
 +  AddExclusionOnValue(VOLUME, "CLN*");
 +  
 +  AddTranslation(REPOSITORY, "Offsite", "OFFS");
 +  AddTranslation(REPOSITORY, "Library", "LIBR");
 +  AddTranslation(REPOSITORY, "Racking", "RACK");
 +  
 +  AddTranslation2(SCRATCH, REPOSITORY, "OFFS", "False");
 +  
 +<- sync:fields| Sync Fields ^ sync:introduction|introduction ^ sync:execute|Run Sync ->
  
sync/definition.1622688459.txt.gz · Last modified: 2025/01/21 22:07 (external edit)