Summary

This article describes the changes included in adTempus version 4.1, released on June 9, 2014.

Note: This is a free update for all adTempus 4 users. No license update is required.

Version Information

After you install this update, the About box in the adTempus Console will show the following version information:

Product Version: 4.1.0
Console Version: 4.1.14157.0
Client Components Version: 4.1.14157.0
Server Version: 4.1.0 (4.1.14157.0) 

If your installation shows later versions, you do not need to install this update.

Upgrading from 4.0.x

If you are upgrading from version 4.0.x (4.0.0, 4.0.1, or 4.0.2) and you installed adTempus to a location other than the default installation folder ("C:\Program Files\Arcana Development\adTempus\4.0"), see article K00000455 for important information about changes that will be made during the upgrade.   

Installation Notes

If you are using Distributed Scheduling, you can install the update on the Master and push it to Agents from the Remote Agents view. The Master and Agents need to be updated at the same time; you may encounter operational errors if some computers continue running an older version.

Remote Consoles can be updated by choosing the Update option from the Help menu.

Obtaining the Update

See the download page to download the latest version of adTempus. The setup program will update your installation.

Changes in This Update

This release corrects many issues discovered since version 4.0.2, and adds some minor enhancements.

See article K00000435 for a list of changes in version 4.0.2.

The following changes are included in this update:

General
Added timestamp to condition status listing for job instanceCR00002912
Enhancement
Database and other data are saved under default location even if adTempus is installed to a different locationCR00002887
Defect

If you install adTempus to a location other than the default location ("Program Files\Arcana Development\adTempus\4.0"), the adTempus database and other adTempus data may still be created under that folder. The problem was resolve to place data in the correct location.

Existing installations are not affected by this change. Please contact us for assistance if you need to relocate an existing data folder.

Server does not accept connections using certificate securityCR00002902
Defect

If you have configured the adTempus server to use certificate security (to accept client connections from outside the Windows domain), the server may still not accept connections that use certificate security.

This update must be applied to both the adTempus server and the remote computer(s) where the Console is run.

adTempus server startup options not removed from Registry on startCR00002934
Defect
If Startup options are set in the Registry for the adTempus service, they are not deleted after being executed. This causes them to be executed again each time the service starts. For example, if the EngineMode utility is used to instruct an Agent to purge all data it has received from the Master, that command is passed as a Startup option in the Registry. Because the command is not being removed after being executed, adTempus reads it and purges mirrored data each time the service is restarted.
Missing edit for duplicate name for File Service ProviderCR00002952
Defect
If you create a File Service Provider with the same name as an existing provider, saving the provider fails with a database error referencing UQ_FileServiceProvider_Name. There should instead be a more friendly message indicating that the name is already being used.
Actions
When a Job Control Action runs on an Agent, the target job may execute on the same Agent when it should notCR00002953
Defect
Note: This update requires that the Master and all Agents be updated at the same time.
Conditions
Conditions should be evaluated based on job priorityCR00002913
Defect
Condition evaluators were modified so that if jobs of different priorities are waiting on the same condition, the jobs will still be executed in correct priority order.
Job Variable Condition lists "does not equal" twice in comparison ruleCR00002917
Defect
The second occurrence has been corrected to "starts with".
Job Variable Condition not evaluated correctly for condition "does not equal" an empty stringCR00002936
Defect
Job Variable Condition ignores overridden valuesCR00002937
Defect
If you override the value of a Job Variable when submitting a job for execution, any Job Variable Conditions in the job use the original value rather than the new value.
Console
Unexpected error when viewing captured file if there is no associated applicationCR00002895
Defect
Alerts view does not include job-level alertsCR00002900
Defect

The Alerts view should include job-level alerts (alerts logged for a particular job) but does not. This problem was fixed in the adTempus server and does not require an update to the Console.

Note: As a result of this fix, when you first start adTempus after applying the fix you may find a large number of old job-level alerts in the Alerts view, because these alerts were generated in the past but not visible in the view for acknowledgment

Console error when clicking Security button in Credential Profiles, Messaging Setup, or File Servers windowsCR00002903
Defect

For more information see Knowledge Base article K00000442.

Console error when deleting an overridden Job VariableCR00002904
Defect
In some cases, if you add a new Job Variable that has the same name as an inherited Job Variable, and then delete the new variable, the Console gives an "unexpected error" message.
Slow performance in some views due to excess data transferCR00002924
Defect
In some views (notably Alerts, Message Log Query, Execution History Query) the search or display of results may be slower than it should be, because the server is sending over more data than it should be in response to a query.
Date Rule does not show correct relativity setting for rules relative to another dateCR00002926
Defect
In the Date Rule Properties window, if you configure a floating rule defined relative to a specified day, there is an option to specify whether the occurrence applies to days "after," "on or after," "before," or "on or before" the target date. The option you choose here is correctly saved, but when you return to this window it will always show the setting as "after." This problem was resolved.
Console settings not saved in roaming profileCR00002939
Defect
The user's Console settings were being saved in the local profile directory rather than the roaming profile directory. The problem was corrected to save settings in the roaming profile.
Duplicate Credential Profile error when trying to create credentials for same user ID on a different database serverCR00002940
Defect
"Show matching dates" option in Schedule does not reflect holiday settings from Schedule TriggerCR00002943
Defect

When you edit a Schedule within a Schedule Trigger and click the "Show Matching Dates" link, the resulting list of dates does not reflect the holiday settings configured for the Schedule Trigger. This is intentional, as the Show Matching Dates command was intended to be used to confirm that your date rule is matching the correct options.

This creates misleading results if the schedule uses a date rule with an option such as "exclude holidays" set. Therefore this command has been changed to reflect the holidays when holiday-related settings are used within the schedule.

Unexpected error when viewing object snapshotCR00002962
Defect
When you attempt to view an object snapshot from an object Change Log, the Console may repport error "Return argument has an invalid type"
Data Conversion
Some captured files not visible in Console after upgradeCR00002956
Defect
Database
Database configuration wizard may attempt to create adTempus database when database already existsCR00002892
Defect
Distributed Scheduling
Master loses connection to Agent and fails to reconnectCR00002884
Defect
Agent may not purge all mirrored dataCR00002933
Defect
When an Agent is re-initialized it purges all data that was sent to it from the Master. In some cases it may encounter an error while doing this, causing the purge process to fail.
Console reports incorrect status for Agent after changing address or portCR00002958
Defect
If you edit a Remote Agent and change its address, port number, or instance name, the Console may report that the Agent is not connected even though it is, or vice-versa. Further, the connection status message may change back and forth between showing connected and not connected, and between the old and new values for the address, port number, or instance name. Restarting the adTempus service on the Master resolves the problem.
Installation
Changed to not run Database Configuration Wizard during installation if database is at correct schema levelCR00002942
Enhancement
Job Execution
Changes to improve job host configurability and resiliencyCR00002891
Enhancement
Provide access to captured console output during job executionCR00002949
Enhancement

When a Program Execution Task executes with the "Capture screen output from console-mode program" option checked, adTempus will now save a copy of the captured output in a file in the job's temporary folder, so that scripts and tasks within the job can read the file. The name of the file is stored in the "JobStep.CapturedConsoleFileName" Job Variable.

Note that the file is not available until the program being run has exited.

Job priority not considered when jobs requeued after condition waitCR00002914
Defect
If jobs are in a queue that has a limit on the number of jobs that can be executing, adTempus may ignore the jobs' priority setting when queueing them for execution after their conditions have been met.
Cannot terminate a job instance that is queued for execution after conditions are metCR00002915
Defect
If a job has been requeued for execution after its conditions were met (i.e., conditions have been met but no execution slot is available in the Queue), terminating that instance of the job from the Console has no effect: the instance will still run when a queue slot becomes available.
If a Job Variable is created without a value, it does not retain its data typeCR00002919
Defect
If you create a Job Variable and define it as a data type other than string but do not provide a value for the variable, it gets saved as a generic string variable instead of the specified data type.
Internal error at end of job execution in some cases when job has network resourcesCR00002920
Defect
If a job has network resources defined, and the job fails due to a login error for the main Credential Profile, adTempus logs an "internal error" message for the job.
Network resources may not be connectedCR00002925
Defect
If a job has more than one network connection defined (on the Resources page), adTempus may only connect one of the resources, leading to network access errors in tasks run by the job.
adTempus may wait and start new instance if instance is already running and multiple instance setting is "don't wait"CR00002954
Defect
Job fails with internal error due to arithmetic overflow when process uses large amount of memoryCR00002957
Defect
If a program run by a job uses more then about 4GB of memory, the job may fail with an internal error, and the diagnostic log will show an arithmetic overflow.
"StepStatus" Job Variable may contain incorrect valueCR00002959
Defect
In some cases the "StepStatus" Job Variable may contain the wrong status value for a step when you use it in Responses executed for the step. For example, the variable may report the status as "Running" even though the step has failed.
"Do not execute any Job Control Responses" option is ignored when running jobsCR00002961
Defect
If you check the "Do not execute any Job Control Responses" when submitting a job for execution, Job Control Actions are still executed even though they should not be.
Notification
Inline functions not evaluated for Notification ActionsCR00002901
Defect
If you use inline functions to insert dynamic information on the subject, message body, etc., of a Notification Task, adTempus fails to evaluate/expand the function calls.
Reports
Add reporting for Change LogCR00001787
Enhancement
A new report was added to report on all audited changes in a specified timeframe.
Job Execution Schedule reports list all jobs when only some jobs are selectedCR00002916
Defect
Job Execution Schedule (by job) report shows 12:00 AM execution for jobs with no scheduled executionCR00002918
Defect
If a job selected for the Job Execution Schedule (by job) report has no scheduled execution times for the specified period, it still appears on the report with a start time of 12:00 AM.
Fix duplicate group entries in Job Inventory Report document mapCR00002923
Defect
Extended description/notes not show on Job Inventory ReportCR00002945
Defect
Responses
Group-level Responses are not inherited past one levelCR00002888
Defect

For more information see Knowledge Base article K00000437.

Responses not executed for "Job Skipped" eventCR00002951
Defect
Scheduling
Active range for Date Criterion shows times when it should notCR00002889
Defect

The Active Range for a Date Criterion shows date/time values for the start and end values. It should show only dates, because the time value is not used.

Active Range for Date Criterion is not saved when "Trigger on specific days" option is usedCR00002890
Defect
When the Date Selection of a Schedule is set to "Trigger on specific days," the Active Range values are not saved when you save the schedule.
Job triggered on wrong day when using alternate time zoneCR00002935
Defect
When a Schedule Trigger is configured to use a time zone other than the local time zone, adTempus may trigger the job on the wrong days (but at the correct time).
Scripting
Option to run script in isolated mode is not available when running external scriptsCR00002894
Enhancement
When you edit a script in adTempus there is an option to "Run isolated from other scripts". There was no corresponding option available when running "external" scripts. An option was added to the Script Execution Task to support this.
Add ability to run scripts using 32-bit hostCR00002909
Enhancement
On 64-bit platforms, adTempus automatically uses a 32-bit host process for scripts written in VBScript or JScript, because those scripting languages are only supported in 32-bit environments. A new option was added to allow the user to specify that the 32-bit host should be used for other scripts as well. The new option is found in the Script Properties window. This option is only available when running scripts stored in adTempus. An option to run external scripts in 32-bit mode will be added in a future release.
Command-line parameters for PowerShell scripts may be parsed incorrectlyCR00002921
Defect
When you execute a PowerShell script using a Script Execution Task and set command-line parameters, in some cases those parameters are passed to the script incorrectly. For example, array parameters are not passed correctly. These problems were resolved.
Captured file output for some scripts is not associated with a Job StepCR00002922
Defect
If an "external" script captures files, the files appeared in the job history without a corresponding step number.
Nested job variables not expanded when retrieved from JobVariables collection by a scriptCR00002955
Defect

If a script retrieves a Job Variable value from the JobVariables collection and the value of that variable contains references to other Job Variables, the variable tokens are not expanded.

For example, Variable1 is set to "A", Variable2 is set to "B", and Variable3 is set to "%Variable1%%Variable2%". If a script retrieves the value for Variable3 using adTempus.JobVariables("Variable3"), the value is returned as "%Variable1%%Variable2%", when it should be returned as "AB".

Security
Server error when users try to log on using dynamic authenticationCR00002938
Defect
If you are using dynamic authentication to authenticate users based on Active Directory group membership, users may encounter error "An error occurred on the server while processing the request" (ADT000003X) when attempting to connect to the adTempus server.

For more information see Knowledge Base article K00000449.

Server Tools
EngineMode utility does not show correct current mode or master informationCR00002931
Defect
EngineMode utility uses wrong service name when trying to restart adTempus serviceCR00002932
Defect
Tasks
Improve output capture for database operation tasksCR00002948
Enhancement

When you run a Database Operation Task with the "Execute SQL" or "Select a scalar value" Action, adTempus will now log each command/query executed, along with the output from the database server, to a text file, which will be included in the Captured Files for the job as "Database Results.txt".

During job execution (after the task completes), a copy of the file will be available in the job temporary directory, so that scripts and other tasks within the job can read it. The path/name of the file will be found in Job Variable "DatabaseTask.DatabaseResultFile".

Add ability to set command timeout for Database Operation TaskCR00002905
Defect

The Database Operation Task does not provide a way to set the timeout value for database operations, and uses a default timeout of 30 seconds. Operations that take longer than this will fail with a timeout error.

This was resolved by increasing the default timeout to 30 minutes and adding a global configuration setting to allow the value to be changed.

A future adTempus version will allow configuration of the timeout for each task.

For more information see Knowledge Base article K00000444.

File copy fails with error "Value cannot be null" when file pattern contains only one characterCR00002930
Defect
If a File Transfer Task uses a source file pattern with only one character (e.g., "*"), the transfer fails and the job detail log shows error "File scan failed: Value cannot be null. Parameter name: searchPattern".
Fixed various problems with include/exclude pattern matching for file operationsCR00002941
Defect
Scalar selection Database Task returns wrong result if query produces more than one result setCR00002944
Defect
If the query used for a "Select a scalar value into a Job Variable" Database Operation Task returns more than one result set (e.g., contains more than one select statement), adTempus uses the value from the first result set, not the last as specified in the documentation. This was corrected to return the last value.
File Copy task does not preserve original file when using option to rename conflicting filesCR00002947
Defect
Fix to allow Job Variables in the "Source" for file operation tasksCR00002950
Defect

File Operation Tasks now allow you to use a Job Variable as an include file when the Source Root is set to "Specify absolute paths."

You can include multiple files in a single Job Variable by using ";" or "," to separate them. For example, you can set "MyFileList" to "c:\test\file1.txt;c:\test\file2.txt;c:\test\file3.txt". In the File Transfer task, set the Source Root to "Specify absolute paths" and enter "%MyFileList%" in the Include Files box. The task will copy all three files.

This feature can be used to copy the files found by a File Trigger: Set the Include Files to "%FileTrigger.FileName%". The "FileTrigger.FileName" is automatically set by the File Trigger to contain the names of the files matches by the trigger.

Triggers
After an e-mail trigger reports a login failure, editing the Service Provider does not re-queue the jobCR00002896
Defect
If an e-mail trigger is disabled due to a service provider configuration problem, editing and saving the Service Provider should cause the trigger to get re-enabled, but this was not happening.
File Trigger may not properly handle disconnected network drivesCR00002897
Defect

If a network (or removable) drive is unavailable, the File Trigger may treat this as though all files on the monitored drive had been deleted, resulting in erroneous file deletion triggers followed by erroneous file creation triggers when the drive is restored. The problem was fixed to correctly handle this scenario.

adTempus may disable improperly disable e-mail triggers when connection errors occurCR00002898
Defect
When an adTempus e-mail trigger fails due to a problem connecting to the mail server, it logs an error message and disables the trigger until the (assumed) configuration problem is corrected. However, this was being erroneously applied in situations where the error was transient (such as a connection timeout) rather than a configuration error. The behavior has been changed so that the problem is reported but the trigger is no longer disabled.
File Trigger continues using old settings after job is updatedCR00002908
Defect
If a file specification is changed for a File Trigger, adTempus may continue to use the old value for the file specification until the next time the adTempus service is restarted.
User Interface
Saved settings in Execution Options window are not usedCR00002893
Defect
If you check the "Save the selected options as the default options" box in the Execute Job window, the selected options may not correctly default those options when you return to this window.