sync:definition
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sync:definition [2021/06/02 05:13] – created Scott Cunliffe | sync:definition [2025/01/21 22:07] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Sync Definition Files ====== | ====== Sync Definition Files ====== | ||
+ | |||
+ | Sync definition files, have a file suffix of .ttidef and can be edited using a plain text editor such as Notepad or vi. | ||
+ | |||
+ | The purpose of a definition file is to provide the translations to TapeTrack on how to extract the required information from the source file, including location and format of the data. | ||
+ | |||
+ | All TapeTrack command line programs, including Sync, will look for a definition file named default.ttidef in the directory they are executed in unless the name and location of the definition file is named in the program call. | ||
+ | |||
+ | ===== Creating A Definition File ===== | ||
+ | |||
+ | Using a text file editor create a file, using a descriptive name, with a suffix .ttidef (eg customer_ACME.ttidef). | ||
+ | |||
+ | {{ttidef_file.png}} | ||
+ | |||
+ | In Windows install, save this file to the TapeTrack\TapeTrack Sync\etc directory. | ||
+ | |||
+ | ===== Adding Definition Statements ===== | ||
+ | |||
+ | The definition statements required vary on the format of the source file, what information is required for extraction and translations needed on the extracted data. | ||
+ | |||
+ | ==== CSV Source File ==== | ||
+ | |||
+ | sample CSV file: '' | ||
+ | |||
+ | volume, | ||
+ | 000000L6, | ||
+ | 000001L6, | ||
+ | 000002L6, | ||
+ | 000003L6, | ||
+ | 000004L6, | ||
+ | 000005L6, | ||
+ | 000006L6, | ||
+ | 000007L6, | ||
+ | CLN00012, | ||
+ | | ||
+ | === 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, | ||
+ | AddExclusionOnValue(VOLUME, | ||
+ | |||
+ | |||
+ | ==== 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, | ||
+ | setLiteral(MEDIA, | ||
+ | setLiteral(SCRATCH, | ||
+ | | ||
+ | ==== 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(" | ||
+ | SetPermanentDateValue(" | ||
+ | |||
+ | |||
+ | ==== 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, | ||
+ | RemoveSpaces(VOLUME); | ||
+ | | ||
+ | |||
+ | Extract Location from column 4, length 20 | ||
+ | Remove spaces from location in case it is less than 20 digits | ||
+ | |||
+ | Extract(REPOSITORY, | ||
+ | RemoveSpaces(REPOSITORY); | ||
+ | | ||
+ | Extract Description from column 5, length 30 | ||
+ | Remove Spaces from Description in case it is less then 30 characters | ||
+ | |||
+ | Extract(DESCRIPTION, | ||
+ | RemoveSpaces(DESCRIPTION); | ||
+ | | ||
+ | Extract Movedate from column 5, length 11 | ||
+ | |||
+ | Extract(MOVEDATE, | ||
+ | ==== Translate Fields Directly ==== | ||
+ | |||
+ | Translate Repository data to TapeTrack Repository-ID' | ||
+ | Offsite = OFFS | ||
+ | Library = LIBR | ||
+ | Racking = RACK | ||
+ | |||
+ | AddTranslation(REPOSITORY, | ||
+ | AddTranslation(REPOSITORY, | ||
+ | AddTranslation(REPOSITORY, | ||
+ | |||
+ | |||
+ | ==== Translate Fields Indirectly ==== | ||
+ | |||
+ | Translate Scratch value, set to False if Volume location is Offsite | ||
+ | |||
+ | AddTranslation2(SCRATCH, | ||
+ | | ||
+ | |||
+ | ==== Complete Definition File ==== | ||
+ | |||
+ | setCSVDelimiter("," | ||
+ | | ||
+ | setLiteral(CUSTOMER, | ||
+ | setLiteral(MEDIA, | ||
+ | setLiteral(SCRATCH, | ||
+ | | ||
+ | Extract(VOLUME, | ||
+ | RemoveSpaces(VOLUME); | ||
+ | | ||
+ | Extract(REPOSITORY, | ||
+ | RemoveSpaces(REPOSITORY); | ||
+ | | ||
+ | Extract(DESCRIPTION, | ||
+ | RemoveSpaces(DESCRIPTION); | ||
+ | | ||
+ | SetMoveDateFormat(" | ||
+ | Extract(MOVEDATE, | ||
+ | | ||
+ | AddString(EXCLUSION, | ||
+ | AddExclusionOnValue(VOLUME, | ||
+ | | ||
+ | AddTranslation(REPOSITORY, | ||
+ | AddTranslation(REPOSITORY, | ||
+ | AddTranslation(REPOSITORY, | ||
+ | | ||
+ | AddTranslation2(SCRATCH, | ||
+ | | ||
+ | <- sync: | ||
sync/definition.1622610815.txt.gz · Last modified: 2025/01/21 22:07 (external edit)