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

Which HTML tags and attributes can be used for outgoing mail?


What HTML tags and attributes that can be used for outgoing mail messages and notifications from IBM TRIRIGA Application Platform?

The following lists cite the HTML tags and attributes that can be used for outgoing mail messages and notifications.

  • HTML tags that can be used for outgoing email: html, head, title, body, h1, h2, h3, h4, h5, h6, p, br, hr, pre, em, strong, code, b, i, a, ul, li, ol, dl, dd, dt, table, tr, td, thead, tbody, th, input, form, select, option, textarea, blockquote, div, span, label, style, img
  • Within the HTML tags, the following attributes are allowed: id, class, src, value, href, alt, width, colspan, rowspan, readonly, style, type, align, nowrap, height, valign, cellspacing, cellpadding, checked, selected

[Admin: To see other related posts, use the HTML tag or Email tag.]

Continue reading

Is there a way to specify the order of results in OSLC JSON output?


Is there any way we can specify the sequence of resource attributes to appear in the JSON-formatted Get query output? We are looking for a pre-defined set of ordered resource attributes to appear in the OSLC Get query output.

You should be able to use the oslc.orderBy parameter to define the ordering of results. If you are talking about the default ordering without that parameter, then I think the query definition of the query capability should define the ordering.

[Admin: To see other related posts, use the JSON tag or OSLC tag.]

Continue reading

IV95450: Run MS SQL “Set Varchar” scripts after upgrade to 3.5.2.1


How do you run the MS SQL “SetVarcharColsToNumeric_MSSS.sql” and “SetVarcharColsToNumeric_MSSS_Publish_BO.sql” scripts after upgrading to TRIRIGA 3.5.2.1? According to the TRIRIGA 10.5.2 and 3.5.2 release notes:

  • “There are two scripts for MS SQL, SetVarcharColsToNumeric_MSSS.sql and SetVarcharColsToNumeric_MSSS_Publish_BO.sql. Run SetVarcharColsToNumeric_MSSS.sql first. When it completes, run SetVarcharColsToNumeric_MSSS_Publish_BO.sql.”
  • “Run the script PRIOR to installation of IBM TRIRIGA Application Platform version 3.5.0. NEVER run the script after upgrading to 3.5.0.”

Our application is 10.4 and platform is 3.5.2.1. How can the SQL script be applied to update the system fields with the sub-attribute type of CreatedDateTime to CreatedDateTime (Number) and ModifiedDateTime to ModifiedDateTime (Number)?

Continue reading

UX: How do you debug your UX app?


Debugging hints

  • Import statements. Make sure that you include the “import” statement that’s needed. There is no error in the browser Dev Tools console when you forget. It just doesn’t show the component that you expect. This page talks about it.
  • Attribute names. The Polymer help text still shows old camelCase attribute names in their examples. Those are left over from version 0.5. For version 0.9, the XML attribute names are lower-case with hyphen (or dash) separators. For example, iron-media-query shows “<iron-media-query query=”(min-width: 600px)” queryMatches=”{{queryMatches}}”></iron-media-query>”. But actually, in version 0.9, you need to use query-matches, not queryMatches.
  • Data source actions. If you configure an action with a workflow, and that workflow has a property Object Type “-Any-“, then the Business Object field should be blank.

Continue reading

UX: How do you update the value of one element from another?


To update an element’s value that has a data binding from another element’s value (or other elements’ values), for example, a paper-input, you can set the attribute on-change for the paper-input to a custom function. You can define the custom function to set the element’s value however you want, for example, copy or concatenation.

In the example code, I mimic the classic Employee form to update the full name by concatenating the first name and last name on change. The updated value will be reflected on the element. You can virtually apply this concept to other types of elements and with other types of events. The important point is that what you once needed a workflow for, can be replaced by a simple JavaScript function…

Continue reading

UX: How do you lazy-load triplat-route pages for performance?


In most cases, your UX application will consist of several pages that a user can navigate into and these pages may not necessarily be shown to the screen when the user initially accesses your application. If you are using the <link rel=”import”> tag to import your routing pages, the resources of these pages will be requested and loaded as the page containing these links is being accessed or loaded. If you have a complex application that consists of layers and layers of routing pages, it may not be good to load all your resources at once by using the <link> tag declaration.

In this article, we will show you how to lazy-load your pages to improve the performance of your application, if you are using a <triplat-route> component when handling their routing behavior. Here are the basic steps you need to do to lazy-load your pages:

  1. Do not use <link rel=”import”> when loading your routing page.
  2. Add the on-route-active event handler to your triplat-route declaration.
  3. Add the id attribute to your routing page declaration.
  4. Lazy-load your page using Polymer importHref API.

Let’s take a closer look at each step…

Continue reading