43
Admin Guide – AutoStore 6.0
1063
Version 1.2
Copyright 2012 Notable Solutions, Inc.
o
("~PCF::FileName~" >="a") & ("~PCF::FileName~" < "e") - the component is active if input file
name starts from "a", "b", "c" or "d" (case-sensitive).
Note:
When you enter one of the Boolean constants FALSE, NO, OFF, 0, all the options in the
in the
component configuration become disabled. If you enter any other expression which is
interpreted as Boolean NO (FALSE) or invalid condition, the component configuration allows
you to manipulate the settings, but the component will become inactive in runtime.
Expression evaluation
Expression evaluation is based on operators
and type of operands. All binary operators take operands of
the same type. The result type of arithmetic operations is the same as the operands type. The result
type of comparison and logic operations is Boolean.
Arithmetic operations
Binary operation "+" supports integer and string operands types only. For string operands the resulting
string value is a concatenation of two operands.
Binary operations "-", "*" and "/" support integer operands only.
Unary operations "+" and "-" support integer operands only. Operation "+" is a complementary for
operation "-" and does nothing over its operand. The purpose of this operation is expression like this:
(~CMP::rrt~ + 0). If a component replaces RRT ~CMP::rrt~ with some numeric value, the result of this
expression will be this value. If a component replaces this RRT with an empty string then the expression
will be still valid and the result of this expression will be 0.
Result of an integer arithmetic operation must fit into the 32-bit signed range: from -2147483648 to
2147483647.
Logic (Boolean) operations
Unary operation "!" (NOT) supports Boolean operand only. The resulting Boolean value is inverted
operand.
Binary operations "&" (AND) and "|" (OR) support Boolean operands only. The resulting Boolean value is
a conjunction (disjunction) of the operands. First (left) operand is evaluated before the second (right)
one. If result of the first operand of AND operation is false then second one is not evaluated, and result
of the expression is false. If result of the first operand of OR operation is true then second one is not
evaluated, and result of the expression is true.
Particularly this means that non-evaluated operand's subexpression can contain semantic errors, e.g.
types mismatch, unknown identifiers, etc., but the result of the operation will be evaluated correctly.
Comparison operations
Binary operations "=", "==" and "!=" (not equal) support string, integer and Boolean operands.
Operation "=" is equivalent to "==" for integer and Boolean operands. For string operands operation "="
compares operands case-insensitively while operation "==" is case-sensitive.
49
Admin Guide – AutoStore 6.0
1064
Version 1.2
Copyright 2012 Notable Solutions, Inc.
Binary operations "<=", ">=", "<" and ">" support string and integer operands only. Strings are compared
in case-sensitive manner.
Result type of all comparison operations is Boolean.
Conditional selection operation
Exp_condition ? exp_result1 : exp_result2
Ternary operation from the C language "? :" with the only difference: this implementation does not
require that result operands type will be same. If exp_condition is true, than exp_result1 is evaluated
(exp_result2 is not evaluated); if exp_condition is false, than exp_result2 is evaluated (exp_result1 is not
evaluated).
Constants
Integer constant must be decimal numeric value from 0 to 2147483647 (inclusive), i.e. it must fit to the
32-bit signed range. Unary operator "-" should be used to make negative integer value from the positive
integer constant.
String constant must begin and end with double quotes (") character. Special characters inside of string
body must be "escaped" with the backslash (\) character. Following escape sequences are valid inside of
string constants: \" (quote), \\ (backslash), \t (tab), \v (vertical tab), \r (carriage return), \n (new line).
Boolean constant must be one of the following: ON, YES, TRUE for true and OFF, NO, FALSE for false.
These constants are case-insensitive.
Examples:
•
"YES" - is a string constant.
•
YES - is a Boolean constant.
•
"10" - is a string constant
•
10 - is an integer constant.
•
Expression (10 > 9) is true.
•
Expression ("10" > "9") is false.
•
Expression ("YES"!= TRUE) is invalid, since it compares operands of different types (string against
Boolean).
•
Expression (FALSE == OFF) is true since both Boolean constants FALSE and OFF have same
Boolean value false.
•
Expression (FALSE == 0) is invalid since Boolean is compared against integer.
•
Expression (FALSE == ((3 + 4) != 0)) is false.
Identifiers
Only Boolean constants are supported. Other identifiers are undefined. For example, expression
("ABCD" == ABCD) is invalid, since identifier ABCD is undefined.
Expression syntax
50
Admin Guide – AutoStore 6.0
1065
Version 1.2
Copyright 2012 Notable Solutions, Inc.
The expression syntax is close to the C language expressions. The main difference is that the expressions
operate with Boolean type, so there is no need to distinguish operations "&&" and "&", "||" and "|",
etc. Other differences are related to restrictions, for example, there are no assignment operations. The
operations priority is the same as in C language.
Complete syntax formal definition follows:
selector_expression ::-
logic_expression ? logic_expression : selector_expression
logic_expression
logic_expression ::-
logic_expression | logic_expression_and
logic_expression_and
logic_expression_and ::-
logic_expression_and & logic_expression_cmp
logic_expression_cmp
logic_expression_cmp ::-
logic_expression_cmpoperation_cmpmath_expression
math_expression
math_expression ::-
math_expressionoperation_addmath_expression_mul
math_expression_mul
math_expression_mul ::-
math_expression_muloperation_mulunary_expression
unary_expression
unary_expression ::-
unary_operatorunary_expression
( expression )
constant
identifier
operation_cmp ::-
=
==
!=
>
<
>=
<=
operation_add ::-
+
-
operation_mul ::-
*
/
unary_operation ::-
+
-
!
97
Admin Guide – AutoStore 6.0
1066
Version 1.2
Copyright 2012 Notable Solutions, Inc.
constant ::-
integer_constant // regular expression: [0123456789]+
string constant // regular expression: ".*"
boolean constant // case insensitive: TRUE, FALSE, ON,
// case insensitive: YES, NO, OFF
identifier ::- [a-zA-Z_][0-9a-zA-Z_]*
Operators
Following operators can be used in the expression syntax (in ascending order of priority):
Symbol
Description
Result type
Operands type
?:
Conditional select same as
operand
1- Boolean; 2,3-
-
any
|
Logical OR
Boolean
Boolean
&
Logical AND
Boolean
Boolean
=
Equal to
Boolean
any
==
Equal to
Boolean
any
!=
Not Equal to
Boolean
any
>
Greater than
Boolean
Integer or String
<
Less than
Boolean
Integer or String
>=
Greater or equal
to
Boolean
Integer or String
<=
Less or equal to
Boolean
Integer or String
+
Add (or
concatenate)
same as
operands
Integer or String
-
Subtract
Integer
Integer
*
Multiply
Integer
Integer
/
Divide
Integer
Integer
!
Logical NOT
Boolean
Boolean
+
Plus (unary)
Integer
Integer
-
Minus (unary)
Integer
Integer
( expression )
Parentheses
same as
operand
any
Add/Edit Site Configuration
In this dialog you can add or edit SFTP site configuration.
Site name - enter the name of an SFTP site.
38
Admin Guide – AutoStore 6.0
1067
Version 1.2
Copyright 2012 Notable Solutions, Inc.
Server address - enter the IP address or the server name of the SFTP site. It is mandatory to fill this field.
Port - enter the port number that will be used by the component to establish connection to the SFTP
server. The default port number is 22.
User name - enter the user name of the client who will have access rights to the SFTP site. After you
specify the user name, specify the password associated with this user. It is mandatory to fill this text
box.
Password - enter the password for the specified user name. It is mandatory to fill this text box.
Destination folder path - enter the folder where the documents will be stored on the SFTP server. If you
specify a new folder in this field, it will be created on the SFTP server. However, if you do not specify a
path or folder name, the data is stored in the root directory of the SFTP server.
Overwrite destination file if file exists - select this check box to overwrite the file if it already exists. If
you do not select this option, the file will not be overwritten, and respective error message will appear
in the Status Monitor.
Rename file - select this check box if you want the output file to be renamed. The Schema field becomes
enabled.
Schema - enter the schema name for the output file name. You can use Runtime Replacement Tags
(RRT) to dynamically set the value of the schema.
Advanced - click this button to test sending data to the SFTP server. This button opens the Advanced
dialog.
Advanced
Use this dialog to set the parameters of transfer rate. The component provides an easy method to
control the speed with which the data is transmitted. This is especially useful when you don't have the
bandwidth to transfer larger files and need to reduce the impact on the network.
Activate flow control - switch this option on to activate the flow control options:
•
Transfer rate(Milliseconds) - use this slider to set the desired transfer intervals in Milliseconds. A
transfer interval is a period of time between sending chunks of data. The longer the interval the
slower the transmission rate.
•
Buffer size(Bytes) - use this slider to set the size of each transmitted buffer. The larger the buffer
size the higher the transmission rate and the larger impact on the bandwidth.
Run test - click this button to begin a test. The test will be conducted against your SFTP site. The
component will send a 100Kbytes piece of data. At the end of the test the results are reported in 100
Kbytes/X Seconds where X is the number of seconds required for sending 100 Kbytes. The size of regular
35
Admin Guide – AutoStore 6.0
1068
Version 1.2
Copyright 2012 Notable Solutions, Inc.
B/W documents is between 25 and 50 Kbytes. You can always stop test by pressing Stop button. Then
the results are reported in Y Kbytes/Z seconds, where Y is the number of Kbytes which the test has been
able to process; Z is the number of seconds taken to send Y Kbytes.
Stop - use this button to terminate the test.
Test result - this field displays the progress of the test.
Note:
To use the test feature, you must have access to the SFTP site(s) from your machine. This
feature establishes connection to the SFTP site and transmits "dummy” data to the SFTP site to
test transmission bandwidth.
Runtime Replacement Tags (RRTs)
What are RRTs?
Runtime Replacement Tags (RRT) are tags placed within the configuration file for replacement by
metadata values during execution time. At runtime (when a component instance is executed within the
application), each component is responsible for searching all items within the configuration memory
structure and replacing their assigned RRTs with actual metadata values. The RRTs were formerly known
as Field Value References or FVRs.
How does it work?
When you create a process that consists of a series of components, the components are executed in
order from left to right (Capture to Route). Each component, prior to its termination, searches all
configuration entries and replaces all its own RRTs with actual metadata values. As an example, the XML
Knowledge Package Loader component will search for RRT's starting with "~ASX::" and replaces them
with actual metadata values.
The order of execution of components within a process is significant. Due to the component execution
order (Capture to Route), RRT's owned by components that appear later in a process cannot be placed
within components that appear earlier in a process. As an example, placement of Folder Store
component RRT's within a Capture component such as Poll Directory is invalid and will not be replaced
at runtime.
RRT naming convention
The figure below provides you with an illustration of the RRT definition. Each part of the RRT is designed
to create a standard field tag replacement that can be expanded to all components designed and
developed within the component framework.
34
Admin Guide – AutoStore 6.0
1069
Version 1.2
Copyright 2012 Notable Solutions, Inc.
Note:
RRT's are case sensitive. You must follow the proper case for all RRTs. You cannot
introduce space characters in between the RRT segments.
The table below provides details on each segment of the RRT:
Segment name
Description
Markers
Special characters used to mark the beginning and the ending of each RRT. The
"~" is used to mark each end. Note that you cannot use the same character
anywhere within the other parts of the RRT. Having "~" appear as a value of a
special field is not supported with this new RRT design.
RRT ID
Special three characters identifying the component owning the RRT and
responsible for replacing the tags with the actual values.
Separators
Double colon "::" characters used to separate the Component RRT ID from the
actual Replacement Tag Name. Double colon is now reserved and cannot be
used within other parts of the RRT. Example of an illegal use of :: is
"~MYC::Invoice::Number~" where the double colon is repeated within the
replacement tag name.
Replacement Tag
Name
The Replacement Tag Name or RTN can be the name of the metadata collected
from a content source (e.g., device, etc.), or a metadata generated by the
component itself (e.g., XML data field, etc.). The following types of RTN are
currently supported:
i) Reserved (RRTN) - Each component is allowed to create and maintain a set of
reserved RTN or RRTN. Within the boundaries of each component reserved
names have special meaning. Each component defines a list of RRTNs.
The image part with relationship ID rId493 was not found in the file.
49
Admin Guide – AutoStore 6.0
1070
Version 1.2
Copyright 2012 Notable Solutions, Inc.
ii) Field (FRTN) - Some components that support field names allow the fields to
s to
be referenced using the special enclosure character: "%". An example of field
name used within RRT is:
~MYC::%Invoice Number%~
This example allows replacement for a field called "Invoice Number" within the
MYC component with the value of the field Invoice Number.
iii) Special Sets (SSRTN) - These are special set of characters providing you with
useful information on the job such as document date, document time, etc. It's
important to note that not all components support the SSRTN values. Look in
documentation for each component to find the components that do support
SSRTNs.
Component's RRT
Component's RRT ID
The RRT ID for the component is SFP.
Reserved Replacement Tag Names (RRTN)
The following table describes the reserved RTN values for Schema field of this component.
Name
Description
FileName The original file name .
Counter An incremental counter based on the duplicate file names found within the destination
on
directory. The counter value concatenated with a name provides a unique file name.
FileExt
The original file extension.
The following example provides some sample usage for your reference:
~SFP::FileName~~SFP::Counter~ - replaced with the value Document5 if the original file name was
Document and there were up to 4 (Document1 to Document4) files already within the destination folder
path.
Note:
The Reserved RTN values FileName, Counter, FileExt can only be used with the Schema
e Schema
a
text box
of this component. In other words, you may not use ~SFP::FileName~, ~SFP::Counter~,
~SFP::FileExt~ in any other component but Send to FTP and it must be used with the Schema
text box of this component only.
Field Replacement Tag Names (FRTN)
This component supports the field RTN values listed below:
Name
Description
%URL, [Site
Name]%
The list of the uploaded files' URLs for the [Site name] SFTP server. This RRT is
applicable only for the eConnector component and can be used in the subsequent
Documents you may be interested
Documents you may be interested