You are on page 1of 74

Take a Systematic Approach

to Bettering Maximo

Simplify Strengthen Optimize


1. Maximo is 1. On-demand 1. Streamline
paperwork micro-training processes
get in, get 2. Integrated 2. Proactive
out training maintenance
2. Data is 3. Performance & 3. Increase
complete and reliability with utilization
organized clustering 4. Enhance ROI
3. Eliminate, and justify
automate, or Maximo $$$
simplify
Take a Systematic Approach
to Bettering Maximo

Simplify Strengthen Optimize


1. Maximo is 1. Integrated 1. Streamline
paperworkget training processes
in, get out 2. High-value 2. Proactive
2. Data is customization maintenance
complete and 3. Performance 3. Increase
organized & reliability utilization
3. Eliminate, with 4. Enhance ROI
automate, or clustering and justify
simplify Maximo $$$
Take a Systematic Approach
to Bettering Maximo

Simplify Strengthen Optimize


1. Maximo is 1. Integrated 1. Streamline
paperworkget training processes
in, get out 2. High-value 2. Proactive
2. Data is customization maintenance
complete and 3. Performance & 3. Increase
organized reliability with utilization
3. Eliminate, clustering 4. Enhance ROI
automate, or and justify
simplify Maximo $$$
Part II

Configure vs. Customize


Configuration-Customization Spectrum

I With any requirement, always start from the left and work
right when determining a viable solution.
I Generalizations are covered in the spectrum. Specializations
such as PMs, GL and so on are not.
Organization Settings
Configuration-Customization Spectrum

Points Go To
I Options for inventory, assets, work orders,
labor, purchasing, drilldowns for assets I This is always the first stop.
locations, crew assignment, preventative
maintenance, safety plans, SLAs, ownership
assignment, service addresses and workflow.
I When stuck look here!
I Autonumber setup
I System settings
Organization Settings

I Navigate to Administration to Organization


I If the demo data is installed, open "EAGLENA"
Domains
Configuration-Customization Spectrum

Types Uses
I SYNONYM: built-in
I ALN: BELOW, ABOVE
I Constrain data entry
I NUMERIC: 300, 450, 500 I Augment statuses
I NUMERIC RANGE: > 0 and <= 5
I TABLE: MYTABLE.MYVALUE I Transfer values
I CROSSOVER: OBJ1.VAL1 OBJ2.VAL2
Domains
Configuration-Customization Spectrum

I Navigate to System Configuration to Platform


Configuration to Domains.
I Open any domain, "LOCASSETSTATUS" for instance.
Database Configuration
Configuration-Customization Spectrum

Types Leverage
I Add, remove and modify objects, attributes,
indexes, and relationships I Domains
I Add, remove, and modify messages I Custom classes
Database Configuration
Configuration-Customization Spectrum

I Navigate to System Configuration to Platform


Configuration to Database Configuration.
I Open any object, "WORKORDER" for instance.
Roles
Configuration-Customization Spectrum

Types Uses
I Custom class
I A set of data related to a record
I Workflow assignments
I Email address I Communication templates
I Person
I Person group
I A set of data related to the login user
Communication Templates
Configuration-Customization Spectrum

Types Uses
I Object applied
I Use with apps, escalations, workflow, or all
I Workflow notifications
I TO, CC, and BCC I Escalation notifications
I Assign roles, persons, person groups, or
emails
I Message
I Attachments
Communication Templates
Configuration-Customization Spectrum

I Navigate to System Configuration to Platform


Configuration to Communication Templates.
I Open any template, "WFASSIGN" for instance.
Actions
Configuration-Customization Spectrum

Types Uses
I Application Action
I Change Status
I Workflow
I Custom Class I Escalations
I Command Line Executable
I Action Group
I Set Value
Actions
Configuration-Customization Spectrum

I To find actions examine the signature options defined for an


application.
I Navigate to System Configuration to Platform
Configuration to Application Designer.
I Open any application, "WOTRACK" for instance.
I Choose Select Action, Add/Modify Signature Options
Escalation
Configuration-Customization Spectrum

Points Leverages
I Object applied
I Set applied using SQL
I Actions
I Field(s) applied I Comm Templates
I Interval: every 15m
I Repeatable
Expressions
Configuration-Customization Spectrum

Points Uses
I SQL or custom class I Workflow
I Escalations
I Signature options
Expressions
Configuration-Customization Spectrum

I Navigate to Administration to Conditional Expression


Manager
I Open any expression, "ASSETMETER" for instance.
Workflow
Configuration-Customization Spectrum

Points Leverages
I Object applied I Roles
I Can auto-initiate I Actions
I Handles assignments to roles I Comm Templates
I Flow based on SQL or custom classes I Other workflows
I Allows manual input and interaction I Automation Scripts
I Can wake on events I Custom classes
I Can escalate
Workflow
Configuration-Customization Spectrum

I Navigate to System Configuration to Platform


Configuration to Workflow Designer
I If the demo data is installed, open "WOSTATUS"
Signature Options & Security
Configuration-Customization Spectrum

Points Leverages
I Applied to apps and screen I Expressions
elements
I Can be used to drastically
augment user experience.
Application Designer
Configuration-Customization Spectrum

Points Leverages
I Add, modify, and remove: I Expressions
I Fields
I Signature Options
I Screentabs and dialogs
I Tables and data sources I Custom classes
I Apply signature options
Application Designer
Configuration-Customization Spectrum

I Navigate to System Configuration to Platform


Configuration to Application Designer
I Open any application, "WOTRACK" for example
Maximo Integration Framework
Configuration-Customization Spectrum

I Use web service (SOAP, REST), message queues or


transaction tables
I Place customization outside of Maximo
I Easier to hire .NET programmers than Maximo developers
I Easier to upgrade Maximo
I Easier to migrate to and from Maximo
Automation Scripts
Configuration-Customization Spectrum

I Available in Maximo 7.5


I Sanctioned by IBM
I Javascript or Jython supported
I Works with objects, attributes, actions, conditions (workflow),
and integration
The "Supported" Threshold
Configuration-Customization Spectrum

Configuration Customization
I Supported by IBM I Not supported by IBM
I You can open a PMR for I You break it, you fix it!
assistance.
Custom Style Sheets
Configuration-Customization Spectrum

I Like icons, custom CSS can be added to the active skin:


SMP/maximo/applications/maximo/maximouiweb/webmodule/webclient/skins

I Utilize the predefined styles: http://tinyurl.com/hvk2bqw


TRM RulesManager
Configuration-Customization Spectrum

I Venerated product capable of accomplishing much of the


customization covered in this seminar
I Still passes the "Supported" Threshold; limiting use of IBM
Maximo Support when problems are inevitably encountered
during upgrades and other activities. Supported by TRM.
Java
Configuration-Customization Spectrum

I Same technology used to build Maximo


I Augment existing behavior or implement new behavior
Configuration-Customization Spectrum
Java Script Pages

I Make minor changes; the login screen for example.


I Build complete programs that are deployed alongside and
interact with Maximo within the same JVM instance.
Patch
Configuration-Customization Spectrum

I Back in the old days of Maximo 6x, after the rewrite from
C++ to Java, you often had to take matters into your own
hands resolving bugs.
I It is relatively easy to decompile, patch, rebuild and redeploy
anything in Maximo. DONT DO IT!
Configuration-Customization Spectrum
Configuration-Customization Spectrum

I It is patching, not customization itself, that encumbers


updating. For each patched class you must:

1. Decompilebreaks support 4. Migrate changes to new


agreement release
2. Review previous change 5. Redeploy
3. Compare releases 6. Hope nothing breaks
Patch
Configuration-Customization Spectrum

I If Maximo is broke, let IBM fix it.


I If customized, follow the Fastrack Protocol.
I If it is time-sensitive, escalate the PMR.

DO NOT PATCH MAXIMO


Support agreement will be forfeitedand you still pay.
IBM can sue.
Part III

Best Practices
Deployment Steps
Steps to deploy ANY custom change to Maximo:

8. Rebuild the EAR.


1. Setup project with build.xml
9. Shutdown Maximo.
and customer.xml.
10. Run UpdateDB to
2. Prepare initial test(s) and
reconfigure Maximo.
obtain failure.
11. Deploy the EAR.
3. When extending an existing
12. Startup Maximo.
component, determine the
13. Implement RMI-based tool(s)
current class.
for simple-moderate or
4. Implement the recommended
algorithmic configuration
interfaces and classes;
steps not covered by DBC.
compile the project.
14. Install complex configurations
5. Prepare screen changes.
via Migration Manager or
6. Construct an extensions.xml
MIF.
that will be used to deploy
15. Install screen changes.
class changes.
16. Retest and obtain pass.
7. Construct the DBC files that
will be used to deploy
supporting changes, e.g.
database configuration.
Deployment Steps

Why do all this?


1. Test-driven driven (TDD) leads to automated regression testing.
2. Customization will be processed by the updatedb tool and not
wiped out!
3. Streamlines deployment.
4. Forces a record of structural changes to be maintained.
5. Enables following the Fast-Track Protocol when interacting with
IBM Maximo Support.
Part IV

Getting Help
Submitting a PMR
IBM Maximo Support

I Log into http://www.ibm.com/support/servicerequest/


I Select "Maximo Asset Management"
I Submit ticket using provided template
PMR Template
IBM Maximo Support

Background State the scenario you are working on and all


relevant information.
Problem State the problem in exact terms. Include steps
and materials to replicate the problem in a
non-custom Maximo instance.
Environment Include environment details by logging into
Maximo, cutting and pasting the details under
Help - About.
Logs Include SystemOut.log and SystemErr.log.
Escalating a PMR
IBM Maximo Support

I Submit a PMR online first:


http://www.ibm.com/support/servicerequest/
I Call 1-919-864-3512, option 2, wait, option 2 again, and hold.
I Keep in mind that IBM typically has a two hour SLA to
initially respond.
I If you need to talk with someone about your PMR, ask to have
the next available support technician call you back.
I If you need to escalate the PMR, ask to speak with the Duty
Manager.
Fast-Track Protocol
IBM Maximo Support

I Customizing Maximo increases the potential of finding a bug.


I A customer should not patch Maximoit breaks the support
agreement.
I The customer must rely on IBM to resolve the bug unless a
workaround can be found.
I The resulting PMRs can languish in L1 and L2 support for a
month or more.
I Receiving a hot fix can take many months.
I This is a potential problem for anyone customizing
Maximo.
Fast-Track Protocol
IBM Maximo Support

I Use the suggested best-practice deployment steps when


developing a customization.
I Any customization can then be straightforwardly installed on a
new Maximo instance.
I Provide IBM Maximo Support with two packages:
I A package that installs working customization.
I A package with the minimal possible change that breaks.
I Provide step-by-step instructions to install both packages and
how to replicate the problem.
I Provide an analysis supporting that the problem lies within
Maximo.
Fast-Track Protocol
IBM Maximo Support

I Create a PMR using the suggested template.


I Contact the Duty Manager and let them know you have
prepared a PMR following this protocol.
I Clearly set the expectations that:
I Within 3 days, the problem will have been replicated.
I Within 5 days, after having answered all questions and taken
all actions suggested by L1 and/or L2, the ticket will be
assigned to L3.
I Within 10 days, an initial call with L3 will have taken place to
discuss the problem.
I Within 30 days, any straightforward hotfix will be delivered.
Part V

Wrap-up
I Resources: http://op.st/maximo
I Email: maximo@op.st
I Please send your comments and questions.
I Thank you!

@MaximoDeveloper