How did we improve lease and platform performance?


Improvements in IBM TRIRIGA Performance

By Rick Rhea & Jay Manaloto

What has the IBM TRIRIGA performance team been up to? Over the last few years and last few releases, our performance team has focused on areas that aren’t normally covered by our standard benchmark tests, and on tools that can help customers to resolve performance issues on their own. If you’re interested, here are a few of our recent improvements in lease and platform performance.

  • Lease Benchmark Testing: Not only are database server and process server resources especially important, but using multiple process servers improves performance.
  • New Recommended Indexes: Several additional indexes were identified and added to the best practices to obtain the best response times and resource utilization of the database server.
  • Lease Journal Entries: By redesigning journal entry processing with parallel and batch processing, and multiple process servers, our test results took only about 2.5 hours instead of over 90 hours.
  • Platform Enhancements: Dynamic workflows can now pass and return parameters, the Query task can now return the number of records instead of the actual records, and the Trigger Action task can now run the asynchronous event that occurs after the transition by a user other than the currently logged-in user.
  • BIRT Reporting & Lease Disclosure Reports: In Version 3.6.1, the reporting was modified to improve running on a separate BIRT server, and to avoid the problematic “params.displayText”.
  • Performance Analyzer Tool: In Version 3.5.3, this tool was introduced to allow a customer to run specific logging types without using the Admin Console, and to view easy-to-read reports.
  • Module Level Associations, Early Adopter Feature: In Version 3.7.0, the platform was enhanced to support Module Level Associations (MLA) tables where the records in the IBS_SPEC_ASSIGNMENTS table are distributed into smaller tables that are created by module type.

By applying the above finding and tools, our recent IBM TRIRIGA 10.7.0 / 3.7.0 release has demonstrated a significant improvement in performance over previous releases. But we’re not done yet! Our performance team will continue to dig deeper into weaker areas or potential opportunities to make our products stronger or faster. So stay tuned for any upcoming developments!

Note: For future releases, “Module Level Assignments” will be renamed “Module Level Associations”.

References:

[Admin: This post is related to the 07.27.17 post about the Performance Analyzer. To see other related posts, use the Performance tag.]

Continue reading

What is the Report Scheduler?


Starting in IBM TRIRIGA 3.5.3, the Report Scheduler application provides administrators the ability to schedule and automate reports, queries, and external reports. Administrators can select the reports to run, setup a schedule and time, and identify who receives the reports. Once scheduled, the platform will run the reports, and send the them in an email notification as an attachment.

The application is found under Tools > System Setup > Report Scheduler.

[Admin: To see other related posts, use the Reports tag or My Reports tag.]

Continue reading

UX: How do you create an editable query by using the UX framework?


What is a way to create an analogue of an editable report using UX framework?

You can accomplish this by doing the following:

  • 1. Create the query data source.
  • 2. In the code, create an iterator over the data (dom-repeat or iron-list).
  • 3. Either add a button for saving, or catch the on-change event in order to commit the data to the database by using the triplat-ds updateRecord method.

In newer platforms, you can look into triblock-table as well. I’ve never used it, but you can definitely create custom components inside the cells in order to make displaying data easier.

[Admin: To see other related posts, use the UX Framework tag or Perceptive tag.]

Continue reading

How do you use report filters with date and time fields?


We have an issue from a user where he mentions that “Report filters for dates are not displaying properly”. This issue is happening when the user is using the triCreatedSY field in user filters. I added a date-time field to an existing report and chose the filter of “After”. When I run the report, the filter says “Contains” that also does not work. I entered the date of one of the items in the report and it did not return that item…

The system is providing the filter operator similar to the date fields, but it is not working no matter what date we give or what operator we use. We tried the same for other date fields which ends with “DT” but those work fine. I looked in the field properties of the triCreatedSY field and found the property “Sub Attribute Type = Created DateTime (Number)”. In the TRIRIGA user guide (PDF), I found the following information…

My understanding is if the user wants to use the triCreatedSY field, then we have to add a field “Created DateTime Number” on the BO. Based on the PDF, when I added a field on the BO, no information is getting populated in that field. It looks like there should be a way to map it. Is my understanding correct? Will it be a good solution to apply the changes as mentioned in the user guide? Or can we suggest an alternative to the user?

The triCreatedSY field is actually a timestamp field, so it acts like a string. You’ve started in the right direction by creating a new Created DateTime field, but it needs to be a Field Type = “System Read Only” and the Sub Attribute Type = “Created DateTime (Number)”. Note that previously created records will not have this field populated.

[Admin: To see other related posts, use the Filter tag or Date tag.]

Continue reading

How do you limit or filter the space class current results in CI?


I created a child classification in the Space Class Current classification. In TRIRIGA, I am able to filter the selection to just this child classification via the filter in Report Manager. However, for my CAD Integrator users, it seems to be pulling the entire Space Class Current classification. Is it possible to limit that list in CAD Integrator?

Okay, I figured it out. In CAD Mapping, there is a Report Filter that is referencing a query called “triSpaceClassCurrent – CI – Available Space Class”. In this query, I added filters to filter down the list.

[Admin: To see other related posts, use the CAD tag or Integrator tag.]

Continue reading

How do you set the report filter for last (previous) month?


I want to create a report and set the filter for last month. When I want to add a condition, it opens the token list with values. Is there any chance I can update that token list? Or does anyone know how to set the filter for the last (previous) month?

Try $$THISMONTH$$-1. You can use operators with the relative time periods for query filters.

[Admin: To see other related posts, use the Query tag or Filter tag.]

Continue reading

How do you filter records by month on “Created Time” column?


How do you use a report “User” filter based on the “Created Time” column on a DataConnect table report? When you try to set a “User” filter in a TRIRIGA report by using the Filter operator “Contains” or “Equal”, it does not work. The field seems to be encoded in the timestamp, but it is displayed in text such as “10/05/2017”.

Is there a way to use the column so the end user filter on the value gets only the records created in September (“09/2017”)? Unfortunately, the general system information with the type “System Read Only” does not seem to be a date. So operators like “More Than/Equals” or “Less Than/Equals” are not available.

[Admin: To see other related posts, use the Filter tag or Date tag.]

Continue reading

What is the purpose and impact of the “Localizable” field property?


I’m seeing issues within report results, where if the user profile language is in US English, the results are of one type, but if the user profile language is in German, it is showing some other data. The record while checked is the same for both cases. While opening and checking the record, the ID and name of the record varies from what it showed as a result in the report. While investigating, what we observed is that these fields are marked as “Localizable” in Data Modeler. What is the use and impact of the “Localizable” field property? Any suggestions?

Here is a PDF link to the 3.5.3 Globalization (Localization) user guide. Also, perhaps this technote on localized database storage will help provide some insight.

[Admin: The same question is also posted in the main Application Platform forum. To see other related posts, use the Localization tag or Language tag.]

Continue reading

Why are BIRT report parameters failing in TRIRIGA 3.5.2?


I’m seeing an issue with report parameters in BIRT. I’ve added a report parameter and bound it to a filter condition. The report runs perfectly in Eclipse. But when I uploaded the same to TRIRIGA, it’s giving me errors while the report is rendering, after entering the parameters. Surprisingly, null checks have been implemented using a script at the table level as well as on the filters, so that optional parameters are dealt with. Here’s the exception trace…

This may be related to a known issue resolved in APAR IV96587. Try the most recent fix pack and see if it resolves the issue.  If it does not, I would put in a PMR.

[Admin: This post is related to the 11.13.15 post and 07.03.15 post about having issues with BIRT report parameters. To see other related posts, use the BIRT tag.]

Continue reading

IV97769: Filtering on a word in date column gives unexpected results


Filtering on a word in a date or date-time column produces unexpected results.

The platform treated any invalid string as “Today’s Date”. Moving forward, for query reports that have filters enabled, a check was added whenever a user attempts to use an invalid filter in a date or date-time field. If a non-date or non-date-time string is used in this filter, then a “No data to display” message is shown to the user in the body of the query results table, and zero results are returned.

[Admin: To see other related posts, use the Date tag or Filter tag.]

Continue reading