Search This Blog

Thursday, April 11, 2024

MAXIMO : Query Manager App

 

Streamline Your Maximo Queries with the Custom Query Manager App

IBM Maximo offers powerful querying capabilities, but managing user-created queries can be a real headache. There's no centralized way to edit or transfer ownership of saved queries. This can lead to several issues, especially in large organizations:

  • Orphaned Queries: When users leave the organization, their queries become orphaned. Updating details from the backend becomes difficult, potentially causing errors or improper loading of start centers that rely on those queries.
  • Inefficient Management: Lack of a central location for managing queries makes it cumbersome to track ownership, edit details, or redistribute queries as needed. This can lead to confusion and wasted time for both users and administrators.
  • Limited Collaboration: Sharing or collaborating on queries can be challenging without a clear understanding of ownership and access rights.

Introducing the Query Manager App

This blog post introduces a custom Maximo application called "Query Manager" that simplifies query management for both users and administrators. Built as a Power Application on the Query object, Query Manager provides a user-friendly interface for:

  • Viewing Query Details: Users can access basic information about a saved query, including its name, description, and owner.
  • Editing Queries: Users can easily modify their own saved queries directly within the application.
  • Transferring Ownership: Administrators can take ownership of queries created by other users, ensuring proper maintenance and access control.

Enhanced Visibility with Start Center Usage Table

Query Manager goes beyond basic query details. It includes a table that displays a list of start centers where the selected query is currently used. This allows users to quickly understand the impact of a query and its potential impact on reports and workflows.

Here is how it look in action:



Benefits of Query Manager

  • Improved User Experience: Streamlined editing and ownership transfer capabilities empower users to manage their queries effectively.
  • Enhanced Control for Administrators: Administrators gain the ability to take ownership of orphaned queries or redistribute them as needed.
  • Increased Visibility: The start center usage table provides valuable insights into query utilization, aiding in decision-making and optimization.
  • Reduced Risk of Errors: By facilitating ownership transfer, Query Manager eliminates the need for potentially risky backend updates when users leave the organization.

Building the Query Manager App

Developing the Query Manager application requires familiarity with Maximo customization tools. Here's a high-level overview of the steps involved:

  1. Create a New Power Application: Design the application interface using Maximo's Application Designer. Include sections for query details, edit and ownership buttons, and the start center usage table.
  2. Develop Custom Logic: Create business logic to handle user actions such as edit query, transfer ownership, and retrieve start center usage data for the selected query.
  3. Implement Security: Ensure proper access controls for edit and ownership functionalities, restricting them to authorized users or roles.
Here are my configuration and code components ( V 7.6.1.3)
1. Application XML :
               
2. Automation Scripts
3. Sigoptions : 
4. Application Authorization : 

Here you can access all these artifacts and set up this application in your maximo instance within 10 minutes.

Query Manager by Prashant Bavane

Conclusion

The Query Manager application effectively addresses a common challenge in Maximo: managing user-created queries. By providing a centralized platform for editing, transferring ownership, and visualizing start center usage, Query Manager empowers users and administrators to leverage Maximo's querying capabilities more efficiently.

Next Steps

  • Explore Maximo's Power Applications and customization options to build your own Query Manager app.
  • Consider integrating additional features like search functionality or query version control.

With Query Manager, you can take control of your Maximo queries, enhancing user experience, streamlining management, and reducing the risk of errors associated with orphaned queries.

Friday, February 9, 2024

MAXIMO : Don't Let Your Assets Sleepwalk: Wake Up with Twilio SMS Notifications in Maximo 7.6.1.3

Imagine this: a critical piece of equipment goes down in the dead of night. You rely on email notifications, but your technicians rarely check their inboxes after hours. The delay in response costs your company precious time and productivity. Ugh!

This scenario is all too common, but fear not! Timely communication is key to effective asset management, and Twilio's SMS integration with IBM Maximo 7.6.1.3 can be your knight in shining armor.

Picture this: an alert pops up on your tech's phone, instantly notifying them of the issue. They spring into action, resolving the problem before it snowballs. Equipment humming happily? Check. Happy boss? Double check!

So, how do you make this SMS dream a reality? Don't worry, we've got you covered. This sample use case will walk you through the process, step-by-step, like a friendly Maximo whisperer. And you can easily plug-in into your unique situations with little to no much changes.

Ready to get started? Buckle up!

1. Twilio Time: Your Gateway to Speedy Alerts:

Think of Twilio as your communication hub. Sign up for their free trial (plenty of credits for testing!), and grab your Account SID and Auth Token – these are your magic keys. We'll use them later.

2. Sigoptions & Actions: Speak Maximo's Language:

In Maximo-land, sigoptions control what actions you can take. We'll create a new one called "sendsms" and link it to the "sendsms" action in the Asset application as sample use case here. It's like teaching Maximo a new trick!

3. Scripting Magic: Your SMS Superpower:

Now for the cool part – the automation script. This code, triggered whenever you select "sendsms," uses Twilio's API to send those life-saving SMS alerts. Don't worry, we'll provide the code and explain what each part does.   

import java.net.HttpURLConnection as HttpURLConnection import java.net.URL as URL import java.io.OutputStreamWriter as OutputStreamWriter import java.io.BufferedReader as BufferedReader import java.io.InputStreamReader as InputStreamReader import java.util.Base64 as Base64 # Twilio account credentials account_sid = 'account_Id' auth_token = 'auth_token' twilio_number = '+13512008888' # Function to send SMS using Twilio def send_sms(to_number, message): url = 'https://api.twilio.com/2010-04-01/Accounts/' + account_sid + '/Messages.json' data = { 'To': to_number, 'From': twilio_number, 'Body': message } data_str = '&'.join(["{}={}".format(key, value) for key, value in data.items()]) url_obj = URL(url) connection = url_obj.openConnection() connection.setRequestMethod("POST") connection.setDoOutput(True) auth_str = account_sid + ":" + auth_token encoded_auth_str = Base64.getEncoder().encodeToString(auth_str.encode()) connection.setRequestProperty("Authorization", "Basic " + encoded_auth_str) connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded") writer = OutputStreamWriter(connection.getOutputStream()) writer.write(data_str) writer.flush() response_code = connection.getResponseCode() reader = BufferedReader(InputStreamReader(connection.getInputStream())) response = "" line = reader.readLine() while line is not None: response += line line = reader.readLine() reader.close() return response_code, response # Example usage to_number = '+1788xx5011' # Receiver's phone number message = 'Hello from IBM Maximo ! via Twilio SMS Gateway' status_code, response = send_sms(to_number, message) print('SMS sent with status code:', status_code) print('Response:', response)

4. Testing, Testing, 1, 2, 3:

Ready to see your handiwork in action? Open Maximo, choose an asset, and hit "sendsms." Did your phone buzz with a notification? If so, you're golden! Check the Twilio console for confirmation. High five! Here it is in actions :

In Assets new action to send sms :


And now once clicking it , it sends this template sms to mentioned number as of now hard coded in our automation script for this explanation purpose as below                         

5. Beyond the Basics: Level Up Your SMS Game:

Want to customize the message content or trigger notifications based on specific events? We've got tips for that too! Plus, we'll mention some potential roadblocks and how to navigate them smoothly.

Remember, integrating Twilio with Maximo isn't just about fancy tech; it's about empowering your team to respond quickly and efficiently, ultimately saving you time, money, and maybe even your sanity!

Ready to wake up your asset management with the power of SMS? Dive into the full similar use cases following the detailed instructions in this post and share insights for community.

P.S. Don't forget to share your SMS notification success stories in the comments!