LaserVault DMS Record Import

LaserVault DMS Reference Guide
Record Import
The LaserVault Record Import utility can be used to import data into LaserVault DMS. The program
can read CSV, TAB, TXT, MDB, and XLS files. The import program can add records to DMS and
(optionally) add files, or print barcodes for each record added.
Command Line Parameters
LVDMSRecordImport.exe /CONFIG=[path and file name of config file] /DataFile=[path
and filename of data file]
The /CONFIG parameter is optional. If it is not specified the program will try to use a config file named
LVDMSRecordImport.xml in the same directory as the exe.
The /DataFile parameter is also optional. If it is not specified, the program will try to use the datafile
entry defined in the config xml file.
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 1
Configuration File Parameters
The configuration file is an XML file with the following entries. Each entry is explained after the
sample config file.
<CONFIG>
<RunHidden>0</RunHidden>
<DMSServerURL>http://servername/LvDmsWeb/Default.asp</DMSServerURL>
<DMSSiteName>SiteName</DMSSiteName>
<DMSUserName>UserName</DMSUserName>
<DMSPassword>Password</DMSPassword>
<ColumnHeaderFile>E:\HeaderFile.txt</ColumnHeaderFile>
<DataFile>F:\temp\DMSRecTest\Invoices.csv</DataFile>
<TableName>Invoices</TableName>
<RecordFilter>InvoiceAmount&gt;0<RecordFilter>
<DeleteDataFile>1</DeleteDataFile>
<ImageRoot>F:\Temp\DMSRecTest\Images</ImageRoot>
<Margin>1</Margin>
<BCHeight>1</BCHeight>
<BCWidth>4</BCWidth>
<BCCaption>#Acct_Name# #crlf# #Inv_Number#</BCCaption>
<LabelPrinter>0</LabelPrinter>
<DefaultDeleteImage>0</DefaultDeleteImage>
<DefaultFolderName>Invoices</DefaultFolderName>
<DefaultMakeBarCode>1</DefaultMakeBarCode>
<DefaultReprint>0</DefaultReprint>
<DefaultLaunchWorkFlow>0</DefaultLaunchWorkFlow>
<DefaultImageExtension>TIF</DefaultImageExtension>
<Printers>
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 2
<Printer>
<PrinterName>HP LaserJet 4000 Series PCL</PrinterName>
<FolderName>Invoices</FolderName>
</Printer>
</Printers>
<MappedFields>
<MappedField>
<ADOFieldName>Inv_Date</ADOFieldName>
<DMSFieldName>Inv_Date</DMSFieldName>
<FieldPurpose>Update</FieldPurpose>
</MappedField>
<MappedField>
<ADOFieldName>Inv_Number</ADOFieldName>
<DMSFieldName>Inv_Number</DMSFieldName>
<FieldPurpose>Update</FieldPurpose>
</MappedField>
</MappedFields>
<StaticFields>
<StaticField>
<DMSFieldName>Document_Type</DMSFieldName>
<FieldValue>Invoices</FieldValue>
<FieldPurpose>Update</FieldPurpose>
</StaticField>
</StaticFields>
</CONFIG>
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 3
<RunHidden>0/1</RunHidden> This entry tells the program to hide the status bar while importing.
Set to 1 to turn this option on.
<DMSServerURL>[URL to DMS]</DMSServerURL> This entry specifies the URL to DMS. Be sure
to specify the full path to default.asp
<DMSSiteName>SiteName</DMSSiteName> This entry specifies the name of the DMS site to
import to.
<DMSUserName>UserName</DMSUserName> This specifies the user name to log in to DMS.
<DMSPassword>Password</DMSPassword> This specifies the password to log in to DMS.
<ColumnHeaderFile>[path and filename of colum header file]</ColumnHeaderFile> This entry
is optional. You can use this to have the program prepend column headers to a CSV, TAB, or TXT
file. The recommended method for specifying data layout is to use a schema.ini file, which is covered
later.
<DataFile>[path and filename of data file to import]</DataFile> This entry is optional if you
specified the data file on the command line. If no data file was specified on the command line the
program will attempt to use the file specified here.
<TableName>[Table Name]</TableName> This specifies the name of the table in the data file. This
only applies to .MDB and .XLS files. For XLS files this specifies the worksheet name. You will need to
place a $ after the worksheet name in the config file. For example, if the worksheet name is
‘WorkSheet1’ you would specify WorkSheet1$ as the table name.
<RecordFilter>[fieldname=value]<RecordFilter> This section defines a filter to use if you do not
want to import all records in the data file. Leave this blank to apply no filter. If you wish to filter the
records, enter a value similar to what you would use in an SQL WHERE clause.
For example:
VendorNumber=123
VendorName=’Company Inc’
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 4
<DeleteDataFile>[1/0]</DeleteDataFile> If this entry is set to 1 the program will attempt to delete
the data file after import.
<ImageRoot>[Path to folder where image files are.]</ImageRoot> This specifies the path to the
image files. This entry is optional. The path to each image can also be specified in the data file by
including a column named ‘FilePath’. There are a couple possible variations in how you can use
these settings.
1. Leave the ImageRoot entry blank and specify the full path and file name in
the ‘FilePath’ column of the data file.
2. Enter a root path for the ImageRoot entry and then specify only the file name
in the ‘FilePath’ column of the data file.
<Margin>[margin in inches]</Margin> This entry is used if you are printing a barcode cover page
for each record imported. This tells the program the top and left margin in inches to use for the
barcode.
<BCHeight>[barcode height in inches]</BCHeight> This entry is used if you are printing a
barcode cover page for each record imported. This tells the program the height of the barcode in
inches to print.
<BCWidth>[barcode width in inches]</BCWidth> This entry is used if you are printing a barcode
cover page for each record imported. This tells the program the width of the barcode in inches to
print.
<BCCaption>[text and replaceable tokens]</BCCaption> This entry is used if you are printing a
barcode cover page for each record imported. This tells the program to print a caption below the
barcode. This can be static text that you type in or you can use replaceable tokens.
Note: Replaceable tokens are values surrounded by the pound sign character. For example, if you
have a field called ‘InvoiceNumber’ in the data file, you could enter #InvoiceNumber# for the caption
and the value from that field would be output. You can also use #CRLF# to output text on a new line.
Example:
<BCCaption>Invoice Number: #InvoiceNumber# #CRLF# Vendor Name:
#VendName#</BCCaption>
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 5
<LabelPrinter>[0/1]</LabelPrinter> This entry is used if you are printing a barcode for each record
imported and you are printing to a label printer. This entry may not be necessary unless you are
having problems with the labels not auto advancing from the printer.
The following XML tags define the default actions to take for each record being imported. These
options can be overridden if there are fields in the data file that specify these values.
<DefaultDeleteImage>[0/1]</DefaultDeleteImage> This option applies if you are importing images
with each record that is imported. Setting this to 1 will tell the program to delete the image file after
it’s been imported. This sets the default option.
If there is a field in the data file named ‘DeleteFile’ the program will use the value from that field. The
field, if defined, should contain a value that evaluates to a Boolean true or false such as 1 or 0, or
‘True’ or ‘False’.
<DefaultFolderName>[DMS Folder Name]</DefaultFolderName> This option tells the program
which folder to import records and images to. This is the default value. If there is a field in the data file
named ‘FolderName’ the value from that field will be used to determine which folder the record and
image is added to.
<DefaultMakeBarCode>[1/0]</DefaultMakeBarCode> This option tells the system to create a
barcode cover page or label by default. If the data file has a field named ‘MakeBarCode’ the value
from that field will be used instead. The field, if defined, should contain a value that evaluates to a
Boolean true or false such as 1 or 0, or ‘True’ or ‘False’.
<DefaultReprint>0</DefaultReprint> This option tells the system to reprint a barcode cover page or
label by default. If the data file has a field named ‘Reprint’ the value from that field will be used
instead. The field, if defined, should contain a value that evaluates to a Boolean true or false such as
1 or 0, or ‘True’ or ‘False’.
If the reprint option is specified the system will not add any records to DMS. It will instead try to find
an existing record using the data from the data file. If it finds a record it will output a barcode cover
page that can be used to attach documents to the record.
<DefaultLaunchWorkFlow>0</DefaultLaunchWorkFlow> This option tells the system to launch
any associated workflows for the folder by default. If the data file has a field named
LaunchWorkFlow, the value from that field will be used instead. The field, if defined, should contain
a value that evaluates to a Boolean true or false such as 1 or 0, or ‘True’ or ‘False’.
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 6
<DefaultImageExtension>[file extension]</DefaultImageExtension>
This option can be used when adding records and importing images. If the file extension is not
specified in the ‘FilePath’ field this default extension will be applied.
Printers
<Printers>
<Printer>
<PrinterName>[name of printer as seen in windows printer list]</PrinterName>
<FolderName>[DMS folder name]</FolderName>
</Printer>
…
</Printers>
The Printers section of the Config file is used to define which printer will be used when printing
barcode cover pages.
The Printers section contains one or more printer blocks. Each printer block contains a PrinterName
tag and a FolderName tag.
This gives you the option to have different printers used for output depending on which folder a record
is being imported into.
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 7
Mapped Fields
<MappedFields>
<MappedField>
<ADOFieldName>[name of field in data file]</ADOFieldName>
<DMSFieldName>[name of field in DMS]</DMSFieldName>
<FieldPurpose>[Update/Lookup/Both]</FieldPurpose>
</MappedField>
…
</MappedFields>
The Mapped Fields section is where you tell the program how to import the field data. For each field
that you wish to import data from, add a MappedField block. In the mapped field block are tags that
define the name of the field in the data file <ADOFieldName>, the name of the field in DMS
<DMSFieldName>, and how to use the field <FieldPurpose>. The values for <FieldPurpose> can be
Update, Lookup, or Both.

Update means the data from the field in the data file will be used to update the field value in
DMS.

Lookup means the data from the field in the data file will be used to query for an existing
record in DMS.

Both means the data from the field in the data file will be used to first query for an existing
record and then also used to update a field in DMS. This can be used in cases where you want
to look for an existing record first, update it if found, or create a new record if not found.
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 8
Static Fields
<StaticFields>
<StaticField>
<DMSFieldName>[DMS Field Name]</DMSFieldName>
<FieldValue>[Value to update DMS Field Name with]</FieldValue>
<FieldPurpose>[Update/Lookup/Both]</FieldPurpose>
</StaticField>
…
</StaticFields>
In the Static Fields section you can define field values to update in DMS that are not part of the data
file. The entries in this section work almost the same as the entries in the Mapped Fields section,
except that instead of specifying an ADOFieldName entry you specify a FieldValue entry. The
FieldPurpose entry works the same way as in the Mapped Field.
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 9
Using a Schema.Ini file
When importing CSV, TAB, and TXT files it’s recommended that you create a Schema.ini file and
place it in the folder which contains the data file.
A Schema file is essentially an outline used to define the data structure and format of each column in
a flat text data file. The schema information file must always be named schema.ini.
The first entry in the Schema.ini file must be the name of the corresponding text source file, enclosed
in square brackets.
A Format option is used to specify the format of the text file. In a CSV file, for instance, you would
use the Format statement Format=CSVDelimited.
If the field names of the data items are specified in the first row of the data file, the entry
ColNameHeader=True should also be included.
Here’s the link to the schema.ini specification from Microsoft:
http://msdn.microsoft.com/en-us/library/ms709353(v=vs.85).aspx
If that link is no longer valid, search for schema.ini in a search engine - you should be able to find the
appropriate documentation.
Here’s a sample data file and the associated schema file that you should use.
Data file is a CSV file named invoices.csv in the following format:
“InvoiceNumber”,”InvoiceAmount”,”InvoiceDate”,”VendorNumber”,”VendorName”
“1001”,”124.32”,”3/15/2010”,”34556”,”Fixit Inc.”
“1132”,”99.32”,”5/15/2010”,”45533”,”Copier Services Inc.”
The Schema.ini files might look like this:
[invoices.csv]
Format=CSVDelimited
ColNameHeader=True
Col1=InvoiceNumber Text
Col2=InvoiceAmount Currency
Col3=InvoiceDate DateTime
Col4=VendorNumber Text
Col5=VendorName Text
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 10
You can have a single schema.ini file that contains definitions for many different data files. Just
create a section in the schema.ini file with the name of the data file in brackets, as in
[datafilename], and the options and field definitions below it.
Logging
The LVDMSRecordImport program writes to log files in a folder named LVDMSRecordImportLogs.
This folder is located in the folder where the exe file resides.
In this folder there is a log file for each day that the program performed an action. The files are
named. YYMMDD.LOG as in 150315.LOG for 03/15/2015. The program automatically deletes log
files older than 30 days.
Copyright 2015 Electronic Storage Corporation • 918-664-7276 • 800-444-6283 • www.laservault.com • info@laservault.com
Page 11