Configuration

The InnovatorServiceConfig.xml file is analogous to a UNIX CronTab file, specifying which processes to run, and when they should be run.

Example configuration file:

<?xml version="1.0" encoding="utf-8" ?>

<innovators>

    <innovator>

        <server>SERVER </server>

        <database>DATABASE</database>

        <username>USERNAME</username>

        <password>PASSWORD</password>

                          <http_timeout_seconds>600</http_timeout_seconds>

        <job>

            <method>METHOD NAME</method>

            <months>MONTH STRING </months>

            <days>DAY STRING </days>

            <hours>HOUR STRING</hours>

            <minutes>MINUTE STRING</minutes>

        </job>

    </innovator>

    <eventLoggingLevel>LOGGING LEVEL</eventLoggingLevel>

    <intervalMinutes>INTERVAL</intervalMinutes>

</innovators>

Aras Innovator Server Connection Properties

  • <innovator>tag specifies an Aras Innovator server to connect to. There can be multiple <innovator> tags in the configuration file.
  • <server> is the HTTP URL of the server. This is the same URL that end-users use to run the standard Aras Innovator client.

Example: <server>http://localhost/InnovatorServer</server>

  • <database> is the ID of the database in the InnovatorServerConfig.xml. Note that this string is case sensitive.

Example: <database>InnovatorSolutions</database>

  • <username> is the login account that should be used for running the Methods.

Example: <username>admin</username>

  • <password> is the password for the login account, in plain text.

Example: <password>innovator</password>

Job Control Properties

For each <innovator>, there may be one or more <job> tags, specifying Methods that should be run. The * (asterix) is used as a wildcard in the scheduling tags.

  • <method> is the Method name in the Innovator instance.

Example: <method>Workflow Reminders</method>

  • <months> is the month of the year that the Method should be run. Supports a comma delimited list from 1 through 12, where January is month=1 and December is month=12.

Examples:

  • <months>2,5,8,12</months> Run only in Feb, May, Aug, and Dec
  • <months>*</months > Run every month
  • <days> is the day of the week that the Method should be run. Supports a comma delimited list, where Sunday is day=0 and Saturday is day=6. A special value, last, is used to indicate the last day of the current month.

Examples:

  • <days>1, 5</days> Run on Monday and Friday
  • <days>*</days> Run every day
  • <days>last</days> Run only on the last day of the month
  • <hours> is the hours of the day that the Method should be run. Supports a comma delimited list of hour values from 0 through 23.

Examples:

  • <hours>6,17</hours> Run 6am and again at 5pm
  • <hours>*</hours> Run every hour
  • <minutes> is the minute of the hour that the Method should be run. Supports a comma delimited list of hour values from 0 through 59. A special value, once, is used to indicate the job should be run only once when the <hours> criteria is met, but on which minute is not important.

Examples:

  • <minutes>0,15,30,45</minutes> Run every 15 minutes
  • <minutes>*</minutes> Run every minute
  • <minutes>once</minutes> Run only once when the <hours> pattern is met.

There is an implied tag of <seconds> with a value of <seconds>once</seconds>. All jobs are run only once within the minute that satisfies the scheduling criteria.

Aras Innovator Service Operating Properties

Two tags are used to control the behavior of the running InnovatorService process:

  • <eventLoggingLevel> sets the level of detail for messages that are sent to the Windows Event monitor.

Examples:

  • <eventLoggingLevel>0</eventLoggingLevel>—service startup announcement and error messages from Aras Innovator only.
  • <eventLoggingLevel>1</eventLoggingLevel>—announces the start of every Method run.
  • <eventLoggingLevel>2</eventLoggingLevel>—detailed reporting of every run cycle.
  • <intervalMinutes> sets the Windows timer to control how often the InnovatorService is started and the <job> timing logic is tested. Any positive integer from 1 to 59 is supported.

Example:

  • <intervalMinutes>1</ intervalMinutes>—the service is run every minute (recommended setting).