Seon create enterprise sendjob

From Seon
Revision as of 14:29, 1 April 2011 by Admin (talk | contribs) (Sending two file from user "test" to user "test" =)
Jump to: navigation, search

Create Seon Enterprise send jobs in batch mode

Seon Enterprise offers a wide range to automatism, and incoming jobs execute configurable plugins dynamically depending on the recipient. But what about outgoing jobs? That's where this tools fills the gap.

What you need

As a minimum, you need the following information:

  • sender of the job
    • username (must be unique) - or
    • database index value
  • at least one recipient
    • username (must be unique) - or
    • database index value
  • file(s)

Sender and recipient

Setting a sender or recipient is possible either via the username or the database index value of the person. When used, the username must be unique. If more than one username is found, execution fails. If a numeric index value is given, it will supersede the username information (even is given).

When no valid sender information is given in the XML, the user executing the binary will be searched in the database and set as the actual sender of the job.

When adding the recipient node several times, the tool will create several send jobs for every single recipient.

File(s)

Files can occur as often as you want. The must-have information are:

  • filename: The name of the file on the creating side. It may be different than the absolute filename given below. This will give you the chance to handle files with different names in the filesystem logically with another filename in Seon jobs.
  • absolute_filename: The absolute path of the readable file in the filesystem.

Optionally, you can add:

  • file_comment: Any textual comment to the file. This will normally added to the ENGDAT abstract file for outgoing ENGDAT jobs.
  • compression: depending on your recipient, you may add an information about how the file is being compressed. This attribute may be overwritten by compression plugins in the Seon job process lifecycle.
  • plugin_output: Files may be created by plugins or tools, which may create their own output (such as converts, exporters etc.). This node may contain textual information for the file (which may be analyzed by another plugin for further tasks).

Formatting the information

The most platform independant and dynamic format is XML. In this case, the tools expects a XML file which contains some well-defined nodes. Example:

<?xml version="1.0" encoding="UTF-8"?>
<Seon_sendjob>
    <job_comment/>
    <sender>
        <index>3</index>
        <username></username>
    </sender>
    <recipient>
        <index></index>
        <username>haraldlatzko</username>
    </recipient>
    <job_file>
      <filename>seonlic</filename>
      <absolute_filename>/opt/seon/bin/seonlic</absolute_filename>
      <file_comment>filecomment</file_comment>
      <compression/>
      <plugin_output/>
    </job_file>
    <job_file>
      <filename>seon_licinfo</filename>
      <absolute_filename>/opt/seon/bin/seon_licinfo</absolute_filename>
      <file_comment>filecomment</file_comment>
      <compression/>
      <plugin_output/>
    </job_file>
</Seon_sendjob>

Execution syntax

When executing the binary without any parameters or with parameter "-h", the parameter help is being displayed:

imac-i7:bin seon$ ./seon_create_enterprise_sendjob -h
Seon create enterprise send job v1.2

usage:
-h: print this help text
-C <configfile>: use given config file (default: /etc/seon.conf)
-i <serverID>: start as server with ID <serverID> (default: 0)
-x <XML file>: XML file describing a send job, see online help for details
-d: verbose mode (don't daemonize)

The parameters are:

  • -C: optional config file in case you don't want to use the default "/etc/seon.con"
  • -i: the server ID overriding the configured one in "/etc/seon.con"
  • -x: the above described XML file
  • -d: verbose mode, don't run any program in the background, display more information

Example

Some examples showing the functionality are listed here:

Sending two file from user "test" to user "test"

imac-i7:bin seon$ ./seon_create_enterprise_sendjob -x /tmp/seon-1.xml

No more output will be written.

Sending two file from user "test" to user "test" with verbose output =

imac-i7:bin seon$ ./seon_create_enterprise_sendjob -d -x /tmp/seon-1.xml
License valid
Enabled verbose mode
parsing XML file '/tmp/seon-1.xml'
 found file: [seonlic] -> [/opt/seon/bin/seonlic]
 found file: [seon_licinfo] -> [/opt/seon/bin/seon_licinfo]
* executing plugin [filetype recognizer]... OK
* executing plugin [ENGDAT v2 encode]... OK
* executing plugin [enqueue to Seon]... OK