Overview
IBM’s Maximo Application Framework (MAF) supports the creation of Maximo Mobile and Role-based application within Manage.
The MAF Configuration application can be used by implementers to configure IBM-provided applications (or duplicates of those applications) that are built with the MAF. Other MAS applications, such as Health and Monitor, will provide MAF applications (now or in the future) that can also be configured using the MAF Configuration application.
In this document we provide a few examples of configuration that can be used, extended, adapted and combined to achieve the desired customization.
The guide is separeted in two sections: Simple and Complex practices. For simple ones it is expected to get references about adding attributes in a card, updating saved queries used in a lookup. For complex section, we dissect configurations combining different lifecycle events with new methods to meet the conditions proposed in the configuration criteria.
Simple section addresses mostly configuration, which declare new elements, add properties and modify parameters within the tags. In Complex section, we focus in practices mostly using AppCustomizations.js file and some techniques to achieve the customization.
General tips
Ideas
Often times a customization won’t be possible due to limitations of the framework or maybe processes not exposed. Instead of a bug an idea should be issued through Ideas Portal.
Order
The order to place the XML tags is important. Although it is a markup language the build process take into consideration the order it is declared along the file.
Logs
One way to track progress during customization is using logs. Creating a tag prefix to use building the configurations associated with log API available in Graphite helps identify all paths the code can take.
// Tag for log (to be add at the first line of the file)const TAG = '***Custom***';
Server Logs
One easy way to access server logs from Manage(MAS) instance is by accessing the URL with the following format: https://(mas-manage-host)/maximo/oslc/service/logging?action=wsmethod:streamLog.
Debug
A dynamic way to enable debug or trace logs into a deployed Role Base Application is by setting log level as query parameter in URL
?_graphite_logLevel=[level_option]
The options are:
- trace: extremely detailed logging
- debug: detailed logging
- info: informational logging
- warn: only log warnings
- error: only log errors
Example
http://localhost:3000/?quickReport=false&_graphite_logLevel=trace#/createwo
Template
AppCustomizations.js
// Custom Application Logicclass AppCustomizations {applicationInitialized(app){this.app = app;}}export default AppCustomizations;
CSS Customization
Starting in Maximo® Application Suite 9.0, you can change the appearance of the user interface by relabeling the common header and apply custom styles by using advanced CSS customizations. To customize the user interface using CSS (Cascading Style Sheets, which define the visual appearance of the interface), follow these steps:
On the Suite administration page, open the side navigation menu. Click Configurations, then select User Interface Customization. Go to the CSS Customization tab. Enable CSS customization by toggling the switch.
Support
We only support the modification of the XML files & AppCustomizations.js.
The only thing supported around customization as part of the tool is a single javascript file (AppCustomization.js) for each application that will be carried over when you upgrade to a new version of MAS. You can use this file to insert customizations. The contents of that file, however, are completely up to the skill level of the configuration team and is essentially limitless scope, which is why we don’t typically offer too much hands-on support around the topic.
Modifying the out of the box controllers for example would require manual merging of your changes back in with every release.
The support we offer is through L3 RBA Configuration queue.
This queue is intended for issues with a specific application’s behavior when performing configuration. This would include connecting to data sources, altering or creating new functions within an application, altering UI layout, page routing, adhering to maximo business rules, etc.
Reminder that the same support policies apply to configuration. Customers running older/non supported versions of RBA and Mobile (<8.10) will not have access to configuration support.
In addition, the L3 RBA Configuration queue is going to get a lot of bugs or questions reported that are eventually traced back to code configuration, which are not supported, although we will do our best to point them in the correct direction.
For opening a case, make sure to send the files that were created and updated (app.xml, AppCustomizations.js). Note, all changes made in app.xml generates a file named app.delta.xml and this is relevant to highlight the configurations applied for fast triage of the problem. Add clear instructions to reproduce the issue and if possible include information to access the environment where the unexpected behavior occurs.