Maximo

Maximo

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

 View Only
  • 1.  Question. about MAXIMO Mobile 9.1

    Posted 8 days ago

    Hello,

    I am new to Maximo Mobile and am currently using MAXIMO Mobile 9.1 (not the earlier Docker version).

    I have reviewed the out-of-the-box application and cloned it. I would like to make a few modifications to the XML and JavaScript files.

    I believe that we can make changes to the XML files using the "Application configuration under Application Administration" and publish them back.

    However, I would like to make small changes to the JavaScript files, ( can't put them in the appcustomization.js file)

    Can you advise me on how to deploy these changes to the Maximo app server?

    Could someone provide me with a step-by-step guide on how to accomplish this? or is there any document that explains this for 9.1? 

    Thank you.



    ------------------------------
    Pankaj Bhide
    ------------------------------


  • 2.  RE: Question. about MAXIMO Mobile 9.1

    Posted 8 days ago
    Edited by Bartosz Marchewka 8 days ago

    Hi @Pankaj Bhide,

    I hope the steps below will help you to accomplish that.

    First of all if you would like to customise existing java script file you need to download them to your local computer. To do that you can use option "Download app src" from the menu.

    image
    In next step you can unzip the folder and customise these JavaScript files that you need (if it's not possible to achieve by doing this customisation in AppCustomizations.js).
    Upload your custom changes to the project.
    To upload your changes you can zip all of your customise files (only files that you changed or added) and upload all of them at once using "Upload file" option. 

    image

    Zip folder structure should be like this [APPID]/src, for example 
    TECHMOBILE/
    |── src/
    |         |── WorkOrderCreateController.js
    |         |── WorkOrderEditController.js
    image



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



  • 3.  RE: Question. about MAXIMO Mobile 9.1

    Posted 7 days ago

    Hi Pankaj, 

    IBM don't recommend OOB .js files because it might be overridden during the Mobile application upgrade. 

    For example, ClassificationController.js file content will be different from TECHMOBILE 9.1.11.0 and 9.1.22.0. They might delete a few methods in the js file.

    Please create a new customController.js file or write all your custom code in AppCustomizations.js file.

    Thanks and regards,

    Suren



    ------------------------------
    Surender Balasundaram
    Consultant
    Certus Digital
    Sydney
    ------------------------------



  • 4.  RE: Question. about MAXIMO Mobile 9.1

    Posted 6 days ago

    Hi Surender,

    I fully agree that JavaScript customizations for the OOTB MAS Mobile application should primarily be implemented using AppCustomizations.js or a custom controller. However, based on my experience, there are cases where these approaches alone are insufficient, and direct customization of IBM JavaScript files becomes necessary. This, of course, has implications for future MAS Manage (Mobile) upgrades, as those custom changes will need to be reapplied.

    It is also worth noting that Pankaj mentioned that this is a cloned application - which actually removes the upgrade concern entirely, since IBM will not overwrite cloned applications during a MAS Manage upgrade. That said, using a cloned application introduces its own maintenance challenges. For example, should we keep the cloned application in sync with the original OOTB MAS Mobile application when IBM introduces new functionality after the clone was created.



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



  • 5.  RE: Question. about MAXIMO Mobile 9.1

    Posted 5 days ago

    Realistically, you cannot update to a new version of Manage/Maximo Mobile without updating your cloned apps. At the most basic level, you absolutely must republish with the new version of the framework because you need the navigator and every application to be using the same framework version. But almost every defect is addressed in the application code rather than the platform code. Even if you don't care about the new features/functionality, you will care about the performance fixes, resolving application logic errors, app crashes, etc. And when you update your cloned app properly, all your custom JavaScript that isn't in the AppCustomizations.js is removed.

    It's important to step back and understand why the JavaScript customization is required and what alternatives might exist to do it in the AppCustomizations.js. I have seen people do this for example to extend an on-click event. You can easily do that in the AppCustomization.js where you create your own method to replace the on-click event with, write your own logic, and call the out of the box logic after. Or if you want to hide statuses, you can remove the statuses after the JSON datasource is loaded rather than trying to modify the logic IBM wrote to build that list. 

    I'm not saying modifying out the box JavaScript is never required. But in my experience from consultants and customers in the field, most times when they've modified out of the box JavaScript it wasn't required. For one customer I rewrote 35 configurations that were modifying out of the box controllers into the AppCustomizations.js. Only 2 changes still required modifying out of the box controllers and I asked the product team to address those gaps. Modifying out of the box JavaScript is unsupported and makes patching significantly more complicated to do (which costs you either time or money for consultants) so it's important these changes are done the most optimal way. 



    ------------------------------
    Steven Shull
    Principal Maximo Solutions Engineer
    Naviam
    Cincinnati OH
    ------------------------------