OS4X Core event scripts
The scripting interface gives you the possibility to start processes during an OFTP connection like managing an EDM system, sending confirmation eMails, deleting files, etc. The scripts have all information available as parameters at this point of time the script will be started.
The scripts are defined via web interface. This configuration is stored in the database, which will be read by every binary on startup and on every configuration reload. If a script is unavailable or not runnable (i.e. execute permissions are missing, user has no read permissions etc.), the script will not be started.
All scripts, except of the start receive script, run in the background and don't influence active OS4X transfers during their execution.
The following virtual filenames are reserved and therefor no "normal" script will be run on these files (send, receive, xERP & block):
ODETTE_CERTIFICATE_REQUEST
: OFTP2 automatic certificate exchange requestODETTE_CERTIFICATE_DELIVER
: OFTP2 automatic certificate exchange deliveryODETTE_CRL_REQUEST
: OFTP2 automatic certificate revocation list requestODETTE_CRL_DELIVER
: OFTP2 automatic certificate revocation list deliveryOS4X_UPDATE
: OS4X update package
start session script
Will be started at the beginning of an OFTP session after handshaking SSIDs and passwords.
Parameters:
- 1. partner shortname
- 2. partner index value
end session script
Will be started at the end of an OFTP session after receiving an ESID („end session ID“).
Parameters:
- 1. partner shortname
- 2. partner index value
start receive script
Will be started at the beginning of an OFTP file transfer from partner to local site after handshaking SFIDs. This script is the only event script which will be started INSIDE the OFTP protocol state machine in order to let a file be received or not! For this feature, the returncode of the event script is used to decline the receipt of a file and to create an SFNA error message (if returncode of script is not equal to zero) or to accept the file, producing an SFPA message.
Parameters:
- 1. partner shortname
- 2. virtual filename
- 3. absolute filename of received file AFTER successful transfer
- 4. absolute filename of receiving file DURING transfer (temporary)
- 5. filesize in kilobytes (kB) given by partner (may not be true size)
- 6. partner index value
- 7. SFID destination
- 8. SFID originator
- 9. [optional: OFTPv2 file description]
- 10. file datestamp
- 11. file timestamp
- 12. file format, formatted as OFTP attribute:
- '
F
': Fixed format binary file - '
V
': Variable format binary file - '
U
': Unstructured binary file - '
T
': Text
- '
- 13. maximum record size ("
0
" if transfered in binary or text mode)
Possible return values are interpreted as shown below:
OFTP 1.x session:
- 1: Invalid filename.
- 2: Invalid destination.
- 3: Invalid origin.
- 4: Storage record format not supported.
- 5: Maximum record length not supported.
- 6: File size is too big.
- 10: Invalid record count.
- 11: Invalid byte count.
- 12: Access method failure.
- 13: Duplicate file.
- 99: Unspecified reason.
In addition, in OFTP2 session:
- 14: File direction refused.
- 15: Cipher suite not supported.
- 16: Encrypted file not allowed.
- 17: Unencrypted file not allowed.
- 18: Compression not allowed.
- 19: Signed file not allowed.
- 20: Unsigned file not allowed.
This feature was first introduced in build 2007-10-16 of OS4X.
end receive script
Will be started after an OFTP file transfer from partner to local site after handshaking EFIDs („end file ID“)
Parameters:
- 1. partner shortname
- 2. virtual filename
- 3. absolute filename of received file AFTER successful transfer
- 4. error indicator: 0 means no error, any other displays an error
- 5. partner index
- 6. SFID destination
- 7. SFID originator
- 8. [optional: OFTPv2 file description]
- 9. data throughput in kB/sec
- 10. file datestamp
- 11. file timestamp
- 12. used cipher suite in OFTP2 session ("
0
" for OFTP1.x sessions) - 13. signed EERP request in OFTP2 session ("
0
" for OFTP1.x sessions) - 14. file format, formatted as OFTP attribute:
- '
F
': Fixed format binary file - '
V
': Variable format binary file - '
U
': Unstructured binary file - '
T
': Text
- '
- 15. maximum record size ("
0
" if transfered in binary or text mode)
start send script
Will be started at the beginning of an OFTP file transfer from local site to partner after handshaking SFIDs.
Parameters:
- 1. partner shortname
- 2. virtual filename
- 3. real filename with absolute path
- 4. send queue entry comment
- 5. partner index
- 6. referenced job ID
- 7. referenced file ID
end send script
Will be started at the end of an OFTP file transfer from local site to partner after handshaking SFIDs.
Parameters:
- 1. partner shortname
- 2. virtual filename
- 3. real filename with absolute path
- 4. send queue entry comment
- 5. error indicator: 0 means no error, any other displays an error
- 6. partner index
- 7. data throughput in kB/sec
- 8. file datestamp
- 9. file timestamp
- 10. referenced job ID
- 11. referenced file ID
xERP script
Will be started whenever an EERP is receiver from a partner. Useful for later-on system-internal cleanup processes. Parameters:
- 1. partner shortname
- 2. virtual filename
- 3. real filename
- 4. comment
- 5. error flag: 0=no error, otherwise NERP error code
- 6. partner index
- 7. file datestamp
- 8. file timestamp
- 9. originator
- 10. destination
- 11. referenced job ID
- 12. referenced file ID
blocked script
Will be started if a send queue entry will be blocked. If more than one entry will be blocked (i.e. if a connection problem occurs), the script will be executed for every send queue entry seperately.
Parameters:
- 1. partner shortname
- 2. virtual filename
- 3. real filename with absolute path
- 4. send queue entry comment
- 5. partner index
- 6. referenced job ID
- 7. referenced file ID
debug daemon log script
Every time a debug log will be dumped, this script will be started.
Parameters:
- 1: absolute path to the logfile
license high water mark script
Each time the license is checked and a configurable high water mark has been exceeded, this script will be started. This script could be used i.e. for sending an administrator an email with license information or for changing the status of the OFTP system in an system management tool.
Parameters:
- 1: configured high water mark in percent
- 2: actual amount of configured partners
- 3: licensed amount of configured partners
automatic certificate import script
If an automatic certificate exchange import succeeds, this script will be called.
Parameters:
- 1. partner shortname
- 2. partner index value
OS4X automatic software update script
If enabled in the configuration via Enable automatic update mechanism & OS4X automatic software update script, this script or program is executed each time a file with the virtual filename "OS4X_UPDATE
" is successfully received.
Parameters:
-f <absolute filename of received file>
enqueue post script
If enabled in the configuration via enqueue post-script, this script or program is executed each time a file is enqueued to the send queue. Due to the fact that handled files for OFTP2 transfers (signed, compressed and/or encrypted) get a new temporary file name, this event script will return this new name also.
Parameters:
- partner index value
- absolute filename (new temporary if OFTP2 handled file)
- virtual filename
- comment
- alternative SSID for originator
- alternative SSID for destination
- alternative SFID for originator
- alternative SFID for destination
- priority
- size of file
- original size of file
- alternative OFTP password for originator
- alternative OFTP password for destination
- OFTP release level (see Configuration: partner's OFTP version column for a list of release levels)
- OFTP2 SFIDSEC field
- OFTP2 cipher suite
- OFTP2 compression
- OS4X server ID
- send queue index
OS4X API proxy system log event script
If enabled in the configuration via OS4X API proxy system log event script, this script or program is executed each time a critical situation is being logged via OS4Xapi by the OS4X SmartProxy. The user context of this script is the webserver of the OS4Xapi.
Parameter:
- message
Event failure script
In any case a running event returns a returncode not equal zero ("0
"), another script can be called to inform other externals about the situation. The "event failure" event script gets the following parameters:
- script type (see below)
- returncode given by the running event
- the command of the event (absolute path, as configured in the "Events" configuration)
- ... all parameters
Since all parameters are being appended to the end of this script (starting as parameter 4), their amount is dynamic and depends on the script type. The following script type number (parameter $1) represent the corresponding event:
- OS4X_SCRIPT_START_SESSION: start session
- OS4X_SCRIPT_END_SESSION: end session
- OS4X_SCRIPT_START_RECEIVE: start receive
- OS4X_SCRIPT_END_RECEIVE: end receive
- OS4X_SCRIPT_START_SEND: start send
- OS4X_SCRIPT_END_SEND: end send
- OS4X_SCRIPT_BLOCKED: blocked
- OS4X_SCRIPT_XERP: xERP
- OS4X_SCRIPT_DEBUGLOG: debug log dump
- OS4X_SCRIPT_LIC: license high watermark
- OS4X_SCRIPT_UPDATE: update
- OS4X_SCRIPT_AUTO_CERT_IMPORT: automatic certificate import
- OS4X_SCRIPT_ENQUEUE_POST: enqueue post
OS4X Enterprise job abort script
If OS4X Enterprise is enabled in the configuration ('Configuration
' -> 'OS4X Enterprise
' -> 'Is OS4X Enterprise installed
'), this input field is active for configuration, otherwise it will not be displayed. This event will be executed synchronously every time an OS4X job gets into a final aborted state (send jobs: 4; receive jobs: 9). It has the following parameters:
- numeric job ID
- status ID (see above in order to distinguish incoming and outgoing job by its status value)
- absolute path to the job's actual XML file, containing all information i.e. sender, recipient, files, command etc.
Since the script will be executed synchronously, there is no need to clean up the temporary XML file: OS4X cleans it up automatically.