Technical Blog Post
Making use of the Maximo Anywhere Administration application
I was working with a client who expressed the need for more detailed documentation around the Maximo Anywhere product, the requirement was more detailed Installation steps on Android and iOS as well as some of the configuration aspects of the application. Thinking over some of the many features Maximo Anywhere has, I thought I would start with something quicker and discuss the configuration and use of the Maximo Anywhere Administration application and then move on to details documentation on the Installations from start to finish of Maximo Anywhere on iOS, Android and Windows devices.
In the early days of Maximo Anywhere all properties changes and queries updates were made through one of the many properties files or the application xmls, this required extra time spent modifying files, rebuilding applications and testing changes. To help streamline some of this configuration the Anywhere Administration application was introduced (in Maximo Anywhere 7.5.2 and higher) which allows for a central spot to configure Maximo Anywhere properties and queries for all applications.
Anywhere Administration exists out of the box but it is a disabled application by default. The application will exist in the Goto -> Integration menu as Anywhere Administration, however when you go to open the application you may notice that nothing is available as you see below.
So how do we get our applications populated? What's it used for and how is it used? I'll tell you how, so lets get started!
Configuring Anywhere Administration
1. The first thing we need to do to configure the Anywhere Administration application is configure the mxe.oslc.webappurl property. In most cases where you have been using Maximo Anywhere already this property should be configured. If it isn't you can find it in the System Properties application ( Goto Menu - > System Configuration - Platform Configuration - > System Properties) .
Once set save the property and perform a live refresh.
2. Now that you have defined the mxe.oslc.webappurl were are ready to start configuration on the Anywhere side to import the data resources in to Maximo for use from the Anywhere Administration application. Our first step in this is to set the si.adminmode property to 'true' in the worklight.properties. The worklight.properties is located on your Maximo Anywhere build machine in the ibm\Anywhere\MaximoAnywhere\server\conf directory. The property will display as seen below, once updated save the file.
3. Once the worklight.properties is updated we need to rebuild and redeploy the Anywhere applications and War files. From the ibm\Anwhyere\MaximoAnywhere folder in a command prompt run 'build all'. Once the build completes your device specific application and wlapp files will have been updated and uploaded to the Application Center and the MobileFirst console. Before proceeding however we will need to deploy the Anywhere.war to our runtime.
To do this open your MobileFirst Server Configuration tool and click on 'Replace the MobileFirst project WAR file of a Deployed Runtime' as seen below.
On the next screen browse to your Anywhere.war file in the ibm\Anywhere\MaximoAnywhere\bin folder and click on 'Update War'. Once the war is deployed you will need to restart the MobileFirst server as the runtime isn't automatically started after update.
4. The next thing we need to do is define the location of ANT in our PATH variable. ANT can be found at the following location on the Anywhere build machine - C:\ibm\Anywhere\MaximoAnywhere\build\tools\ant\bin .
In your environment variables add the C:\ibm\Anywhere\MaximoAnywhere\build\tools\ant\bin path to the end of the PATH variable as seen below.
5. Now that ANT is defined in your path we can import the data resources for our applications in to Maximo. Open a command prompt and change directory in to the ibm\Anywhere\MaximoAnywhere folder and run the following ant command, replacing the connection user and password with a username and password from your environment.
ant -f admin-config-loader.xml allApps -Dadapter.connection.user=wilson -Dadapter.connection.password=wilson
The script will run through for a couple minutes, once completed successfully you should have your applications now available in Anywhere Administration as seen below.
There you have it, the Anywhere Administration applications is enabled and ready to use, so what can we do with it?
Using the Maximo Anywhere Administration Application
The Maximo Anywhere Administration application can be used to set global properties, define work list queries and queries for look up data as well as app specific properties such as map locations and wohistory limits. When you click on one of the applications you want to configure you will be presented the following options on three tabs.
The first tab displays your List Data, this is where your primary work list queries are defined, these are traditionally the queries you would define in the app.xml file for each application. The QueryBase ID look up links out to queries defined in the application mapped to the resource. For example getMyAssignedWorkOrders can be found as a query in the Work Order Tracking application as well and is mapped over to the OSLCQUERY table when defined in the Anywhere Administration application.
The Group field allows you to define specific queries on a group by group basis.
Sequence is the order in which they display.
This is the supporting data to your work list any data that will display in the different look ups (In this case on the WO Details screen). As with the List Data screen, queries can be defined by QueryBase ID and can be restricted on a group to group basis as seen below.
The settings tab allows you to configure your local iOS/Android and gis map properties as well as wohistory limits as seen below.
Anywhere Global Properties
Anywhere global properties allows you to set specific map, attachment and timeout values at a global level for all applications. The properties which can be changed are listed below.
As a basic overview of the Anywhere Administration application that's it, one thing to note is that the values in the Maximo database will take precedence over the values in the worklight.properties or the app xml files. So if anywheredoclinks is defined as your defpath in the global properties, it will be used over the value for si.attach.doclink.doctypes.defpath in the worklight.properties and is the value your attachment servlet should match.
I hope this blog was informative, if you have any questions, comments or concerns please post below.