30
IBM Maximo Anywhere Version 7 Release 5 Configuring Maximo Anywhere IBM

with IBM Corp.€¦ · Configuring Maximo Anywhere Y ou can configur e Maximo ® Anywher e to suit the business needs of your or ganization. Y ou can define work list queries and

Embed Size (px)

Citation preview

IBM Maximo AnywhereVersion 7 Release 5

Configuring Maximo Anywhere

IBM

NoteBefore using this information and the product it supports, read the information in “Notices” on page 21.

This edition applies to version 7, release 5 of IBM Maximo Anywhere and to all subsequent releases andmodifications until otherwise indicated in new editions.

© Copyright IBM Corporation 2013.US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contractwith IBM Corp.

Contents

Configuring Maximo Anywhere . . . .. 1Application definition files. . . . . . . . .. 1Data resources in the application definition . . .. 3Defining work list queries . . . . . . . . .. 6

Creating queries in Maximo Asset Management . 6Adding queries to a mobile app . . . . . .. 7

Specifying criteria for retrieving lookup data . .. 8Configuring page sizes for retrieving data . . .. 10Configuring maps . . . . . . . . . . .. 10

Map positioning information . . . . . .. 10Service addresses . . . . . . . . .. 12

Enabling the auto-locate cron task . . . . .. 13Cron task system properties . . . . . .. 14

Configuring access to a map service provider .. 14Enabling the map view . . . . . . . .. 15

Activating GPS . . . . . . . . . .. 16Restricting access to status changes . . . . .. 17Activating bar code scans. . . . . . . . .. 17Enabling encryption of the local data store . . .. 18Changing the heartbeat interval . . . . . .. 19Timeout properties . . . . . . . . . . .. 19

Notices . . . . . . . . . . . . .. 21Privacy Policy Considerations . . . . . . .. 22Trademarks . . . . . . . . . . . . .. 23

© Copyright IBM Corp. 2013 iii

iv Configuring Maximo Anywhere

Configuring Maximo Anywhere

You can configure Maximo® Anywhere to suit the business needs of yourorganization. You can define work list queries and other settings for retrieving datafrom the server. You can enable maps, bar code scans, and data encryption.Configuration settings can apply at an application or system level.

Application definition filesAn application definition is an XML file that defines the user interface and dataresources of a Maximo Anywhere mobile app. You can configure the app byediting the application definition.

Maximo Anywhere includes two types of applications: user applications andplatform mini-apps. User applications are built and deployed to the mobileworkforce to support business operations. Platform mini-apps are included ascomponents in the build process for user applications. Applications of both typeshave an application definition.

User applications

The application definition for a user application is in the application root directoryand has the name app.xml. The app.xml for the Maximo Anywhere Work Executionapp is in the following directory: maximoanywhere_home\MaximoAnywhere\apps\WorkExecution. The app.xml for the Maximo Anywhere Work Approval app is inthe following directory: maximoanywhere_home\MaximoAnywhere\apps\WorkApproval.

You can make the following changes to all user applications:v Specify the queries that determine which work list records can be retrieved from

the serverv Define the lookup data that can be retrieved from the server

You can make the following changes only to the Work Execution app:v Enable the map viewv Enable bar code scansv Restrict access by user group to status changes

After you change an application definition, you must build and deploy theapplication. Depending on the type of change, the updated app is delivered tousers as a new app version or as a direct update:v If the change includes new or updated native code, you must deploy the app as

a new app version. For example, when you enable the map view or bar codescans, native code is added to the app during the build process. Users mustdownload and install the new app version from the server.

v If the change includes updated web resources, you can deploy the app withoutchanging the app version. Users can accept the change as a direct update of theapp version that is installed on their devices.

The application definition for each user application includes an attribute,requiredRole, that specifies which user group in the provider application isauthorized to use the application. This attribute references one of the predefined

© Copyright IBM Corp. 2013 1

user groups that are deployed during installation to the provider applicationenvironment. At run time, only users that belong to the specified user group canlog in to the app.

For example, the requiredRole attribute in the application definition for the WorkExecution app references the ANYWHERE_TECHNICIAN security group inMaximo Asset Management. Only users that belong to theANYWHERE_TECHNICIAN security group can log in to the Work Execution app.

Platform mini-apps

Application components that apply at the platform level are referred to as platformmini-apps. Platform mini-apps define the user interface and data resources offeatures that are common to multiple user applications. For example, theconfiguration mini-app contains the specifications for the overflow menu that isimplemented in all user applications.

The application definition for a platform mini-app is in the mini-app root directoryand has the name app.xml. For example, the app.xml for the configurationmini-app is in the following directory: maximoanywhere_home\MaximoAnywhere\platform\mobile\client\miniapps\configuration.

Structure of application definition files

The <app> XML element is the root element of an application definition file. The<app> element has three child elements that define the basic structure of theapplication definition. The structure is the same for user applications and platformmini-apps.

<ui> elementContains the specifications for the views in the mobile app, includingviews for the work list, record details, lookups, and dialog boxes.

<data> elementContains the specifications for the data resources that are used by the app,including work list, lookup, and system resources.

<messages> elementContains messages that are displayed on the user interface and recorded inthe app log.

XML schema validation

Maximo Anywhere includes an XML schema definition (XSD) for applicationdefinition files in the following directory: maximoanywhere_home\MaximoAnywhere\platform\mobile\codegen\resources\xsd. The application XSD is used to validatethe syntax of application definition files during the application build process.

The application XSD is declared at the start of each application definition as anattribute of the <app> root element:<app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="../../platform/mobile/codegen/resources/xsd/app.xsd"[...]>

This file path specifies the location of the application XSD in the context of thegenerated Maximo Anywhere project. When you edit an application definition in

2 Configuring Maximo Anywhere

Worklight Studio, you can reference the application XSD to check the syntax thatmust be used for any code changes.Related concepts:“Data resources in the application definition”The data that is used in a mobile app is specified in the application definition inthe form of OSLC resources. Resources are categorized as primary, supporting,lookup, or system resources. These categories determine how the resources arespecified in the application definition and how they are managed at run time.

Data resources in the application definitionThe data that is used in a mobile app is specified in the application definition inthe form of OSLC resources. Resources are categorized as primary, supporting,lookup, or system resources. These categories determine how the resources arespecified in the application definition and how they are managed at run time.

An OSLC resource represents a business, configuration, or domain object thatbelongs to the provider application. A resource is defined in the providerapplication by a shape document that describes the structure of the resource andall possible properties. The resource is published for integration by an OSLC objectstructure. The resource is registered with a service provider that specifies andmanages the data operations that are available for the resource to consumerapplications.

In Maximo Anywhere, where mobile apps act as consumers, the applicationdefinition specifies the resources that are used by the mobile application. The<data> XML element contains the specifications for all resources. The maincharacteristics of a resource are defined by the attributes of the root element,<resource>.

Table 1. Attributes of the <resource> element

Attribute Specifies Usage

providedBy The service provider that is used fordata operations on this resource.

Required for primary, lookup, andsystem resources. A service providerreference is required for resourcesthat are retrieved from the providerapplication as independent entities.The service provider specifieswhether data for the resource can beupdated, created, or deleted by theconsumer application. For theprimary resource, the serviceprovider also specifies which queriesare available to consumerapplications.

describedBy The shape document that defines theresource.

Required for primary, lookup, andsystem resources. The specificationsfor these resources in the applicationdefinition must conform to the shapedocument definition.

name A unique name that is used forreferences to this resource in theapplication definition.

Required for all resources.

Configuring Maximo Anywhere 3

Table 1. Attributes of the <resource> element (continued)

Attribute Specifies Usage

pageSize The number of resource instancesthat can be retrieved at a time fromthe provider application. If, duringquery execution, the number ofmatching resource instances exceedsthe page size value, the value is usedto break down the result set intosubsets that are retrieved insuccessive calls.

Required for primary, lookup, andsystem resources.

additionalData

Whether the resource is a lookupresource.

Required with a value of true for alllookup resources.

isSystem Whether the resource is a systemresource.

Required with a value of true for allsystem resources.

The following example shows the attributes that define the primary resource,workOrder, in the application definition for the Work Execution app:<resource providedBy="/oslc/sp/WorkManagement"describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastructure#WorkOrder"name="workOrder"pageSize="100"[...]>

The following example shows the attributes that define a lookup data resource,additionalasset, in the application definition for the Work Execution app:<resource providedBy="/oslc/sp/AssetManagement"describedBy="http://open-services.net/ns/asset#Asset"name="additionalasset"pageSize="1000"additionalData="true">

The <resource> element is parent to the <attributes> element. This elementcontains a list of attributes that specify the resource data that is used by the mobileapp. The attributes that are listed correspond to properties that are defined by theresource shape document in the provider application.

Primary resource

The primary resource represents the top-level object in the work list record. Theprimary resource can be a parent to one or more supporting resources. A supportingresource represents a child object in the work list record. The primary resource canhave a one-to-one or a one-to-many relationship with a supporting resource. Whena one-to-many relationship exists between the primary and supporting resources,the data for the supporting resource is rendered as a list of child objects in thework list record.

For example, the work order is the primary resource in work list records for theWork Execution app. The work order resource can be related to supportingresources such as asset, location, task, and labor. A work order can have a singlemain asset or location and multiple tasks and labor assignments. Tasks and laborassignments are displayed as lists within the work order.

In the application definition, primary and supporting resources are defined asseparate entities. The primary resource has the following characteristics:

4 Configuring Maximo Anywhere

v References to the service provider and shape document for the primary resourcein the provider application.

v A list of the queries that are used during run time to retrieve work list recordsfrom the server. The list is contained in the <queryBases> element.

v A page size value that specifies the maximum number of work list records thatcan be retrieved in each request.

v Simple and complex attributes for the properties of the primary resource asdefined in the shape document. Simple attributes represent data that is local tothe primary resource. Complex attributes refer to supporting resources.

A supporting resource includes simple attributes for data that belongs to thesupporting resource but is used in the work list record. Supporting resources aredependent on the primary resource to which they are related. Unlike the primaryresource, supporting resources are not retrieved independently from the providerapplication and do not require references to a service provider and shapedocument.

Lookup resources

During run time, users can change supporting data in the work list record inaccordance with business rules and application capabilities. Many changes involvethe use of a lookup control to reference and select data that is external to the worklist record. Examples of lookup data include the assets, tools, and materials thatcan be added to a work order.

Users must download lookup data to make it available in the mobile app. Locallystored lookup data can be refreshed be on demand.

Lookup objects are represented in the application definition as lookup resources. Alookup resource has the following characteristics:v An additionalData attribute with a value of true.v References to the service provider and shape document for the lookup resource

in the provider application.v A page size value that specifies the maximum number of records that can be

retrieved in each request.v Simple attributes for the properties of the lookup resource as defined in the

shape document.

System resources

A system resource represents an object that is external to the work list record but isrequired to support system operations in the mobile app. For example, thefollowing resources are classed as system resources for the Work Execution app:v The domain value lists that are used to change work order status and other

work list record attributes.v The labor and labor craft resources for the current user that are required for

labor reporting.v Labor timer settings that are active in the provider application and are required

for local validation of labor transactions.

System data is automatically downloaded when a user first logs in to theapplication. If the download fails, the user cannot log in. Locally stored systemdata is refreshed whenever the user refreshes lookup data.

Configuring Maximo Anywhere 5

In the application definition, a system resource has an isSystem attribute with avalue of true. Other characteristics are the same as the characteristics of the lookupresource.Related information:

OSLC Integration

Defining work list queriesThe work list queries that you define for a mobile app determine which recordscan be retrieved from the server by mobile users. You create custom queries in theprovider application. You implement these queries in the mobile app by updatingthe application definition and deploying a new application version.

Creating queries in Maximo Asset ManagementWhen you create queries in Maximo Asset Management, you specify search criteriathat suit the requirements of the target user groups in Maximo Anywhere.

About this task

You create work list queries in the Maximo application that authorizes access tothe primary resource for the mobile app. The authorizing application must beregistered with the object structure for the primary resource. For example, theprimary resource in the Maximo Anywhere Work Execution app is the work order.In Maximo Asset Management, the Work Order Tracking application is registeredas the authorizing application for the oslcwodetail object structure and work orderresource. Therefore, you create queries for the Work Execution app in the WorkOrder Tracking application.

The queries that you create in the Maximo application must be saved and markedpublic. Public queries are automatically added to the service provider that managesthe associated resource data. These queries are implemented and used byconsumers such as mobile applications to retrieve data from the providerapplication.

The search criteria that you define for a query determine the search results that arereturned during run time. The actual result set for individual users can be differentdepending on their access rights in Maximo Asset Management. For example, auser belongs to a security group that is authorized to see work orders for the SiteA, but not Site B. When this user runs a query in the app to retrieve all workorders in the preventive maintenance backlog, work orders for Site A, but not forSite B, are downloaded to the device.

The search criteria can include constants that are resolved dynamically when thequery is executed in Maximo Asset Management. The result set is filtered by thevalue that is returned for the resolved constant. For example, the default query,WORKIOWN, for the Work Execution app includes a constant, :USER. When thequery is executed, this constant is resolved to return all work orders that areowned by the current user.

Procedure1. In Maximo Asset Management, open the application that authorizes access to

the primary resource for the mobile application.

6 Configuring Maximo Anywhere

2. On the List tab, click Advanced Search, use one of the available options tospecify the search criteria, and click Find. Verify that the query returns theexpected search results.

3. Click Save Query and specify a name that uniquely identifies the query. Thequery name cannot include any spaces.

4. Select Public.5. Click OK.

What to do next

Use the query name that you specified in Maximo Asset Management to add thequery to the application definition for the mobile application.

Adding queries to a mobile appTo enable mobile users to retrieve work list records from the server, you must addat least one query to each mobile app. You add queries to a mobile app byincluding them in the application definition file. The updated application mustthen be built and deployed.

Before you beginv The queries that you want to implement in the mobile application must be saved

as public queries in Maximo Asset Management.v If you are updating the application definition in Worklight® Studio or in an XML

editor, the file must include a reference to the XSD for Maximo Anywhereapplications. The default location of the application XSD ismaximoanywhere_home\platform\mobile\codegen\resources\xsd\app.xsd.

About this task

In the application definition, you add queries to the specifications for the work listview and the primary resource. Each query must correspond to, and have the samename as, a public query in Maximo Asset Management. The public query, in turn,corresponds to a query in the service provider for the primary resource.

Each application definition includes three system queries, Records Created Locally,Records with Errors, and Search Results, that are used for system functions in themobile app. You must not remove or modify the code for these queries.

Procedure1. In the maximoanywhere_home\MaximoAnywhere\apps\application_name directory,

open the app.xml file.2. Add a query to the work list view. The work list view is the first view that is

defined in the UI section of the application definition.a. In the <queries> element for the work list view, add a child element called

<query>.b. Use the queryBase attribute to specify the name of the public query in

Maximo Asset Management. The query name is case sensitive.c. Use the label attribute to specify the query label that is displayed in the

work list menu.d. Optional: To define this query as the default query for the work list view,

specify the query label as the value of the label attribute for the parent<view> element.

Configuring Maximo Anywhere 7

In this example, three queries are added to the work list view for the WorkExecution app:<view id="WorkExecution.WorkItemsView" label="Work I Own"

saveonshow="true"<queries resource="workOrder"><query label="Work I Own" queryBase name="WorkIOwn"><query label="Assigned to My Labor" queryBase name="WorkforMyLabor"><query label="Work Assigned to My Crew" queryBase name="WorkforMyCrew"><...>

</queries><...>

</view>

3. Add the query that you specified in step 2 to the primary resource. Theprimary resource is the first resource that is defined in the data section of theapplication definition.a. In the queryBases element for the primary resource, add a child element

called queryBase.b. Use the name attribute to specify the name of the public query in Maximo.

The query name is case sensitive.

In this example, three queries are added to the primary resource, workOrder, forthe Work Execution app:<resource providedBy="/oslc/sp/WorkManagement"describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastucture#WorkOrder"name="workOrder" pageSize="100"class="application.business.WorkOrderObject"><...><queryBases><queryBase name="WorkIOwn"><queryBase name="WorkforMyLabor"><queryBase name="WorkforMyCrew">

</queryBases><...>

</resource>

4. Save the file.5. Build and deploy the application.

What to do next

Log in to the deployed application and check that the queries that you addedappear in the work list menu. Verify that the result set is the same when you runthe query in the provider application and in the mobile app.Related concepts:“Data resources in the application definition” on page 3The data that is used in a mobile app is specified in the application definition inthe form of OSLC resources. Resources are categorized as primary, supporting,lookup, or system resources. These categories determine how the resources arespecified in the application definition and how they are managed at run time.

Specifying criteria for retrieving lookup dataTo narrow the scope of the query for a lookup resource, you can add a WHEREclause to the resource in the application definition file. The criteria in the WHEREclause are resolved dynamically when lookup data is retrieved from the providerapplication.

8 Configuring Maximo Anywhere

About this task

By default, the query for a lookup resource retrieves all records, or instances of theresource, that are available in the provider application. Depending on therequirements of your mobile app users, you might want to filter the result set tomatch custom criteria. You specify those criteria by adding a WHERE clause to thelookup resource in the application definition file.

The application definition file for a mobile app can include predefined WHEREclauses for lookup and system resources. The criteria that are expressed in apredefined WHERE clause are required by the mobile app to support systemoperations and must not be modified. However, you can add additional criteria topredefined WHERE clauses by using the and operator to add custom criteria.

Maximo Anywhere supports the OSLC WHERE clause. The criteria in an OSLCWHERE clause have a standard format that comprises an attribute, an operator,and a constant. For example, the following WHERE clause can be added to theadditionallocations lookup resource to retrieve locations in SITE A only:<whereClause clause="spi:siteid=’SITE A’" />

The where clause includes the following items:

siteid An attribute of the additionallocations lookup resource.

= A comparison operator that expresses equality. No spaces are allowedbefore or after comparison operators.

SITE AA constant that expresses the site value criteria for matching locationrecords.

The criteria in a WHERE clause are typically based on attributes of the lookupresource to which the WHERE clause applies. However, a WHERE clause can alsoinclude criteria that are based on system resource attributes. For example, thefollowing WHERE clause finds the mylaborcraftrate resource for the labor recordthat is associated with the current user. The labor record for the current user isgiven as [${mylabor.laborcode}], where laborcode is an attribute of the mylaborsystem resource. spi:defaultcraft is an attribute of the mylaborcraftrate systemresource:<whereClause clause="spi:laborcode in [${mylabor.laborcode}] andspi:defaultcraft=1" />

You must not create circular references in WHERE clauses that use attributes fromother resources. For example, if the WHERE clause for resource A uses an attributefrom resource B, the where clause for resource B must not use an attribute fromresource A.

The application XSD cannot validate the content of the <whereClause> element. Ifyou add WHERE clauses to the lookup resources in an application definition file,you must test the updated runtime application before you deploy it to aproduction environment.

Procedure1. In the maximoanywhere_home\MaximoAnywhere\apps\application_name directory,

open the app.xml file. In the data section of the file, locate the resource that youwant to configure.

Configuring Maximo Anywhere 9

2. In the <whereClause> element, specify the criteria as the value of the clauseattribute and save the file.

3. Build and deploy the application.Related information:

OSLC Integration

Configuring page sizes for retrieving dataTo increase or reduce the number of records that are retrieved from the server at atime, you can configure the page size for primary, lookup, and system resources.

About this task

The page size of a data resource in the application definition file defines thenumber of records that are retrieved from the server at a time. If the size of theresult set exceeds the page size value, the result set is divided into subsets that areretrieved as separate pages in successive requests.

You can specify different values for individual resources:v The page size for the primary resource determines the number of work list

records that can be retrieved in a results page when users select a work listquery in a mobile app. The default page size for primary resources is 100.

v The page size for a lookup or system resource determines the number of recordsthat can be retrieved in a results page for that resource type when usersdownload or refresh lookup data on mobile devices. The default page size formost lookup and system resources is 1000.

By reducing the page size, you can improve the response time for the retrieval ofdata. By increasing the page size, you can reduce the number of requests that areissued by the application to retrieve the full result set.

Procedure1. In the maximoanywhere_home\MaximoAnywhere\apps\application_name directory,

open the app.xml file.2. In the data section of the file, update the value of the pageSize attribute for the

resource or resources that you want to configure. pageSize is an attribute of theroot element of the resource.

3. Save the file.4. Build and deploy the application.

Configuring mapsMobile workers can use the map view in the Maximo Anywhere Work Executionapplication to check the geographical location of work orders. To make the mapview available, you must prepare the Maximo Anywhere environment andconfigure the application.

Map positioning informationPositioning information is the geographical coordinate data that is used todetermine the location of a work order and add a position marker to the map.When a work order in the enterprise system contains positioning information, suchas a service address, that information is provided to the IBM® Maximo Anywhere

10 Configuring Maximo Anywhere

Work Execution app when the work order is downloaded. If work orders in theenterprise system do not have positioning information, you need to configure theinformation on the enterprise system.

Coordinates or work order positioning information is downloaded from the mapservice provider to the enterprise system environment.

Directions and a route to work orders on the mobile worker's current work list areavailable when the mobile device is configured with a map service provider.

If your enterprise system includes IBM Maximo Spatial Asset Management,positioning information is obtained from work order objects that are linked to amap feature. If Maximo Spatial Asset Management is not in your environment,positioning information is obtained by using non-linked objects. A non-linkedobject is a work order object that is not linked to a map feature. Non-linked objectstherefore provide static geographic coordinate data that you must manually addand store in the service address object. Work order objects that can containpositioning information are work order, service address, asset, and location.

When Maximo Spatial Asset Management is available, positioning information isobtained by using linked objects. A linked object is an object in a work order thatis linked to a map feature in the designated GIS. A linked object can be the workorder object itself, or the associated service address, asset, or location. The linkbetween the object and the map feature enables the auto-locate function todynamically obtain geographic coordinate data from the GIS when the cron taskruns.

If you do not use Maximo Spatial Asset Management, positioning informationcomes from static geographic coordinate data that is added and stored in theservice address object. The static geographic coordinate data must be manuallyadded into the Service Address application in Maximo Asset Management. Thestatic geographic coordinate data can also be bulk loaded or migrated into theIntegration Framework application in Maximo Asset Management.

You need to set up the TPK files for the geographic areas of your organization’swork orders. The service address coordinate system must match the coordinatesystem that is used to create the offline map.

The auto-locate function determines the geographical location of a record byprocessing the available positioning information in a defined sequence. Thesequence is work order linked object, work order X/Y coordinates, work orderlinked service address, work order service address X/Y coordinates, work orderlinked asset, work order asset X/Y coordinates, work order linked location, andwork order location X/Y coordinates.

You schedule the automatic location of work orders by using the cron task,WoAutoLocateCronTask.

The following diagram shows the flow of data between the Maximo Anywhereapp on the mobile device, the enterprise system, and the map service provider(Esri ArcGIS server). To provide a route and directions, Maximo Anywhere mustbe configured to use a map service provider.

Configuring Maximo Anywhere 11

Coordinates Directions

Maximo Anywhereapp

Mobile device

Adapter

Worklight Server

Enterprisesystem

Data(JSON over HTTP)

Cron task

Map service providerAPI

(Esri Android SDK)

Offline map(TPK file)

Maximo Anywheremap plugin

(native code)

Esri ArcGISserver

Data (OSLC)

Data is downloaded from the enterprise system environment by way of WorklightServer to the mobile device. The exchange of data is represented in the diagram byOSLC, between the enterprise system environment and the Worklight Server, andby JSON over HTTP, between the Worklight Server and the mobile device.Related tasks:Enabling the auto-locate cron taskMaximo Anywhere provides a cron task, WoAutoLocateCronTask, that is set up torun the auto-locate function. By default, the cron task is not enabled because mapsupport is optional in Maximo Anywhere. If you enable map capabilities, you mustenable the cron task.Related information:

Automatic location search order process for work orders

Service addressesService addresses in the enterprise system can provide map positioninginformation. If you do not use Maximo Spatial Asset Management, you can use theService Address application to provide positioning information.

The Maximo Service Address application is licensed with Maximo Anywhere.

If you have Maximo Spatial Asset Management, when you install MaximoAnywhere, the version of the Service Address application in Maximo AssetManagement is upgraded to the Maximo Spatial Asset Management version. Theupgraded version of the Service Address application supports linked objects thatinclude map positioning information.

The service address object in the Service Address application includes X/Ycoordinate fields for positioning information. This positioning information can bemanually added into the application. In addition, when Maximo Spatial AssetManagement is installed and linked to the Esri ArcGIS server, the map featurelinked objects can be used to obtain positioning information.

12 Configuring Maximo Anywhere

The Service Address application can be configured with either latitude andlongitude fields or X/Y coordinate fields. However, to support map capabilities inMaximo Anywhere, the application must be configured with X/Y coordinate fields.The service address coordinate system that is used for work orders and relatedobjects must match the coordinate system that is used to create the offline maps(TPK files). In addition, the service address coordinate system must match the mapthat is set up in the Esri ArcGIS server.Related concepts:Enabling Maximo Asset Management applications for maps and labor reportingRelated information:

Managing service addresses

Enabling the auto-locate cron taskMaximo Anywhere provides a cron task, WoAutoLocateCronTask, that is set up torun the auto-locate function. By default, the cron task is not enabled because mapsupport is optional in Maximo Anywhere. If you enable map capabilities, you mustenable the cron task.

About this task

The auto-locate function in Maximo Asset Management updates or addspositioning information to work orders. This positioning information is used in theMaximo Anywhere Work Execution app to plot work order locations on the mapview.

The WoAutoLocateCronTask runs the auto-locate function. This cron task includestwo cron task instances:v By default, the WoAutoLocateInstance instance selects work orders that have a

scheduled or target start date that occurs within two days of the current time.Schedule this instance to run every 24 hours so that positioning information isupdated or added to all work orders that are due to start within two days.

v By default, the EmergentWoTask instance selects work orders that wereapproved or started in the 5-minute period before the current time. Schedule thisinstance with the frequency that work orders might be approved or started sothat positioning information is updated or added to these work orders.

You can change the work order selection criteria for both cron task instances bymodifying the WO_WHERECLAUSE parameter. For the EmergentWoTask instance,you can modify the EMERG_WO_TIME parameter.

Procedure1. In the Cron Task Setup application in Maximo Asset Management, open the

WoAutoLocateCronTask record.2. Define the settings for each cron task instance:

a. Set a schedule for the cron task instance. At a minimum, the value of theEMERG_WO_TIME parameter should equal the number of minutes set inthe schedule. This parameter acquires all work orders that were modifiedfrom the time the schedule runs, to twice the value of this parameter. Forexample, if this parameter is set to 5 minutes, all work orders that weremodified in the previous 10 minutes are acquired.

b. Specify a user with the necessary privileges, such as maxadmin. The usermust have access for the actions that the cron task performs.

Configuring Maximo Anywhere 13

c. Select the Active and Keep History check boxes.d. In the Max Number of History Records field, enter 1000.e. Optional: To change the criteria for work order selection, update the

WO_WHERECLAUSE parameter.3. From the Select Action menu, select Reload Request.4. Select the cron task, and click OK.

Cron task system propertiesThe WoAutoLocateCronTask cron task instances have two associated systemproperties.

To change the value of a property, use the System Properties application ofMaximo Asset Management.

Table 2. Cron task system properties

Property Description Default value

mxe.plussng.max.recs.returned.arcgis.server

The maximum number of records thatare returned by the Esri ArcGIS server atone time. The value is the lowest numberof records that is allowed for a client toreceive from any map services that areused by Maximo Spatial AssetManagement in the Esri ArcGIS server.This system property applies only ifMaximo Spatial Asset Management isdeployed to the enterprise systemenvironment.

1000

mxe.plussng.cron.max.autoloc.grp.objects

The maximum number of work orderswith location objects to be processed atone time. The value limits the query thatis set up for the auto-locate cron taskinstances if the query returns largenumbers of work orders with locationobjects.

2000

Configuring access to a map service providerA map service provider is required for providing routing and driving directions towork orders in the map view. The configuration information is valid for all appsthat include the map view and that are deployed in the current environment.

Before you begin

Both the mobile device and the Esri ArcGIS server should be configured for securecommunication.

About this task

Information that is used to access the Esri ArcGIS server is not added to theworklight.properties file by default because map support in Maximo Anywhereis optional. You configure this authentication information by editing this file.

When an app with the map view is started, information is transferred to the appso that the mobile workers can use the routing service.

14 Configuring Maximo Anywhere

Procedure1. From the maximoanywhere_home/MaximoAnywhere/platform/mobile/server/conf

directory, edit the worklight.properties file and set the following properties:

Property Description

si.map.esri.authentication.isEnabled Enables authentication to the Esri ArcGISserver. Set this property to 1 to enableauthentication.

si.map.esri.username The user name that is used to access therouting service on the Esri ArcGIS server.

si.map.esri.password The password that is used to access therouting service on the Esri ArcGIS server.

si.map.esri.routeService The secure URL of the routing service on theEsri ArcGIS server. Set this property to, forexample, https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World

2. Save and close the file.3. Optional: Encrypt the worklight.properties file by using the encrypt.bat file

encryption process. The si.map.esri.password.enc property contains anencryption value similar to HhMEhpY3f6F6rlJQ17qwbw\=\=.

4. Build and deploy the application.5. Restart Worklight Server.Related concepts:Deploying applications to the serverRelated information:

Android developer help

Esri ArcGIS server help

Storing properties in encrypted format

Enabling the map viewThe map view provides mobile workers with the geographical location of workorders in their current work list. Before mobile workers can get directions in theWork Execution app, the map view must be enabled, and the location and name ofthe map file must be specified.

Before you begin

You must create offline maps that are compatible with and supported by your mapservice provider.

The mobile devices that use the map view must have ARM processors and enoughspace for the offline map (.TPK) files, which can exceed 1 GB.

To use the routing service, you must have a license from Esri.

Configuring Maximo Anywhere 15

About this task

The map view is disabled by default because map support in Maximo Anywhere isoptional. Enabling the map view displays the map view icon in the work list. Thework list corresponds to the work order position markers in the map view.

When you enable the map view, the updated app must be deployed as a new appversion. Users must download and install the new app version from the server.

Procedure1. From the maximoanywhere_home/MaximoAnywhere/platform/mobile/config

directory, edit the build.properties file and add the propertymap.enabled=true.

2. Save and close the file.3. From the maximoanywhere_home/MaximoAnywhere/apps/WorkExecution directory,

edit the app.xml and update the attribute localMapUrl="file://folder_structure/map_file_name.tpk" with the location and name of the mapfile on the mobile device. For example: localMapUrl="file://mnt/sdcard/basemaps/Manhattan.tpk" The folder /mnt/sdcard is a public folder that isaccessible by any Android application.

4. Save and close the file.5. Build and deploy the application.

What to do next

Activate GPSRelated concepts:Deploying applications to the server

Activating GPSMaximo Anywhere uses global positioning system (GPS) data to determine thegeographical location of mobile workers and work orders. GPS is also needed toadd position markers to the map view.

Before you begin

The map view must be enabled.

About this task

GPS is disabled by default because map support in Maximo Anywhere is optional.

Procedure1. From the maximoanywhere_home/MaximoAnywhere/platform/mobile/config

directory, edit the build.properties file and add the propertygps.enabled=true.

2. Save and close the file.3. Build and deploy the application.Related concepts:Deploying applications to the server

16 Configuring Maximo Anywhere

Restricting access to status changesWhen mobile workers manage work orders, they must have the authority tochange the status of work orders. You can set up privileges for users by group. Theuser and group association are retrieved from Maximo Asset Management duringauthentication.

Before you begin

Before you edit the application definition file, app.xml, back up the source controlfiles inside a source repository.

About this task

By default, all users of an app can change the status values for work orders. Youmight want some tasks, such as approving work orders, to require authorizationby specific groups of users.

To provide users with the right level of access, you can modify the conditionalelements in the application definition file for the app. You apply conditions to thepredefined security groups in Maximo Asset Management. The predefined securitygroups are ANYWHERE_TECHNICIANS and ANYWHERE_APPROVERS.

Procedure1. In the Security Groups application of Maximo Asset Management, add users to

the predefined security groups.2. From the maximoanywhere_home/MaximoAnywhere/apps/<application_name>

directory, open the app.xml file.3. In the app.xml definition file for the app, specify the conditions to make status

changes.4. Save the app.xml file.5. Build and deploy the app.

Example

You use the alias command to filter the list of available statuses. You also use therequiresRole attribute to specify the group of users. The code in the app.xmldefinition file includes a set of aliases that are surrounded with commentdelimiters.

If you require a status change to be accessible by a specific group, add only thatalias to the app.xml definition file. For example, to specify that only theANYWHERE_APPROVERS group can approve work orders, add the followinglines of code to the app.xml definition file:<conditions><executionOf alias="APPR" requiresRole="ANYWHERE_APPROVERS"/></conditions>

Related information:Deploying applications to the server

Activating bar code scansWhen bar code scans are activated, mobile device users can scan bar codes toreview work order details.

Configuring Maximo Anywhere 17

About this task

By default, bar code scanning is turned off, but it can be turned on in thebuild.properties file.

When you activate bar code scans, the updated app must be deployed as a newapp version. Users must download and install the new app version from theserver.

Procedure1. Open the build.properties file in the maximoanywhere_home//MaximoAnywhere/

platform/mobile/config directory.2. Locate the barcode.enabled property and set this property to true if you want

to activate bar code scanning. If you want to deactivate bar code scanning, setthis property to false.

3. After you activate or deactivate bar code scanning, build and deploy theapplication.

Related information:Deploying applications to the server

Enabling encryption of the local data storeYou enable data encryption at the level of the Maximo Anywhere project. Whenencryption is enabled, the data store that is created on the device for each mobileapp is automatically encrypted.

About this task

You enable or disable data encryption by using the encryption setting in thebuild.properties file for the Maximo Anywhere project. The active setting appliesto all applications that are then built and deployed for the project.

By enabling data encryption, you increase the level of protection for applicationdata that is stored on the device. However, the performance of the applicationmight deteriorate because of the time that is required by the encryption anddecryption processes.

When you disable data encryption, the locally stored login password is stillsecured. By default, data encryption is disabled.

At run time, you cannot convert the local data store from an encrypted format to anon-encrypted format and vice versa. If the data encryption setting changesbetween app updates, you must clear the cache and data for the current appversion, uninstall the current version, and then install the updated version. Whenyou clear app data, any unsynchronized data is lost.

When you install and log in to the updated version of the app, the local data storeis created in the format that corresponds to the active setting.

Procedure1. Open the build.properties file in the maximoanywhere_home/MaximoAnywhere/

platform/mobile/config directory.2. Set the enableDataEncryption property.3. Save and close the file.

18 Configuring Maximo Anywhere

4. Build and deploy the applications.

Changing the heartbeat intervalYou can change the frequency of the heartbeat signal that is sent by active MaximoAnywhere apps to Worklight Server.

About this task

At run time, a Maximo Anywhere app generates a heartbeat signal at a frequencythat is defined at system level. The signal is used to determine whether the app isconnected to Worklight Server. If connectivity is confirmed, the app uploads localdata changes that are not yet saved to the server. The frequency of the heartbeattherefore determines the frequency of the automatic upload.

You define the frequency of the heartbeat signal by specifying the interval betweensuccessive signals in worklight.properties file for the Maximo Anywhere project.The active setting applies to all applications that are built and deployed for theproject.

The default heartbeat interval is 1200 seconds (20 minutes). A lower value reducesthe battery life of devices on which the Maximo Anywhere apps run.

Procedure1. Open the worklight.properties file in the maximoanywhere_home/

MaximoAnywhere/platform/mobile/server/conf directory.2. In the si.device.heartbeat.timeInterval, specify the value of the heartbeat

interval in seconds.3. Save and close the file.4. Build and deploy the applications.

Timeout propertiesBoth the amount of time allowed before a request times out and the amount ofwait time before requests can be reissued after a timeout is controlled by propertiesin the worklight.properties file.

The following examples describe the default behavior for requests that timeout inthe Maximo Anywhere Work Execution app:v You attempt to access Worklight Server. A request timeout occurs, and you

cannot reissue the request for 60 seconds.v You attempt to connect to the adapter. The request times out after 3 seconds.v You attempt to download large amounts of data. The request times out after 6

minutes.

To change the value of a property, edit the worklight.properties file in themaximoanywhere_home/MaximoAnywhere/platform/mobile/server/conf directory.

Property DescriptionDefaultvalue

si.device.connectivity.timeout.interval

The wait time between attempts to accessWorklight Server. Specify 0 if you do not wantan interval. If Worklight Server does notrespond, an error is returned to the app.

60000 ms

Configuring Maximo Anywhere 19

Property DescriptionDefaultvalue

si.device.connectivity.timeout

The amount of time allowed before the requestto connect to the adapter times out.

3000 ms

si.device.connectivity.timeout.stablepagination

The amount of time allowed before the requestto download large amounts of data such aslookup data times out.

360000 ms

Related information:Deploying applications to the server

20 Configuring Maximo Anywhere

Notices

This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document inother countries. Consult your local IBM representative for information on theproducts and services currently available in your area. Any reference to an IBMproduct, program, or service is not intended to state or imply that only that IBMproduct, program, or service may be used. Any functionally equivalent product,program, or service that does not infringe any IBM intellectual property right maybe used instead. However, it is the user's responsibility to evaluate and verify theoperation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matterdescribed in this document. The furnishing of this document does not grant youany license to these patents. You can send license inquiries, in writing, to:

IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBMIntellectual Property Department in your country or send inquiries, in writing, to:

Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan Ltd.1623-14, Shimotsuruma, Yamato-shiKanagawa 242-8502 Japan

The following paragraph does not apply to the United Kingdom or any othercountry where such provisions are inconsistent with local law: INTERNATIONALBUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFNON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULARPURPOSE. Some states do not allow disclaimer of express or implied warranties incertain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will beincorporated in new editions of the publication. IBM may make improvementsand/or changes in the product(s) and/or the program(s) described in thispublication at any time without notice.

Any references in this information to non-IBM Web sites are provided forconvenience only and do not in any manner serve as an endorsement of thosewebsites. The materials at those websites are not part of the materials for this IBMproduct and use of those websites is at your own risk.

© Copyright IBM Corp. 2013 21

IBM may use or distribute any of the information you supply in any way itbelieves appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purposeof enabling: (i) the exchange of information between independently createdprograms and other programs (including this one) and (ii) the mutual use of theinformation which has been exchanged, should contact:

IBM Corporation2Z4A/10111400 Burnet RoadAustin, TX 78758 U.S.A.

Such information may be available, subject to appropriate terms and conditions,including in some cases, payment of a fee.

The licensed program described in this document and all licensed materialavailable for it are provided by IBM under terms of the IBM Customer Agreement,IBM International Program License Agreement or any equivalent agreementbetween us.

Information concerning non-IBM products was obtained from the suppliers ofthose products, their published announcements or other publicly available sources.IBM has not tested those products and cannot confirm the accuracy ofperformance, compatibility or any other claims related to non-IBM products.Questions on the capabilities of non-IBM products should be addressed to thesuppliers of those products.

This information contains examples of data and reports used in daily businessoperations. To illustrate them as completely as possible, the examples include thenames of individuals, companies, brands, and products. All of these names arefictitious and any similarity to the names and addresses used by an actual businessenterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, whichillustrate programming techniques on various operating platforms. You may copy,modify, and distribute these sample programs in any form without payment toIBM, for the purposes of developing, using, marketing or distributing applicationprograms conforming to the application programming interface for the operatingplatform for which the sample programs are written. These examples have notbeen thoroughly tested under all conditions. IBM, therefore, cannot guarantee orimply reliability, serviceability, or function of these programs. The sampleprograms are provided "AS IS", without warranty of any kind. IBM shall not beliable for any damages arising out of your use of the sample programs.

Privacy Policy ConsiderationsIBM Software products, including software as service solutions, (“SoftwareOfferings”) may use cookies or other technologies to collect product usageinformation, to help improve the end user experience, to tailor interactions withthe end user or for other purposes. In many cases no personally identifiableinformation is collected by the Software Offerings. Some of our Software Offeringscan help enable you to collect personally identifiable information. If this Software

22 Configuring Maximo Anywhere

Offering uses cookies to collect personally identifiable information, specificinformation about this offering’s use of cookies is set forth below.

Depending upon the configurations deployed, this Software Offering may usesession and persistent cookies that collect each user’s name, user name, password,or other personally identifiable information for purposes of session management,authentication, single sign-on configuration or other usage tracking or functionalpurposes. These cookies can be disabled, but disabling them will also likelyeliminate the functionality they enable.

If the configurations deployed for this Software Offering provide you as customerthe ability to collect personally identifiable information from end users via cookiesand other technologies, you should seek your own legal advice about any lawsapplicable to such data collection, including any requirements for notice andconsent.

For more information about the use of various technologies, including cookies, forthese purposes, see IBM’s Privacy Policy at http://www.ibm.com/privacy andIBM's Online Privacy Statement at http://www.ibm.com/privacy/details in thesection entitled “Cookies, Web Beacons and Other Technologies” and the "IBMSoftware Products and Software-as-a-Service Privacy Statement" athttp://www.ibm.com/software/info/product-privacy.

TrademarksIBM, the IBM logo, and ibm.com are trademarks or registered trademarks ofInternational Business Machines Corp., registered in many jurisdictions worldwide.Other product and service names might be trademarks of IBM or other companies.A current list of IBM trademarks is available on the Web at “Copyright andtrademark information” at www.ibm.com/legal/copytrade.shtml.

Java and all Java-based trademarks and logos are trademarks or registeredtrademarks of Oracle and/or its affiliates.

Linux is a registered trademark of Linus Torvalds in the United States, othercountries, or both.

Microsoft, Windows, and the Windows logo are trademarks of MicrosoftCorporation in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and othercountries.

Notices 23

24 Configuring Maximo Anywhere

IBM®

Printed in USA