Difference between revisions of "OS4X Core event scripts"

From OS4X
Jump to navigation Jump to search
Line 122: Line 122:
 
*6. partner index
 
*6. partner index
 
*7. data throughput in kB/sec
 
*7. data throughput in kB/sec
*8. file datestamp
+
*8. referenced job ID
*9. file timestamp
+
*9. referenced file ID
*10. referenced job ID
+
*10. file datestamp
*11. referenced file ID
+
*11. file timestamp
  
 
== xERP script ==
 
== xERP script ==

Revision as of 14:34, 9 January 2014

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 request
  • ODETTE_CERTIFICATE_DELIVER: OFTP2 automatic certificate exchange delivery
  • ODETTE_CRL_REQUEST: OFTP2 automatic certificate revocation list request
  • ODETTE_CRL_DELIVER: OFTP2 automatic certificate revocation list delivery
  • OS4X_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. referenced job ID
  • 9. referenced file ID
  • 10. file datestamp
  • 11. file timestamp

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:

  1. partner index value
  2. absolute filename (new temporary if OFTP2 handled file)
  3. virtual filename
  4. comment
  5. alternative SSID for originator
  6. alternative SSID for destination
  7. alternative SFID for originator
  8. alternative SFID for destination
  9. priority
  10. size of file
  11. original size of file
  12. alternative OFTP password for originator
  13. alternative OFTP password for destination
  14. OFTP release level (see Configuration: partner's OFTP version column for a list of release levels)
  15. OFTP2 SFIDSEC field
  16. OFTP2 cipher suite
  17. OFTP2 compression
  18. OS4X server ID
  19. 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:

  1. 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:

  1. script type (see below)
  2. returncode given by the running event
  3. the command of the event (absolute path, as configured in the "Events" configuration)
  4. ... 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:

  1. OS4X_SCRIPT_START_SESSION: start session
  2. OS4X_SCRIPT_END_SESSION: end session
  3. OS4X_SCRIPT_START_RECEIVE: start receive
  4. OS4X_SCRIPT_END_RECEIVE: end receive
  5. OS4X_SCRIPT_START_SEND: start send
  6. OS4X_SCRIPT_END_SEND: end send
  7. OS4X_SCRIPT_BLOCKED: blocked
  8. OS4X_SCRIPT_XERP: xERP
  9. OS4X_SCRIPT_DEBUGLOG: debug log dump
  10. OS4X_SCRIPT_LIC: license high watermark
  11. OS4X_SCRIPT_UPDATE: update
  12. OS4X_SCRIPT_AUTO_CERT_IMPORT: automatic certificate import
  13. OS4X_SCRIPT_ENQUEUE_POST: enqueue post
  14. OS4X_SCRIPT_ENTERPRISE_JOB_ABORTED: OS4X Enterprise aborted job

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:

  1. numeric job ID
  2. status ID (see above in order to distinguish incoming and outgoing job by its status value)
  3. 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.