Wednesday, January 23, 2013

Designing an Export Tool for Livelink


Designing and Export Tool for Livelink

For those of you who have not created an export tool, here's a high level write up of one. 

Overview

The Export Tool has been developed to handle multiple ways to query and export content with metadata derived from system and category attributes.

Key Features

  • Multiple Query Methods
  • Export content and metadata
  • Recovery from failed exports
  • Duplicate detection
  • File hash reporting for validation
  • Exports generations, shortcuts, all versions, and compound documents

High Level Flow of Export Methods


Input Parameters


Parameter
Sample Value
Purpose
Server = args[0];
"Servername"
OT content server host name
Port = args[1];
"2099"
Port of service
DFT = args[2];

Not used
User =  args[3];
"Admin"
Administrator user name
Pass =  args[4];
"Password"
Administrator password



dbURL= args[5];
"jdbc:oracle:thin:@dbname:1521:repositoryname"
Database connection
dbUser= args[6];
"Username"
Database User
dbPwd= args[7];
"Password"
Database Password



ExportFilePath = args[8];
"c:\\RepExport\\"
File system path to export content files to.
CSVFilePath = args[9];
"c:\\RepExportCSV\\"
File system path to write CSV files to
TrackFilePath = args[10];
"c:\\RepExportTrack\\"
File system path to write tracking file to
QueryString1 = args[11];
"ID to search on"
Query string to pass into export tool
TrackFileValue = args[12];
"C:\\RepExportTrack\\ExportTrackerXXXXXXX.txt"
File path to point to the tracked ids that have already been exported

Sample Export Tool command line:


java LLExportTool "docadm" "2099" "" "Admin" "password" "jdbc:oracle:thin:@databasename:1521:repname" "username" "userpassword" "c:\\RepExport\\" "c:\\RepExportCSV\\" "c:\\RepExportTrack\\" "0000000" "C:\\RepExportTrack\\ExportTrackerXXX.txt"


Export Search Query Types and Methods

Metadata

Example:
QueryString1: "select dataid, parentid, name, versionnum from dtree where name like '%Test%' " ;

Method:
runExportBySQLQuery(session, doc, conn, ExportFilePath, CSVFilePath, QueryString1, QueryString2, LLExportLog);

FolderId

Example:
QueryString1 is a predetermined parent folder id.

Parameters:
String QueryType = "Folder";
boolean DryRun = false;
int WaitTime = 0;

Method:
runExportByFolderId(session, doc, conn, ExportFilePath, CSVFilePath, QueryString1, QueryString2, LLExportLog,
QueryType, DryRun, WaitTime, TrackDataIds, LLExportTracker);

FullText

Parameters:
String QueryStringKeyWords = "test";
int ResultNumber = 100;       

Method:
runSearch(session, doc, conn, ExportFilePath, CSVFilePath, QueryStringKeyWords, QueryString2, ResultNumber, LLExportLog);

CollectionId

Example:
String QueryStringCollection = "select dataid from collections where COLLECTIONSID = 1 "

Method:
runExportByCollection(session, doc, conn, ExportFilePath, CSVFilePath, QueryStringCollection, QueryString2, LLExportLog);

Validation


Approach

Build test case folders, files, shortcuts, generations, etc.
Produce results using Pathbuilder or XML export
Verify Export Tool results with those produced by the validated tool

No comments: