Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only
  • 1.  Birt reports localization

    Posted Wed January 31, 2024 07:35 AM

    Hello, friends! 

    Question about localization of BIRT reports for Maximo. 

    How do u manage it?

    I know a few ways.

    for content:

    1. For each language use separate table rows that was fetched from DB in SQL query (itemDescEn, itemDescDe and etc) and set visibility based on language that is setted in mxReportScriptContext.getLanguageCode() 
    2. in script use registerDataTranslation()

    But for labels translation there is not so easy. 

    Yes, we can use here properties files (here is an example Localization of BIRT report: Need sample example report and guideline 

    or the same way for each language use separate table rows with static values for each language 

    But anyway, in the case when we want to use actual object attribute's titles from Maximo, how i understand it will always requires to update report design or properties files. 

    So found that myself only working solution is always to add extra dataSet, which will query attribute titles from maxatribute and translate it  (registerDataTranslation or just fetch for each lang in separete column) and then put it in layout binded each element 

    So, the questions are: 

    1. Does Maximo dynamically update properties for birt reports when providing database changes? How I understood - no.
    2.  How do u manage it ?


    ------------------------------
    Andrey Ilinskiy
    Handz.on
    https://www.on.de/
    München
    ------------------------------


  • 2.  RE: Birt reports localization

    Posted Wed January 31, 2024 11:36 AM

    So, after small investigation, looks like using registerDataTranslation for content is not the best solution, because it generates for each translation separate sql like 

    select description from l_TABLE where langcode = ? and ownerid = ?

    for 5000 records and 3 translateable columns, it is 15k fast, but extra queries. 

    What community think about it?



    ------------------------------
    Andrey Ilinskiy
    Handz.on
    https://www.on.de/
    München
    ------------------------------



  • 3.  RE: Birt reports localization

    Posted Wed January 31, 2024 12:34 PM
    Hi Andrey,
    If you didn't have a chance to read this Maximo 7.6 Designer 431 Report Development Guide yet I highly recommend you do that.
    There is for example chapter called: "New Custom or Modified Reports – Properties file".
    To answer your questions:

    1. Does Maximo dynamically update properties for birt reports when providing database changes? How I understood - no. 

    Answer: Maximo doesn't change report properties files (except new version installation, for example IFIX, only for out of the box properties files). It's the report owner/developer responsibility to update properties file for each language. Then you can import report with updated properties file via Report Administration application or importreports.cmd tool (<install_home>\maximo\reports\birt\tools).

    2. How do u manage it ?
    Answer: If I need to change label I'm changing it in properties file (of course if the reports has multi-language support) and then I'm importing it to the Maximo via Report Administration application. 
    Please also remember that during import report process (also during updatedb) Maximo is taking key and values from your properties files and store it in maximo tables. In consequence when the user run report, Maximo is taking labels these tables (REPORTLABEL, L_REPORTLABEL).
    Sample queries for woprint.rptdesign report
    select labelkey, labelvalue from reportlabel where reportname = 'woprint.rptdesign';
    
    select * from l_reportlabel where ownerid in (select reportlabelid from reportlabel where reportname = 'woprint.rptdesign');
    I don't know exactly your business needs but for me titles for attributes are not that often change to build some dynamic solution.



    ------------------------------
    Bartosz Marchewka
    IBM Maximo Consultant
    AFRY
    ------------------------------



  • 4.  RE: Birt reports localization

    Posted Thu February 01, 2024 03:03 AM

    Thank you for answering. 

    Yes, I read this document, and here need to say thx to IBM because they started updating it and now it is of very good quality. 

    But are the cons of using reports properties vs dynamically querying it? 

    If we speak about a one-time project, where reports and solution is delivered and the customer just using it , then yes, then properties can be used.

    But again, here we have risks that someone and some time will sometimes change just attribute title on DB and forget (or because of lack of knowledge) we will have inconsistences. 

    Of course, if we have a good working change management process, it cannot happen, but you know. 

    But on the other hand, this is otb solution, yes, not elastic, but otb



    ------------------------------
    Andrey Ilinskiy
    Handz.on
    https://www.on.de/
    München
    ------------------------------