Maximo has a rich configuration toolset. All configurations are stored in the Maximo database and are mostly maintained during an upgrade, a utility will need to be used to migrate screen changes.

Maximo has its own Workflow engine and workflow processes can be enabled on any Maximo application. The Task nodes make the assignments to people or person groups, a role is used to make these assignments dynamic. The assignments may send an email using a Communication Template or the user might monitor their workflow inbox for the assignments they need to perform. Workflow may also perform actions which might change status, set a value, perform an application action, for example apply an SLA, or execute a custom action written in Java or a script. The Escalations application uses some of the same elements as workflow but this is based on monitoring the database for a condition to occur and then performing a set of actions and notifications in the background when it does. 

The Database Configuration application makes changes to the object layer and their underlying data tables, views can also be created. This is the application where you define electronic records (auditing) and electronic signatures (confirming who you are), and where you create formulas and associate them with objects or attributes. It is also the place where the relationships between objects and all messages are defined.

The Application Designer application is where you can modify the user interface (UI) of the application, its dialog boxes, the actions, toolbars, lookups, menus and hover-over dialog boxes. Each of the UI elements can be bound into the security layer of Maximo and set to conditionally display or conditionally change its properties, for example, hide or display a set of fields when a condition is met, display text in red when it is an emergency work order. 

The security framework is controlled through the Security Groups application. A user belongs to multiple security groups and each security group builds up a layer of security. The security group provides access rights to Maximo applications and their actions, Start Centers, Storerooms, GL Components, Labor, and Integration Objects. Data security can be controlled at the record or attribute level. 

The Domains application defines sets of ALN and Numeric values which are used with lookups. Numeric Range Domains are used to set a range of values, for example a percentage between 0 and 100 to 2 decimal places. A Table Domain creates a set of values that can be defined by a query from other data in Maximo and a Crossover Domain does something similar but then copies data from the source object record to the current record. For example, a crossover defines what is copied from the service request when a work order is created. 

Migration Manager is a set of applications used to control how configuration data is transferred between the development, test, and production environments. It also migrates some other low volume data but not all data in Maximo can be or should be migrated using Migration Manager, it depends on the complexity and volume of the data.

Customization is performed by extending Maximo’s Java classes or developing Automation Scripts. There are advantages and disadvantages with each, but whichever is used this is the area which should be tested most when upgrades to Maximo are provided. IBM’s policy towards extending the application and feature set of Maximo is to do this incrementally, with release of feature packs, roughly twice per year. For the last seven years the policy has been to add new functionality without changing the existing data. Customization will also be mostly handled as part of an upgrade unless the new Maximo functionality cuts across your custom code. Customization isn’t wrong as long as it is contained to reasonable levels. The more customization you have the more regression testing should be performed. 

The Integration module has a comprehensive suite of integration applications, both inbound and outbound. Data loading is also performed through the Maximo Integration Framework (MIF). The most recent addition allows Maximo’s application business objects to be made available as REST resources for queries and updates of application data by external applications. Maximo comes packaged with many pre-defined object structures which is the starting point for integration points. 

The IBM team continue to enhance the set of tools used by developers and administrators. For example, there is a License Usage Monitor, a Management Interface for monitoring the performance of Maximo and a utility for anonymising personal data in order to comply with recent regulations. IBM continues to update the platform components to remain current with database, operating system and browser versions.