How do you configure TRIRIGA for Tivoli Directory Integrator (TDI)?

You can configure TRIRIGA to use Tivoli Directory Integrator as its ETL runtime engine to run ETLJobItems from within TRIRIGA.

Before you begin

Install Tivoli Directory Integrator, if not already installed, on all the TRIRIGA systems that could run a TDI ETL Job Item.  During the TDI install:

  • Make note of the installation directory you enter on the Destination panel. You will enter this value later in
  • Select either installation type. TRIRIGA requires only the TDI Server component.
  • When prompted for the location of the Solution Directory, you can select any option. TRIRIGA specifies its own solution directory at runtime.  However selecting the option “Use Install Directory” may simplify troubleshooting.
  • Make note of the value you enter in the Server Port field on the Server Port Values Panel. You will enter this value later in
  • Clear the “Start the Configuration Editor” check box on the Install Complete panel.
  • Note: This step is very important for TDI/TRIRIGA integration to work. After you have installed Tivoli Directory Integrator, update it with the recommended fix packs (per TRIRIGA support matrix). TDI must be at least at FP04 ( or it  will not automatically start the TririgiaETLDispatch.xml assembly line which will result in ETL job items failing to run successfully.


  1. Edit file to enable TRIRIGA to manage TDI server.  Set the following properties…
  2. Install a JDBC driver library so that Tivoli Directory Integrator can use it to access TRIRIGA database…
  3. Edit TDI file to allow TRIRIGA to check and stop the TDI server from localhost without requiring authentication and authorization certificates. Set the api.remote.ssl.on property to false to tell TDI to trust requests from localhost…
  4. Start Tivoli Directory Integrator Agent from TRIRIGA Admin Console and verify that it starts successfully…

[Admin: This post is related to the 08.03.16 post about installing, upgrading, or uninstalling TRIRIGA TDI, and the 05.01.16 post about documentation on developing TDI with TRIRIGA. To see other related posts, use the TDI tag.]

Continue reading

Is there a way to set up the Reserve SMTP Agent for Secure SMTP?

For inbound SMTP messages to the TRIRIGA “ReserveSMTPAgent”, is there any way to configure it for Secure SMTP (SMTPS)? I know the port can change, but can the agent use the SMTPS protocol instead of SMTP, just by changing the port? You have clients using IBM TRIRIGA in the IBM Cloud and they cannot implement your Reservation Management product because of this major gap in the product.

The Reserve SMTP agent does not currently support encrypted TLS communication. Please create a request for enhancement (RFE) to request that capability be added to the Reserve SMTP Agent.

[Admin: To see other related posts, use the SMTP tag or TLS tag.]

Continue reading

IV95382: Agent performance monitors not working properly

In the Admin Console, Performance Monitor, when monitoring a single value, it returns bad results. Returns wrong agent’s status. Returns “false” for an agent status even if the agent is running. Returns “0” for the number of agents running even if multiple agents are running.

We needed to update the calls to various platform status APIs. Moving forward, we updated the Admin Console, Performance Monitor, Single Value to correctly obtain the status of the active agents. This means the AGENTS_RUNNING_COUNT, OBJECT_PUBLISH_AGENT_RUNNING, SCHEDULER_AGENT_RUNNING, and all other agent-related monitors will now correctly report the agent status and count. We also removed the calls to KEYWORD_PARSER_AGENT_RUNNING and WAREHOUSE_AGENT_RUNNING as these no longer exist.

[Admin: This post is related to the 04.08.15 post about performance monitoring tools, and the 02.10.17 post about performance best practices.]

Continue reading

IV95312: Incoming Mail Agent does not properly process Apple emails

When emails are sent to TRIRIGA using Apple’s Mail client, they are not always being interpreted properly on the TRIRIGA end. Some problems include:

  • When a rich-text email is sent using Apple’s Mail client and has an attachment, the attachment isn’t seen if the email history is present as part of the email. If the email history is removed, the attachment is seen.
  • When a plain text email is sent using Apple’s Mail client and a PNG or JPG attachment is present, the attachment isn’t seen, but the email body has a marker that makes it look like an embedded image should be present (but isn’t).
  • When a plain text email is sent using Apple’s Mail client and text exists in the email before the attachment, the text that exists in the email before the attachment isn’t seen. Any text that exists after the attachment is seen.

Apple mail formats the attachments and forwards differently than other mail clients. Moving forward, an issue that cause attachments to be missing and email bodies to lose content when the mail client puts attachments inline, has been resolved.

[Admin: To see other related posts, use the Attachment tag.]

Continue reading

How do you avoid the tree error after deleting hierarchy records?

I’m loading data via the Data Integrator into a Classifications business object. In the first load, my data is successfully loaded. However, I notice some data mapping issues. So I delete the records from a query, then I clear cache. In the second load, my data is successfully loaded. I go into the Classifications hierarchy form and get the dreaded message:

“Please contact your system administrator. The tree control reported this error while trying to draw itself: There was an error in the database or the query definition.”

When this happens, I tell myself that I deleted the records too quickly and didn’t allow the system to reset in time. The solution is the dreaded wait time for the Cleanup Agent to process records that takes 12 hours, 1 day, 3 days, or sometimes 1 week, before all records with a TRIRECORDSTATESY is null, are removed from the database. The only workaround seems to be to increase the Cleanup Agent time. However, is there a sequence of steps I need to follow before I delete records from a hierarchy form, so that I don’t get the dreaded message each time?

Regarding your scenario of loading hierarchy records, deleting them, then reloading the same records to cause the tree control to fail, that should be considered a platform defect. I would advise you to enter a PMR, so Support can look into this issue. The tree control should never fail to render as you describe it.

To help with your issue, there is an unsupported platform feature that allows the Cleanup Agent to delete data immediately. If you add the following property to your file and set CLEANUP_AGENT_RECORD_DATA_AGE=2, the Cleanup Agent when run will delete records that are 2 minutes old. This allows you to immediately delete a bad data load, and allows you to run it cleanly again a second time without conflicts from that data already existing in a null state.

[Admin: This post is related to the 08.11.16 post about the Organization hierarchy tree not being displayed, the 08.04.16 post about unretiring and returning records to null, and the 02.24.16 post about executing the Cleanup Agent (a.k.a. Platform Maintenance Scheduler) after retiring a record.]

Continue reading

IV94801: TRUNCATE WF_INSTANCE errors in the server log

We’re seeing the following error in the server log:

Error executingsql: Sql[SQL=TRUNCATE WF_INSTANCE,DB transaction ID=(None)] Caused by: StatementCallback; bad SQL grammar [TRUNCATE WF_INSTANCE]; nested exception is java.sql.SQLException: Incorrect syntax near 'WF_INSTANCE'. [MID-2877677308]
Error executing sql: Sql[SQL=TRUNCATE WF_INSTANCE,DB transaction ID=(None)] Caused by: StatementCallback; bad SQL grammar [TRUNCATE WF_INSTANCE]; nested exception is java.sql.SQLException: Incorrect syntax near 'WF_INSTANCE'.

When WF_INSTANCE (workflow instances) are a high number, the TRUNCATE option runs into problems in some situations. Moving forward, we resolved an issue where massive amounts of workflow instances were running into an error when cleaning them up via the Platform Maintenance Scheduler (formerly Cleanup Agent).

Continue reading

How do you revert an IBM TRIRIGA upgrade to a previous version?

How can I revert back an IBM TRIRIGA upgrade? Is there any way to do so? I need to get prepared and revert my system to a previous state in a case where there were system problems after an IBM TRIRIGA upgrade.

There is no uninstaller or code to revert back or downgrade your current IBM TRIRIGA Application or Platform version to a previous version. You must keep a reliable and preferably offline backup of the database (cold backup), in case you need to revert to a previous version.

Important note: If you have any new user or agent transactions during the period since the backup, they will be lost when you rollback the database. Bottom line: To manually “revert” to previous IBM TRIRIGA version you must…

[Admin: This post is related to the 06.10.16 post about object labels and revisions.]

Continue reading