Hi Mostafa - great questions. You can do most of this via the Application Framework (app.xml + appCustomization.js), and only drop to "deeper" customization if you hit limits.
1) Referencing an online image (e.g., company logo)
Best practice: bundle the image with the app; it works offline and avoids CORS.
or in CSS:
If you must load from a URL:
-
Ensure the server sends proper CORS headers and uses HTTPS.
-
Remember: this won't show when the device is offline. For guaranteed display, consider a Base64 data URI:
2) Start the location hierarchy from "second level"
You have two clean options without code changes to core files:
A. Saved Query approach (recommended):
-
In Maximo (LOCATIONS), create a public saved query that excludes the root, e.g.
parent is not null (or parent='YOURROOT' to show only children of a specific root).
-
Expose it over OSLC and set your lookup/list in app.xml to use that queryBase:
B. Additional WHERE in the control:
If you're already using a queryBase, add a filter:
(Use whichever attribute your Anywhere version supports: additionalWhere, defaultFilter, or a filter binding.)
3) "Save my GPS in the Service Address" not working
Common causes & fixes:
-
Permissions: ensure the mobile OS has Location permissions enabled for the app.
-
Security: the user's security group needs create/update on SERVICEADDRESS (and related SR → Service Address relationship).
-
App config: confirm service address features are enabled in app.xml and that the SR app is set to persist the address.
-
Attribute mapping: Service Address typically has LATITUDE / LONGITUDE. Make sure your handler sets those on the related Service Address record, not just on SR.
Example hook in appCustomization.js:
Then wire setGPSOnServiceAddress to your "Save my GPS" UI action.
4) Make attachments required before submitting the SR
Add a lightweight validation hook in appCustomization.js:
When you'd need deeper customization
-
If your hierarchy needs dynamic "second level" logic per site/org (not just parent is not null), inject the parent programmatically from user/site context in appCustomization.js and set a runtime filter on the lookup.
-
If the logo must be pulled from a tenant-specific URL at runtime, add a small handler that selects the src based on org/site and caches it locally.
If you share your Anywhere/Mobile version (e.g., 7.6.4.x vs MAS Maximo Mobile) and whether SRMOBILE is the classic Anywhere SR app or the MAS Mobile SR, I can tune the exact control attributes and handler names for your build.
- Manu Nagayach
IBM-Certified Maximo Architect | EAM Strategist
------------------------------
Manu Nagayach
------------------------------
Original Message:
Sent: Mon November 10, 2025 09:12 AM
From: Mostafa Mosaad
Subject: How to reference an image (company logo) in SRMOBILE and start hierarchy from second level in Application Framework?
Hi everyone,
I'm currently working on customizing the SRMOBILE application in Maximo and have a couple of questions regarding configuration through the Application Framework - specifically app.xml and appCustomization.js.
Image referencing:
Hierarchy starting point:
Is there a way to start the location hierarchy from the second level instead of the first (for example, skipping the root and showing only sub-locations)?
Can this be achieved through the framework configurations, or does it require deeper customization in the application code?
Additionally, I'm implementing several UI adjustments such as:
Any insights or best practices on handling these through the framework would be greatly appreciated
Thanks in advance!
------------------------------
Mostafa Mosaad
Software Engineer
Megasoft
Cairo
01117275779
------------------------------